Составить программу назначения стипендии студентам по результатам сессии - 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.

Объяснение кода листинга программы

  1. Создается тип данных spisok, который представляет собой запись с полями fam (семья), stepen (степень), matem (математика), fizik (физика), himia (химия).
  2. Создается переменная student, которая является массивом из 20 элементов типа spisok.
  3. Создается переменная i, которая будет использоваться как индекс для доступа к элементам массива student.
  4. Запускается цикл for, который повторяется три раза. На каждой итерации цикла выполняется следующий блок кода:
    • Выводится запрос на ввод фамилии студента.
    • Чтение введенной фамилии из потока ввода и сохранение ее в соответствующее поле записи spisok.
    • Выводится запрос на ввод оценок по математике, физике и химии.
    • Чтение введенных оценок из потока ввода и сохранение их в соответствующие поля записи spisok.
    • Проверяется условие для определения степени студента. Если оценки по математике, физике и химии равны или превышают 5, то степень студента считается нормальной. В противном случае степень студента считается плохой.
    • Если степень студента равна pov, выводится сообщение о том, что студент получил повышенную степень.
    • Если степень студента равна norm, выводится сообщение о том, что студент получил нормальную степень.
    • Если степень студента равна nety, выводится сообщение о том, что студент получил нетипичную степень.
    • Если все студенты получили нормальный или повышенный уровень, выводится сообщение vsem naznachili.
  5. После завершения цикла for выполняется блок кода, который выводит сообщения о степенях студентов.
  6. Программа завершается вызовом функции readln.

Оцени полезность:

14   голосов , оценка 4.143 из 5
Похожие ответы