Нужно сделать все это в Pascal. Помогите пожалуйста, кто может Пусть дан массив,...

0 голосов
44 просмотров

Нужно сделать все это в Pascal. Помогите пожалуйста, кто может

Пусть дан массив, содержащий даты. Каждая дата — это число, месяц, год (см. описание типа data в предыдущем задании). Найти:
a) год с наименьшим номером;
б) все весенние даты;
в) самую позднюю дату.


Информатика (30 баллов) | 44 просмотров
0

И где это "предыдущее задание"?

0

Используя следующий фрагмент программы и считая, что все даты даются по григорианскому календарю (в «новом стиле»), опишите перечисленные ниже функции:Type data = record number : 1..31; month : 1..12; year : 1901..1997 end; week = (пн, вт, ср, чт, пт, сб, вс);

0

А week зачем? Тут вроде день недели не требуется...

0

у меня было так написано в документе

Дан 1 ответ
0 голосов
Правильный ответ

Const
  nn=50;

type
  data = record
    number : 1..31;
    month : 1..12;
    year : 1901..1997
  end;

var
  d:array[1..nn] of data;
  i,n,k:integer;
  s,s1,s2,s3:string;
begin
  Write('Количество дат (1..50)-> '); Read(n);
  Writeln('Введите через пробел день, месяц, год: ');
  for i:=1 to n do Read(d[i].number,d[i].month,d[i].year);
  { a }
  Write('Самый ранний из годов: ');
  k:=d[1].year;
  for i:=2 to n do
    if d[i].year  Writeln(k);
  { б }
  Writeln('Все весенние даты');
  for i:=1 to n do
    if d[i].month in [3..5] then
      Write(d[i].number,'.',d[i].month,'.',d[i].year,' ');
  Writeln;
  { в }
  Write('Cамая поздняя дата: ');
  Str(d[1].year,s1); Str(d[1].month,s2); Str(d[1].number,s3);
  if Length(s2)=1 then s2:='0'+s2;
  if Length(s3)=1 then s3:='0'+s3;
  s:=s1+s2+s3;
  for i:=2 to n do
  begin
    Str(d[i].year,s1); Str(d[i].month,s2); Str(d[i].number,s3);
    if Length(s2)=1 then s2:='0'+s2;
    if Length(s3)=1 then s3:='0'+s3;
    if s  end;
  Writeln(Copy(s,7,2)+'.'+Copy(s,5,2)+'.'+Copy(s,1,4))
end.

Тестовое решение:
Количество дат (1..50)-> 6
Введите через пробел день, месяц, год:
18 4 1950
16 5 1968
5 8 1970
3 9 1968
11 6 1964
16 12 1967
Самый ранний из годов: 1950
Все весенние даты
18.4.1950 16.5.1968
Cамая поздняя дата: 05.08.1970

(142k баллов)