Помощь - Поиск - Пользователи - Календарь
Полная версия: Два вопроса от начинающего.
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Студент*21в.
Здравствуйте все!
Нашел одну незамысловатую програмку и что-то не пойму в ней пару вещей.
Вот она:
var
IsCorrectDate:boolean;
d,m,y:integer;
Procedure InputDate(var d,m,y:integer;var correctly:boolean);
begin
write('Введите дату в формате ДД ММ ГГГГ:');
readln(d,m,y);
correctly:=(d>=1)and(d<=31)and(m>=1)and(m<=12)and(y>=1582)and(y<=4903)
end;
procedure WriteDay(d,m,y:integer);
const
Days_of_week:array[0..6]of string[11]=(' воскресенье ',' понедедельник',
' вторник ',' среда ',' четверг ',' пятница ',' суббота ');
var
c,w:integer;
begin
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(Days_of_week[w])
end;
begin
repeat
InputDate(d,m,y, IsCorrectDate);
if IsCorrectDate then
WriteDay(d,m,y)
until not IsCorrectDate
end.

По описанию программа вычисляет день недели по заданой дате. Так и есть, но почему-то не правильно.
Слизал с бесплатного ресурса, встречались опечатки. Может кто-нибудь заметит где неточность.
И второй вопрос по теории. Не пойму как связаны переменные "IsCorrectDate" и "correcctly" , ну то есть по какому правилу компилятор определяет что "correctly" это "IsCorrectDate"?
Помогите пожалуйста разобраться.
volvo
Цитата
Не пойму как связаны переменные "IsCorrectDate" и "correcctly"
Correctly - это формальный параметр процедуры, а IsCorrectDate - фактический, который ты передаешь в нее. То есть, все, что процедура InputDate делает с Correctly, на самом деле происходит с IsCorrectDate.

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

P.S. Тегами пользуйся, программа без них нечитаема совершенно.
Студент*21в.
Цитата

Correctly - это формальный параметр процедуры, а IsCorrectDate - фактический, который ты передаешь в нее. То есть, все, что процедура InputDate делает с Correctly, на самом деле происходит с IsCorrectDate.

Спасибо. Понял. А как это в программе записывается, т.е. в какой строчке компилятору сообщается что "correctly" это "IsCorrectDate". Наверно здесь в 31 строке:
InputDate(d,m,y, IsCorrectDate);
?

Цитата
Может, тебе лучше обратиться к автору этой программы?

да там концов не найти с 256bit.ru слизал. Хорошо хоть что сайт до сих пор работает) Клевый сайт! good.gif
Цитата
P.S. Тегами пользуйся, программа без них нечитаема совершенно.

ok!
volvo
Цитата
да там концов не найти
Что значит "не найти"? Автор этой программы - В.В. Фаронов, она из его учебника "Основы Турбо Паскаля", страница 49 (полный текст - в приложении, на стр. 270)... Читай, и смотри, где что не так...

Цитата
Наверно здесь в 31 строке:
Да, именно здесь.
Студент*21в.
Спасибо! smile.gif
Цитата

Что значит "не найти"? Автор этой программы - В.В. Фаронов, она из его учебника "Основы Турбо Паскаля", страница 49 (полный текст - в приложении, на стр. 270)... Читай, и смотри, где что не так...

Удивительное познание литературы!
amega
Цитата
Что значит "не найти"? Автор этой программы - В.В. Фаронов, она из его учебника "Основы Турбо Паскаля", страница 49 (полный текст - в приложении, на стр. 270)... Читай, и смотри, где что не так...


такое чувство что либо у тебя эта книга лежит перед глазами и ты ее просмотрел полностю несколько раз либо ты В.В. Фаронов либо он твой знакомый smile.gif smile.gif smile.gif smile.gif
TarasBer
Цитата(amega @ 17.03.2009 21:22) *

такое чувство что либо у тебя эта книга лежит перед глазами и ты ее просмотрел полностю несколько раз либо ты В.В. Фаронов либо он твой знакомый smile.gif smile.gif smile.gif smile.gif


Что такого, многие с этой книги начинали. Очень, кстати, рекомендую. Там всё очень подробно написано, некоторые даже обвиняли его, что "воды много", даже если это так, это вовсе не минус.
amega
Цитата
что "воды много"

мм не пойму как это...

Цитата
Очень, кстати, рекомендую

мм нада будет переглянуть, у меня лежит книга его Дефи програмирование на язике высокого уровня нада будет сравнить cool.gif
Студент*21в.
А может и мне ссылочку кто-нить кинет на данный клевый ресурс? blink.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.