Вопрос задан 09.01.2020 в 08:49. Предмет Информатика. Спрашивает Гордиенко Илья.

Программирование на паскале. честно, не понимаю как это делать, вообще паскаль не знаю, но домашку

надо сдать помогите!!!(( Саше очень понравились задачи олимпиады по математике, поэтому он решил ходить на занятия кружка. Придя на первое занятие кружка, он узнал,что занятия будут проходить еженедельно в один и тот же день недели. Помогите Саше составить календарь занятий до конца года – определите даты всех занятий, начиная с первого занятия и до конца года. Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел – 9, 10, 11, 12. Номер дня месяца – число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами 10 и 12). Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Карацупа Арсений.
Var
day,a,mon,i,i1,max:integer;{объявляем переменные}
begin
  readln(mon,day);{вводим месяц и день}
  a:=day;
  for i:=mon to 12 do begin
    writeln;
    write(i,': ');
    case mon of{сколько дней в месяце}
      9:max:=30;
      10:max:=31;
      11:max:=30;
      12:max:=31;
    end;
   
    for i1:=a to max do begin
      if a>max then break;
      write(a,' ');
      a:=a+7;
    end;
    a:=a-max;
  end;
end.
помоему я уже делал эту задачу


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программирование на Паскале

Если вы не знакомы с языком программирования Паскаль и нуждаетесь в помощи для выполнения домашнего задания, я могу поделиться с вами некоторыми основными принципами программирования на Паскале.

Паскаль - это язык программирования, который был разработан в 1970-х годах и широко использовался в учебных заведениях для обучения основам программирования. Он имеет простой синтаксис и поддерживает структурное программирование.

Для решения задачи, которую вы описали, вам потребуется использовать циклы и условные операторы. Вам также понадобится работа с датами и календарем.

Решение задачи

Для составления календаря занятий до конца года, вам необходимо знать день недели, с которого начинаются занятия, а также номер месяца и номер дня месяца, когда проходит первое занятие.

Вы можете использовать циклы для перебора всех дней с начальной даты до конца года. В каждой итерации цикла вы можете проверить, является ли текущий день недели тем же самым, что и день недели первого занятия. Если это так, вы можете вывести текущую дату.

Вот пример кода на Паскале, который решает данную задачу:

```pascal program Calendar;

var month, day: Integer; startDate: TDateTime; currentDate: TDateTime;

begin // Ввод данных WriteLn('Введите номер месяца (9, 10, 11 или 12): '); ReadLn(month); WriteLn('Введите номер дня месяца: '); ReadLn(day);

// Установка начальной даты startDate := EncodeDate(2023, month, day); currentDate := startDate;

// Перебор дней до конца года while YearOf(currentDate) = 2023 do begin // Проверка дня недели if DayOfWeek(currentDate) = DayOfWeek(startDate) then begin // Вывод даты WriteLn(FormatDateTime('mm dd', currentDate)); end;

// Переход к следующему дню currentDate := IncDay(currentDate); end; end. ```

В этом примере мы используем функции `EncodeDate`, `DayOfWeek`, `FormatDateTime` и `IncDay` для работы с датами и днями недели.

Обратите внимание

- В этом примере мы предполагаем, что год равен 2023. Если вам нужно решить задачу для другого года, вам нужно будет изменить значение года в коде. - Ввод данных осуществляется через командную строку. Вы можете изменить эту часть кода, чтобы вводить данные из файла или с помощью другого способа, который вам удобен.

Надеюсь, эта информация поможет вам выполнить задание по программированию на Паскале. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос