В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
книга67
книга67
28.07.2021 19:48 •  Информатика

Написать программу Pascal, которая определяет, сколько человек из N кандидатов (количество кандидатов пользователь задаёт в начале программы) подходит для занятий в секцию баскотбола по его росту (если рост выше 180см, то подходит). Для решения использовать цикл с заданным числом повторение

Показать ответ
Ответ:
mariii222
mariii222
02.10.2022 00:26

program aaa;

const n=50;

var w, c, x, d10, d4, d1: integer;  

begin 

  writeln ('введите вес бандероли');

  readln (w);

  if w < = n

    then c: =10

    else  

        if w mod n = 0

          then c: =10+((w div n)-1)*5

          else c: =10+5+((w div n)-1)*5;

 

  d10: = c div 10;

  d4: = (c-10*d10) div 4;

  d1: = (c-d10*10-d4*4);

 

  writeln ('стоимость бандероли: ',c,' драхм');

  writeln;

  writeln ('для оплаты нужно не менее');

  writeln (d10: 10,' монет по 10 драхм');

  writeln (d4: 10,' монет по 4 драхмы');

  writeln (d1: 10,' монет по 1 драхме');

end.

результат работы программы:

введите вес бандероли       100

стоимость бандероли: 15 драхм

для оплаты нужно не менее

          1 монет по 10 драхм

          1 монет по 4 драхмы

          1 монет по 1 драхме

0,0(0 оценок)
Ответ:
vasilevamarin
vasilevamarin
03.10.2021 16:59
ответ:var a, b: real; s: string; begin readln(a); readln(b); readln(s); if s = '+' then write(a + b); if s = '-' then write(a - b); if s = '/' then if b <> 0 then write(a / b) else write('Деление на 0!'); if s = '*' then write(a * b); if s = 'mod' then if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); if s = 'pow' then write(power(a, b)); if s = 'div' then if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end.Пояснение:

В pascal операции mod и div к вещественным типам недоступны, поэтому округляем их через Round. Можно поменять на Trunc - он возвратит только целую часть.

Однако правильнее будет делать через case:var a, b: real; s: string; begin readln(a); readln(b); readln(s); case s of char.ToString('+'): write(a + b); char.ToString('-'): write(a - b); char.ToString('/'): if b <> 0 then write(a / b) else write('Деление на 0!'); char.ToString('*'): write(a * b); 'mod': if b <> 0 then write(Round(a) mod Round(b)) else write('Деление на 0!'); 'pow': write(power(a, b)); 'div': if b <> 0 then write(Round(a) div Round(b)) else write('Деление на 0!'); end; end.Пояснение:

В case '+', '-', '/', '*' воспринимаются как char, поэтому переводим их в string через стандартный метод класса char: char.ToString( )

Примеры работ:
Напишите калькулятор, который считывает с пользовательского ввода три строки: первое число, второе ч
Напишите калькулятор, который считывает с пользовательского ввода три строки: первое число, второе ч
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота