Календарь на один месяц - Turbo Pascal (39238)

Узнай цену своей работы

Формулировка задачи:

Составить программу, которая печатает на экране «календарь» на один месяц, если известно, сколько дней в месяце и с какого дня недели начинается месяц. Выходные дни при выводе выделять красным цветом (не учитывая праздники).

Решение задачи: «Календарь на один месяц»

textual
Листинг программы
uses crt;
const n=7;{количество дней в неделе}
      dn:array[1..n] of string[2]=('пн','вт','ср','чт','пт','сб','вс');
 
var ms,d1,kd,x,y,k:byte;
    w:char;
begin
clrscr;
repeat
clrscr;
write('Сколько дней в месяце от 28 до 31 kd=');
repeat
readln(kd);
until kd in [28..31];
repeat
write('Какой день 1 числа от 1 до 7 d1=');
readln(d1);
until d1 in [1..7];
clrscr;
for x:=1 to n do
 begin
  if x<6 then textcolor(15)
  else textcolor(12);
  writeln(dn[x]);
 end;
k:=1;
y:=d1;
x:=3;
while k<=kd do
 begin
  gotoxY(x,y);
  if y<6 then textcolor(15)
  else textcolor(12);
  write(k:2);
  y:=y+1;
  k:=k+1;
  if y>7 then
   begin
    y:=1;
    x:=x+3;
   end;
 end;
readln;
textcolor(15);
gotoXY(1,10);
writeln('Продолжить? y/Y-да, другое-нет');
readln(w);
until not(w in ['y','Y']);
end.

Объяснение кода листинга программы

  1. Используется Turbo Pascal.
  2. Задачей программы является создание календаря на один месяц.
  3. Переменная n содержит количество дней в неделе (7).
  4. Переменная dn содержит массив из 7 строк, каждая из которых содержит название дня недели (пн, вт, ср, чт, пт, сб, вс).
  5. Переменная d1 содержит число от 1 до 7, указывающее на день месяца.
  6. Переменная kd содержит число от 28 до 31, указывающее на количество дней в месяце.
  7. Переменная x содержит число от 1 до 7, указывающее на день месяца.
  8. Переменная y содержит число от 1 до 7, указывающее на день месяца.
  9. Переменная k содержит число от 1 до kd, указывающее на текущий день месяца.
  10. Переменная y содержит число от 1 до 7, указывающее на день месяца.
  11. Переменная x содержит число от 1 до 7, указывающее на день месяца.
  12. Переменная k содержит число от 1 до kd, указывающее на текущий день месяца.
  13. В цикле while происходит вывод дней месяца на экран.
  14. Переменная k увеличивается на единицу после каждого вывода дня месяца.
  15. Если день месяца больше 7, то переменные y и x сбрасываются на 1 и 3 соответственно.
  16. После вывода всех дней месяца, программа предлагает пользователю продолжить или нет.
  17. Если пользователь выбирает да, то программа продолжает работу.
  18. Если пользователь выбирает нет, то программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.643 из 5
Похожие ответы