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

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

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

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

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



22. ЧТО ЕЩЕ МОЖНО СДЕЛАТЬ

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

1. Игра с числами. Машина «задумывает» одно число от 1 до 1000. Игрок должен это число угадать максимум за десять попыток. Каждый раз, получив число, программа сообщает, оно больше или меньше «задуманного».

Придумать алгоритм игры.

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

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

4. Спортлото. Составить программы для любителей этой игры. Одну, которая выпечатывает 6 из 45 и 5 из 36 случайных чисел. Вторую, которая на диске собирала бы информацию о всех розыгрышах — какие числа оказались счастливыми, искала бы закономерности в их появлении и потом прогнозировала выигрышные числа следующего розыгрыша.

5. Запрограммировать такую игру: первый игрок называет число в пределах от 1 до 10, второй прибавляет к нему число в пределах от 1 до 10 и сообщает сумму. И так далее. Кто первый из игроков назовет 100, тот победитель. Программа может играть за первого и за второго игрока. Придумать алгоритм, обеспечивающий победу, и запрограммировать его. Составить еще одну программу, которая на победный алгоритм переходила бы не сразу, чтобы противник не догадался, каков алгоритм. А если программа «видит», что противник уже этот алгоритм знает, то, конечно, переходит на победный алгоритм по возможности раньше.

6. Болгарская народная задача. Один крестьянин имеет 25 буйволиц. Первая из них в день дает 1 литр молока, вторая —2 литра, и так далее до двадцать пятой. Крестьянин должен справедливо разделить буйволиц между своими пятью сыновьями, так, чтобы каждый получил одинаковое количество буйволиц и получал одинаковое количество молока в день.

7. Составить программу, которая число от 1 до 10 000, введенное цифрами, выводила бы на русском, английском, немецком языках. Например, вводим «25», программа выводит «двадцать пять». И наоборот — вводим «двадцать пять», выводит «25».

8. Составить программу перевода чисел от 1 до 1000, записанных арабскими цифрами, в числа, записанные римскими цифрами, и наоборот.

9. В машину вводятся три числа. Программа должна определить, могут ли эти числа быть длинами сторон треугольника. Будет ли этот треугольник равносторонним или равнобедренным? Прямоугольным, тупоугольным или остроугольным? Какова его площадь? Найти высоты треугольника. Можно ли из этих высот составить новый треугольник? Если можно, то будет ли этот треугольник равносторонним или равнобедренным? (Квадратный корень вычисляется функцией SQR(X).)

10. Игра «Три дракона». Программа выводит два целых случайных числа в пределах от 1 до 100. Играющий должен ввести третье число. Если все три числа могут быть длинами сторон треугольника, то играющий получает 3 очка, если не годятся, то теряет 33. Если треугольник окажется равнобедренным, то добавляется еще три очка, а если равносторонним, то —33. Если треугольник прямоугольный, то играющему присуждается победа с титулом «троекратный гроссмейстер». Для обычной победы надо собрать 33*3+3 очка. Игра осложняется тем, что могут появиться три дракона. Для того чтобы определить, появится ли какой-нибудь из драконов, выбирается случайное число 1, 2 или 3. Это делается три раза сразу после ввода играющим своего числа. Если в первый раз выпадает 3, то появляется первый дракон. Из основных трех чисел он выбирает то, которое делится на 3 (если такое есть), и уменьшает его на одну треть. Если во второй раз выпадает 3, то появляется второй дракон и увеличивает число, которое делится на три (если такое есть), на одну треть. Если же в третий раз выпадет 3, то третий дракон меньшее число умножает на три.

Если периметр треугольника оказывается равным 33, то выбирается случайное число 1, 2 или 3. Дракон с этим номером проваливается в тартарары — больше появиться не может.

11. Быки и коровы. Программа выбирает четыре случайных числа от 1 до 9 и составляет из них строку символов. Играющий должен ее отгадать, вводя свои предположения. После каждого ввода программа сообщает, сколько цифр угадано точно — сколько «быков», и сколько цифр названы правильно, но помещены в неправильных местах — сколько «коров». Например, программой выбрано число 6834, тогда игра может проходить, например, так: Догадки Ответы программы играющего 3333 1 бык 3366 2 коровы 6633 2 быка 7633 1 бык, 1 корова 6833 3 быка 6843 2 быка, 2 коровы 6834 Угадано за 7 ходов

12. Соревнуются два игрока. Первый отворачивается, а второй вводит в машину какое-нибудь слово. Программа гасит экран, перепутывает в слове буквы случайным образом и выводит полученное слово на экран. Например, введено слово КОНКАТЕНАЦИЯ, выводится КАТОКНАЯИЦЕН. Первый игрок должен угадать первоначальное слово и ввести его. Потом игроки меняются местами. Программа находит время, затраченное каждым игроком на обдумывание, и количество ошибок.

13. Игра «Виселица». Соревнуются два игрока. Первый отворачивается, а второй вводит в машину какое-нибудь слово. Программа гасит экран и выводит это слово, зашифровав черточками все буквы, кроме совпадающих с первой и последней. Например, если введено слово ИНТЕЛЛИГЕНТ, то выводится

И — Т--И--Т. Первый игрок угадывает

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

14. «Искусственный интеллект». Программа выводит на экран предложение поговорить. Если в ответ вводится предложение, оканчивающееся восклицательным знаком, программа выводит: «Пожалуйста, поспокойнее!» Если в конце предложения вопросительный знак, выводится «Нужно подумать». В других случаях программа с одинаковой вероятностью отвечает: «Да, я об этом слышала» или «Ну и что?» После каждого ответа следует просьба «Поговорим еще, мне скучно».

15. Проверка памяти. Программа показывает случайно выбранную букву и через короткое время гасит экран. Играющий должен ввести ту же самую букву. Потом программа показывает две случайно выбранные буквы. И так далее, пока играющий не ошибется. В конце выводится, сколько букв он сумел запомнить.

16. Статистическое моделирование. Автомашины одинаковой длины останавливаются на обочине улицы длиной М в случайных местах. Сколько автомашин в среднем вместит такая стоянка, если одна автомашина Занимает К метров? Составить программу для моделирования такой ситуации на ЭВМ: на отрезок [0;1] падают отрезки меньшей длины: К/М. Всякий раз, когда какой-нибудь из них падает на ранее упавший, процесс повторяется. Процесс прекращается, если не осталось сплошного свободного места длиной более К/М. В конце подсчитывается количество маленьких отрезков, вошедших в отрезок [0;1]. Моделирование повторяют 1000 (или более) раз и подсчитывают среднюю вместимость отрезка [0; 1].

17. Составить программу для хранения на диске результатов игр футбольного или хоккейного чемпионата СССР или мира. Программа по требованию должна выпечатывать текущее состояние турнира.

18. На языке эсперанто все глаголы в настоящем времени оканчиваются на — as, в прошедшем на — is. Других слов с такими окончаниями нет. Составить программу, которая текст на языке эсперанто преобразовала бы из прошедшего в настоящее время. Учесть, что после слова может быть не только пробел, но и знаки препинания. Нужно ли знать язык эсперанто для решения этой задачи?

19. Разработать новый язык программирования БОРЯ (Бейсика отображение на русский язык). В этом языке слова в операторах пишутся не на английском, а на русском языке. Например, вместо GO ТО пишется ИДИ НА; вместо RETURN пишется ВОЗВРАТ, и так далее. Составить программу, которая переводила бы программы на Боре в программы на Бейсике. Программа на Боре записана в файле на диске — каждая строка в виде строки символов. И наоборот, на диске записана программа на Бейсике — считать ее, перевести в программу на Боре и записать в файл на диске.

20. Составить 20 программ для обучения и повторения материала уроков текущей четверти. Можно сделать и так, чтобы обучение проходило в виде какой-то игры — подобно игре «Три дракона» (см. задачу 10).

— 20 программ! Ничего не скажешь, остроумно! Больше нельзя было придумать?

— Почему бы и нет! Неужели ты бы не составила?

— Кто его знает… А вообще пора кончать.

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

— Знаешь что! Жизнь прекрасна еще и потому, что человек может программировать!

И так как эту истину первой открыла не она, то ни Петя, ни плескающиеся в лужах воробьи не возражали.


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


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