// PascalABC.Net 3.0, сборка 1052 const nn=100; var a:array[1..nn] of integer; p,s:longint; i,n:byte; begin Write('Введите количество элементов в массиве: '); Read(n); Writeln('Вводите целочисленные элементы массива через пробел'); s:=0; p:=1; for i:=1 to n do begin Read(a[i]); if i mod 2 = 0 then p:=p*a[i]; s:=s+a[i] end; Writeln('Произведение элементов с четными номерами: ',p); Writeln('Среднее арифметическое элементов: ',s/n) end.
Тестовое решение: Введите количество элементов в массиве: 10 Вводите целочисленные элементы массива через пробел -4 6 11 8 12 21 7 13 9 -15 Произведение элементов с четными номерами: -196560 Среднее арифметическое элементов: 6.8
// PascalABC.Net 3.0, сборка 1052 const nstud=100; npred=10; type date=record den:byte; mes:byte; god:integer end; St=record datr:date; famnam:string; gender:0..1; ball:array[1..npred] of 2..5 end; var ns,np,nd,i,j:byte; R:array[1..nstud] of St; Dolg,flagp:boolean; cdate:date; begin Write('Количество студентов: '); Read(ns); Write('Количество предметов: '); Read(np); Writeln('Вводите данные по каждому студенту'); Writeln('В первой строке через пробел дата рождения ДД ММ ГГГГ'); Writeln('Во второй строке фамилия, пробел, имя'); Writeln('В третьей строке пол (0 - мужской, 1 - женский)'); Writeln('В четвертой строке полученные через пробел'); for i:=1 to ns do begin Writeln('*** Студент ',i,' ***'); With R[i] do begin Readln(datr.den,datr.mes,datr.god); Readln(famnam); Readln(gender); for j:=1 to np do Read(ball[j]) end end; { 1 } Writeln; Writeln('Список студентов-задолжников'); nd:=0; for i:=1 to ns do begin With R[i] do begin j:=1; Dolg:=false; repeat if ball[j]=2 then begin Dolg:=true; Inc(nd) end; Inc(j) until Dolg or (j>np); if Dolg then Writeln(famnam) end end; if nd=0 then Writeln('Задолжников нет!'); { 2 } Writeln; Writeln('Введите дату запроса в формате ДД, ММ, ГГГГ: '); Read(cdate.den,cdate.mes,cdate.god); Writeln; Writeln('Список студентов, которым исполнилось 20 лет'); nd:=0; for i:=1 to ns do begin With R[i] do begin flagp:=false; if cdate.god-datr.god>20 then flagp:=true else if cdate.god-datr.god=20 then begin if cdate.mes>datr.mes then flagp:=true else begin if cdate.mes=datr.mes then flagp:=(cdate.den>=datr.den) end end; if flagp then begin Writeln(famnam); Inc(nd) end; end end; if nd=0 then Writeln('Нет студентов, которым исполнилось 20 лет!'); end.
Тестовое решение: Количество студентов: 5 Количество предметов: 4 Вводите данные по каждому студенту В первой строке через пробел дата рождения ДД ММ ГГГГ Во второй строке фамилия, пробел, имя В третьей строке пол (0 - мужской, 1 - женский) В четвертой строке полученные через пробел *** Студент 1 *** 5 10 1996 Иванов Иван 0 4 3 5 5 *** Студент 2 *** 12 8 1997 Петров Петр 0 3 2 3 4 *** Студент 3 *** 9 10 1998 Сидорова Наталья 1 3 4 4 2 *** Студент 4 *** 6 9 1994 Козлова Ирина 1 5 4 4 5 *** Студент 5 *** 12 3 1995 Тарасов Константин 0 3 5 5 4
Список студентов-задолжников Петров Петр Сидорова Наталья
Введите дату запроса в формате ДД, ММ, ГГГГ: 2 11 2015
Список студентов, которым исполнилось 20 лет Козлова Ирина Тарасов Константин
нач
цел i
i:=2
нц пока i<=20
вывод i," "
i:=i+2
кц
кон