Как Петя Бейсиков Тоню Соображалкину программировать учил

Бруно Мартузан
100
10
(1 голос)
0 0

Аннотация: В книге в занимательной форме излагаются основные идеи программирования. В основу излагаемого положен язык Бейсик, широко применяемый для программирования на мини-и микро-ЭВМ. Сведений, которые приводятся в книге, достаточно для освоения практического программирования. На примерах небольших программ обработки данных, программ обучения и других дается представление об основных областях применения ЭВМ.

Книга добавлена:
20-07-2023, 07:33
0
151
141
Как Петя Бейсиков Тоню Соображалкину программировать учил
Содержание

Читать книгу "Как Петя Бейсиков Тоню Соображалкину программировать учил"



ДЕНЬ РОЖДЕНИЯ ДРУГА ЗАБЫТЬ НЕЛЬЗЯ!

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

10 REM ПРОГРАММА ОПРЕДЕЛЯЕТ БЛИЖАЙШИЙ ДЕНЬ РОЖДЕНИЯ

20 PRINT "СЕГОДНЯШНЕЕ ЧИСЛО ДД-ММ-ГГ" INPUT D1¤

30 N=5 REM СКОЛЬКО ДНЕЙ ДО ДНЯ РОЖДЕНИЯ

40 PRINT "НОМЕР ДИСКА С ФАЙЛОМ СПИСКА"

50 INPUT D¤

60 PRINT "ВВЕДИТЕ КЛАСС, НАПРИМЕР: 6А"

65 PRINT "БУКВА LATINSKAJA!!!" INPUT К¤

70 OPEN "DK"+D¤+":"+"FUCH"+K¤ FOR INPUT AS FILE 1

80 S¤=D¤ GOSUB 2000 REM ОПРЕДЕЛЯЕТ КОЛ. ДНЕЙ

90 D1=D REM И СОХРАНЯЕТ

100 Z=0 REM ПОКАЗАТЕЛЬ, НАЙДЕН ЛИ ДЕНЬ РОЖДЕНИЯ

110 G0SUB 1000 REM СЧИТЫВАЕТ ЕДИНИЦУ ЗАПИСИ

120 IF U¤<>"#" THEN 160

130 IF Z<>0 THEN 150

140 PRINT " В БЛИЖАЙШЕЕ ВРЕМЯ ДНЕЙ РОЖДЕНИЯ НЕТ"

15 °CLOSE STOP

160 S¤=SEG¤(D¤, 1,5)+SEG¤(D1¤x, 6, 8)

170 GOSUB 2000

175 IF D-D1<0 THEN 110

180 IF D-D1>=N THEN 110

190 Z=1 REM СИГНАЛ, ЧТО ДЕНЬ РОЖДЕНИЯ НАЙДЕН

200 PRINT l¤;" РОДИЛСЯ";SEG¤(D¤,1,5)

210 GO ТО 110

220 STOP

1000 REM СЧИТЫВАЕТ СВЕДЕНИЯ О ШКОЛЬНИКЕ

1010 INPUT #1,U¤

1020 IF U¤<>“#“ THEN 1040

1030 RETURN

1040 INPUT #1,I¤,O¤,D¤

1050 RETURN

2000 REM ОПРЕДЕЛЯЕТ КОЛИЧЕСТВО ДНЕЙ С НАЧАЛА ВЕКА

2010 DATA 0,31,59,90,120,151,181,212,243,273,304,334

2020 DIM А(12)

2030 RESTORE

2040 FOR I=1 ТО 12 READ A(I) NEXT I

2050 DEF FND(I)=VAL(SEG¤(S¤,3*I-2,3*I-1))

2060 G=FND(3)

2070 D=G*365+INT(G/4)+A(FND(2))+FND(1)

2080 IF INT(G/4)<>G/4 THEN 2110

2090 IF FND(2)>2 THEN 2110

2100 D=D-1

2110 RETURN

Все операторы этой программы тебе хорошо известны, и ты можешь ее самостоятельно изучить. Единственно, может быть, не поймешь подпрограмму в строках 2000–2110, где рассчитывается, сколько дней прошло с 1 января 1900 года.

— С 1 января 1900 года! Кому нужна такая старина?

— Наш теперешний календарь довольно путаный. Месяцы длиной то 30, то 31 день, плюс еще этот февраль и високосные годы.

— Но тут же ничего нельзя сделать — сам когда-то так выразился.

— Что-нибудь уж можно было бы, но ведь не сделают. Поэтому я должен иметь подпрограмму, рассчитывающую, сколько дней прошло с 1 января 1900 года до сегодняшнего дня и сколько до дня рождения одноклассника, и нахожу разность. Получится, сколько дней осталось. Почему именно с 1 января 1900 года? Думаю, что эта дата совсем не обязательна, но так уж было в той программе, которую мне дали для образца. Понять, как же именно рассчитывается количество прошедших дней, можно, если знать, что каждый четвертый год високосный и числа, которые считываются оператором READ в массив А, выражают количество дней, прошедших с начала года до первого числа соответствующего месяца. Вот и все об этой подпрограмме. А вообще говоря, мы можем эту программу, которая считывает сведения с файла, объединить с той, которая печатает поздравление, и автоматически его напечатать, если день рождения уже близок. Правда, в этом случае единица записи файла должна быть другой и содержать сведения о поздравляемом, нужные для печати — «взрослый» или «ученик», «уважаемый» или «дорогой» и т. д.

— Давай пофантазируем, что машина выпечатывает поздравления не здесь, в машинном зале, а подключается к персональному компьютеру в квартире поздравляемого и печатает там. И даже не печатает, а записывает на диск, что Петя Бейсиков или кто-то другой поздравил. А у того счастливчика имеется программа, которая проверяет, кто поздравил, и посылает ответные поздравления компьютеру, скажем, Пети Бейсикова. Это будет прекрасная жизнь! Никого не надо будет самому поздравлять. Всю дружбу возьмут на себя компьютеры.

— Не хочешь, не делай такие программы поздравлений. Кто тебя заставляет? А представь себе, что на диске хранятся не фамилии, а список работ, которые нужно сделать. И сроки выполнения тоже хранятся там. Тогда машина может печатать не поздравление, а напоминание, что должно быть сделано через столько-то дней. И получится программа контроля выполнения работ. Таких программ уже очень много. Например, я в газете читал о такой программе как о чуде современной техники, и притом чрезвычайно полезном чуде.

— Если говорить о работах на заводах или где-нибудь еще, то количество оставшихся до завершения работы дней мало что говорит. Важно, сколько из них рабочих и сколько выходных. А об этом в твоей программе ни гу-гу.

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

— Неужели?!

— Конечно. Надо только знать, что первый день века был понедельником. Итак, если остаток от деления количества прошедших дней века на семь будет единицей, то сегодня понедельник, если двойкой, то вторник…

— Великолепно! А государственные праздники?

— Их придется разместить в список. Ну, в массив занесешь количество дней с начала года до праздника. Конечно, придется подумать.

— Все это интересно. Но о работе с файлами хотелось бы услышать что-то поконкретнее. Из всего, о чем говорилось, нельзя сделать вывод, что эти файлы действительно важны для реальных задач.

— Неужели! После стольких разговоров?! Сделаем так. Я до следующего раза обдумаю, где еще нужны файлы, и подготовлю задачи по программированию, оставшиеся в наследство от Алгоритмыча.

— Задачи? Может не надо?

— Нет, надо. Надо хотя бы подумать о том, как их решить.


Скачать книгу "Как Петя Бейсиков Тоню Соображалкину программировать учил" - Бруно Мартузан бесплатно


100
10
Оцени книгу:
0 0
Комментарии
Минимальная длина комментария - 7 знаков.
Книжка.орг » Околокомпьютерная литература » Как Петя Бейсиков Тоню Соображалкину программировать учил
Внимание