• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Составьте программу

  • Автор темы Автор темы Rus555
  • Дата начала Дата начала

Rus555

Ученик
Регистрация
4 Ноя 2016
Сообщения
7
Реакции
0
Баллы
0
Составьте программу

1) составьте программу которая создает файл компонент которого имеют следующую структуру
Табельный номер
ФИО
оклад
введите в файл о пяти работниках выведите в другой файл данные о работнике имеющем максимальный оклад.

2) составьте программу которая по названию числа <1000 написанному на русском языке формирует его цифровую запись
 
1) составьте программу которая создает файл компонент которого имеют следующую структуру Табельный номер ФИО оклад введите в файл о пяти работниках выведите в другой файл данные о работнике имеющем максимальный оклад.
На подобные запросы всегда даю стандартный ответ: http://www.tehnari.ru/f41/t81350/#post827208
2) составьте программу которая по названию числа <1000 написанному на русском языке формирует его цифровую запись
А вот это - пожалуйста:
Код:
Var
 N:Word;
 b1,b10,b100,bf:boolean;
 S:String;
 Nw,i,H,T,U,F:byte;
 W:Array[1..3] of String;

Procedure Hundr(R:String; var NH:byte; var b:boolean);
begin
 b:=false;
 if R='сто'       then begin NH:=1; b:=true; end else
 if R='двести'    then begin NH:=2; b:=true; end else
 if R='триста'    then begin NH:=3; b:=true; end else
 if R='четыреста' then begin NH:=4; b:=true; end else
 if R='пятьсот'   then begin NH:=5; b:=true; end else
 if R='шестьсот'  then begin NH:=6; b:=true; end else
 if R='семьсот'   then begin NH:=7; b:=true; end else
 if R='восемьсот' then begin NH:=8; b:=true; end else
 if R='девятьсот' then begin NH:=9; b:=true; end;
end;

Procedure Tens(R:String; var NT:byte; var b:boolean);
begin
 b:=false;
 if R='двадцать'    then begin NT:=2; b:=true; end else
 if R='тридцать'    then begin NT:=3; b:=true; end else
 if R='сорок'       then begin NT:=4; b:=true; end else
 if R='пятьдесят'   then begin NT:=5; b:=true; end else
 if R='шестьлесят'  then begin NT:=6; b:=true; end else
 if R='семьдесят'   then begin NT:=7; b:=true; end else
 if R='восемьдесят' then begin NT:=8; b:=true; end else
 if R='девяносто'   then begin NT:=9; b:=true; end;
end;

Procedure Units(R:String; var NU:byte; var b:boolean);
begin
 b:=false;
 if R='один'   then begin NU:=1; b:=true; end else
 if R='два'    then begin NU:=2; b:=true; end else
 if R='три'    then begin NU:=3; b:=true; end else
 if R='четыре' then begin NU:=4; b:=true; end else
 if R='пять'   then begin NU:=5; b:=true; end else
 if R='шесть'  then begin NU:=6; b:=true; end else
 if R='семь'   then begin NU:=7; b:=true; end else
 if R='восемь' then begin NU:=8; b:=true; end else
 if R='девять' then begin NU:=9; b:=true; end;
end;

Procedure Teens(R:String; var NF:byte; var b:boolean);
begin
 b:=false;
 if R='десять'       then begin NF:=10; b:=true; end else
 if R='одиннадцать'  then begin NF:=11; b:=true; end else
 if R='двенадцать'   then begin NF:=12; b:=true; end else
 if R='тринадцать'   then begin NF:=13; b:=true; end else
 if R='четырнадцать' then begin NF:=14; b:=true; end else
 if R='пятнадцать'   then begin NF:=15; b:=true; end else
 if R='шестнадцать'  then begin NF:=16; b:=true; end else
 if R='семнадцать'   then begin NF:=17; b:=true; end else
 if R='восемнадцать' then begin NF:=18; b:=true; end else
 if R='девятнадцать' then begin NF:=19; b:=true; end;
end;

Begin
 Repeat
  Writeln('Введите название числа, меньшего 1000 без отступа в начале,');
  Writeln('с однократными пробелами и без точки в конце.');
  Writeln('Для выхода из программы введите "ноль" (без кавычек).');
  Readln(S);
  if S<>'ноль' then
   begin
    NW:=0;
    for i:=1 to 3 do W[i]:='';
    i:=0;
    Repeat
     Inc(NW);
     repeat
      Inc(i);
      if S[i]<>' ' then W[NW]:=W[NW]+S[i];
     until (S[i]=' ') or (i=Length(S));
    Until i=Length(S);

    if NW=1 then
     begin
      Units(W[1],U,b1);
      Tens(W[1],T,b10);
      Hundr(W[1],H,b100);
      Teens(W[1],F,bf);
      if b1 then N:=U else
      if b10 then N:=10*T else
      if b100 then N:=100*H else N:=F;
     end else
    if NW=2 then
     begin
      Units(W[2],U,b1);
      Teens(W[2],F,bf);
      Tens(W[2],T,b10);
      if b1 then N:=U else
      if bf then N:=F else N:=T*10;
      if b1 then
       begin
        Tens(W[1],T,b10);
        if b10 then N:=N+10*T else
         begin
          Hundr(W[1],H,b100);
          N:=N+100*H;
         end;
       end else
      if bf then
       begin
        Hundr(W[1],H,b100);
        N:=N+100*H;
       end;
     end else
     begin
      Units(W[3],U,b1);
      Tens(W[2],T,b10);
      Hundr(W[1],H,b100);
      N:=100*H+10*T+U;
     end;
    Writeln(N);
   end;
 Until S='ноль';
End.
 
Подскажите пожалуйста что нужно вводить на саму форму TEdit,TLabel, Button?
 
Подскажите пожалуйста что нужно вводить на саму форму TEdit,TLabel, Button?
Нужно было с самого начала оговорить, что требуется программа на Delphi, а не на Pascal. Извините, Delphi знаю плохо.
 
То есть в лазарусе этот код не будет работать?
 
большое спасибо вам
 
Назад
Сверху