Постройте структурную схему алгоритма поиска среднего роста учащихся в вашей группе, а также минимального и максимального значений роста. Используйте массив для описания списка учащихся, циклическую конструкцию для поиска минимального и максимального элемента в массиве, а также суммирования всех элементов этого массива.
Результат представьте как итог вычисления среднего арифметического, а для минимального и максимального роста учащихся, сообщите соответствующие номера этих студентов в списке группы.
Блок-схему алгоритма прикрепить в виде текстового файла.
Таблица может иметь например такую структуру:
Участники
id (int "PRIMARY KEY"), surname (char), date_registration (date), confirm (bool)
В таблицу заносятся участники конференции
Описание полей:
id- идентификатор участника, числовой (целый), нужен для того чтобы можно было занести в базу данных 2 участников с одинаковой фамилией и суметь различить их.
surname - фамилия участника (тип данных символьный)
date - дата регистрации участника
confirm - поле определяющее поступила ли оплата участия в конференции от участника (FALSE - не поступала, TRUE - поступала)
Как может выглядеть таблица смотри в приложении
Кроме того можно заменить поле confirm на поле "пол" для определения как обращаться к людям с фамилией например Бондарь (если допусти False, то считаем что мужчина, если True, то женщина, можно и наоборот)
var
a:array[1..10,1..10] of integer;
b:array[1..10,1..10] of integer;
sum:array[1..10,1..10] of integer;
pol,otr,max,min:real;
i,j,indexi,indexj:integer;
begin
min:=0;
max:=0;
randomize;
for j:=1 to 10 do
begin
for i:=1 to 10 do
begin
randomize;
a[i,j]:=random(51);
randomize;
b[i,j]:=random(51);
a[i,j]:=a[i,j]*2;
writeln(a[i,j]);
a[i,j]:=a[i,j]/2;
end;
end;
for j:=1 to 10 do
begin
for i:=1 to 10 do
begin
a[i,j]:=a[i,j]+b[i,j];
writeln(a[i,j]);
a[i,j]:=a[i,j]-b[i,j];
end;
end;
for j:=1 to 10 do
begin
for i:=1 to 10 do
begin
if a[i,j]<min then
begin
min:=a[i,j];
indexi:=i;
indexj:=j;
end;
end;
end;
writeln(min,indexi,indexj);
for j:=1 to 10 do
begin
for i:=1 to 10 do
begin
if (a[i,j]>0) and (a[i,j]>max) then
max:=a[i,j];
end;
end;
writeln(max);
max:=0;
for j:=1 to 10 do
begin
for i:=1 to 10 do
begin
if (a[i,j]<0) and (a[i,j]>max) then max:=a[i,j];
end;
end;
writeln(max);
end.
программа выполняет сразу все 7 пунктов. Значения задаются сами. На выходе с каждой строки Вы получите каждый пункт задания.