Составить программу назначения стипендии студентам по результатам сессии - Turbo Pascal (29158)

Узнай цену своей работы

Формулировка задачи:

Вот эту посмотрите тоже нифига у меня не работает условие такое Составить программу назначения стипендии студентам по результатам сессии, используя следующие правила: если все оценки 5, то назначается повышенная стипендия; если все оценки 4 и 5, то назначается обычная стипендия; если есть оценка 3, то стипендия не назначается. Вывести списки студентов, назначенных на повышенную и обычную стипендию с указанием их фамилий, курса и группы.
Листинг программы
  1. program tt;
  2. type
  3. anketa=record
  4. fam:string;
  5. kurs:integer;
  6. grup:string[15];
  7. stepen:char;
  8. matem:integer;
  9. fizik:integer;
  10. himia:integer;
  11. end;
  12. var
  13. student:array [1..100] of anketa;
  14. i:integer;
  15. begin
  16. for i:= 1 to 3 do
  17. with student[i] do
  18. begin
  19. write ('vvedite familiu ',i, ' studenta');
  20. readln(fam);
  21. writeln ('vvedite kurs ',i, ' studenta ');
  22. readln(kurs);
  23. write (' vvedite grupu ',i, ' studenta ');
  24. readln(grup);
  25. write('vvedite ocenki po matem,fizike,himii ');
  26. readln(matem,fizik,himia);
  27. if (((matem = 5) and (fizik=5)) and( himia=5)) then stepen:= 'pov' else
  28. if (matem>=4 and fizik>=4) and himia>=4 then stepen:='norm' else stepen:='nety';
  29. end;
  30. write('studenti naznachenii na stependiu');
  31. for i:= 1 to 3 do
  32. with

Решение задачи: «Составить программу назначения стипендии студентам по результатам сессии»

textual
Листинг программы
  1. type
  2. spisok=record
  3. fam:string;
  4.  
  5. stepen:string;
  6. matem:integer;
  7. fizik:integer;
  8. himia:integer;
  9. end;
  10. var
  11. student:array [1..20] of spisok;
  12. i:integer;
  13. begin
  14. for i:= 1 to 3 do
  15.  
  16. begin
  17. write ('vvedite familiu ',i, ' studenta');
  18. readln(student[i].fam);
  19. write('vvedite ocenki po matem,fizike,himii ');
  20. readln(student[i].matem,student[i].fizik,student[i].himia);
  21. if (((student[i].matem = 5) and (student[i].fizik=5)) and( student[i].himia=5)) then student[i].stepen:= 'pov' else
  22. if ((student[i].matem>=4) and (student[i].fizik>=4) and (student[i].himia>=4)) then student[i].stepen:='norm'
  23. else if((student[i].matem<=3)and(student[i].fizik<=3)and(student[i].himia<=3))then student[i].stepen:='nety';
  24. end;
  25.  
  26. for i:= 1 to 3 do begin
  27.  
  28. if student[i].stepen='pov' then writeln('povishennaya y:',student[i].fam)
  29. else if student[i].stepen='norm' then writeln('normalnaya y:',student[i].fam)
  30. else if student[i].stepen='nety' then writeln('net y:',student[i].fam)
  31. else Writeln('vsem naznachili');
  32. end;
  33. readln;
  34. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы