Составить программу назначения стипендии студентам по результатам сессии - Turbo Pascal (29158)
Формулировка задачи:
Вот эту посмотрите тоже нифига у меня не работает условие такое
Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила: если все оценки 5, то назначается повышенная стипендия; если все оценки 4 и 5, то назначается обычная стипендия; если есть оценка 3, то стипендия не назначается. Вывести списки студентов, назначенных на повышенную и обычную стипендию с указанием их фамилий, курса и группы.
Листинг программы
- program tt;
- type
- anketa=record
- fam:string;
- kurs:integer;
- grup:string[15];
- stepen:char;
- matem:integer;
- fizik:integer;
- himia:integer;
- end;
- var
- student:array [1..100] of anketa;
- i:integer;
- begin
- for i:= 1 to 3 do
- with student[i] do
- begin
- write ('vvedite familiu ',i, ' studenta');
- readln(fam);
- writeln ('vvedite kurs ',i, ' studenta ');
- readln(kurs);
- write (' vvedite grupu ',i, ' studenta ');
- readln(grup);
- write('vvedite ocenki po matem,fizike,himii ');
- readln(matem,fizik,himia);
- if (((matem = 5) and (fizik=5)) and( himia=5)) then stepen:= 'pov' else
- if (matem>=4 and fizik>=4) and himia>=4 then stepen:='norm' else stepen:='nety';
- end;
- write('studenti naznachenii na stependiu');
- for i:= 1 to 3 do
- with
Решение задачи: «Составить программу назначения стипендии студентам по результатам сессии»
textual
Листинг программы
- type
- spisok=record
- fam:string;
- stepen:string;
- matem:integer;
- fizik:integer;
- himia:integer;
- end;
- var
- student:array [1..20] of spisok;
- i:integer;
- begin
- for i:= 1 to 3 do
- begin
- write ('vvedite familiu ',i, ' studenta');
- readln(student[i].fam);
- write('vvedite ocenki po matem,fizike,himii ');
- readln(student[i].matem,student[i].fizik,student[i].himia);
- if (((student[i].matem = 5) and (student[i].fizik=5)) and( student[i].himia=5)) then student[i].stepen:= 'pov' else
- if ((student[i].matem>=4) and (student[i].fizik>=4) and (student[i].himia>=4)) then student[i].stepen:='norm'
- else if((student[i].matem<=3)and(student[i].fizik<=3)and(student[i].himia<=3))then student[i].stepen:='nety';
- end;
- for i:= 1 to 3 do begin
- if student[i].stepen='pov' then writeln('povishennaya y:',student[i].fam)
- else if student[i].stepen='norm' then writeln('normalnaya y:',student[i].fam)
- else if student[i].stepen='nety' then writeln('net y:',student[i].fam)
- else Writeln('vsem naznachili');
- end;
- readln;
- end.
Объяснение кода листинга программы
- Создается тип данных
spisok
, который представляет собой запись с полямиfam
(семья),stepen
(степень),matem
(математика),fizik
(физика),himia
(химия). - Создается переменная
student
, которая является массивом из 20 элементов типаspisok
. - Создается переменная
i
, которая будет использоваться как индекс для доступа к элементам массиваstudent
. - Запускается цикл
for
, который повторяется три раза. На каждой итерации цикла выполняется следующий блок кода:- Выводится запрос на ввод фамилии студента.
- Чтение введенной фамилии из потока ввода и сохранение ее в соответствующее поле записи
spisok
. - Выводится запрос на ввод оценок по математике, физике и химии.
- Чтение введенных оценок из потока ввода и сохранение их в соответствующие поля записи
spisok
. - Проверяется условие для определения степени студента. Если оценки по математике, физике и химии равны или превышают 5, то степень студента считается нормальной. В противном случае степень студента считается плохой.
- Если степень студента равна
pov
, выводится сообщение о том, что студент получил повышенную степень. - Если степень студента равна
norm
, выводится сообщение о том, что студент получил нормальную степень. - Если степень студента равна
nety
, выводится сообщение о том, что студент получил нетипичную степень. - Если все студенты получили нормальный или повышенный уровень, выводится сообщение
vsem naznachili
.
- После завершения цикла
for
выполняется блок кода, который выводит сообщения о степенях студентов. - Программа завершается вызовом функции
readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д