Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
 Аватар для MilcA
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 20

Задаётся с клавиатуры день и месяц. Вывести день недели

28.06.2011, 20:15. Показов 2526. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задаётся с клавиатуры день и месяц 2011 года. Необходимо вывести на экран, какой это день недели.
Помогите пожалуйста решить!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.06.2011, 20:15
Ответы с готовыми решениями:

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

Ввести с клавиатуры число, месяц, год, день недели. Вывести на экран дату и день недели для следующего дня.
Ввести с клавиатуры число, месяц, год, день недели. Вывести на экран дату и день недели для следующего дня.

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

14
 Аватар для Daemon025
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
28.06.2011, 20:34
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program Noname28;
    const years:array[1..4] of byte
        = (0,2,3,4);
    const months:array[1..12] of byte
        = (0,3,3,6,1,4,6,2,5,0,3,5);
    const dayOfWeek:array[0..6] of string[3]
        = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
        
    var day,month,tmp,a,b,c,e:integer;
begin
  Repeat
    Write('Day xx   >');
    ReadLn(day);
  Until day in [1..31];
  
  Repeat
    Write('Month xx >');
    ReadLn(month);
  Until month in [1..12];
  
  tmp:=2011-1996;
  a:=tmp and 3;
  b:=(tmp shl 2) + (tmp and $0fc);
  c:=months[month];
  
  if ((a=0) and (month>2)) then inc(c);
  a:=years[a];
  e:=(a+b+c+day) mod 7;
  WriteLn('It must be ',dayOfWeek[e]);
  
  Readln;
end.
1
 Аватар для MilcA
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 20
28.06.2011, 20:38  [ТС]
Спасибо большое!
0
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 20:48
Daemon025, скажите а это в Турбо Паскале сделано????
0
 Аватар для Daemon025
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
28.06.2011, 20:49
Галя55, Free Pascal. Есть вариант на C++.
0
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 21:02
а можете сделать эту задачу в ABC Pascal ????
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.06.2011, 21:13
Галя55, Так она и в АВС будет работать.

Добавлено через 2 минуты
Если хотите в отдельном окне, допишите
Pascal
1
2
program Noname28;
uses crt;
и уберите в конце
Pascal
1
readln
он не нужен.
0
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 21:16
это я понимаю))) просто тут очень сложно! можно сделать её попроще???

Добавлено через 1 минуту
чтобы она соответствовала ABS Паскалю.
0
 Аватар для Daemon025
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
28.06.2011, 21:24
Цитата Сообщение от Галя55 Посмотреть сообщение
тобы она соответствовала ABS Паскалю.
каким стандартам ABC этот код не соответствует?
0
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 21:31
ABC Pascal

Добавлено через 6 минут
проще её сделать можно???

Добавлено через 33 секунды
или только этот вариант решения???
0
 Аватар для Daemon025
382 / 330 / 159
Регистрация: 06.12.2010
Сообщений: 894
28.06.2011, 21:32
можно, с casom
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.06.2011, 21:33
Можно сделать понятнее, но длиннее..
0
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 21:35
если не трудно, то сделайте пожалуйста!!!
заранее огромное спасибо)
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.06.2011, 21:50
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
uses crt;
const dm:array[1..12] of byte=(0,31,28,31,30,31,30,31,31,30,31,30);
      //кол. дней в предшествующих месяцах
      nd:array[0..6] of string[15]=('пятница','суббота','воскресенье','понедельник','вторник','среда',
                                    'четверг'); //дни недели, 1 января-суббота
var d,m,k,i,n:byte;
begin
repeat
write('Введите номер месяца m=');
read(m);
if not m in [1..12] then writeln('Ошибка ввода, повторите');
until m in [1..12];
repeat
k:=0;
write('Введите номер дня в месяце d=');
read(d);
if((m in [1,3,5,7,8,10,12])and not(d in [1..31]))
or((m in [4,6,9,11])and not(d in [1..30]))
or((m=2)and not(d in [1..28])) then k:=1;
if k=1 then writeln('Ошибка ввода, повторите');
until k=0;
n:=d;//сколько дней прошло в данном месяце
for i:=1 to m do
n:=n+dm[i]; //сколько прошло за предыдущие месяцы
write(nd[n mod 7]);
end
.
1
 Аватар для Галя55
0 / 0 / 0
Регистрация: 28.06.2011
Сообщений: 7
28.06.2011, 22:29
большое спасибо!!!))))

Добавлено через 32 минуты
Puporev, программа выдает какую-то ошибку((
Ошибка: 285 – выход за границы диапазона типа byte (строка 25)

Добавлено через 2 минуты
простите, все нормально!!!)))
еще раз сейчас перезапустила и все работает))))
еще раз большое спасибо!!!)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.06.2011, 22:29
Помогаю со студенческими работами здесь

Текущее число, день недели, месяц и год (неправильно отображается день недели)
Всем доброго времени суток. Все перечисленное из название темы показывается как есть, кроме Дня Недели. procedure...

Дана дата в формате день:месяц:год. Определить день недели
Задание: Дана дата в формате день:месяц:год. Определить день недели.

Дата вводится в трех полях: день, месяц, год. Определить день недели
Помогите решить задачку,плииз

Как выделить из даты день, месяц, день недели
В Delphi пишу програмку для работы с Access. Там хранится табличка с полями HB_rukov (HB_rukov.ID, HB_rukov.FIO, HB_rukov.BirthD) ...

Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели
Создайте класс «Дата» со свойствами год, високосный год, месяц, день месяца и день недели. Создайте для него метод котрый бы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru