UCHEES.RU - помощь студентам и школьникам

Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать...


В 6:40 поступил вопрос в раздел Информатика, который вызвал затруднения у обучающегося.

Вопрос вызвавший трудности

Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать один
Язык Паскаль

Ответ подготовленный экспертами Учись.Ru

Для того чтобы дать полноценный ответ, был привлечен специалист, который хорошо разбирается требуемой тематике "Информатика". Ваш вопрос звучал следующим образом:

Напишите процедуру, которая выводит переданное ей число прописью. Например, 21 - двадцать один
Язык Паскаль

После проведенного совещания с другими специалистами нашего сервиса, мы склонны полагать, что правильный ответ на заданный вами вопрос будет звучать следующим образом:

Procedure P(A:integer);
Var
   B:byte;
   S,Z:string;
Begin
if A = 0 then Write('Ноль')
else
   Begin
   if A < 0 then
      Begin
      Z:='минус ';
      A:=-A;
      End;
   B:=A mod 100;
   if B div 10 = 1 then
      Case B mod 10 of
      0:S:='десять';
      1:S:='одиннадцать';
      2:S:='двенадцать';
      3:S:='тринадцать';
      4:S:='четырнадцать';
      5:S:='пятнадцать';
      6:S:='шестнадцать';
      7:S:='семнадцать';
      8:S:='восемнадцать';
      9:S:='девятнадцать';
      End
   else
      Begin
      Case B mod 10 of
      1:S:='один';
      2:S:='два';
      3:S:='три';
      4:S:='четыре';
      5:S:='пять';
      6:S:='шесть';
      7:S:='семь';
      8:S:='восемь';
      9:S:='девять';
      End;
      Case B div 10 of
      2:S:='двадцать '+S;
      3:S:='тридцать '+S;
      4:S:='сорок '+S;
      5:S:='пятьдесят '+S;
      6:S:='шестьдесят '+S;
      7:S:='семьдесят '+S;
      8:S:='восемьдесят '+S;
      9:S:='девяносто '+S;
      End;
      End;
      Case (A div 100) mod 10 of
      1:S:='сто '+S;
      2:S:='двести '+S;
      3:S:='триста '+S;
      4:S:='четыреста '+S;
      5:S:='пятьсот '+S;
      6:S:='шестьсот '+S;
      7:S:='семьсот '+S;
      8:S:='восеьсот '+S;
      9:S:='девятьсот '+S;
      End;
   WriteLn(Z+S);
   End;
End;
Var
   A:longint;
Begin
Write('Введите целое число: ');ReadLn(A);
P(A);
End.


-------------------

 procedure p(x:integer; var st:string);
 type
        name = array[0..9] of String[50];
      const
        s1 : name = (' ноль ',' один ',' два ',' три ',' четыре ',' пять ',' шесть ',' семь ',' восемь ',' девять ');
        s2: name = (' ',' десять ',' двадцать ',' тридцать ',' сорок ',' пятьдесят ',' шестьдесят ',' семьдесят ',' восемьдесят ',' девяносто ');
        s3: name = (' ',' сто ',' двести ',' триста ',' четыреста ',' пятьсот ',' шестьсот ',' семьсот ',' восемьсот ',' девятьсот ');
        s4 : name = (' ',' одиннадцать ',' двенадцать ',' тринадцать ',' четырнадцать ',' пятнадцать ',' шестнадцать ',' семнадцать ',' восемнадцать ',' девятнадцать ');
      var
        s,d,e : Integer;
begin
    s:= x div 100; x:=x mod 100;
    st:=s3[s];
    d:= x div 10; e:=x mod 10;
    if (d=1) and (e<>0) then st:=st+s4[e]
                         else st:=st+s2[d]+s1[e];
end;
var x:integer; st:string;
 Begin
     Write('Введите число [0..999] :');
     Readln(x);
     p(x,st);
     writeln(st);
 End.

Пример:
Введите число [0..999] : 714
семьсот четырнадцать



НЕСКОЛЬКО СЛОВ ОБ АВТОРЕ ЭТОГО ОТВЕТА:

Работы, которые я готовлю для студентов, преподаватели всегда оценивают на отлично. Я занимаюсь написанием студенческих работ уже более 4-х лет. За это время, мне еще ни разу не возвращали выполненную работу на доработку! Если вы желаете заказать у меня помощь оставьте заявку на этом сайте. Ознакомиться с отзывами моих клиентов можно на этой странице.

Рожкова Фрида Лукьевна - автор студенческих работ, заработанная сумма за  прошлый месяц 84 300 рублей. Её работа началась с того, что она просто откликнулась на эту вакансию

ПОМОГАЕМ УЧИТЬСЯ НА ОТЛИЧНО!

Выполняем ученические работы любой сложности на заказ. Гарантируем низкие цены и высокое качество.

Деятельность компании в цифрах:

Зачтено оказывает услуги помощи студентам с 1999 года. За все время деятельности мы выполнили более 400 тысяч работ. Написанные нами работы все были успешно защищены и сданы. К настоящему моменту наши офисы работают в 40 городах.

РАЗДЕЛЫ САЙТА

Ответы на вопросы - в этот раздел попадают вопросы, которые задают нам посетители нашего сайта. Рубрику ведут эксперты различных научных отраслей.

Полезные статьи - раздел наполняется студенческой информацией, которая может помочь в сдаче экзаменов и сессий, а так же при написании различных учебных работ.

Красивые высказывания - цитаты, афоризмы, статусы для социальных сетей. Мы собрали полный сборник высказываний всех народов мира и отсортировали его по соответствующим рубрикам. Вы можете свободно поделиться любой цитатой с нашего сайта в социальных сетях без предварительного уведомления администрации.

ЗАДАТЬ ВОПРОС

НОВЫЕ ОТВЕТЫ

ПОХОЖИЕ ВОПРОСЫ