Другие языки программирования и технологии

помогите решить 2 задание на pascalABC

(1)-задание
С клавиатуры по одному водятся 100 действительных чисел, выведите на экран:
1)Все отрицательные числа
2)Сумма всех положительных чисел
3)Все числа из диапазона [-1;1]
4)Среднее арифметическое всех чисел
5)Все числа, которые больше среднего арифметического
6)Наибольшие и наименьшие числа
7)Количество положительных чисел
8)Количество отрицательных чисел
9)Количество нулей

(2)-задание
Разработать программу для ведения журнала успеваемости группы студентов, в котором содержится информация о фамилии номере группы и оценках за 3 экзамена. Вывести на экран фамилию студента в порядке убывания среднего бала по результатом трёх экзаменов.
решение на Turbo Pascal 7.0 (Pascal ABC = shift + F9)

{1 задача}
var i, n, summa, summa_pol, kolvo_pol, kolvo_otr, max, min: integer;
a: array [1..100] of integer;
begin
n:=100;
summa_pol:=0;
kolvo_pol:=0;
kolvo_otr:=0;
summa:=0;
max:=-32000;
min:=32000;
writeln ('Массив:');
for i:=1 to n do
begin
a[i]:= -19+random (39);
write (a[i]:4);
summa:=summa+a[i];
if a[i]>0 then
begin
summa_pol:=summa_pol+a[i];
inc(kolvo_pol);
end;
if a[i]<0 then inc(kolvo_otr);
if a[i]>max then max:=a[i];
if a[i]<min then min:=a[i];
end;
writeln;
writeln ('1)Все отрицательные числа');
for i:=1 to n do
if a[i]<0 then write (a[i]:4);
writeln;
writeln ('2) Сумма всех положительных чисел = ', summa_pol);
writeln ('3) Все числа из диапазона [-1;1]:');
for i:=1 to n do
if (a[i]<=1) and (a[i]>=-1) then write (a[i]:4);
writeln;
writeln ('4)Среднее арифметическое всех чисел = ', summa/n:5:3);
writeln ('5)Все числа, которые больше среднего арифметического:');
for i:=1 to n do
if (a[i]>=summa/n) then write (a[i]:4);
writeln;
writeln ('6)Наибольшие и наименьшие числа = ',max, ' & ', min);
writeln ('7)Количество положительных чисел = ',kolvo_pol);
writeln ('8)Количество отрицательных чисел = ', kolvo_otr);
writeln ('9)Количество нулей = ', n-kolvo_otr-kolvo_pol);
end.

{2 задача}
uses crt;
type info = record
fio: string [20];
nomer: integer;
o1: integer;
o2: integer;
o3: integer;
oo: real;
end;
var i, j, n : integer;
table: array [1..100] of info;
begin
clrscr;
randomize;
write (' Введите количество учеников [1..100]:');
readln (n);
for i:=1 to n do
begin
if i<10 then table[i].fio:=' Ученик #0'+ inttostr (i)
else table[i].fio:=' Ученик #'+ inttostr (i);
table[i].nomer:=10+10*random(3)+random(6);
table[i].o1:=1+random(5);
table[i].o2:=1+random(5);
table[i].o3:=1+random(5);
table[i].oo:=(table[i].o1+table[i].o2+table[i].o3)/3;
end;
writeln ('ФИО':8,'#группы':14,'Тест1':9,'Тест2':9,'Тест3':9,'Средний':12);
for i:=1 to n do
begin
write (table[i].fio:10);
write (table[i].nomer:9);
write (table[i].o1:9);
write (table[i].o2:9);
write (table[i].o3:9);
write (table[i].oo:13:2);
writeln;
end;
writeln;
writeln;
for j:=1 to n do
for i:=1 to n do
if table[i].oo <= table[j].oo then
begin
table[100]:=table[i];
table[i]:=table[j];
table[j]:=table[100];
end;
for i:=1 to n do
begin
write (table[i].fio:10);
write (table[i].nomer:9);
write (table[i].o1:9);
write (table[i].o2:9);
write (table[i].o3:9);
write (table[i].oo:13:2);
writeln;
end;
end.
Александр Савлук
Александр Савлук
24 309
Лучший ответ
с удовольствием помогу, что не получается, в какой задаче
Нет
Денис Челпанов
Денис Челпанов
39 158
Не плати «Зотикову Георгию» -который тебе ответил, РЕШАЕТ НЕВЕРНО ВСЕМ-будет у тебя деньги выпрашивать за решения–кидает тут всех тупо на бабки! Сидит на даче безработный старпёр беззубый импотент С НЕМЫТЫМИ САЛЬНЫМИ ВОЛОСАМИ и кидает студентов!!! Моего друга обул на 320 руб–денег не вернул!!! У этого мошенника Зотикова есть еще страницы-ИХ УЖЕ ЗАКРЫЛИ ЗА МОШЕННИЧ-ВО-он с трёх страниц кидает одновременно!!! Имя сменил только.