Лабораторная №1. Вариант №8(с++)
-----------------------
Б)
–
+
–
+ +
?????†††††††††††††††††††††††††††††††††††††††††††††?†?†††††††††††††††††††††††
†††††††††††††††††††††††††††††††††?††††?†††††††††††††††††††††††††††††††††††††
†††††††???††††††††††††† – –
+
+
–
–
+
+
Начало
Ввод 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
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);
}
printf("%d\n",a[i]);
b[l]=a[i];l++
If(a[i]<s)
For(i=0;i<n;i++)
If(a[i]>=s)
For(i=0;i<n;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. Выводы:
В результате проделанной работы мы ознакомились с основами
программирования на языке Си, кроме того освоили некоторый синтаксис
языка, ознакомились с компиляцией и отладкой программы, т.е. полностью
выполнили поставленную цель.
printf("%d\n",a[i]);
c[k]=a[i];k++