|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
17.11.2016, 15:02 | #1 (permalink) |
Member
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Паскаль. Задача о студентах
Type ekz=Record e1: Byte; e2: Byte; e3: Byte; b:string; end; Var x: Array[1..10] of ekz; y: Array[1..10] of Real; s: Real; i,k,n: Integer; b:string; BEGIN Writeln('Введите оценки через пробел:'); For i:=1 to 10 do begin Writeln('Введите Фамилию студента:');readln(b); Writeln(i,' студент', b); Read(x[i].e1,x[i].e2,x[i].e3); y[i]:=(x[i].e1+x[i].e2+x[i].e3)/3; s:=s+x[i].e1+x[i].e2+x[i].e3; Inc(n,3); end; Writeln('Средний балл каждого студента:'); For i:=1 to 10 do Write(y[i]:5:2); Writeln; Writeln('Общий средний балл= ',s/n:5:2); Readln END. |
17.11.2016, 15:02 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Участники нашего форума уже интересовались похожим, вот, посмотрите Задача паскаль Задача, Паскаль |
17.11.2016, 17:17 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Const Nstud=10; Type ekz=Record b:string; e:array[1..5] of byte; e_aver:real; End; Var x: Array[1..Nstud] of ekz; i,k,L: Integer; Av_mrk:real; D:ekz; Begin for i:=1 to Nstud do with x[i] do begin write('Enter the surname of student: '); readln(b); Write('Enter five marks with spaces: '); for k:=1 to 4 do read(e[k]); readln(e[5]); e_aver:=0; for k:=1 to 5 do e_aver:=e_aver+e[k]/5; end; Writeln('Surname mark1 mark2 mark3 mark4 mark5 Aver.'); for i:=1 to Nstud do with x[i] do begin write(b); L:=length(b); for k:=1 to 15-L do write(' '); for k:=1 to 5 do write(e[k]:6); writeln(e_aver:10:2); end; Av_mrk:=0; for i:=1 to Nstud do with x[i] do for k:=1 to 5 do Av_mrk:=Av_mrk+e[k]; Writeln('Averaged mark of the group: ',Av_mrk/5/Nstud:4:2); for i:=1 to Nstud-1 do for k:=1 to Nstud-i do if x[k].e_aver<x[k+1].e_aver then begin D:=x[k]; x[k]:=x[k+1]; x[k+1]:=D; end; Writeln('Surname mark1 mark2 mark3 mark4 mark5 Aver.'); for i:=1 to Nstud do with x[i] do begin write(b); for k:=1 to 15-length(b) do write(' '); for k:=1 to 5 do write(e[k]:6); writeln(e_aver:10:2); end; Readln End. |
|
18.11.2016, 14:19 | #3 (permalink) |
Member
Регистрация: 05.11.2016
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Большое спасибо.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|