aylinafedorovaoyhkfx
07.07.2022 00:59

Якого значення набуде змінна S після виконання данної програми?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Микаэла111
17.01.2023 20:37
// PascalABC.NET 3.0, сборка 1088
const
  nDay:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
type
  Date=record
    Day,Month,Year:integer
  end;
 
function DOW(Dat:Date):integer;
// день недели по дате. 0-Вс. 1-Пн, 7-Сб
var
  a,y,m:integer;
begin
  With Dat do begin
    a:=(14 - month) div 12;
    y:=Year-a;
    m:=month+12*a-2;
    DOW:=(7000+(day+y+y div 4-y div 100+y div 400+(31*m) div 12)) mod 7
    end
end;

procedure DMY2Date(d,m,y:integer; var data:Date);
// Преобразует к дате заданные день, месяц и год
begin
  data.Day:=d; data.Month:=m; data.Year:=y
end;

procedure LastDays(month,year:integer; var Wd,Fr:Date);
// даты последней среды (Wd) и пятницы (Fr) для месяца в году }
var
  LastDay:Date;
  n:integer;
begin
  n:=nDay[month];
  if (month=2) and (year mod 4 = 0) then Inc(n);
  DMY2Date(n,month,year,LastDay);
  n:=DOW(LastDay); // номер последнего дня недели
  Wd.Month:=month; Wd.Year:=year;
  if n<3 then Wd.Day:=LastDay.Day-(n+4)
  else
    if n=3 then Wd.Day:=LastDay.Day
    else Wd.Day:=LastDay.Day+3-n;
  Fr.Month:=month; Fr.Year:=year;
  if n<5 then Fr.Day:=LastDay.Day-(n+2)
  else
    if n=3 then Fr.Day:=LastDay.Day
    else Fr.Day:=LastDay.Day-1
end;

var
  Wd,Fr:Date;
  ff,mf:Text;
  m:integer;
begin
  Assign(ff,'father.txt'); Rewrite(ff);
  Assign(mf,'mother.txt'); Rewrite(mf);
  // Сентябрь-декабрь 2015 года
  for m:=9 to 12 do begin
    LastDays(m,2015,Wd,Fr);
    if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2015 - 1 класс')
    else Writeln(ff,Wd.Day,'.',m,'.2015 - 1 класс');
    if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2015 - 5 класс')
    else Writeln(ff,Fr.Day,'.',m,'.2015 - 5 класс')
  end;
  // Январь - май 2016 года
  for m:=1 to 5 do begin
    LastDays(m,2016,Wd,Fr);
    if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2016 - 1 класс')
    else Writeln(ff,Wd.Day,'.',m,'.2016 - 1 класс');
    if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2016 - 5 класс')
    else Writeln(ff,Fr.Day,'.',m,'.2016 - 5 класс')
  end;
  Close(ff); Close(mf)
end.

Содержимое выходных файлов:
father.txt
30.9.2015 - 1 класс
28.10.2015 - 1 класс
30.10.2015 - 5 класс
30.12.2015 - 1 класс
24.2.2016 - 1 класс
26.2.2016 - 5 класс
30.3.2016 - 1 класс

mother.txt
25.9.2015 - 5 класс
25.11.2015 - 1 класс
27.11.2015 - 5 класс
25.12.2015 - 5 класс
27.1.2016 - 1 класс
29.1.2016 - 5 класс
25.3.2016 - 5 класс
27.4.2016 - 1 класс
29.4.2016 - 5 класс
25.5.2016 - 1 класс
27.5.2016 - 5 класс
0,0(0 оценок)
Ответ:
Mandarini123443
04.02.2020 11:35
1)

const
  n=40;
var
  a:array [1..n] of integer;
  i,k:integer;
begin
  Randomize;
  k:=0;
  Writeln('Исходный массив');
  for i:=1 to n do begin a[i]:=random(63)+20; Write(a[i],' ') end;
  Writeln; Writeln('Четные элементы, кратные 3');
  for i:=1 to n do
    if a[i] mod 6=0 then begin Inc(k); Write(a[i],' ') end;
  Writeln; Writeln('Отобрано элементов: ',k)
end.

Пример
Исходный массив
43 49 27 45 57 20 54 22 74 79 57 64 30 41 67 58 36 68 79 46 28 74 61 21 80 57 50 24 80 36 27 57 38 38 41 71 50 69 39 48
Четные элементы, кратные 3
54 30 36 24 36 48
Отобрано элементов: 6

2)

const
  n=20;
var
  a:array [1..n] of integer;
  i,imin:integer;
begin
  Randomize;
  Writeln('Исходный массив');
  imin:=1;
  for i:=1 to n do begin
    a[i]:=random(351)+20;
    Write(a[i],' ');
    if a[i]<a[imin] then imin:=i
    end;
  Writeln;
  Writeln('Минимальный элемент a[',imin,']=',a[imin])
end.

Пример
Исходный массив
292 54 248 310 181 210 263 284 255 156 177 340 173 39 108 144 270 40 318 155
Минимальный элемент a[14]=39
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота