Составить программу назначения стипендии студентам по результатам сессии - Turbo Pascal (29158)
Формулировка задачи:
Вот эту посмотрите тоже нифига у меня не работает условие такое
Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила: если все оценки 5, то назначается повышенная стипендия; если все оценки 4 и 5, то назначается обычная стипендия; если есть оценка 3, то стипендия не назначается. Вывести списки студентов, назначенных на повышенную и обычную стипендию с указанием их фамилий, курса и группы.
Решение задачи: «Составить программу назначения стипендии студентам по результатам сессии»
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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д