Домашние задания: Информатика

Информатика 10 класс Паскаль.

На дереве сидит N ворон (20<=N<100). Написать программу, которая по введенному значению количества ворон напечатает их количество текстом. Например, N = 43, программа должна напечатать "сорок три вороны"
(важно, чтобы и склонения существительных тоже соответствовали цифровому значению) Помогите, пожалуйста, с программой...
program razinya;
var n: integer;
begin
readln(n);
if n div 10 = 2 then write('двадцать ') else
if n div 10 = 3 then write('тридцать ') else
if n div 10 = 4 then write('сорок ') else
if n div 10 = 5 then write('пятьдесят ') else
if n div 10 = 6 then write('шестьдесят ') else
if n div 10 = 7 then write('семьдесят ') else
if n div 10 = 8 then write('восемьдесят ') else
if n div 10 = 9 then write('девяносто ');
if n mod 10 = 0 then write('ворон') else
if n mod 10 = 1 then write('одна ворона') else
if n mod 10 = 2 then write('две вороны') else
if n mod 10 = 3 then write('три вороны') else
if n mod 10 = 4 then write('четыре вороны') else
if n mod 10 = 5 then write('пять ворон') else
if n mod 10 = 6 then write('шесть ворон') else
if n mod 10 = 7 then write('семь ворон') else
if n mod 10 = 8 then write('восемь ворон') else
if n mod 10 = 9 then write('девять ворон');
end.
Черкес
Черкес
79 225
Лучший ответ
Ольга Симоненко Товарищ вы мыслите слишком просто. За такое решение учителя информатики, которые хоть как-то разбираются в своем предмете, ставят тройки. Нужно думать более разностороннее.
Ольга Симоненко var
Nvoron : integer;
st:string;

begin

Write('Введите количество ворон: ');
Readln(Nvoron);

if (Nvoron<20) or (Nvoron>=100) then writeln('Такого количества ворон не существует!');
if (Nvoron<20) or (Nvoron>=100) then Readln(Nvoron)

else
case Nvoron div 10 of
2:st:='двадцать';
3:st:='тридцать';
4:st:='сорок';
5:st:='пятьдесят';
6:st:='шестьдесят';
7:st:='семьдесят';
8:st:='восемьдесят';
9:st:='девяносто';
end;
case Nvoron mod 10 of
1:st:=st+' одна ворона';
2:st:=st+' две вороны';
3:st:=st+' три вороны';
4:st:=st+' четыре вороны';
5:st:=st+' пять ворон';
6:st:=st+' шесть ворон';
7:st:=st+' семь ворон';
8:st:=st+' восемь ворон';
9:st := st+' девять ворон';

end;
if Nvoron mod 10= 0 then writeln(st+' ворон ')
else
writeln(st);

readln;
end.
Андрей Иванов Ваше решение может и правильное, но оно без искры, без вкуса, сделано без души, за такое решение учитель и 3 ставить не захочет.
Ольга Симоненко в условии задачи написано в каких пределах нужно
у вас неправильное решение
program razinya;
var n: integer;
begin
readln(n);
if (n<20) or (n>=100) then writeln('Такого количества ворон не существует!');
if (n<20) or (n>=100) then Readln(n);
if n div 10 = 2 then write('двадцать ') else
if n div 10 = 3 then write('тридцать ') else
if n div 10 = 4 then write('сорок ') else
if n div 10 = 5 then write('пятьдесят ') else
if n div 10 = 6 then write('шестьдесят ') else
if n div 10 = 7 then write('семьдесят ') else
if n div 10 = 8 then write('восемьдесят ') else
if n div 10 = 9 then write('девяносто ');
if n mod 10 = 0 then write('ворон') else
if n mod 10 = 1 then write('одна ворона') else
if n mod 10 = 2 then write('две вороны') else
if n mod 10 = 3 then write('три вороны') else
if n mod 10 = 4 then write('четыре вороны') else
if n mod 10 = 5 then write('пять ворон') else
if n mod 10 = 6 then write('шесть ворон') else
if n mod 10 = 7 then write('семь ворон') else
if n mod 10 = 8 then write('восемь ворон') else
if n mod 10 = 9 then write('девять ворон');
end.