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

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

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

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

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



СОСТАВИТЬ ПОЗДРАВЛЕНИЕ НЕЛЕГКО

— Ладно. Далее следуют операторы DATA, в которых, судя по всему, ты хранишь текст поздравления.

— Я бы сказал, заготовку текста. Потом, когда все символьные строки из операторов DATA перекочуют в значения переменных, я их дополню и получу окончательный текст.

— Интересно, почему в строке 150 упоминается вывод на экран, если ты собираешься печатать.

— Это нужно для проверки. Не думай, что такую программу я могу сделать в один присест, не допустив ни одной ошибки. Программу надо было отлаживать, и во время отладки все лучше выводить на экран, чтобы зря не тратить бумагу. Но вернемся к программе. Ты ввела свое пожелание, куда выводить поздравление: оно содержится в значении переменной F¤.

— А почему для хранения чисел 1 или 2 ты выбираешь символьную переменную? С числовой переменной было бы проще.

— Ничего не проще. Это для тебя привычнее числа, чем символы, а машине, что числа, что строки символов, все одно. А вношу я ответ пользователя в значение символьной переменной для удобства проверки ввода. После ввода мне остается только проверить, входит ли введенный символ в строку символов S2¤, которую я загодя определил в строке 50. Этим я и занимаюсь в строке 165.

— А поскольку ты все равно потом хочешь иметь число, тебе приходится символ превращать в число при помощи функции VAL. Правильно ли я понимаю?

— Ты понимаешь правильно. Мы получаем число F и сразу вычитаем из него единицу. Зачем? Чтобы получить номер файла. Номер файла вывода на экран всегда должен быть нулем, а файлу печати можем присваивать такой номер, какой хотим. На сей раз лучше всего хотеть единицу.

— Лучше захоти объяснить, на что этот оператор ветвления здесь в строке 180!

— Здесь мы вычисленный номер файла сравниваем с нулем. Если он оказался нулем, это означает, что пользователь желает выводить на экран и мы спокойно уходим дальше на ввод данных. Если же номер файла не нуль, то надо в строке 190 открыть устройство печати — как файл с номером 1.

— Дальнейшее понятно. Пользователь вводит все, что от него требуется.

— Но правильность ввода все время проверяется.

— Это ты делаешь всегда одинаково, потому что и ввод у тебя практически всегда одинаков. Ищешь введенный символ в значении переменной S2¤, и все.

— Да, что-то поинтереснее начинается, когда введено имя поздравляемого и мы приступаем к его анализу. Сначала находим длину имени и его последнюю букву в строках 300 и 310. А потом выясняем, кого надо поздравлять — мужчину или женщину.

— Это же просто!

— Тебе просто. А для компьютера это неразрешимая задача, потому что нет алгоритма, как по имени определить, мужское это имя или женское.

— Ну, женские имена оканчиваются на «-а»…

— Оканчиваются-то оканчиваются, да не все. И не каждое имя, оканчивающееся на «-а», будет женским. Более того, существуют же одинаковые имена и для мужчин, и для женщин.

— Ну да!

— Например «Саша» может быть и юношей и девушкой.

— Так это же, ну… сокращение.

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

— И запрограммирован он в строках 330–400…

— Да. И в результате работы этих строк переменная D получает значение 1, если поздравляем мужчину, и 2, если женщину.

— Об этом хватит. Перейдем к подготовке текста поздравления, которая начинается в строке 470. И сразу вся заготовка текста считается в массив Т¤. А в следующей строке…

— В следующей строке выясняется, почему всюду вводили либо 1, либо 2.

— Смотрим. Переменная С¤! Ее значение… «1», если надо обращаться «дорогой», и «2», если — «уважаемый». Переменная D указывает пол поздравляемого.

— Важно то, что значения этих переменных…

— … используются для получения нужного элемента массива L1¤: «дорогого» или «уважаемого»— в мужском или женском роде.

— Ты мне не даешь похвастаться хорошо сделанным куском. Тебе надо было спокойно все прослушать и в конце воскликнуть: «Ой, Петя, как ты хорошо придумал с этими переменными С¤ и D!»

— Ой, Петя, как ты хорошо придумал, что к найденному значению массива L1¤ можно прицепить пробел и имя поздравляемого. И еще восклицательный знак!

— Пробел можно было бы и не ставить, но тогда в массив L1¤ нужно было бы заносить не просто «УВАЖАЕМЫЙ», а «УВАЖАЕМЫЙ» с пробелом в конце.

— Я же говорю, что это сногсшибательно!

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

— И это дает «творческое удовлетворение».

— Одному дает творческое удовлетворение работать, другому — издеваться.

— Ну не надо обижаться! Я же просто пошутила.

— Лучше посмотри, как образуются третий и четвертый элементы массива T¤. Здесь я сцепляю две символьных строки, а пробел между ними не ставлю, потому что в операторах DATA уже хранятся слова «поздравляю» и «желаю» с пробелом в конце.

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

— Не верю, чтобы кто-то потерял здоровье из-за успехов в учебе.

— Бедный Петя! Если бы ты не был так смешон, то от твоего серьезного вида мухи бы дохли!

— Не понимаю, будем продолжать или отложим?


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


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