Как составить программу в паскале дни недели

5 / 5 / 5

Регистрация: 28.11.2011

Сообщений: 46

1

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

04.03.2012, 20:24. Показов 17118. Ответов 5


Студворк — интернет-сервис помощи студентам

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



0



любитель покушать

686 / 640 / 248

Регистрация: 25.09.2011

Сообщений: 1,313

04.03.2012, 21:25

2

прогеймер, давно как-то делал подомную задачу, вот формула по которой считать день
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 и т.д.



1



Апострофф

Заблокирован

04.03.2012, 22:14

3

ГУГЛ пишет-

Цитата
Сообщение от NoHeart

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Program Day_of_week;
 
uses CRT;
 
procedure GetDay (var d, m, y : integer);
var
correct : byte;
begin
correct := 1;
repeat
writeLn ('Введите дату.');
write ('День - ');
readLn (d);
write ('Месяц - ');
readLn (m);
write ('Год - ');
readLn (y);
 
{ Проверим правильность года. Если год не "правильный", то попросим ввести дату ещё раз }
if y <= 4903 then
if y >= 1000 then
correct := 0;
until correct = 0
end;
 
procedure CountDay (d, m, y : integer);
var
week : array [0 .. 6] of string[11];
c, w : integer;
begin
week [0] := 'воскресенье';
week [1] := 'понедельник';
week [2] := 'вторник';
week [3] := 'среда';
week [4] := 'четверг';
week [5] := 'пятница';
week [6] := 'суббота';
 
{ Месяц январь или февраль = > нужно преобразовать }
if m < 3 then
begin
m := m + 10;
y := y - 1
end
else
m := m - 2;
 
c := y div 100;
y := y mod 100;
w := abs (trunc (2.6 * m -0.2) + d + y div 4 + y + c div 4 - 2 * c) mod 7;
writeLn ('соответствует день недели - ', week [w])
end;
 
var
d, y, m : integer;
 
begin
ClrScr;
GetDay (d, m, y);
CountDay (d, m, y)
end.



0



любитель покушать

686 / 640 / 248

Регистрация: 25.09.2011

Сообщений: 1,313

04.03.2012, 22:17

4

Апострофф, ага, верь гуглу, 4 марта воскресенье а 5 суббота, несостыковочка



0



Mobile Software Engineer

Эксперт С++

5366 / 1585 / 956

Регистрация: 23.01.2011

Сообщений: 3,214

04.03.2012, 22:20

5

Цитата
Сообщение от Севак
Посмотреть сообщение

прогеймер, давно как-то делал подомную задачу, вот формула по которой считать день

Цитата
Сообщение от Севак
Посмотреть сообщение

Апострофф, ага, верь гуглу, 4 марта воскресенье а 5 суббота, несостыковочка

что Вам мешает написать Ваше давнее решение?



0



ra

Высший разум

(113206)


10 лет назад

const
    d: array [1..7] of string =
        (‘Понедельник’,’Вторник’,’Среда’,’Четверг’,’Пятница’,’Суббота’,’Воскресенье’);
var
    n: integer;
begin
    write(‘Номер дня недели? ‘);
    readln(n);
    if (1 <= n) and (n <= 7) then writeln(d[n]) else writeln(‘Ошибка ввода’);
end.

lEdwardElric

Гуру

(3096)


10 лет назад

Задай переменную для числа = дню недели.
Проверь её оператором условия на соответствие каждому дню и в случае выполнения выведи на экран, а несоответствия перейди к следующему.
Можешь щегольнуть и учесть невозможные варианты (типа отрицательных, дробных чисел или текста)

А можешь спецоператором Case of (кажется зовётся) по нажатию клавиши сразу вывести на экран.

Sergey

Профи

(636)


10 лет назад

program nedel;
uses crt;
var
n:integer;
begin
clrscr;
writeln(‘Ââåäèòå íîìåð’);
readln(n);
if n=1 then writeln(‘Понедельник’);
if n=2 then writeln(‘Вторник’);
if n=3 then writeln(‘Среда’);
if n=4 then writeln(‘Четверг’);
if n=5 then writeln(‘Пятница’);
if n=6 then writeln(‘Суббота’);
if n=7 then writeln(‘Воскресенье’);
readkey;
end.

Что означает понятие «дружественный интерфейс»



Постройте алгоритм и составьте программу, по которой будет реализован следующий сценарий: компьютер запрашивает номер дня недели, после ввода компьютер сообщает название этого дня. Например, если ввели 1, то выведется фраза «Это понедельник» и т. д.
   


Алгоритм:
алг ДеньНедели
вещ Д
нач
   вывод «Введите номер дня недели.»
   вывод «Номер недели:»
   ввод «Д»
   если Д=1 то вывод «Это понедельник»
   иначе если Д=2 то вывод «Это вторник»
   иначе если Д=3 то вывод «Это среда»
   иначе если Д=4 то вывод «Это четверг»
   иначе если Д=5 то вывод «Это пятница»
   иначе если Д=6 то вывод «Это суббота»
   иначе если Д=7 то вывод «Это воскресенье»
   кв   кв   кв   кв   кв   кв   кв
вывод «Хорошего дня!»
кон

Программа на ЯП Паскаль:
Program YourDay;
var D: integer;
begin
   writeln (‘Введите номер дня недели.’);
   write (‘Номер недели: ‘);
   read (D);
   if D=1 then writeln (‘Это понедельник.’)
   else if D=2 then writeln (‘Это вторник.’)
   else if D=3 then writeln (‘Это среда.’)
   else if D=4 then writeln (‘Это четверг.’)
   else if D=5 then writeln (‘Это пятница.’)
   else if D=6 then writeln (‘Это суббота.’)
   else if D=7 then writeln (‘Это воскресенье.’);
   writeln (‘Хорошего дня!’);
end.

В Паскале Составьте программу, определяющую название дня недели по его номеру : 1 – Понедельник, 2 – Вторник и т.

Д. При вводе числа вне диапазона [1.

7] программа должна выдать сообщение об ошибке.

На странице вопроса В Паскале Составьте программу, определяющую название дня недели по его номеру : 1 – Понедельник, 2 – Вторник и т? из категории Информатика вы найдете
ответ для уровня учащихся 10 – 11 классов. Если полученный ответ не
устраивает и нужно расшить круг поиска, используйте удобную поисковую
систему сайта. Можно также ознакомиться с похожими вопросами и ответами
других пользователей в этой же категории или создать новый вопрос. Возможно,
вам будет полезной информация, оставленная пользователями в комментариях, где
можно обсудить тему с помощью обратной связи.

Добавить комментарий