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

Шрифт
Фон

Хватит разглагольствовать, я пускаю. А там посмотрим.

RUNNH

ПРОГРАММА ПРЕОБРАЗУЕТ ГРАДУСЫ

ФАРЕНТЕЙТА В ГРАДУСЫ ЦЕЛЬСИЯ

ВВЕДИТЕ ТЕМПЕРАТУРУ

В ГРАДУСАХ ЦЕЛЬСИЯ

? -50

ЭТО БУДЕТ -45/5556 ГРАДУСА ЦЕЛЬСИЯ

Тебе повезло. Все получилось, как надо.

Это не везение, а высокое мастерство.

Как же! А сейчас мы должны записать твою программу на диск, поскольку наше время истекает.

Ой, прости! Я совершенно забыла, как это делают.

Не переживай! Вначале все забывается. Позже, когда привыкнешь, прекрасно будешь помнить и Бейсик, и операционную систему, и особенности других компьютеров, если придется с ними познакомиться. Но для сохранения программы нужно ввести директиву SAVE с описанием файла кодом устройства и названием файла.

Мне лень выдумывать новое название для файла. Пусть будет такое же, как у программы.

SAVE DK1:CELS_

Все правильно. Нажми клавишу ввода, и программа запишется на первый диск.

9. ВЕТОК МНОГО-МНОГО, НО НЕ ДЕРЕВО

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

Я возмущена до глубины души! Что ты вообще от меня хочешь?

Тихо, тихо. Это я для того, чтобы ты не подумала, что уже все постигла. И еще я хотел отметить, что всякая программа эти три части будет иметь, и можно нарисовать такую вот схему работы всех программ:

Ну, знаешь

Знаю, знаю, но давай быстрее вызовем твою программу и сделаем в ней одно улучшение, чтобы она перестала быть такой прямой, как палка, и заимела бы какую-то логику.

Опять! Я же не умею вызывать программы из диска.

Сейчас, сейчас. Вызывают их директивой OLD. «Оулд» по-русски что?

Старый.

А после OLD описываешь файл, в котором программа хранится. В точности, как в прошлый раз, когда программу записывала на диск директивой SAVE.

OLD DK1:CELS

READY

READY показался, значит, всё в порядке. Сейчас переделаем программу, чтобы ее можно было использовать для превращения нескольких значений градусов Фаренгейта подряд.

Как это сделать?

Можно по-всякому. Я предлагаю такой вариант. После того как одно значение переведено, программа выдает запрос: «Желаете ли продолжить работу?» и ждет ввод числа. Если пользователь вводит нуль, то работа прекращается, а если другое число то продолжается. Разумеется, пользователю нужно объяснить, что от него требуется.

Как вывести запрос о продолжении работы, ты должна понимать: оператором PRINT. Так же ясно, как вводить число оператором INPUT. Это число придется как-то обозначить, допустим буквой Z.

СЕЙЧАС ОБ ОПЕРАТОРЕ ВЕТВЛЕНИЯ

«Иф» значит «если», а «зен» может быть «тогда»?

Да, так эти слова переводятся. А сам оператор условного перехода, или, кратко, оператор IF, будет труднее понять, чем предыдущие, так что задержи дыхание, пока я не кончу.

Сначала пишется IF, потом логическое условие, в нашем случае это будет выражение Z=0, затем пишется THEN, а после того номер строки, с которой продолжать работу, если ты заметила, я сказал «если» если выполняется указанное условие, то есть значение Z действительно равно нулю. А если не выполняется, то работа продолжается со следующей строки.

Фу-у-у Слушай, я чуть не задохнулась, но поняла крайне мало. Объясни поподробнее.

Я нарисую тебе такую схему:

Я сам тоже не сразу освоился с логическим условием, потому что иногда оно мне казалось вроде оператора присвоения. Отличие тут такое: при выполнении оператора ветвления значение переменной Z не станет равным нулю, а останется таким, как было, два, десять и, в конце концов, оно могло бы и быть нулем.

А на русский язык этот оператор можно перевести так:

IFM=0THEN600
Еслизначение переменной М равно нулю,топерейти на строку с номером 600
Вот что получается: знак «=» в операторе присвоения мы читали «присваивается значение», а в логическом условии оператора IF читаем «равно», как и полагается.

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

На БейсикеПо-русски
==равноменьшебольшеменьше либо равнобольше либо равноне равно
Так что оператор ветвления «если А меньше В, то иди на строку 600» можно и нужно записывать так: IF А

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке