Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 24.12.2015, 15:56   #1 (permalink)
Solom1k
Новичок
 
Регистрация: 23.12.2015
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задачи. Pascal, PascalABC

Добрый день, участникам форума. Попрошу помощи по последним трём задачам.Заранее огромное спасибо.И большое спасибо Владимиру_С за помощь с предыдущими заданиями
1.На мячиках в магазине игрушек изображены английские и русские буквы и цифры. Нужно отобрать для детского сада мячики с русскими буквами и цифрами, причем в детском саду одинаковых мячей быть не должно. Сформировать нужный набор и распечатать его
2.В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Выдать на печать результаты трех лучших участников и их фамилии. Считать, что результаты регистрирует фотофиниш и результаты спортсменов различны.
3.В массиве данных найти номер (имя) месяца каждого года, когда температура была минимальной. (промежуточная задача: получить линейный массив, элементами которого являются минимальные значения температуры за каждый год).
Solom1k вне форума   Ответить с цитированием

Старый 24.12.2015, 15:56
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Нужную информацию так же можно найти всего лишь прочитав аналогичные топики

Массив годов и работа с числом. Pascal, PascalABC
Задачи по Pascal Turbo
Практические задачи на языке Pascal

Старый 25.12.2015, 15:41   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Solom1k Посмотреть сообщение
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.12.2015, 13:12   #3 (permalink)
Solom1k
Новичок
 
Регистрация: 23.12.2015
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

2.В ЭВМ поступают фамилии и результаты N участников соревнований по плаванию и их фамилии. Выдать на печать результаты трех лучших участников и их фамилии. Считать, что результаты регистрирует фотофиниш и результаты спортсменов различны.
3.В массиве данных найти номер (имя) месяца каждого года, когда температура была минимальной. (промежуточная задача: получить линейный массив, элементами которого являются минимальные значения температуры за каждый год). Можете ещё помочь с ними, пожалуйста?
Solom1k вне форума   Ответить с цитированием
Старый 27.12.2015, 18:22   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Solom1k Посмотреть сообщение
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.
Vladimir_S вне форума   Ответить с цитированием
Старый 27.12.2015, 18:54   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Solom1k Посмотреть сообщение
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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:59.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.