Извини, что слишком большой код, но зато показывает любую дату. Со всеми нюансами. Даже если в июле и августе по 31 дню, а в феврале 28)
var a,b,c:integer;
d:string;
begin
write ('Введите сегодняшнее число '); readln (a);
write ('Введите номер месяца '); readln(d);
if (d='5') or (d='05') or (d='7') or (d='07') or (d='10') or (d='12') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',30,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='4') or (d='04') or (d='6') or (d='06') or (d='9') or (d='09') or (d='11') then
begin
if a<30 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='2') or (d='2') then
begin
if a<28 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='3') or (d='03') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',28,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='1') or (d='01') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='8') or (d='08') then
begin
if a<31 then
begin
b:=a-1;
c:=a+1;
if a<2 then
begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Создать файл из 150 целых чисел, лежащих на отрезке 12, 345, используя генератор случайных чисел. -вывести эти числа на экран; -вывести на экран все простые и их количество; -найти среднее арифметическое двузначных чисел. (информатика (турбо паскаль)) заранее
Program pr;
uses crt;
Var N,M:array[1..15] of integer;
i,kNp,kMp,kNo,kMo:integer;
Begin
kNp:=0;
kMp:=0;
kNo:=0;
kMo:=0;
Writeln('mas(N)');
for i:=1 to 15 do Begin N[i]:=random(36)-15; Write(N[i],';') end;
Writeln;
Writeln('mas(M)');
for i:=1 to 15 do Begin M[i]:=random(36)-15; Write(M[i],';') end;
for i:=1 to 15 do Begin
if N[i]>=0 then kNp:=kNp+1
else kNo:=kNo+1;
if M[i]>=0 then kMp:=kMp+1
else kMo:=kMo+1;
end;
Writeln;
Writeln('Кол-во положительных массива N=',kNp);
Writeln('Кол-во отрицательных массива N=',kNo);
Writeln('Кол-во положительных массива M=',kMp);
Writeln('Кол-во отрицательных массива M=',kMo);
readln;
end.