Перейти к содержимому

Как сделать калькулятор в кумире

  • автор:

Команда «выбор» в Кумир

Процесс разветвления во многих алгоритмах может проходить более чем по двум направлениям. Применение вложенных команд если делает код программы громоздким и очень неудобным для редактирования.

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

Команда выбора имеет следующий формат:

  • выбор
  • при условие 1 : серия 1
  • при условие 2 : серия 2
  • .
  • при условие n : серия n
  • иначе серия n+1
  • все

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

Рассмотрим пример простешей программы «Калькулятор»

  • выбор
  • при с = ‘+’ : вывод а + в
  • при с = ‘-‘ : вывод а — в
  • при с = ‘*’ : вывод а * в
  • при с = ‘/’ : вывод а / в
  • иначе вывод «Введен не корректный символ»
  • все

После ввода символа, который присваивается величине с , происходит его сравнение с символами, кодирующими математические операции. Если ни одно из условий не выполняется, то будет исполнена команда вывода и на экране появится сообщение «Введен не корректный символ».

Отметим, что ключевое слово иначе вместе с соответствующей серией команд может отсутствовать. В таком случае формат команды выбор имеет следующий вид:

  • выбор
  • при условие 1 : серия 1
  • при условие 2 : серия 2
  • .
  • при условие n : серия n
  • все

При такой организации алгоритма, если ни одно условий не выполняется, то происходит переход к первой команде, следующей после ключевого слова если .

Copyright © 2014-2021, Урок информатики
Все права защищены

Как сделать калькулятор в кумире

—>Персональный сайт Лаврова Петра Николаевича —>
учителя информатики

КуМир (Комплект Учебных МИРов) — система программирования, предназначенная для поддержки начальных курсов информатики и программирования в средней и высшей школе.

Особенности системы КуМир

  • В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертёжник.
  • При вводе программы КуМир осуществляет постоянный полный контроль ее правильности, сообщая на полях программы об всех обнаруженных ошибках.
  • При выполнении программы в пошаговом режиме КуМир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования.
  • Кумир работает в операционных системах Windows или Linux.

Система Кумир разработана в НИИСИ РАН по заказу Российской Академии Наук и распространяется свободно на условиях лицензии GNU 2.0.

Данная лицензия разрешает вам или вашей организации бессрочно использовать КуМир на любом количестве компьютеров в любых целях без оформления каких либо дополнительных документов.

________________________________________
Разложение натурального числа на простые множители
Тема: Циклы
Пользователь вводит число. Необходимо разложить его на простые числа.
Так как в КуМир есть только команда «выход» (аналог break) и нет команд-аналогов для continue и goto, то программа будет выглядеть немного сложнее, чем она была бы при их наличии.
Внешний цикл будет продолжаться до тех пор, пока исходное число не будет в результате деления на простые сомножители сведено к 1.
Внутренний цикл будет бесконечный. Выход из него будет осуществляться по команде «выход», когда найден очередной простой делитель.
Когда простой делитель найден, надо как-то «сообщить», что при новом выполнении этого внутреннего цикла поиск простых делителей надо начинать сначала. Для этого используется флаговая переменая (в данном случае «ф»).
Сам алгоритм поиска простых делителей сводится к последовательному делению исходного числа на подряд идущие натуральные числа от 2. Первое число, на которое нацело делится исходное, и есть его очередной простой сомножитель.

алг простые сомножители
нач
цел ч, п, ф
ввод ч
ф := 1
нц пока ч > 1
нц пока да
если ф = 1 то
п := 2
ф := 0
все
если mod(ч,п) = 0 то
ч := div(ч,п)
вывод п, » »
ф := 1
выход
иначе
п := п + 1
все
кц
кц
кон
________________________________________
Программа-калькулятор (КуМир)
Тема: Циклы
Написать программу, выполняющую арифметические операции (сложение, вычитание, умножение и деление) над двумя вещественными числами. Программа должна выполняться в цикле до тех пор, пока пользователь не введет определенный знак.
Одной из особенностей решения является то, что символьная переменная, в которую записывается знак операции, играет также роль сигнала о прекращении вычислений. Поэтому пользователю предлагается сначала ввести знак операции, а потом уже числа, если не был введен символ, сигнализирующий о завершении операций.

алг простейший калькулятор
нач
вещ x,y
сим s
нц пока да
вывод «Знак: »
ввод s
если s=’0′ то выход все
если s=’+’ или s=’-‘ или s=’*’ или s=’/’ то
вывод «x=»
ввод x
вывод «y=»
ввод y
выбор
при s=’+’: вывод x+y, нс
при s=’-‘: вывод x-y, нс
при s=’*’: вывод x*y, нс
при s=’/’:
если y=0 то вывод «Деление на ноль!», нс
иначе вывод x/y, нс
все
все
иначе
вывод «Неверный знак операции», нс
все
кц
кон
Пример выполнения программы
Знак: +
x=5.67
y=-4
1.67
Знак: /
x=5
y=0
Деление на ноль!
Знак: )
Неверный знак операции
Знак: /
x=3
y=10
0.3
Знак: 0
__________ ______________________________
Проверка гипотезы Сиракуз
Тема: Циклы
Возьмем любое натуральное число. Если оно четное, то разделим его на 2. Если оно нечетное, то умножим на 3, прибавим 1 и затем разделим на 2. Результат этих операций также будем проверять на четность и выполнять первое или второе действие. Гипотеза Сиракуз утверждает, что рано или поздно мы получим из единицу.
Напишем программу, которая проверяет гипотезу Сиракуз для числа, которое вводит пользователь. Пока число не сведется к единице будем либо делить его на 2 (если оно четно), либо умножать на 3, прибавлять 1 и делить на 2. Если гипотеза Сиракуз верна, то рано или поздно цикл остановится.

алг сиракуз
нач
цел n
ввод n
нц пока n <> 1
если mod(n,2) = 0 то
n := div(n,2)
иначе
n := div((3*n+1),2)
все
вывод n, ‘ ‘
кц
кон

Пример выполнения программы:
111
167 251 377 566 283 425 638 319 479 719 1079 1619 2429 3644 1822 911 1367 2051
3077 4616 2308 1154 577 866 433 650 325 488 244 122 61 92 46 23 35 53 80 40
20 10 5 8 4 2 1

КуМир вернулся!

Более 20 лет назад авторам данной статьи посчастливилось принять участие в разработке, реализации и внедрении учебной программной системы КуМир, которая оказалась весьма успешной и в свое время получила широкое распространение. В этой статье мы попытались разобраться, почему эта система оказалась успешной, а также объяснить читателям, почему мы сочли необходимым потратить три года, пытаясь возродить КуМир.

КуМир — практикум по основам алгоритмизации, реализованный в СССР в 90-х годах прошлого столетия, — до сих пор не забыт системой школьного образования России в первую очередь благодаря тому, что целое семейство КуМиров было реализовано и эксплуатировалось практически на всем “зоопарке” вычислительной техники, попавшей в школы СССР.

Две модели японской Zilog-машины Yamaha, массово производимые отечественные Корвет и УКНЦ, другие мини- и микрокомпьютеры на процессорах архитектуры PDP-11, Apple Macintosh, бесконечные клоны IBM PC. Это далеко не полный список вычислительной техники, на которой функционировал практикум КуМир. В организованном вице-президентом АН СССР Е.П. Велиховым ВНТК “Школа-1” было разработано несколько успешных практикумов, но КуМир, без сомнения, имел самое массовое распространение в СССР, а затем и в России.

Распространение учебной системы на столь мало похожие друг на друга компьютерные системы потребовало создания не только определенной дисциплины разработки, но и разработки единого интерфейса с обучаемым. После детального изучения эргономических характеристик различных компьютерных систем был придуман и стандартизован единый интерфейс. Клавиши и функционал КуМира описывались для некоторого виртуального компьютера. Эти виртуальные клавиши на виртуальной клавиатуре использовались при описании функций КуМира в документации, но имели разное расположение на различных реальных клавиатурах.

Подобный подход позволил не только иметь единый комплект документации и методических материалов, но и упрощал для ученика, учителя и методиста переход с одного школьного компьютера на другой. Другие практикумы, разрабатываемые тем же коллективом, в том числе и текстовый редактор МикроМир, имели аналогичный интерфейс. Простые практикумы (“Резчик металла” — практикум по составлению линейных программ, клавиатурный тренажер, “Стековый калькулятор”) предваряли работу учащихся с КуМиром, попутно снимая непроизводительные расходы, связанные с изучением клавиатуры и команд, так как команды во всех практикумах были идентичны.

Представление системой КуМир и сопутствующими практикумами единого интерфейса на всем ряду разнородной вычислительной техники было важной, но не единственной причиной популярности КуМира. Второй причиной была востребованность. К моменту появления на свет предтечи Кумира — Е-практикума — во всех старших классах СССР преподавался так называемый безмашинный курс информатики, и параллельно в школы и педвузы стала поступать вычислительная техника. Так что, как это ни парадоксально, основной задачей КуМира была программная поддержка на школьных машинах безмашинного курса информатики. В основе безмашинного курса информатики лежал предложенный академиком А.П. Ершовым школьный алгоритмический язык с русской лексикой, включающий основные управляющие конструкции алгоритмических языков высокого уровня. Е-практикум поддерживал первые учебники А.П. Ершова с соавторами, а КуМир поддерживал ставший самым массовым учебник ОИВТ А.Г. Кушниренко, Г.В. Лебедева и Р.А. Свореня.

Третьей причиной успешности КуМира было использование уже отработанных к тому времени на мехмате МГУ идеи редактирования-компиляции и метафоры “полей программы”, дающих колоссальное повышение производительности труда обучаемого во вводном курсе программирования.

Таким образом, КуМир работал на любой мыслимой и немыслимой вычислительной технике со стандартизованным клавиатурным интерфейсом, КуМир поддерживал массовый учебник, КуМир был удобен и.

Тут по законам жанра хотелось бы сказать “КуМир победил всех конкурентов”, но никаких конкурентов, кроме Basic’a, фактически не было.

Распространение IBM PC-подобных клонов в конце XX века вытеснило с рынка или свело к минимуму практически все не Windows-ориентированные системы. Разработанная в начале 90-х годов версия КуМира для системы MS DOS была практически лишена программных ошибок и была так близка к идеалу школьного ПО, что просуществовала в школьных классах достаточно долго (более 10 лет). Однако за 10 лет первые две причины успешности КуМира стали исчезать.

Появилась оконная система MS Windows-95, затем MS Windows-98 и т.д. Запускать и эксплуатировать КуМир с каждым годом становилось труднее. DOS-ориентированный чисто клавиатурный интерфейс КуМира также выходил из моды. Человечество стало редактировать тексты с использованием мышки и оконных систем.

Учебники А.Г. Кушниренко также стали выходить из моды, однако изложенный в этих учебниках школьный алгоритмической язык продолжает жить в методических материалах, в частности, в задачах ЕГЭ.

Что же касается эффективности КуМира в начальных курсах программирования, то в этом отношении ему по-прежнему нет равных.

По инициативе Г.В. Лебедева авторы статьи встречались с ним в начале 2004 года и обсуждали будущее КуМира. Идея Лебедева состояла в том, что КуМиру и методике проведения начального курса программирования на его основе нужно дать в России шанс на конкуренцию с другими подходами и другими программными системами, дать шанс занять свою нишу. К сожалению, Г.В. Лебедев погиб в мае 2004 года и не увидел свою идею реализованной.

Итак, чтобы сделать КуМир конкурентоспособным, нужно было прежде всего сделать его интерфейс привычным для пользователя: погрузить в стандартную многооконную систему. Далее нужно было обеспечить возможность его установки на всех мыслимых платформах: Linux, Windows, MacOS, etc. Для решения этих задач было решено использовать систему Qt фирмы Troll Tech.

К 2005–2006 гг. в НИИСИ РАН по заказу Российской академии наук был начат проект по созданию новой многоплатформенной системы КуМир. К концу 2008 года такая система была разработана. Она распространяется свободно на условиях лицензии GNU 2.0. Данная лицензия разрешает бессрочно использовать КуМир на любом количестве компьютеров в любых целях без оформления каких-либо дополнительных документов.

В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертежник.

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

При выполнении программы в пошаговом режиме КуМир выводит на поля результаты операций присваивания и значения логических выражений. Это позволяет ускорить процесс освоения азов программирования. Новый КуМир полностью поддерживает учебники ОИВТ Кушниренко — Лебедев — Сворень и ОИВТ Кушниренко — Лебедев — Зайдельман: все алгоритмы из этих учебников и решения всех задач выполнимы в КуМире.

Новый КуМир предоставляет новые возможности по работе с исполнителями.

1. Три исполнителя — Робот, Чертежник, Файловая система — жестко встроены в систему КуМир. Для того чтобы активизировать соответствующий встроенный исполнитель, нужно в начале КуМир-программы добавить команду использовать… и имя нужного исполнителя.

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

2. Для подключения исполнителей “сторонних” производителей, написанных, например, на языке С, создан дополнительный механизм подключения таких исполнителей. За счет этого КуМир получает возможность управлять не только программными исполнителями, но и реальными, например, “настоящим” роботом LEGO Mindstorm, используя канал bluetooth.

3. В КуМире пользователь может создавать собственные исполнители.

Для этого в языке предусмотрена конструкция исп — кон исп .

КуМир-исполнители могут быть расположены либо в файле вместе с основной программой, либо в отдельном файле. КуМир-исполнители доступны редактированию и выполнению в пошаговом режиме, как и обычная КуМир-программа. Таким образом, КуМир предоставляет базу для перехода от изучения основ объектно-ориентированного программирования в учебной среде к изучению производственных языков ООП. Той же цели служит и препроцессор КуМир —> С++: написав и отладив программу на КуМире, обучаемый может нажатием одной кнопки создать из КуМир-программы без ошибок работающую программу на С++. Причем текст последней программы окажется очень похожим на исходную программу на алгоритмическом языке.

Многое сделано в КуМире для облегчения труда преподавателя.

Чтобы эффективно использовать время урока, по завершении работы ученика над заданием можно автоматически проверить результат работы, если добавить к заданию написанную на КуМире программу проверки. В предыдущем поколении системы КуМир проверка инициировалась учеником по нажатию + T (тест). В настоящей версии такая проверка может проходить автоматически по окончании выполнения программы. При этом для верификации результатов работы ученика можно использовать все функциональное богатство системы КуМир, включив программу проверки непосредственно в задание или добавив в задание директивы пересылки результатов работы ученика учителю или внешней системе для оценки.

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

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

Кумир. Программа калькулятор. Пример работы оператора выбора

Программа калькулятор. Пример работы оператора выбора

Кумир. Программа калькулятор. Пример работы оператора выбора

На данном уроке рассмотрим оператор выбора в среде программирования КуМир

Общий вид команды выбор:

выбор при условие 1 : серия 1 при условие 2 : серия 2 . при условие n : серия n иначе серия n+1 все
алг калькулятор нач цел m,a,b вывод 'Введите 1 число: ' ввод a вывод 'Введите 2 число: ' ввод b вывод 'Если вы хотите сложить, нажмите 1; ' вывод 'Если вы хотите умножить, нажмите 2; ' вывод 'Если вы хотите вычесть, нажмите 3; ' вывод 'Если вы хотите разделить, нажмите 4; ' ввод m выбор при m=1: вывод 'Ответ =',a+b при m=2: вывод 'Ответ =',a*b при m=3: вывод 'Ответ =',a-b при m=4: вывод 'Ответ =',a/b все кон

Программу на языке «Паскаль» вы можете посмотреть здесь

0 7 898 просмотров

Вам также может быть интересно

Упростить логические выражения

Уроки 0 8 672 просмотров
Упростить логические выражения Тема: «Алгебра логики» В некоторых заданиях ЕГЭ по информатике под №

Установка Python в связке с PyCharm Edu

Уроки 0 2 205 просмотров

Установка Python в связке с PyCharm Edu Все большую популярность среди профессиональных программистов и

Определение информационного объема сообщения

Уроки 0 24 632 просмотров

Определение информационного объема сообщения. Информатика в 7 классе. Тема: «Измерение информации» Формулы Для определения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *