Другие языки программирования и технологии
программа Pascal. Ввести возраст человека( от 1 до 150 лет)....
Ввести возраст человека ( от 1 до 150 лет) и вывести его вместе с последующим словом "год", "года" или "лет". Пример: Введите возраст 24 Вам 24 года начало так: var a:integer; begin writeln('Введите возраст '); readln(a);
var a:integer;
begin
writeln('Введите возраст ');
readln(a);
if a mod 10 = 1 then writeln('Вам ' ,a,' год');
if ((a mod 10) in [2,3,4]) then writeln('Вам ' ,a,' года');
if ((a mod 10) in [0,5,6,7,8,9]) then writeln('Вам ' ,a,' лет');
readln;
end.
begin
writeln('Введите возраст ');
readln(a);
if a mod 10 = 1 then writeln('Вам ' ,a,' год');
if ((a mod 10) in [2,3,4]) then writeln('Вам ' ,a,' года');
if ((a mod 10) in [0,5,6,7,8,9]) then writeln('Вам ' ,a,' лет');
readln;
end.
В данном решении ошибка. При вводе значений возраста от 11 до 14 программа выводит :"вам 11 года" и т. д.
var
k: integer;
begin
writeln('Сколько тебе лет?');
readln(k);
if k <= 0 then
writeln('Некорректный ввод!');
if (k mod 10 = 1) and (k div 10 mod 10 <>1) then
writeln('Мне ', k, ' год');
if ((k mod 10 = 2) or (k mod 10 = 3) or (k mod 10 = 4 )) and ((k > 20) or (k < 10)) then
writeln('Мне ', k, ' года');
if (k mod 10 > 4) or ((k mod 10 = 0) and (k > 0)) or ((k > 10) and (k < 20)) or (k div 10 mod 10 = 1) then
writeln('Мне ', k, ' лет');
end.
k: integer;
begin
writeln('Сколько тебе лет?');
readln(k);
if k <= 0 then
writeln('Некорректный ввод!');
if (k mod 10 = 1) and (k div 10 mod 10 <>1) then
writeln('Мне ', k, ' год');
if ((k mod 10 = 2) or (k mod 10 = 3) or (k mod 10 = 4 )) and ((k > 20) or (k < 10)) then
writeln('Мне ', k, ' года');
if (k mod 10 > 4) or ((k mod 10 = 0) and (k > 0)) or ((k > 10) and (k < 20)) or (k div 10 mod 10 = 1) then
writeln('Мне ', k, ' лет');
end.
Program VamLetGodGoda;
var x: integer;
begin
writeln('Введите возраст:');
readln(x);
if x <= 0 then
writeln('Нам не нравится Ваш возраст');
if (x mod 10 = 1) and (x div 10 mod 10 <>1) then
writeln('Вам ', x, ' год');
if ((x mod 10 = 2) or (x mod 10 = 3) or (x mod 10 = 4 )) and ((x > 20) and (x<110) or (x < 10)) then
writeln('Вам ', x, ' года');
if (x mod 10 > 4) or ((x mod 10 = 0) and (x > 0)) or ((x > 10) and (x < 20)) or (x div 10 mod 10 = 1) then
writeln('Вам ', x, ' лет');
end.
var x: integer;
begin
writeln('Введите возраст:');
readln(x);
if x <= 0 then
writeln('Нам не нравится Ваш возраст');
if (x mod 10 = 1) and (x div 10 mod 10 <>1) then
writeln('Вам ', x, ' год');
if ((x mod 10 = 2) or (x mod 10 = 3) or (x mod 10 = 4 )) and ((x > 20) and (x<110) or (x < 10)) then
writeln('Вам ', x, ' года');
if (x mod 10 > 4) or ((x mod 10 = 0) and (x > 0)) or ((x > 10) and (x < 20)) or (x div 10 mod 10 = 1) then
writeln('Вам ', x, ' лет');
end.
Похожие вопросы
- Помогите исправить программу паскале(ввести номер месяца и вывести название времени года)
- Как исправить недочет в программе Pascal?
- Здраствуйте. Оцените программу. Pascal ABC.
- Что не так с программой? Pascal
- помогите написать программу pascal
- Проверить рациональность выполнения программы pascal
- Почему нельзя настраивать массив в процессе работы программы? Pascal ABC ну и если так вообще везде?
- Напишите программу Pascal
- помогите написать программу Pascal строки
- Срочно!!! Не займет много времени!!! Ломаю голову над вопросом, Помогите!!! Программа. Pascal. Паскаль