Ознакомление с основами программирования на языке Си

I. Цель лабораторной работы:

Целью данной лабораторной работы является ознакомление с первоосновами программирования на языке Си, его особенностями, синтаксисом, компиляцией и отладкой.



II.Задание:

Интервал между минимальным и максимальным значениями элементов массива разбить пополам и относительно полученного значения разбить массив на две части. Части не сортировать.



III. Блок-схема и текст программы: 

А)

#include <iostream.h>

#include <stdio.h>

const n=8;

int a[n],b[n],c[n],i,l,k,w,max,min; float s,q;

void main()

{

printf("Введите 8 численных элементов массива: \n");

 {for(i=0;i<n;i++)

  scanf("%d",&a[i]);}

     for(max=min=a[i],i=0;i<n;i++)

	   {if(a[i]>max) max=a[i]; 

	    if(a[i]<min) min=a[i];}

printf("Максимальное значение:%d\n",max);

printf("Минимальное значение:%d\n",min);

 q=max-min;s=q/2; //Половина интервала

printf("Интервал между максимальным и минимальным значением:%f\n",q);

printf("Половина интервала:%f\n",s);

  for(i=0;i<n;i++)

	{if(a[i]<s)

	 printf("%d\n",a[i]);

	 c[k]=a[i];k++;}

  for(i=0;i<n;i++)

	{if(a[i]>=s)

	 printf("%d\n",a[i]);

	 b[l]=a[i];l++;}

printf("\npress any key and enter ");

scanf("%d",w);

} 




Б)















	      – 			





				 +	  



        – 





				 +					+

























						–		–





                     +                                                                     +   



   –                                                                                                                 –        





                     +                                                                     +

 





                                                      

















Начало

Ввод  n,a[n],max,min



For(i=0;i<n;i++)



If(a[i]>max)



If(a[i]<=min)



max=a[i]



min=a[i]

printf (“%d%d%f%f”, max, min,q,s) 

q=max-min;

s=q/2



For(i=0;i<n;i++)



If(a[i]<s)

b[l]=a[i];l++





For(i=0;i<n;i++)



If(a[i]>=s)

Конец

printf("%d\n",a[i]);

c[k]=a[i];k++

printf("%d\n",a[i]);




IV. Вид выдаваемого результата:

Допустим мы ввели в массив 8 чисел: 22, 3, 18, -5, 0, 12, -3, 4.  Теперь компилятор с помощью организованного цикла найдет максимальное и минимальное значения массива, в данном случае 22 и -5 соответственно. Следующим шагом действий компилятора будет нахождение интервала между максимальным и минимальным значениями элементов массива, т.е. в нашем случае  (22-(-5))=27. Теперь полученный  результат, в соответствии с условием задания будет разбит пополам и в данном примере составит 13.5. Следующим шагом действий компилятора будет вывод на экран максимального и минимального значений, интервала между ними и половины этого интервала. Теперь относительно значения половины интервала значения массива будут определены в 2 других массива – в первый массив отойдут элементы меньшие этого значения и будут выведены на экран, в данном случае 3, -5, 0, 12, -3,4. Во второй – большие или равные  22 и 18. Они так же будут отображены на экране, на котором в итоге мы увидим не обязательно возрастающую последовательность, т.к. этого не требует условие. На этом компилятор закончит своё действие и программа будет остановлена.



V. Выводы:

В результате проделанной работы мы ознакомились с основами программирования на языке Си, кроме того освоили некоторый синтаксис языка, ознакомились с компиляцией и отладкой программы, т.е. полностью выполнили поставленную цель.