Как сделать калькулятор в кумире
Содержание урока
Вычислительные задачи
Вычислительные задачи
Как вы знаете, компьютеры были изобретены для того, чтобы ускорить вычисления. Посмотрим, как решать простую вычислительную задачу в системе КуМир.
Задача. Сколько километров проехал автомобиль за 2 часа, если его средняя скорость равна 60 км/ч?
Конечно, одну такую задачу несложно решить устно или на калькуляторе, но для быстрого решения большого количества задач одного типа с разными исходными данными лучше разработать компьютерную программу. Для этого алгоритм решения нужно записать «в буквах». Обозначим время через t, а скорость — через v. Результат — пройденное расстояние — обозначим буквой S. Программа должна вычислить результат по исходным данным (рис. 6.14).
Алгоритм решения задачи можно записать так:
Вход: v, t.
Шаг 1. S := v • t..
Результат: S..
Здесь нет ни одной команды перехода, которая направляет исполнителя на другой шаг. Поэтому порядок действий всегда одинаковый, какие бы исходные данные мы ни вводили.
Теперь остаётся оформить программу так, чтобы её можно было выполнить в системе КуМир.
Она может выглядеть, например, так:
алг Путь
вещ v, t, S
вывод «Введите скорость: «
вывод «Введите время: «
вывод «Расстояние: «, S
Обратите внимание, что здесь нет никаких чисел, программа решает задачу «в буквах». Буквами (точнее, именами, которые могут состоять из нескольких сиимволов) обозначены изменяемые величины — переменные.
объявляет переменные, т. е. сообщает компьютеру, что мы будем использовать переменные с именами v, t и s. Все они — вещественные, т. е. могут принимать не только целые, но и дробные значения, об этом говорит слово вещ в начале строки.
Команда вывод выводит данные в поле ввода и вывода программы (в нижней части окна). Это может быть просто строка символов, например
вывод «Введите скорость: «
или список того, что нужно вывести:
вывод «Расстояние: «, S
Здесь в списке два элемента: текст «Расстояние» и значение переменной величины s, они разделены запятой.
С помощью команды ввод пользователь (человек, работающий с программой) вводит исходные данные — скорость и время. Например, после вывода сообщения «Введите скорость: » компьютер выполняет команду
Она означает «ждать, когда пользователь введёт число, присвоить это число переменной v». В поле ввода и вывода мигает курсор — это означает, что нужно ввести число и нажать клавишу Enter.
Следующая страница Выводы. Интеллект-карта
Cкачать материалы урока
Как сделать калькулятор в кумире
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Стартовая обстановка 1
Стартовая обстановка 2
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 5:
Результат выполнения этих команд понятен из их названия:
вверх — переместить Робота на одну клетку вверх
вниз — переместить Робота на одну клетку вниз
влево — переместить Робота на одну клетку влево
вправо — переместить Робота на одну клетку вправо
закрасить — закрасить текущую клетку (клетку в которой находится Робот).
Эти команды можно писать с клавиатуры, а можно использовать горячие клавиши (нажав их команды будут вставляться автоматически):
вверх — Escape, Up (стрелка вверх)
вниз — Escape, Down (стрелка вниз)
влево — Escape, Left (стрелка влево)
вправо — Escape, Right (стрелка вправо)
закрасить — Escape, Space (пробел)
Обратите внимание, что набирать нужную комбинацию горячих клавиш нужно не привычным нам способом! Мы привыкли нажимать клавиши одновременно, а здесь их нужно нажимать последовательно.
Теперь мы готовы написать первый алгоритм для Робота. Предлагаю начать с простого — нарисуем квадрат со стороной 3 клетки. Поехали!
Запускаем Кумир, настраиваем его. Можно начинать писать программу? Конечно нет! Мы же не задали стартовую обстановку! Делаем это. Предлагаю использовать вот такую:
Вот теперь все готово. Начинаем писать программу. Пока она выглядит так
Удаляем символ «|» и называем наш алгоритм «Квадрат»
Предлагаю рисовать квадрат, двигаясь по часовой стрелке. Для начала закрасим текущую клетку, дав команду закрасить. Потом делаем шаг вправо и опять закрашиваем клетку. И еще раз шаг вправо и закрасить.
Попробуем запустить программу и посмотреть что же получилось. Для запуска нажимаем F9 или же кнопку на панели инструментов
В результате мы должны увидеть вот такую картину
Если такое окно Робота у вас не появилось, то на панели инструментов щелкните « Показать окно Робота» или в меню Робот выберите пункт » Показать окно Робота». Продолжаем дальше.
Теперь мы будем двигаться вниз и закрашивать правую сторону квадрата:
Потом пойдем влево, закрашивая нижнюю границу квадрата
У нас осталась одна незакрашенная клетка. Закрасим ее
Все готово! В итоге наша программа выглядит так:
А результат ее работы вот так
Итак, сегодня мы с вами написали программу, используя простые команды Робота. Рекомендую попрактиковаться самостоятельно — придумать себе задание и написать программу. Это могут быть самые различные фигуры, узоры, буквы. К примеру, попробуйте написать программу, рисующую букву П, Р, Ш, Щ, М. А если получится и захотите поделиться — комментируйте и прикрепляйте результат к комментарию.
Исполнитель Робот. Циклы.
Итак, что такое цикл? Представьте, что мы находимся на уроке физической культуры и перед нами стоит задача сделать 7 приседаний. Это задание можно оформить в виде линейного алгоритма и тогда оно будет выглядеть примерно так:
Т. е мы повторили команду сделай приседание 7 раз. А есть ли смысл писать 7 одинаковых команд? Может проще дать команду сделай 7 приседаний? Конечно проще и правильнее. Это и есть цикл. Вы можете сами вспомнить примеры циклов из жизни — их довольно много.
Таким образом линейный алгоритм, где повторяются одни и те же команды мы можем оформить в виде циклического алгоритма — примерно так:
Вот так, на придуманном нами языке мы оформили цикл. У исполнителя Робот тоже есть возможность записывать циклы. Причем, циклы бывают разные. Тот вариант, который мы только что рассмотрели называется цикл со счетчиком или цикл с параметром.
Виды циклов.
Цикл со счетчиком.
Цикл со счетчиком применяется когда заранее известно сколько повторений необходимо сделать. В примере выше с приседаниями именно такой случай.
Для того, чтобы написать цикл со счетчиком для исполнителя необходимо знать его синтаксис. А он такой:
нц количество повторений > раз
Давайте рассмотрим это на примере.
Закрасим 7 клеток, как на рисунке. Рекомендую почитать про стартовую обстановку Робота и про его простые команды.
Изначально Робот находился в левой верхней клетке.
Давайте для начала решим задачу линейно. В этом случае мы будет закрашивать текущую клетку и перемещаться на 1 клетку вправо и программа будет выглядеть так:
использовать Робот
алг
нач
Как видим, команды закрасить и вправо повторяются 7 раз. Давайте теперь перепишем программу с использованием цикла. Кстати, чтобы вставить цикл в свою программу можно в меню Вставка выбрать пункт нц-раз-кц или нажать одну из комбинаций клавиш Esc, Р (русская буква Р) или Esc, H (латинская буква H). Причем клавиши надо нажимать последовательно — сначала Esc, отпустить ее и только потом Р или H.
Так вот, наша программа с циклом будет выглядеть так:
Если мы ее запустим, то увидим, что в результате получится тоже самое — 7 закрашенных клеток. Однако программа стала короче и значительно грамотней с алгоритмической точки зрения!
В качестве разминки и закрепления предлагаю самостоятельно написать программу для Робота, которая нарисует квадрат со стороной 7 клеток. Естественно, используя цикл. Жду решения в комментариях.
Цикл с условием.
Вернемся к физкультуре и изменим задачу. Ведь кто-то может и не сделать 7 приседаний, а другой способен сделать 27. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
« Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
нц пока справа свободно
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Основные понятия и команды в программе КУМИР
Содержимое разработки
Тема урока : Основные понятия и команды в программе КУМИР
Подготовил преподаватель Бурдин А.Б.
Основная структурная единица языка КуМир — алгоритм.
Программа на языке КуМир в простейшем случае состоит из нескольких алгоритмов, следующих один за другим.
Алгоритмы в программе должны располагаться вплотную друг к другу, между ними могут быть только пустые строки и строки с комментариями.
Разработчики языка «КуМир» преследовали цель создать простой язык для начального курса информатики, отвечающий современной технологии программирования и допускающий производственное использование. За основу был взят школьный алгоритмический язык.
В разных языках программирования такие единицы называются по-разному, в КуМире такая единица называется «Исполнитель».
Переменная – именованная область памяти, используемая для хранения значения, которое можно изменить при выполнении программы.
Константа – именованная область памяти, используемая для хранения фиксированного значения, которое невозможно изменить при выполнении программы.
ОБЩИЙ ВИД ОПИСАНИЯ АЛГОРИТМА
алг имя_алгоритма тип_алгоритма
Описание алгоритма состоит из:
Заголовка (часть до служебного слова нач )
Тела алгоритма (часть словами нач и кон )
ТИПЫ ВЕЛИЧИН ИСПОЛЬЗУЕМЫХ В ПРОГРАММЕ
Как пишутся в программе
В записи имен переменных могут быть использованы любые символы русского и латинского алфавита, а так же цифры. Имя не должно начинаться с цифры. На длину имен в системе КуМир строгих ограничений не накладывается, но для удобства редактирования и во избежание переполнения строк переменным и алгоритмам не стоит давать слишком длинные имена. Обычно имя подбирается так, чтобы можно было понять, для чего предназначен алгоритм. При редактировании программ также следует помнить о том, что русские и латинские буквы, сходные по написанию, различаются ЭВМ. Например, если при описании переменной с именем А пользователь набрал «А» на латинском алфавите, а в тексте алгоритма пытается обратиться к этой переменной, набирая ее имя на русском алфавите, то в данной строке на «полях» появится сообщение «имя не определено».
Арифметические операции и стандартные функции для работы с числами
Как пишутся в программе
Возведение в степень
б Меньше или равно a Больше или равно a=б » width=»640″
ОПЕРАЦИИ СРАВНЕНИЯ ЧИСЕЛ
Как пишутся в программе
SIN (X) COS (X) TG (X) EXP (X) LN (X) ABS (X) SQRT (X) MOD (A, B) INT (X) ПИ
вещ вещ вещ вещ вещ вещ вещ вещ, цел вещ вещ
вещ вещ вещ вещ вещ вещ вещ цел цел без аргум
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Вначале алгоритма объявляются перемен-ные и константы , которым будут присваи-ваться значения необходимые для расчетов
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Вывод “введите сторону квадрата”
в процессе работы программы будет отображаться в нижнем окне:
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
после нажатия клавиши Enter будет отображена в правом окне,
то есть в буфере обмена (в памяти) программы.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
в процессе работы программы будет отображаться в нижнем окне,
то есть будет выводиться результат работы программы.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Ветвление бывает полное и неполное.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Служебное слово ( новая строка ) указывает ЭВМ, что информация должна выводиться на новую строку.