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

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

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

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

Задачи. Pascal, PascalABC

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

Solom1k

Ученик
Регистрация
23 Дек 2015
Сообщения
4
Реакции
0
Баллы
0
Задачи. Pascal, PascalABC

Добрый день, участникам форума. Попрошу помощи по последним трём задачам.Заранее огромное спасибо.И большое спасибо Владимиру_С за помощь с предыдущими заданиями
1.На мячиках в магазине игрушек изображены английские и русские буквы и цифры. Нужно отобрать для детского сада мячики с русскими буквами и цифрами, причем в детском саду одинаковых мячей быть не должно. Сформировать нужный набор и распечатать его
2.В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Выдать на печать результаты трех лучших участников и их фамилии. Считать, что результаты регистрирует фотофиниш и результаты спортсменов различны.
3.В массиве данных найти номер (имя) месяца каждого года, когда температура была минимальной. (промежуточная задача: получить линейный массив, элементами которого являются минимальные значения температуры за каждый год).
 
1.На мячиках в магазине игрушек изображены английские и русские буквы и цифры. Нужно отобрать для детского сада мячики с русскими буквами и цифрами, причем в детском саду одинаковых мячей быть не должно. Сформировать нужный набор и распечатать его
Как-то так:
Код:
Const
 N=40; {balls in shop}

Var
 S:set of Char;
 A:Array[1..N] of Char;
 i,M:Byte;

Begin
 Randomize;
 S:=[];
 Writeln('Balls in shop:');
 for i:=1 to N do
  begin
   M:=Random(126);
   if M<10 then M:=M+48 else {0..9}
   if M<36 then M:=M+55 else {A..Z}
   if M<62 then M:=M+61 else {a..z}
   M:=M+130; {А..я}
   A[i]:=Chr(M);
   Write(A[i]+' ');
  end;
 Writeln('Balls for kindergarten:');
 for i:=1 to N do
  if (((Ord(A[i])>47) and (Ord(A[i])<58)) or (Ord(A[i])>191)) and not(A[i] in S) then
   begin
    S:=S+[A[i]];
    write(A[i]+' ');
   end;
 Readln
End.
 
2.В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Выдать на печать результаты трех лучших участников и их фамилии. Считать, что результаты регистрирует фотофиниш и результаты спортсменов различны.
3.В массиве данных найти номер (имя) месяца каждого года, когда температура была минимальной. (промежуточная задача: получить линейный массив, элементами которого являются минимальные значения температуры за каждый год). Можете ещё помочь с ними, пожалуйста?
 
2.В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Выдать на печать результаты трех лучших участников и их фамилии. Считать, что результаты регистрирует фотофиниш и результаты спортсменов различны.
Код:
Const
 N=12;

Var
 Surn:Array[1..N] of String;
 Time:Array[1..N] of Real;
 TimeD:Real;
 SurnD:String;
 i,j:Byte;

Begin
 for i:=1 to N do
  begin
   Write('Surname: ');
   Readln(Surn[i]);
   Write('Time: ');
   Readln(Time[i]);
  end;
 Writeln;
 for i:=1 to N-1 do
  for j:=1 to N-i do
   if Time[j]>Time[j+1] then
    begin
     TimeD:=Time[j];
     Time[j]:=Time[j+1];
     Time[j+1]:=TimeD;
     SurnD:=Surn[j];
     Surn[j]:=Surn[j+1];
     Surn[j+1]:=SurnD;
    end;
 Writeln('Best:');
 for i:=1 to 3 do writeln(Surn[i]+' (',Time[i]:0:2,')');
 Readln
End.
 
3.В массиве данных найти номер (имя) месяца каждого года, когда температура была минимальной. (промежуточная задача: получить линейный массив, элементами которого являются минимальные значения температуры за каждый год).
Код:
Const
 NofY=10; {number of years}

Var
 T:Array[1..NofY,1..12] of Integer;
 Names:Array[1..12] of String;
 MinTemp:Array[1..NofY] of Integer;
 Jmin:Array[1..NofY] of Byte;
 i,j:Byte;

Begin
 Names[1]:='January';
 Names[2]:='February';
 Names[3]:='March';
 Names[4]:='April';
 Names[5]:='May';
 Names[6]:='June';
 Names[7]:='July';
 Names[8]:='August';
 Names[9]:='September';
 Names[10]:='October';
 Names[11]:='November';
 Names[12]:='December';
 Randomize;
 Writeln('Temperatures:');
 Writeln('      Jn    Fb    Mr    Ap    My    Ju    Jl    Ag    Sp    Oc    Nv    Dc');
 for i:=1 to NofY do
  begin
   write(i+2019);
   for j:=1 to 12 do
    begin
     T[i,j]:=-Abs(6-j)*6+Random(49);
     write(T[i,j]:4,'  ');
    end;
   writeln;
  end;
 for i:=1 to NofY do
  begin
   Jmin[i]:=1;
   MinTemp[i]:=T[i,1];
   for j:=2 to 12 do
    if T[i,j]<MinTemp[i] then
     begin
      MinTemp[i]:=T[i,j];
      Jmin[i]:=j;
     end;
  end;
 writeln('Minimal:');
 for i:=1 to NofY do
  writeln(i+2019,MinTemp[i]:6,'   ',Jmin[i]:2,' ('+Names[Jmin[i]]+')');
 Readln
End.
 
Назад
Сверху