Помогите найти ошибку в программе program task5; var v:string; ch:integer; begin ...

0 голосов

Помогите найти ошибку в программе
program task5;
var v:string;
ch:integer;
begin
writeln('Введите число');
readln (ch);
case ch of
1: v: = ('один');
2: v: = ('два');
3: v: = ('три');
4: v: = ('четыре');
5: v: = ('пять');
6: v: = ('шесть');
7: v: = ('семь');
8: v: = ('восемь');
9: v: = ('девять');
10: v: = ('десять');
11: v: = ('одиннадцать');
12: v: = ('двенадцать');
13: v: = ('тринадцать');
14: v: = ('четырнадцать');
15: v: = ('пятнадцать');
16: v: = ('шестнадцать');
17: v: = ('семнадцать');
18: v: = ('восемнадцать');
19: v: = ('девятнадцать');
20: v: = ('двадцать' );
21,22,23,24,25,26,27,28,29: p:=(ch mod 10), v: = ('двадцать' );
30: v: = ('тридцать ');
31,32,33,34,35,36,37,38,39: p:=(ch mod 10), v: = ('тридцать' );
40: v: = ('сорок');
41,42,43,44,45,46,47,48,49: p:=(ch mod 10), v: = ('сорок' );
50: v: = ('пятьдесят ');
51,52,53,54,55,56,57,58,59: p:=(ch mod 10), v: = ('пятьдесят' );
60: v: = ('шестьдесят ');
61,62,63,64,65,66,67,68,69: p:=(ch mod 10), v: = ('шестьдесят' );
70: v: = ('семьдесят ');
71,72,73,74,75,76,77,78,79: p:=(ch mod 10), v: = ('семьдесят '); 80: v: = ('восемьдесят ');
81,82,83,84,85,86,87,88,89: p:=(ch mod 10), v: = ('восемьдесят' );
90: v: = ('девяносто ');
91,92,93,94,95,96,97,98,99: p:=(ch mod 10), v: = ('девяносто ' );
100: v:=('сто');
end;
writeln(v,p);
end.


спросил от Начинающий (326 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Кандидат Наук (32.2k баллов)

Program task5; 
  var v:string; ch,p:integer; 
begin 
  writeln('Введите число');
  readln (ch); 
  case ch of 
    1: v:= ('один'); 
    2: v:= ('два'); 
    3: v:= ('три');
    4: v:= ('четыре');
    5: v:= ('пять');
    6: v:= ('шесть');
    7: v:= ('семь');
    8: v:= ('восемь');
    9: v:= ('девять');
    10: v:= ('десять'); 
    11: v:= ('одиннадцать');
    12: v:= ('двенадцать');
    13: v:= ('тринадцать');
    14: v:= ('четырнадцать');
    15: v:= ('пятнадцать');
    16: v:= ('шестнадцать');
    17: v:= ('семнадцать');
    18: v:= ('восемнадцать');
    19: v:= ('девятнадцать');
    20: v:= ('двадцать' );
    21,22,23,24,25,26,27,28,29: begin p:=(ch mod 10); v:= ('двадцать' ); end;
    30: v:= ('тридцать ');
    31,32,33,34,35,36,37,38,39: begin p:=(ch mod 10); v:= ('тридцать' ); end;
    40: v:= ('сорок');
    41,42,43,44,45,46,47,48,49: begin p:=(ch mod 10); v:= ('сорок' ); end;
    50: v:= ('пятьдесят ');
    51,52,53,54,55,56,57,58,59: begin p:=(ch mod 10); v:= ('пятьдесят' ); end;
    60: v:= ('шестьдесят '); 
    61,62,63,64,65,66,67,68,69: begin p:=(ch mod 10); v:= ('шестьдесят' ); end;
    70: v:= ('семьдесят ');
    71,72,73,74,75,76,77,78,79: begin p:=(ch mod 10); v:= ('семьдесят '); end;
    80: v:= ('восемьдесят '); 
    81,82,83,84,85,86,87,88,89: begin p:=(ch mod 10); v:= ('восемьдесят' ); end;
    90: v:= ('девяносто ');
    91,92,93,94,95,96,97,98,99: begin p:=(ch mod 10); v:= ('девяносто ' ); end;
    100: v:=('сто'); 
  end; 
  writeln(v,p); 
end.
----------------------
Так оно по крайней мере запускается. Но нет обработки переменной p, по ней надо делать отдельный case of.

оставил комментарий от Кандидат Наук (32.2k баллов)

оно было отформатировано, но после копирования и вставки попортилось

...