В Камаев - Технологии программирования

Здесь есть возможность читать онлайн «В Камаев - Технологии программирования» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2006, ISBN: 2006, Издательство: Издательство «Высшая школа», Жанр: Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Технологии программирования: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Технологии программирования»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В книге изложены технологии структурного программирования, объектно-ориентированного проектирования, визуального программирования, технология, основанная на абстракции данных Дейкстеры. Рассмотрено использование средств автоматизации проведения программных разработок.
Второе издание (1-е — 2005 г.) дополнено главами по структуре данных и основам инженерии создания программ.
Для студентов вузов, обучающихся по направлению «Информатика».

Технологии программирования — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Технологии программирования», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Итак, нам требуется многократно применяемое действие: определение, является ли исследуемый год високосным или нет. Оформляем это действие как функцию с возвращаемым результатом логического типа. Алгоритм данной функции возьмем из школьного учебника по астрономии.

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

Program Calendar;

{Программа печати календаря заданного года на матричном принтере.

Год должен быть начиная с YEARBASE года}

Uses

Crt, Dos;

Const

YEARBASE = 1917; {Начальный базовый год }

BLANKS1917 = 0; {Число пустых клеток в начале января базового года}

KVARTALNAME: array [1…4] of String [53] =

({Константы укорочены при макетировании! }

'Январь Февраль Март',

'Апрель Май Июнь',

' Июль Август Сентябрь',

'Октябрь Ноябрь Декабрь'

);

WEEKDAYNAME: Array [1…7] of String [2] = ('Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс');

Var

F: Text; {Файловая переменная}

Year: Word; {Год распечатываемого календаря}

Kvartal: Word; {Квартал года}

{Количество дней в каждом месяце}

MonthsDays: Array [1…12] of Word;

{Количество пустых клеток в начале января года Year}

Balnks: Word;

{Количество пустых клеток в начале каждого месяца }

BlanksDaus: Array [1…12] of Word;

idW: Word; {Номер дня недели }

iMonth: Word; {Номер месяца в году }

iKvartalMonth: Word; {Номер месяца в квартале }

iCol: Word; {Номер колонки в месяце квартала }

iCell: Word; {Номер клетки в месяце квартала}

i: Integer;

Function Vys (Year: Word): Boolean;

{Функция возвращает True в случае високосности года Year}

begin

Vys: = False;

if (((Year mod 4 = 0) and (Year mod 100<>0))

or (Year mod 1000 = 0))

then

Vys: = True;

end; {Vys}

begin { Основная программа }

ClrScr; {Очистка экрана }

Write ('Программа печати календаря');

WriteLn ('заданного года');

Write ('Укажите год распечатываемого');

WriteLn ('календаря после', YEARBASE: 5, 'года');

ReadLn (Year);

{Контроль введенного года }

if Year < YEARBASE then

begin

{Аварийное завершение программы }

Write ('He могу составить календарь');

WriteLn (Year: 5, 'года');

Write ('Для завершения программы');

WriteLn ('нажмите любую клавишу…');

repeat until KeyPressed;

Halt (1);

end;

WriteLn ('Ждите, идет печать…');

Assign (F, 'PRN');

Rewrite (F);

{Печать календаря на принтере }

{Часть пробелов в следующей строке была изъята!}

WriteLn (F, ' ', Year);

{Подготовка информации}

{Определение количества пустых клеток в январе года Year}

Blanks: = BLANKS1917;

i:= YEARBASE;

while (I Year) do begin

{Увеличение Blanks}

Inc (Blanks); {В любой год плюс 1 }

if Vys (i)

then

Inc (Blanks); {Прошлый год високосный, +2}

{Корректировка Blanks}

if (Blanks >= 7) then Blanks:= Blanks — 7;

Inc (i); {Текущий год }

end;

{Определение количества дней в каждом месяце }

for i:= 1 to 12 do

MonthsDays [i]:= 31;

MonthsDays [4]:= 30;

MonthsDays [6]:= 30;

MonthsDays [9]:= 30;

MonthsDays [11]:= 30;

MonthsDays [2]:= 28;

if Vys (Year) then MonthsDays [2]: = 29;

{Определение количества пустых клеток в начале каждого месяца }

BlanksDays [1]:= Blanks;

for i: = 2 to 12 do

if BlanksDays [i — 1] + MonthsDays [i — 1] < 35

then

BlanksDays [i]:= BlanksDays [i — 1] + MonthsDays [i — 1] — 28

else

BlanksDays [i]:= BlanksDays [i — 1] + MonthsDays [i — 1] — 35;

{Задание номеров кварталов }

{Печать тела календаря }

for Kvartal:= 1 to 4 do begin

{Печать наименования квартала }

WriteLn (F, KVARTALNAME [Kvartal]);

{Печать дат квартала }

{Задание номера дня недели }

for iDW:= 1 to 7 do

begin

{Печать наименования дней недель }

Write (f, WEEKDAYNAME [iDW];

{Печать трех месяцев дат квартала }

for iKvartalMonth: = 1 to 3 do begin

{Расчет номер месяца в квартале }

iMonth: = (Kvartal — 1) * 3 + iKvartalMonth;

{Печать шести колонок дат дня недели квартала}

for iCol:= 1 to 6 do begin

iCell:= (iCol — 1)*7 + iDW;

if ((iCell > BlanksDays [iMonth]) and (iCell <= BlanksDays [iMonth] + MonthsDays [iMonth]))

then

Write (F, iCell — BlanksDays [iMonth]: 3)

else

Write (F, ' ');

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Технологии программирования»

Представляем Вашему вниманию похожие книги на «Технологии программирования» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Технологии программирования»

Обсуждение, отзывы о книге «Технологии программирования» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x