Меню

Вывести день недели паскаль

Вывести название дня недели по его номеру

Формулировка. Вывести название дня недели по его номеру.

Решение. Задача простейшим образом решается с помощью оператора выбора case. Напомним, что этот оператор позволяет организовать ветвления в зависимости от значений некоторой переменной, для каждого из которых можно предусмотреть выполнение различных действий. Причем если значению переменной не соответствует ни один вариант, выполняется else-блок (если он присутствует). Кстати, не стоит забывать, что после перечисления всех вариантов оператора case необходимо написать ключевое слово end (выходит, ключевое слово case является еще и открывающей операторной скобкой).

Для того чтобы воспользоваться оператором case, нам необходимо произвести ввод номера дня недели в некоторую переменную i типа byte и по этому номеру вывести название текущего дня недели. Кстати, благодаря else-блоку в этой программке мы впервые предусмотрим сообщение об ошибке, связанной с некорректно введенным номером, которому не соответствует ни один из дней недели.

Код:

  1. program DaysOfTheWeek;
  2. var
  3. i: byte;
  4. begin
  5. readln(i);
  6. case i of
  7. 1: writeln(‘Monday’);
  8. 2: writeln(‘Tuesday’);
  9. 3: writeln(‘Wednesday’);
  10. 4: writeln(‘Thursday’);
  11. 5: writeln(‘Friday’);
  12. 6: writeln(‘Saturday’);
  13. 7: writeln(‘Sunday’)
  14. else writeln(‘This day of the week does not exist!’)
  15. end
  16. end.

Кстати, в каждом из вариантов ветвлений может быть помещен составной оператор, но при описании вариантов мы не стали использовать операторные скобки, так как на этот раз они наоборот испортили бы все оформление кода, которое сейчас является достаточно гармоничным.

Источник

Как получить текущий день недели?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Известна дата и день недели некоторого события. Определить, на какой день недели приходится начало года
Известна дата и день недели некоторого события. Определить, на какой день недели приходится начало.

Известна дата и день недели некоторого события. Определить на какой день недели приходится начало года
Известна дата и день недели некоторого события. Определить на какой день недели приходится начало.

Определить день недели, на который приходится день с датой d (день), m (месяц)
Считая, что год не високосный и его 1 января приходится на день недели wd1, определиь wd -день.

Определить, на какой день недели приходится k-й день невисокосного года
Пусть k – целое от 1 до 365. Присвоить целой переменной n значение 1,2,…6 или 7 в зависимости от.

Определить день недели, на который приходится день с датой “d”, “m”.
Считая, что год не високосный и его 1 января приходится на день недели “wd1”, определить день.

Задаётся с клавиатуры день и месяц. Вывести день недели
Задаётся с клавиатуры день и месяц 2011 года. Необходимо вывести на экран, какой это день недели.

Читайте также:  Можно ли чистить белую подошву муравьиным спиртом

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

По известному m — дню недели первого числа текущего месяца — определите день недели числа n.
Обозначим дни недели числами от 1 (понедельник) до 7 (воскресенье) соответственно. По известному m.

Источник

Определение дня недели по дате

Здравстуйте. Частью моего задания является написать «функцию MH(d) для определения дня недели,
на который приходится дата d (учесть, что 1 января 1-го года нашей эры было понедельником)».
Кроме самой даты, у меня имеется число kd равное порядковому номеру дня, указаного в дате
(тоесть сегодня, 22.10.2011, 734447-й по счёту день от нашей эры(должно быть по новому стилю)).
Я попробовал сделать так:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Составить программу нахождения по дате рождения дня недели, знака зодиака
«День недели». Составить программу нахождения по дате рождения дня недели, знака зодиака.

Определение дня недели по формуле Зеллера
программа, которая, используя формулу Зеллера, определяет день недели для произвольной даты.

Определение по дате день недели
Напишите программу на языке Pascal, которая по дате определяет день недели, на который эта дата.

Введите номер дня недели. Выведите на экран название дня
Введите номер дня недели. Выведите на экран название дня.

Насколько я понимаю эта програма возвращает номер дня, считая от начала текущего года. Эту програму я уже сделал, мне осталось только по дате( уже — по количеству дней до этой даты включая её от начала нашей эры(01.01.01)) определить день недели, на который попадает эта дата, тоесть понедельник, вторник,среда.. и т.д.

Добавлено через 12 минут

Большое вам спасибо А то я с этим 1582 годом крутил-крутил, ничего не выходило.
Значит ошибка у меня в определении количества дней,
прошёдших с нашей эры

Если не сложно, взгляните на код функций, может вы знаете как надо
учитывать разницу в 10(?) дней?

Инфо:
Григориа́нский календа́рь — календарь, принятый международным сообществом. В католических странах был введён папой Григорием XIII 4 октября 1582 года взамен старого юлианского: следующим днём после четверга 4 октября стала пятница 15 октября.

Во-первых, новый календарь сразу на момент принятия сдвигал на 10 дней текущую дату из-за накопившихся ошибок.
Во-вторых, в нём стало действовать новое, более точное правило о високосном годе. Год високосен, то есть содержит 366 дней, если:
номер года кратен 400 (1600, 2000, 2400);
остальные годы — номер года кратен 4 и не кратен 100 (… 1892, 1896, 1904, 1908…).

Читайте также:  Чем отмыть ручку с резиновых сапог

Надо правильно учесть эту разницу, а я не уверен как

Источник

По введенной дате определить день недели

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Определить по дате день недели
я не знаю вот такую вот задучу поставил препод. первого января 1994 года был понидельник.

По дате и году определить день недели
очень срочно нужно сделать программу на паскале abc где вводишь число.дату и год(3.07.1994) и тебе.

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

Определить день недели, на который приходится день с датой “d”, “m”.
Считая, что год не високосный и его 1 января приходится на день недели “wd1”, определить день.

прогеймер, давно как-то делал подомную задачу, вот формула по которой считать день
day:=2.6*m-0.2+d+y div 4+y+c div 4-2*c
m — месяц, d — день, z — год
c — z div 100
y — z mod 100

ответом является остаток от деления day на 7

Добавлено через 18 минут
чуть не забыл, отсчет месяцев начинается с марта, январь 11 февраль 12 март 1 и т.д.

Источник

самоучитель Паскаль он-лайн

Он-лайн самоучитель Паскаль

Вычисление дня недели

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

день недели = остаток от деления X на 7,

где X = abs(trunc(2.6*m-0.2)+d+y/4+y+c/4-2*c);

m — номер месяца (см. ниже);

d — число (день месяца);

с — номер столетия (см. ниже);

у — номер года в столетии.

При использовании этой формулы следует учесть два обстоятельства. Во-первых, формула верна для григорианского календаря нового стиля (от 1582 до 4903 года). Во-вторых, год и месяц следует предварительно преобразовать так, как если бы начало года приходилось на 1 марта. Иными словами, март в этой формуле имеет порядковый номер 1, апрель 2, . январь 11 и февраль 12, причем январь и февраль следует отнести к предыдущему году. Например, для 1 февраля 1991 года номер месяца должен быть равен 12, а год 1990, в то время как для 31 декабря 1991 года номер месяца — 10, а год — 1991. Результат вычисления дается в виде целого числа в диапазоне от 0 до 6, причем 0 соответствует воскресенью.

Читайте также:  Как вывести с огорода траву мокрецов

Приступим к разработке программы. Прежде всего, предположим, что программа уже создана и Вы осуществляете ее прогон. Какая форма взаимодействия с программой кажется Вам наиболее подходящей? Вряд ли Вас удовлетворит однократное ее исполнение (ввод некоторой даты и вывод на экран соответствующего дня недели). Скорее всего Вы захотите повторить работу программы для нескольких дат, например, поинтересоваться, в какой день недели Вы родились, затем, на какой день недели приходится в этом году Ваш день рождения, дни рождения близких, друзей; может быть, определить, в какой день родились известные Вам исторические деятели, и т.д. Таким образом, в программе следует предусмотреть многократное выполнение действий — , причем число циклов вычисления заранее не известно. Сразу же возникает новый вопрос: как сообщить программе, что Вы завершаете работу с ней? Для этого можно условиться, что ввод некоторой заранее обусловленной или недопустимой даты должен интерпретироваться программой, как указание на прекращение работы. С учетом сказанного, напишем такой начальный вариант программы:

if IsCorrectDate then

until not IsCorrectDate

Если Вы попытаетесь запустить эту программу на счет, то ее поведение будет зависеть от начального значения переменной IsCorrectDate. Это значение случайно, так как компилятор Турбо Паскаля не проводит начальной инициализации переменных. Скорее всего, тот байт оперативной памяти, в котором она разместится, окажется нулевым, что в Турбо Паскале расценивается как логическое значение FALSE, поэтому с большой вероятностью ничего не произойдет, и программа сразу же завершит свою работу (условие not IsCorrectDate будет выполнено). Если начальное значение IsCorrectDate окажется не нулевым, то цикл REPEAT. . .UNTIL будет выполняться до тех пор, пока Вы не выключите компьютер или не нажмете клавиши Ctrl-Break.

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

Procedure InputDate(var d,m,y: Integer; var correctly:

Процедура WriteDay, напротив, только получает из программы нужные ей данные и ничего не возвращает в программу, поэтому в ее заголовке параметры описываются без слова VAR:

Procedure WriteDay(d,m,у : Integer);

С учетом этого программу можно уточнить следующим образом:

Источник