Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2021, 21:26   #1
Abase_
Новичок
Пользователь
 
Регистрация: 02.03.2021
Сообщений: 14
Восклицание Вывести результаты годового обучения по 3 оценкам

Пользователь вводит годовые оценки по математике, русскому и чтению для ученика 2 класса. Программа должна вывести одно из следующих сообщений: "Вы отлично закончили учебный год, поздравляю!","Вы успешно закончили учебный год, поздравляю!","В следующем году обязательно постарайся","К сожалению, вы остаётесь на повторный год обучения"
Abase_ вне форума Ответить с цитированием
Старый 02.03.2021, 21:53   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Что не получается?
Надо запросить у пользователя 3 числа, затем найти наименьшее из них, затем с помощью case вывести соответствующее минимальной оценке сообщение.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.03.2021, 21:56   #3
Abase_
Новичок
Пользователь
 
Регистрация: 02.03.2021
Сообщений: 14
По умолчанию

BDA, надо просто без case а через if если это возможно
Abase_ вне форума Ответить с цитированием
Старый 02.03.2021, 22:00   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Можно и без case:
Код:
if grade = 5 then
    writeln('')
else if grade = 4 then
    writeln('')
else if ...
Что конкретно не получается реализовать?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.03.2021, 22:01   #5
Abase_
Новичок
Пользователь
 
Регистрация: 02.03.2021
Сообщений: 14
По умолчанию

BDA, если вам не сложно не могли бы вы написать весь код и я попробую разобраться. Я сам пытался сделать через средне годовую оценку но у меня не получалось
Abase_ вне форума Ответить с цитированием
Старый 02.03.2021, 22:19   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Ну раз пытались, то выложите, что получилось. Может быть осталось пару строк поправить.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.03.2021, 22:21   #7
Abase_
Новичок
Пользователь
 
Регистрация: 02.03.2021
Сообщений: 14
По умолчанию

BDA, к сожалению весь код остался на компьютере в классе

Последний раз редактировалось Abase_; 02.03.2021 в 22:34.
Abase_ вне форума Ответить с цитированием
Старый 02.03.2021, 22:58   #8
Abase_
Новичок
Пользователь
 
Регистрация: 02.03.2021
Сообщений: 14
По умолчанию

BDA, вот я тут накидал что было примерно
Код:
program n1;
var
  a,c,n,b:real;
begin
  writeln('Введите годовую оценку по математике: ');
  read(a);
  writeln('Введите годовую оценку по русскому языку: ');
  read(c);
  writeln('Введиите годовую оценку по чтению: ');
  read(n);
  b:=(a+c+n)/3;
  if b<2.5 then
    writeln('К сожалению, вы остаётесь на повторный год обучения')
  else 
  if (b>2.5) and (b<3.5) then 
    writeln('В следующем году обязательно постарайся')
  else 
  if (b>3.5) and (b<4.5) then
    writeln('Вы успешно закончили учебный год, поздравляю!')
  else
  if b>4.5 then 
    writeln('Вы отлично закончили учебный год, поздравляю!');
end.
Abase_ вне форума Ответить с цитированием
Старый 02.03.2021, 23:07   #9
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Другое дело. Мне решение видится так (на компилируемость не проверял):
Код:
program n1;
var
  a, b, c, grade: integer;
begin
  writeln('Введите годовую оценку по математике: ');
  read(a);
  writeln('Введите годовую оценку по русскому языку: ');
  read(b);
  writeln('Введите годовую оценку по чтению: ');
  read(c);
  grade := a;
  if b < grade then
    grade := b;
  if c < grade then
    grade := c;
  if grade = 5 then
    writeln('Вы отлично закончили учебный год, поздравляю!')
  else if grade = 4 then
    writeln('Вы успешно закончили учебный год, поздравляю!')
  else if grade = 3 then
    writeln('В следующем году обязательно постарайся')
  else
    writeln('К сожалению, вы остаётесь на повторный год обучения');
end.
Если функция min доступна, то можно убрать парочку if и сразу посчитать grade:
Код:
grade := min(min(a, b), c);
Честно говоря, условие задачи никак не описывает критерий успешности завершения года.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA на форуме Ответить с цитированием
Старый 02.03.2021, 23:10   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Abase_Не знаю вашей системы оценок, но если она 5-бальная, то
Код:
if b>4.5 then
лишнее - остаётся и без того неохваченной только ситуация b>4.5
И ещё: выскочили из рассмотрения сами границы 3.5 и 4.5 - если на них точно попадёт, то ни один if не сработает. В этих парах где-то д.быть >= или <=

Последний раз редактировалось digitalis; 02.03.2021 в 23:13.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести результаты работы программы в текстовый файл паскаль Demon11101995 Помощь студентам 7 13.01.2014 08:54
Как вывести результаты в 2 колонки снизу вверх? SimpleDe Общие вопросы C/C++ 0 17.11.2010 12:43
Вычислить значения функции и вывести результаты в виде графика (функцию см.далее) {Please} timepoka Помощь студентам 10 28.02.2010 12:43
Вывести фамилии и даты рождения студентов, не получивших ни одной оценки 3 за все время обучения Гробовщик Общие вопросы C/C++ 1 14.01.2010 14:16