Написать программу в паскале, которая после введенного с клавиатуры числа(в диапазоне от 1 до 99), обозначающий денежную единицу, дописывал слово
10-11 класс
|
"Копейка". Например ,5 копеек,41 копейка и тд.
Вот мои попытки создать программу:
Program Kopeika;
Var a:integer;
begin
Writeln('Vvedite chislo');
Readln(a);
Case a of
'1,21,31,41,51,61,71,81,91': a:='Kopeika ';
'2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94': a:='Kopeiki ';
'5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..99': a:=' Kopeek';
end;
Readln;
end.
По идее нужен цикл, который будет перебирать значения case. Я больше знаю c#, но могу посоветовать только поработать с циклами, т.к не знаю как с ними обстоит дело в паскале.
Исправленный вариант:
program Kopeika;
var
a: integer;
begin
Writeln('Vvedite chislo');
Readln(a);
case a of
1, 21, 31, 41, 51, 61, 71, 81, 91: write(a, ' kopeika');
2..4, 22..24, 32..34, 42..44, 52..54, 62..64, 72..74, 82..84, 92..94: write(a, ' kopeiki');
5..20, 25..30, 35..40, 45..50, 55..60, 65..70, 75..80, 85..90, 95..99: write(a, ' kopeek');
end;
Readln;
Program Kopeika;
Var a:integer;
begin
Writeln('Vvedite chislo');
Readln(a);
Case a of
'1,21,31,41,51,61,71,81,91': a:='Kopeika '; {Здесь ошибка, числа типа integer не выделяются апострофами, выделяются только строки, то есть компилятор воспринимает значения между ' ' как строку из букв и чисел, но в операторе case можно использовать только числовые типы, поэтому ' ' нужно убрать}
Затем, по условию, если число а попадает в заданный диапазон, то ему присваивается опять же символы типа строка (string), нельзя присвоить числовой переменной строковое значение. Для вывода сообщений и значений переменных используется функция write('текст') или write(a) уже без кавычек, если это переменная, а не сообщение, которое нужно вывести.
Здесь подойдет такая команда write(a, 'kopeika'); То есть, сначала выводиться число а, введенное с клавиатуры, а затем текст уже в апострофах. Переменные нужно отделять от сообщения запятыми.
Другие вопросы из категории
и помогите, пожалуйста, окно сделать
Дана последовательность действительных чисел поменять местами наибольший и наименьший элементы
Для передачи чисел по каналу с помехами используется код
проверки четности. Каждая его цифра записывается в двоичном
представлении, с добавлением ведущих нулей до длины 4, и к
получившейся последовательности дописывается сумма её
элементов по модулю 2 (например, если передаём 23, то получим
последовательность 0010100110). Определите, какое число
передавалось по каналу в виде 01100010100100100110? 1) 6543
из текста пользователя.
0 очков, если выпадают 3 или 6 — у игрока вычитаются 50 очков,
если выпадают 2 или 7 — баллы игрока, набранные прежде, умножаются на два,
если выпадает 1 или 8 — игрок становится банкротом (звуковой сигнал),
и если выпадает 0 или 9 — игрок получает 0 баллов.
надо написать команду условий( для паскаля)
Читайте также
а)удвоенное значение числа,если число положительное; б)абсолютное значение числа,если число отрицательное.
2)Напишите программу которая анализирует введенное с клавиатуры число на четность и сообщает о результате.
2.написать программу в паскале
f(x)=2(sin*sin)x+1
http://primat.org/index/0-128 вот сайт что бы написать программу.
31, мм - целое число из диапазона от 1 до 12, а гг - целое число из диапазона от 1 до 2020 (если какая-то часть формата нарушена, то данная подстрока в качестве даты не рассматривается.) Заменить каждую дату сообщения на дату следующего дня. Написать программу на Паскале. Сроооооооооооооочнооо. Пооожалуйста.....