// 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 класс
Приведенная программа принимает целые числа и выводит два значения: a - количество цифр в числе и b - произведение цифр, составляющих число. При вводе нуля программа завершает работу. Ввод отрицательных чисел игнорируется. 1) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИМЕНЬШЕЕ значение переменной x, для которого это возможно, равно С) 35 Здесь количество цифр равно двум, а их произведение равно 15. Число 15 представимо в виде произведения двух однозначных чисел только в виде 3х5 или 5х3. Следовательно, наименьшим числом могло быть только 35. 2) При исполнении этой программы на экран было сначала выведено число 2, затем число 15. НАИБОЛЬШЕЕ значение переменной x, для которого это возможно, равно B) 53 Решение аналогично предыдущему, но выбирается наибольшее число, т.е. 53. 3) НАИМЕНЬШЕЕ значение переменной b, которое может быть выведено на экран этой программой, равно Е) 0 Минимальное значение произведения n однозначных чисел будет равно нулю, если среди этих чисел встретить хотя бы один ноль. 4) При исполнении этой программы на экран было сначала выведено число 2. НАИБОЛЬШЕЕ значение переменной b, которое может быть выведено на экран, равно А) 81 Максимальное произведение двух однозначных чисел равно 9х9=81. 5) НАИМЕНЬШЕЕ значение переменной a, которое может быть выведено на экран этой программой, равно D) 1 Понятно, что чисел с количеством знаков, меньшим единицы, быть не может.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку