Описания величин в языке Кумир
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа (цел, вещ, сим, лит, лог), после которого следует имя (или список имен) величины. Например,
- цел длина, ширина
- лит примечание
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
- вещтаб рост[1: 10]
- цел таб классы [1:4, 1:11]
В первой строке описывается таблица рост, состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы, в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
Рассмотрим пример:
- цел длина, ширина
- алг
- нач
- вещ диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.
Содержание
- Кумир имя не объявлено что делать
- Помогите, пожалуйста, почему в программе КуМир ,,Имя не объявлено», хотя там всё правильно. Что мне нужно исправить.
- Настройка среды Кумир для исполнителя Робот
- КуМир, Исполнитель Робот
- Главное меню
- Пульт
- Задачи
- Знакомство с языком и системой КуМир путем решения задач С2
Кумир имя не объявлено что делать
Помогите, пожалуйста, почему в программе КуМир ,,Имя не объявлено», хотя там всё правильно. Что мне нужно исправить.
Замечание: предполагается, что в имени файла нет «.».
program qq;
var s:string;
begin
writeln(‘Введите имя файла:’);
readln(s);
s:=copy(s,1,pos(‘.’,s))+’exe’;
writeln(s);
end.
Пример:
Введите имя файла:
Привет.txt
Привет.exe
5 — 10 + 20 = 15 (q = -2)
15 — 15 + 15 = 15 (q = -1)
20 -10 + 5 = 15 (q = -0.5)
15 + 0 + 0 = 15 (q = 0)
5 + 5 + 5 = 15 (q = 1)
программа на руби, для нахождения
Ответ:
Объяснение:
В этой кодировке символ занимат 1 байт = 8 бит.
284 на 8 нацело не делится, а число символов должно быть целым, поэтому такое сообщение невозможно.
Настройка среды Кумир для исполнителя Робот
На прошлом уроке мы познакомились с исполнителем Робот, узнали как его установить и запустить. Сегодня будем настраивать программу для дальнейшей работы.
Запущенная программа Кумир выглядит так.
Среда Кумир, исполнитель Робот
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Раскомментируем первую строку
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
КуМир, Исполнитель Робот
Чтобы задать условия для выполнения, нужно выполнить команду меню Инструменты→Редактировать стартовую обстановку Робота.
В результате мы увидим окно:
Помощь выводит исчерпывающую информацию о возможных действиях:
Меню Обстановка позволяет сделать следующее:
Новая обстановка | Сбрасывает имя файла и создает обстановку, показанную в синем окне выше |
Открыть | Открытие уже созданной обстановки (файл *.fil) для редактирования |
Недавние обстановки | Ускоряет доступ к 8 последним проектам |
Сохранить | Сохраняет текущие изменения |
Сохранить как. | Позволяет задать имя для обстановки |
Сохранить как стартовую | Именно она будет средой по умолчанию |
Печать в файл | Создает PDF-файл с картинкой обстановки, именем файла, датой и комментарием |
Закрыть | Закрывает окно редактирования |
Главное меню
Пульт
Вызов пульта производится нажатием на кнопку или через меню Робот→Показать пульт.
Если выполнить команду меню Редактирование→Перехватывать команды Пульта, то действия, производимые пультом будут записываться в виде правильных команд в текст программы. Названный пункт будет помечен флажком (галочкой).
Некоторые из записываемых команд окажутся избыточными, так как для них используется вывод информации, а не действия. Но их можно отредактировать, либо взять из них только нужные элементы.
Подробности использования пульта смотри меню Инфо→Язык и система КуМир.
Задачи
- Робот находится в левом верхнем углу прямоугольной области неизвестного размера, со всех сторон окруженной стенками. Посередине находится стена, в которой есть проход. Где он, точно неизвестно, но проход не примыкает к нижней стенке. Задача: написать программу, которая переведет робота в правый нижний угол. Файл среды.
- См. также ОГЭ: вопрос 20.1.
- См. также ЕГЭ: вопросы 6, 14.
Copyright © 1993–2022 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.
Источник
Знакомство с языком и системой КуМир путем решения задач С2
Знакомство с языком и системой КуМир путем решения задач С2
Настоящая короткая инструкция адресована читателям, имеющим практический опыт решения нескольких десятков простейших задач по программированию на каком-нибудь языке программирования.
Предполагается, что читатель хочет с минимальными затратами времени научиться решать на школьном алгоритмическом языке в системе КуМир, задачи, подобные задачам С2-С6 демоверсии компьютеризированного ЕГЭ. Эта демоверсия опубликована на сайте МИОО: На том же сайте сказано, как загрузить систему КуМир (версия для ЕГЭ) для операционных систем типа MS Windows и Linux . Ниже мы будем обсуждать только те понятия, конструкции и команды школьного языка и системы КуМир, которые нужны при решении задач типа С2-С3. В частности, все программы ниже будут состоять из одного алгоритма без параметров. В условиях задач С2-С6 не предусмотрена какая-либо работа с файлами. Предписывается вводить информацию с клавиатуры и выводить ее на экран. Дополнительно требуется, чтобы каждая порция вводимой или выводимой информации размещалась на отдельной строке и обрабатывалась одной командой ввод или вывод .
Вывод значения величины х в отдельную строку производится в командой
где нс означает н овая с трока.
Ввод значения величины х производится командой
по этой команде в окне ввода/вывода подсвечивается строка, в которую будет направлено эхо ввода и система КуМир ожидает посимвольного ввода значения величины, завершаемого нажатием клавиши Enter .
Итак, загружаем КуМир и, согласно инструкции, запускаем версию КуМира для ЕГЭ. Мы увидим следующую картинку.
В верхней строке с иконками команд, правее крестика, должно быть пусто. Если правее крестика Вы увидели три желто-зеленые иконки, то Вы запустили полный КуМир, с Роботом и Чертежником, которые Вам не нужны. Перечитайте инструкцию и запустите версию КуМир для ЕГЭ. Размеры трех областей, которые мы видим при первом появлении окна КуМира на экране, для задач С2-С6 неудобны. Их нужно изменить. Для этого нужно «схватить» мышкой нижний край окна (под словом Редактирование) и уменьшить высоту окна, затем «схватить» мышкой правый край окна и уменьшить ширину и наконец, нужно подвинуть границы между тремя областями окна так, чтобы получилась картинка примерно такой формы и размера:
Начнем с задачи С2, в которой нужно подсчитать количество различных значений среди модулей трех введенных с клавиатуры целых чисел a , b , c .
Условие и решение задачи C 2
С2. Составить программу, которая вводит с клавиатуры три целых числа a, b,c (каждое число – отдельной командой «ввод»), заменяет каждое из этих чисел на его модуль и выводит на экран количество различных среди полученных трех чисел. Ничего, кроме этого количества, программа выводить не должна. Например, если все числа равны, программа должна выводить число 1 . При использовании системы Fr ee Pascal для представления целых чисел используйте тип LongInt .
Указание. Модуль целого числа можно вычислить следующим образом:
Пояснение. Ответом в этой задаче является программа, записанная на школьном алгоритмическом языке или языке Free Pascal. Эта программа должна быть подготовлена и проверена в среде программирования КуМир или Free Pascal и сохранена в одном файле средствами среды программирования. Далее этот файл должен быть загружен в экзаменационную работу средствами системы КТС ЕГЭ.
Не забудьте загрузить в Вашу экзаменационную работу файл с подготовленной Вами программой.
Важное замечание. В КуМире имена переменных можно писать русскими буквами, а можно и латинскими. Какой способ удобнее? При решении задач С2-С6 удобнее всего установить латинский нижний регистр и давать переменным однобуквенные имена, тем более, что в условиях задач уже используются имена: a , b , c , n . Чтобы поменьше переключать регистр при наборе ключевых слов на русском языке, используйте клавишу Alt: пока эта клавиша удерживается в нажатом положении, текущий латинский регистр становится русским (и наоборот).
Алгоритм решения задачи С2 назовем С2 (заглавная латинская буква С). КуМир для ЕГЭ настроен так, что латинские буквы в именах изображаются курсивом, поэтому в тексте программы латинские буквы можно отличить от схожих по начертанию русских. Сохранять программу будем в файле C 2.kum
Начнем составление алгоритма. В начале алгоритма, после слова нач, опишем целые переменные a , b , c
далее напишем команды ввода значения этих переменных с клавиатуры. Как требуется в условии задачи, каждое значение введем отдельной командой:
Далее, следуя указанию по программированию из условия задачи, добавим команды, заменяющие каждое число на его модуль, и выполним получившуюся программу, нажав клавишу F9
В окне ввода/вывода внизу появляется желтая строка, в которую будет производиться ввод цифр первого числа. В нижней части обрамления окна система выводит сообщение Ожидается ввод: цел. Ввод цифр целого числа должен быть завершен нажатием клавиши Enter . Введем единственую цифру первого числа 1 и нажмем клавишу Enter , аналогочно введем числа -1 и 2. Программа завершит работу:
На полях программы, справа от ее текста, система КуМир показывает результаты выполнения команд ввод в строках 3,4,5 и результаты присваиваний в строках 6,7,8. И на полях строк 3,4,5 и в окне ввода/вывода видно, что были введены три числа 1 -1 2 . Однако на полях строк 6,7,8 почему-то показано, что все три числа стали равны 1 . Почему же число c оказалось равным 1 , а не 2 ? «Элементарно, Ватсон»: на место строки 8 мы скопировали строку 6, собираясь затем поменять в ней в двух местах букву a на букву c . После этого мы изменили первую букву а , но забыли изменить вторую и получилась ошибочная команда
Исправим эту ошибку и попробуем дописать в конец алгоритма команду, вычисляющую количество различных среди чисел a , b :
Технические замечания. 1) Хотя в меню вставка есть макрокоманды по вставке управляющих конструкций, в данном случае удобнее набрать ключевые слова конструкции вручную, разместив их в одной строке.
2) В процессе редактировании строки, до момента окончания редактирования строки, КуМир не производит перепроверку программы. Эта перепроверка запускается после «покидания» строки курсором.
Уводим курсор из редактируемой строки номер 9 и смотрим, что получилось. КуМир сообщает, что в строке 9 найдены три ошибки типа «Величина или алгоритм не описаны»:
Какие именно величины не описаны, показано в строке 9 тремя красными подчеркиваниями. Во-первых, подчеркнута, русская буква а, ее нужно исправить на латинскую а. Кроме того, мы забыли описать величину k .
Исправляем эти ошибки и пока [1] КуМир переразбирает программу, думаем, что еще осталось сделать. Величина k показывает, сколько различных среди первых двух чисел a и b . Сравним третье число c числом а, затем с числом b . Если c не совпадает ни с a ни с b , то при переходе от набора чисел
a b к набору a b c количество различных чисел увеличивается на 1. Если же число c совпадает с одним из первых двух чисел, то добавление числа c к набору a b количества различных чисел не меняет. Эти длинные словесные объяснения записываются в алгоритме очень коротко:
Для завершения программы осталось вывести вычисленный ответ k в отдельной строке вывод k , нс:
Запустив программу для входных данных 1 1 1 , получим правильный ответ 1:
Запуская программу еще на нескольких наборах входных данных, убеждаемся, что она работает правильно:
Убедившись в правильности программы, необходимо сохранить ее, а затем включить файл C 2. kum в экзаменационную работу средствами системы КТС ЕГЭ.
[1] Для коротенькой программы переразбор происходит мгновенно. Для очень длинной программы на не очень новом компьютере переразбор может занять несколько секунд. Зеленый сигнал светофора показывает, что переразбор закончен. Для коротких программ на светофор можно не обращать внимания.
Источник
Система подготовки обучающихся к ОГЭ по информатике на примере решения задач по алгоритмизации в среде «КУМИР»
Гребнева Татьяна Васильевна,
учитель информатики
МБОУ г. Мурманска СОШ № 33
Задание 15.1 Разработка алгоритма для учебного исполнителя «Робот»
Задание 15.1
- Традиционно заключается в разработке алгоритма для учебного исполнителя «Робот». Описание команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку, также оно дано в тексте задания.
- Формулировке задания предшествует описание команд исполнителя и синтаксиса записи алгоритмических конструкций ветвления и цикла, поэтому задание может быть выполнено даже теми школьниками, которые не знакомы с используемым синтаксисом языка, но владеют основами алгоритмизации.
- На бесконечном поле имеются стены, которые робот должен обойти, закрасить нужные клетки и не разбиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
- Учащиеся записывают алгоритм в текстовом редакторе и сохраняют в текстовом файле.
Основные ошибки при выполнении задания 15.1
- Представленные алгоритмы решения работают только в частных случаях.
- Использование цикла «n раз» вместо цикла «пока».
- Использование конструкций ветвления вместо конструкции цикла.
- Представлены линейные алгоритмы решения.
- Происходит «зацикливание» (алгоритм не завершается).
- Закрашены лишние клетки.
- Закрашена лишняя клетка / Не закрашена нужная клетка.
- Столкновение со стеной (Робот разбивается).
- Алгоритм содержит бесконечные циклы.
- Некорректное использование операторов цикла – отсутствует начало цикла (НЦ) или конец цикла (КЦ).
Проблема
Большая часть затруднений учащихся связана с недостаточностью умений смыслового чтения :
- представленные алгоритмы решения работают только при конкретных размерах коридора;
- робот закрашивает клетки, например, слева от стены, а не справа;
- алгоритм работает только для конкретной обстановки.
По-прежнему учащиеся показывают недостаточные умения в использовании конструкции цикла «ПОКА» с условием :
- путают с конструкцией ветвления «ЕСЛИ» или неверно указывают условие выхода из цикла.
Пример формулировки задания 15.1
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм,
- закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены.
- Проход должен остаться незакрашенным.
- Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Важно учитывать:
- При исполнении алгоритма Робот не должен разрушиться.
- Выполнение алгоритма должно завершиться .
- Конечное расположение Робота может быть произвольным.
- Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.
- Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Правильное решение:
Правильное решение:
- Любое правильное решение этой задачи обязательно должно содержать не менее 7 циклов «пока», перемещающих робота вдоль стен.
- Если такие циклы в алгоритме отсутствуют, то задание решено неверно и оценивается в 0 баллов.
Критерии оценивания:
Разбор возможных ошибок
Ошибка № 1 : ширина прохода ровно 1 клетка
За такое решение: 0 баллов .
Ошибка № 2 : цикл n раз
За такое решение: 0 баллов .
Ошибка № 3 : ветвление вместо цикла
За такое решение: 0 баллов .
Ошибка № 4 : линейный алгоритм
За такое решение: 0 баллов .
Ошибка № 5 : Задача решена, но при возвращении в исходную позицию произведена проверка препятствия сверху
За такое решение: 0 баллов .
Здесь надо помнить, что поле Робота бесконечно !
Поэтому произойдёт зацикливание последнего цикла.
Если в условии задачи не указано конечное расположение Робота, а учащийся возвращает его в исходную позицию, то это за ошибку не считается (п ри условии корректной остановки).
Ошибка № 6 : Закрашены лишние клетки
Здесь надо помнить, что по условию поле Робота бесконечно и ширина прохода может быть бесконечно большой !
Поэтому в результате увеличения ширины прохода будет закрашено более 10 клеток.
За такое решение: 0 баллов .
Ошибка № 7 : Закрашена лишняя клетка/ Не закрашена нужная клетка
Данное решение на 1 балл :
- Робот не разбивается;
- закрашено не более 10 лишних клеток;
- не закрашено не более 10 клеток, которые должны быть закрашены.
Ошибка № 8 : Столкновение со стеной
ОШИБКА ВЫПОЛНЕНИЯ:
Робот — нельзя сквозь стену ( 8061 )
За такое решение: 0 баллов .
Правильное решение:
Рекомендации по проверке задания 15.1
Задание 15.1
- Представление в задании команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку.
- Использование свободно распространяемой среды учебного исполнителя, например, среду Кумир (сайт http:// www.niisi.ru/kumir ) или другую среду с аналогичными возможностями исполнителя «Робот».
- Синтаксис команд используемой среды может отличаться от синтаксиса, описанного в условии.
- Результатом выполнения является файл, подготовленный в среде учебного исполнителя , содержащий запись алгоритма, являющегося решением задания или текстовый файл , содержащий запись алгоритма.
Рекомендации по оцениванию
- Завершает ли работу проверяемый алгоритм (то есть верно ли, что алгоритм не содержит бесконечных циклов)?
- Остается ли робот цел в результате исполнения алгоритма (то есть верно ли, что Робот не разрушается от столкновения со стеной)?
- Полностью ли Робот выполняет поставленную задачу, то есть закрашивает все требуемые клетки .
Если ответы утвердительные на все вопросы, то есть алгоритм всегда заканчивает свою роботу , Робот не разрушается при исполнении алгоритма и полностью выполняет поставленную в условии задачу, то задание оценивается в 2 балла.
Источники
Система программирования КуМир
https://www.niisi.ru/kumir/books.htm
К.Ю. Поляков Кумир для подготовки к ОГЭ. Практикум
http://kpolyakov.spb.ru/school/kumir.htm
Программирование в системе Кумир
https://sites.google.com/site/fakultativinformatika/
Денис Кириенко (Архив с курсом заданий для практикума)
http://server.179.ru/wiki/?page=DenisKirienko/Kumir
https://server.179.ru/wiki/?show_files=1&page=Denis_Kirienko/Kumir#header-files
Удалова Т.Л. (Варианты для Робота)
http://licey.net/free/18-programmirovanie_na_yazyke_kumir/70-sistema_programmirovaniya_kumir.html
«Информатика. Кумир» Удалова Т.Л.
https://books.google.ru/books?id=CdAqevFDPa4C&printsec=frontcover&hl=ru#v=onepage&q&f=false
Величина или алгоритм не описаны 4113 нет такого алгоритма 2702
Запущенная программа Кумир выглядит так.
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Таким образом, программа станет выглядеть так:
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
Но перед началом, нам необходимо задать стартовую обстановку Робота и познакомиться с простыми командами исполнителя Робот.
Стартовая обстановка Робота
Перед началом выполнения программы необходимо задать исполнителю Робот стартовую обстановку . Это значит установить Робота в нужную позицию, расставить стены, закрасить нужные клетки и т. п. Этот шаг очень важен. Если его проигнорировать, то программа может работать неправильно или вообще завершится аварийно.
Что такое стартовая обстановка?
Наш Робот находится в некой среде — это клетчатое поле, размер которого известен. Так же на этом поле могут находится стены и закрашенные клетки, а сам Робот может находится в любой клетке. Так вот — стартовая обстановка задает положение Робота на поле и расположение всех остальных элементов — стен, закрашенных клеток. И перед тем, как писать алгоритм для Робота необходимо задать стартовую обстановку. Насколько это важно давайте рассмотрим на примере. Пусть есть две стартовые обстановки:
Отличаются они только тем, что в стартовой обстановке 2 справа от Робота находится стена.
Если наша программа начнется с команды, которая переместит Робота на одну клетку вправо (о простых командах Робота), то в первом случае (стартовая обстановка 1) Робот выполнит эту команду, а во втором программа завершится аварийно, так как Робот не может ходить сквозь стены. Получается, что одна и та же программа в первом случае работает, а во втором приводит к ошибке. Именно поэтому так важно задавать стартовую обстановку для Робота.
Как задать стартовую обстановку?
Запустив среду Кумир в меню Инструменты выбираем пункт Редактировать стартовую обстановку Робота
Откроется окно с синим фоном. Это и есть стартовая обстановка Робота. И мы ее можем изменить.
По-умолчанию, размер окна 10 на 15 клеток. Если нам необходимо изменить количество строк и столбцов, то щелкаем Обстановка -> Новая обстановка и задаем необходимые значения
- чтобы переместить Робота в новую позицию, щелкаем по нему левой кнопкой мыши и не отпуская ее тащим Робота в нужное место.
- чтобы добавить/удалить стену, щелкаем левой кнопкой мыши по границе клетки.
- чтобы закрасить/очистить клетку, щелкаем по ней левой кнопкой мыши
- чтобы добавить или убрать точку в клетку щелкаем по клетке, удерживая клавишу Ctrl
После того, как мы задали нужную стартовую обстановку, ее необходимо сохранить ( Обстановка -> Сохранить или Обстановка -> Сохранить как). После этого закрываем окно Обстановка и в основном окне программы выбираем Робот -> Сменить стартовую обстановку
Находим сохраненную ранее обстановку и загружаем ее. После этого убедимся, что загрузили правильную стартовую обстановку, щелкнув по кнопке Показать окно Робота
Если в окне с зеленым фоном (текущая обстановка Робота) вы увидите вашу обстановку, то можно переходить к написанию алгоритма, используя простые команды Робота.
Исполнитель Робот. Простые команды.
У нашего Робота тоже есть система команд. Сегодня мы рассмотрим простые команды Робота. Всего их 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. Можно ли учесть это при создании цикла? Конечно. Только теперь мы будем использовать не счетчик (количество повторений), а условие. К примеру, пока не устал, делай приседания. В этом случае человек будет делать не конкретное число приседаний, а приседать до тех пор, пока не устанет. И наш цикл на абстрактном языке примет такой вид:
Слова не устал в нашем случае — это условие. Когда оно истинно, цикл выполняется. Если же оно ложно (устал) тело цикла не будет выполнено. У исполнителя Робот есть несколько условий
Теперь давайте решим следующую задачу для Робота — нарисовать вертикальную линию от левой до правой границы поля использую цикл с условием. Изначально Робот находится в левом верхнем углу.
Давайте сначала сформулируем словесный алгоритм — т. е. опишем словами что нужно делать Роботу. Этот алгоритм будет звучать примерно так:
« Пока справа свободно делай шаг вправо и закрашивай клетку»
В результате Робот пробежит по всем клеткам вправо и будет их закрашивать до тех пор, пока справа не окажется стена.
Исходный код нашей программы для Робота будет примерно такой:
В результате выполнения этой программы мы увидим вот такую картину:
Как видим, не хватает только закрашенной первой клетки. Для этого перед циклом необходимо выполнить команду закрасить.
Для закрепления прошу написать программу, которая будет делать рамку вокруг рабочего поля Робота независимо от его размера. Конечно же с использованием циклов с условием. В итоге должно получиться так:
Источник
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа ( цел , вещ , сим , лит , лог ), после которого следует имя (или список имен) величины. Например,
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
В первой строке описывается таблица рост , состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы , в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
- цел длина, ширина
- алг
- нач
- Команды алгоритма
- вещ диагональ
- | Область действия описания величины диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Как в кумир исправит строка вне алгоритма
По традиции первой программой на изучаемом языке программирования становится программа вывода строки «Hello, World!». Хотя КуМир чаще всего воспринимают как среду программирования для исполнителей Робот и Чертежник, не будем отступать от общего правила, и напишем программу вывода строки приветствия, но в русском переводе.
Итак, наша задача: написать программу, которая выводит строку «Привет, Мир!».
Итак, запускаем среду КуМир, в окне кода должен уже появиться шаблон для программы:
Давайте разбираться. Первая строка » использовать Робот » закомментирована, на это указывает символ » | » и серый цвет шрифта.
» | » — знак комментария, т.е. строка, в начале которой стоит этот символ, не воспринимается системой программным кодом. Но только одна строка.
алг, нач, кон — служебные слова, значение которых очевидно: алгоритм, начало, конец. Они служат для оформления программы. Часть алгоритма до служебного слова нач называют заголовком, а часть между нач и кон — телом программы. Можно вспомнить, что в языке Паскаль имеется похожая структура, а именно
program
.
begin
.
end.
Называем программу «первая_программа» и вводим между нач и кон следующую строку вывод «Привет, мир!»
Все, программа написана, можно ее запустить, что мы и делаем, после чего видим следующее:
Давайте разберем все детально. Как видите из рисунка, название программы выделяется синим цветом. Интересно, что система КуМир лояльно отнеслась к тому, что наше название состоит из двух слов. Однако, настоятельно рекомендую называть программу одним словом. Если хотите иметь название из двух или более слов, то ставьте между этими словами знак подчеркивания, т.е. «_». Другие языки программирования не допускают в названии программ пробелов.
Далее, команда вывод предназначена для вывода информации в поле вывода (см. рисунок). Запуск программы осуществляется активной на рисунке кнопкой на панеле инструментов системы, видна всплывающая подсказка.
О назначении копок на панеле инструментов следует сказать немного подробнее.
О первой («Выполнить непрерывно») мы уже сказали. Следующаяя служит для запуска программы без показа на полях. Третья из «запускаемых» конопок — ШАГ, т.е. при нажатии на нее выполняется одна строка программы. И последняя «Выполнить до конца алгоритма» служит для того, чтобы в любой момент при пошаговом выполнении, заставить выполняться программу до конца.
Остальные кнопки на панеле не будем описывать, так как их назначение легко понять по всплывающим подсказкам. Заметим, что среда КуМир разбита на три части: поле программного кода, справа от которого находится поле для вывода результата выполнения каждой команды, а ниже находится поле вывода, в котором отражается информация о времени начала и конца выполнения программы, а также результат работы программы.
Теперь несколько изменим наше программу, введя переменные. Организуем диалог с системой: программа спрашивает наше имя, которое мы вводим с клавиатуры, после чего система приветствует нас и представляется нам. Вот так система просит ввести нас свое имя, которое мы и вводим.
Здесь мы уже имеем в названии программы одно слово (создали заменой пробела на знак подчеркивания). В программе использованы служебные слова и команды лит , вывод , ввод , нс . Разберем их назначение.
В КуМире используются несколько типов данных:
- цел — принимает целые значения от -2147483647 до 2147483647
- вещ — принимает вещественные значения между −21023 и 21023
- лог — принимает значения да или нет (внутреннее представление – да=1, нет=0)
- сим — значением может быть любой литеральный символ (практически любой символ)
- лит — значением может быть строка литеральных символов
Мы использовали тип литерный для переменной имя . В системе КуМир разрешено написание имен переменных кириллицей.
Команда вывод выводит в окно вывода строку «Как тебя зовут? «. Здесь мы применили кавычки, хотя нужно использовать верхний апостроф, так как кавычки работают только при выводе текста-константы, при попытке организовать вывод в одной строке текста-константы и значения переменной, будет сообщение об ошибке. Так что используйте верхний апостроф.
После выполнения этой команды система предлагает ответить на вопрос «Как тебя зовут?». Выполнение программы остановлено до тех пор, пока пользователь не введет литерную строку (свое имя) и не нажмет Enter. Обратите внимание, что после знака вопроса в строке стоит пробел. Если его не будет, то после знака вопроса и введенным именем пробела не будет. Хотя это не играет особой роли, но старайтесь писать программы так, чтобы результаты выводились в правильном виде.
Ввод строки с именем организуется командой ввод . После нажатия на Enter введенная строка будет значением переменной имя . После этого формируется строка, которая выводится в окно вывода. Если говорить подробно, то это выглядит так: выводится «Привет » (с пробелом в конце), после чего выводится значение переменной имя , а затем и «!». Обратите внимание, что между константами и переменными стоят запятые. В конце строки стоит нс (новая строка). На следующей строке выводится сообщение «А я — система КуМир». Общий вид показан на рисунке.
Здесь мы уже исправили свои неточности: в первой команде вывода заменили кавычки апострофами, убрали ненужный пробел после восклицательного знака. Правда забыли поставить запятую, но пусть это останется на нашей совести.
Подведем итоги. Сегодня мы изучили правила написания программы на алгоритмическом языке КуМир, познакомились со служебными словами и командами алг , нач , кон , ввод , вывод , нс , лит , а также правилами их использования. т.е. получили начальные сведения по синтаксису языка.
Мы пока обошлись без дано , надо , которые должны быть в заголовке. т.е. до нач . О их применении поговорим в следующий раз.
Задание : Если вы еще не устали, то предлагаем опытным путем разобраться в вопросе о соединении строк, т.к. конкатенации. Каким образом можно соединить две или более строки.
Основные понятия и команды в программе КУМИР
Программа на языке КуМир в простейшем случае состоит из нескольких алгоритмов, следующих один за другим.
Алгоритмы в программе должны располагаться вплотную друг к другу, между ними могут быть только пустые строки и строки с комментариями.
Разработчики языка «КуМир» преследовали цель создать простой язык для начального курса информатики, отвечающий современной технологии программирования и допускающий производственное использование. За основу был взят школьный алгоритмический язык.
В разных языках программирования такие единицы называются по-разному, в КуМире такая единица называется «Исполнитель».
Переменная – именованная область памяти, используемая для хранения значения, которое можно изменить при выполнении программы.
Константа – именованная область памяти, используемая для хранения фиксированного значения, которое невозможно изменить при выполнении программы.
ОБЩИЙ ВИД ОПИСАНИЯ АЛГОРИТМА
алг имя_алгоритма тип_алгоритма
- даноусловие_применимости алгоритма
- надоцель_выполнения_алгоритма
последовательность команд
Описание алгоритма состоит из:
Заголовка (часть до служебного слова нач )
Тела алгоритма (часть словами нач и кон )
алг имя_алгоритма
тело алгоритма
ТИПЫ ВЕЛИЧИН ИСПОЛЬЗУЕМЫХ В ПРОГРАММЕ
Типы величин
Как пишутся в программе
Пример описания
Вещественные
1 2 3 4 и т.д.
В записи имен переменных могут быть использованы любые символы русского и латинского алфавита, а так же цифры. Имя не должно начинаться с цифры. На длину имен в системе КуМир строгих ограничений не накладывается, но для удобства редактирования и во избежание переполнения строк переменным и алгоритмам не стоит давать слишком длинные имена. Обычно имя подбирается так, чтобы можно было понять, для чего предназначен алгоритм. При редактировании программ также следует помнить о том, что русские и латинские буквы, сходные по написанию, различаются ЭВМ. Например, если при описании переменной с именем А пользователь набрал «А» на латинском алфавите, а в тексте алгоритма пытается обратиться к этой переменной, набирая ее имя на русском алфавите, то в данной строке на «полях» появится сообщение «имя не определено».
Арифметические операции и стандартные функции для работы с числами
Название операции
Как пишутся в программе
Возведение в степень
Присваивание
б Меньше или равно a Больше или равно a=б » width=»640″
ОПЕРАЦИИ СРАВНЕНИЯ ЧИСЕЛ
Название операции
Как пишутся в программе
Меньше или равно
Больше или равно
ВСТРОЕННЫЕ ФУНКЦИИ
SIN (X) COS (X) TG (X) EXP (X) LN (X) ABS (X) SQRT (X) MOD (A, B) INT (X) ПИ
синус х косинус х тангенс х экспонента х (е х ) натур. логарифм х модуль х корень квадратный х остаток от деления (А на В) целая часть числа число «пи» — 3,14159
вещ вещ вещ вещ вещ вещ вещ вещ, цел вещ вещ
вещ вещ вещ вещ вещ вещ вещ цел цел без аргум
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Вначале алгоритма объявляются перемен-ные и константы , которым будут присваи-ваться значения необходимые для расчетов
вещ а, р
Сколько величин участвует в работе программы — столько и должно быть объявлено их вначале.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Например команда:
Вывод “введите сторону квадрата”
в процессе работы программы будет отображаться в нижнем окне:
ВЫВОД диалога
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Например команда:
после нажатия клавиши Enter будет отображена в правом окне,
ВВОД данных
то есть в буфере обмена (в памяти) программы.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Например команда:
это ПРОЦЕСС, читается так: значению р присваивается переменная а умноженная на число 4
Выполнение операций
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Например команда:
вывод “периметр =” , р
в процессе работы программы будет отображаться в нижнем окне,
ВЫВОД данных
то есть будет выводиться результат работы программы.
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
если условие
- тосерия 1
- иначесерия 2
если условие
- тосерия 1
нц число повторений раз
- тело цикла
Ветвление бывает полное и неполное.
Цикл с предусловием (цикл пока) — цикл, выполнение которого повторяется, пока истинно условие цикла. Служебные слова НЦ (начало цикла) и КЦ (конец цикла)пишутся строго одно под другим и соединяются вертикальной чертой. Правее этой черты записывается повторяемая последовательность команд (тело цикла).
Цикл с параметром (цикл для) — повторное выполнение тела цикла, пока целочисленный параметр пробегает множество всех значений от начального ( i1 ) до конечного ( in ):
нц пока условие
- тело цикла
КОМАНДЫ АЛГОРИТМИЧЕСКОГО ЯЗЫКА
Служебное слово ( новая строка ) указывает ЭВМ, что информация должна выводиться на новую строку.
-80%
KumirL
Здесь описаны основные возможности системы КуМир (часть 1) и языка Кумир (часть 2). Знания этих возможностей достаточно для того, чтобы пройти тестирование. Полное описание возможностей системы КуМир приведено в файле system.pdf, языка КуМир – в файле manual.pdf; файлы находятся в каталоге KumirKumirHelp поставки системы КуМир. Полное описание доступно и из меню Инфо->«Язык и система Кумир» самой системы.
Часть 1. Система Кумир
1 Окно системы Кумир Окно системы Кумир выглядит так:
Вверху окна расположены заголовок окна, главное меню и панель инструментов; снизу — строка состояния. Строка состояния используется для вывода сообщений, показа положения курсора, состояния системы и т. п.
Окно разбито на две основные области: рабочую область (вверху) и область ввода-вывода (внизу). В рабочей области располагается программа, с которой работает система Кумир. Эта область делится на две части: область
программы (слева) и область построчных сообщений (справа). Область по-
строчных сообщений аналогична полям в ученических тетрадях. В эту область при подготовке программы выводятся сообщения об ошибках, найденных в каждой строке, а при выполнении — сведения о значениях переменных, присваиваемых в строке (см. ниже рис. 3).
Как по горизонтали, так и по вертикали виртуальный размер всех текстов не ограничены, поддерживается прокрутка. Границы между областями окна можно передвигать мышкой.
Окно можно свернуть-развернуть, сжать-растянуть, передвинуть и т. п.
2. Состояния системы Кумир
У системы Кумир есть четыре возможных состояния:
· РЕДАКТИРОВАНИЕ: происходит подготовка программы, выполнения нет.
· ВЫПОЛНЕНИЕ: происходит выполнение программы, редактирование текста программы запрещено.
· АНАЛИЗ результатов: выполнение завершено, однако все сообщения программы доступны для наблюдения и анализа; по любому действию в области программы, система переходит в состояние РЕДАКТИРОВАНИЕ, а сообщения сбрасываются. Система приходит в состояние АНАЛИЗ после окончания выполнения программы (нормального или аварийного).
· ПАУЗА: выполнение программы приостановлено, но может быть продолжено; редактирование текста программы запрещено. В состояние ПАУЗА система переходит в случае остановки во время выполнения (при вызове встроенной функции «пауза» или после очередного шага при выполнении программы по шагам), см. рис.2.
Рис.2 Окно системы КуМир в состоянии ПАУЗА
3. Главное меню Системы КуМир.
Меню «Программа» содержит следующие пункты:
Эти пункты имеют стандартный для современных оконных систем смысл и обеспечивают работу с файлами, в которых хранятся Кумирпрограммы, эти файлы имеют расширение .kum.
Меню «Редактирование» содержит следующие строки:
Первые шесть строк имеют стандартный смысл и могут быть выполнены с помощью стандартных аккордов, для них (кроме Найти и заменить.) предусмотрены инструментальные кнопки.
Команда «Закомментировать» добавляет знак комментария | в начало каждой выделенной (хотя бы частично) строки. Команда «Раскомментировать» удаляет знак комментария из начала каждой выделенной строки. Если в начале выделенной строки не было знака комментария, то содержимое этой строки не меняется. Для команд «Закомментировать» и «Раскомментировать» предусмотрены инструментальные клавиши.
Для того, чтобы набрать знак комментария при кириллической раскладке можно набрать аккорд Alt+!.
С помощью этого меню в текст программы можно вставлять заготовки основных алгоритмических конструкций.
Меню «Выполнение» содержит следующие строки:
· Выполнить непрерывно – начинает (при состоянии системы РЕДАКТИРОВАНИЕ или АНАЛИЗ) или продолжает (при состоянии системы ПАУЗА) выполнение программы. Программа выполняется
.непрерывно., т. е. без остановок между шагами. Выполнение программы может быть завершено (нормально, аварийно или по команде « Прервать» ) или приостановлено, если в ходе выполнения будет выполняться команда ввод, либо встроенная функция «пауза». Во время выполнения на поля выводятся вычисляемые значения величин и условий, см. рис.3
· «Непрерывно без показа на полях» – аналогично «Выполнить непре-
рывно» — но без вывода на поля вычисляемых значений величин и условий.
· «ШАГ» – Выполняет один ШАГ программы и переходит в режим ПАУЗА. Выполнение команды вызова алгоритма-процедуры трактует как один «ШАГ» . При запуске в состоянии РЕДАКТИРОВАНИЕ и АНАЛИЗ останавливается перед выполнением алг-строки основного алгоритма. Строка, которая будет выполняться, выделяется цветом.
· «шаг» – аналогично команде «ШАГ» . Отличие состоит в обработке команды алгоритма-процедуры и вычислении значения алгорит- ма-функции (если они есть в основной программе). В этих случаях очередным шагом будет выполнение строки-заголовка вспомогательного алгоритма. В дальнейшем команда «шаг» или «ШАГ» приведет к выполнению очередной команды внутри выполняемого вспомогательного алгоритма.
· «До конца алгоритма» – допускается использование только в состоянии ПАУЗА. Программа выполняется непрерывно, но останавливается на первой встретившейся строке кон (как будто перед ней стоит вызов функции пауза).
· «Прервать» – прерывает выполнение программы. Допускается ис-
пользование только в состояниях ВЫПОЛНЕНИЕ и ПАУЗА.
Для всех этих пунктов предусмотрены аккорды и инструментальные кнопки.
Меню «Инфо» содержит следующие строки:
«Величины» – это таблица содержит все величины, используемые в программе. Таблица является актуальной в каждый момент времени — так, если выполнение программы проходит при открытой таблице величин, то данные в таблице обновляются динамически.
«Алгоритмы» – список доступных алгоритмов (включая алгоритмы пользователя).
«Ключевые слова» – список ключевых слов языка КуМир.
«Язык и система КуМир» – полное описание языка КуМир и системы КуМир;
4. Использование области ввода-вывода В начале выполнения программы в поле ввода вывода выводится стро-
ка-заголовок вида (см. рис.3):
> 16:39:48 — Новая программа* — Начало выполнения
Далее под этой линией появляются все сообщения, выводимые программой (включая эхо ввода, см. ниже). В конце работы программы выводится итоговая строка и линия-разделитель. Предусмотрено 3 вида заключительной строки:
Команды исполнителя робот
Отдельное указание (предписание) исполнителю, чтобы он выполнил какое-то конкретное действие, называется командой исполнителя. Из команд, которые понимает исполнитель, складывается система команд исполнителя (СКИ).
Система команд исполнителя Робот достаточно проста и не требует большого времени для освоения. В его систему команд входят команды перемещения, команда, закрашивающая клетку, а также команды, позволяющие реализовать три основных типа алгоритмических конструкций. Кроме того, исполнитель Робот понимает три базовых логических операции.
На данной странице рассматриваются команды исполнителя робот, который используется в заданиях ОГЭ по информатике и при изучении алгоритмизации в школьном курсе.
Начать работу со стандартным Исполнителем Робот можно перейдя по ссылке. Прочитать подробнее о работе с исполнителем можно на странице «Исполнитель робот».
Команды, перемещающие робота
Для перемещения робота служат четыре команды.
ВВЕРХ
ВЛЕВО
ВПРАВО
Команды проверки
СЛЕВА СВОБОДНО
СПРАВА СВОБОДНО
СВЕРХУ СВОБОДНО
СНИЗУ СВОБОДНО
Цикл «ПОКА»
В стандартных задачах для робота обычно указывается, что длина стен и проходов между стенами неизвестна. Деление поля на клетки в таком случае становится достаточно условным и мы заранее не можем знать сколько шагов роботу потребуется, чтобы пройти клетку целиком.
Рассмотрим следующее задание:
Робот стоит слева от стены и ему необходимо добраться до стены, находящейся справа. Так как мы не знаем сколько команд «направо» должен выполнить робот, чтобы оказаться возле стены, нам необходимо будет воспользоваться циклом.
Простейшим вариантом цикла является цикл с условием, который описывается с помощью трех ключевых слов:
Ключевое слово «ПОКА» ставится сразу после «НЦ». После «ПОКА» используется одна из команд проверки, описанных выше.
В нашем случае мы дадим задание роботу, чтобы он проверял в цикле, свободно ли место справа от него. Внутри циклической конструкции мы зададим всего одну команду — «вперед». Цикл будет выполняться пока условие «справа свободно» будет истинным. Когда робот дойдет до стены, цикл остановится.
Данную конструкцию можно написать и в одну строчку:
Логические операции
«НЕ», стоящее перед командой проверкой, меняет её значение на противоположное. Если результат команды проверки истинен, то стоящая перед ней «НЕ» поменяет результат на ложный, и наоборот.
«НЕ» следует ставить перед командой проверкой, но не внутри нее. Например, «справа не свободно» будет неправильным написанием, а «не справа свободно» — правильным.
Робот стоит возле стены и ему необходимо пройти вдоль стены вверх до тех пор, пока она не кончится.
В данном случае мы будем проверять в цикле наличие стены справа с помощью составной конструкции «не справа свободно». Можно сказать, что мы будем двигаться вверх, как бы держась правой рукой за стену.
Круглые скобки
Закрашивание клеток
ЗАКРАСИТЬ
Условие
ЕСЛИ . ТО . ВСЕ
Условия используют, чтобы определить, следует ли выполнять ту или иную команду или последовательность команд.
Робот стоит возле стены. В стене есть проход. Сверху тоже есть стена. Длины стен и прохода неизвестны. Нам необходимо закрасить клетки, помеченные лиловым цветом.
Мы можем двигаться вверх пока сверху свободно и красить клетки, но вот красить клетку возле прохода в стене нам не надо. Создадим условие, чтобы красить только те клетки, которые находятся возле вертикальной стены. Напишем программу, в которой внутри цикла используем наше условие. В конце программы поставим еще одну команду «закрасить», чтобы закрасить клетку, в которой остановится робот.
Вложенные конструкции
Алгоритмические конструкции могут быть вложенными друг в друга. В предыдущем примере мы рассмотрели условие, вложенное в цикл.
Вложенными могут быть циклы. То есть один цикл может находиться внутри другого цикла.
Условия могут также быть вложенными одно в другое.
Допускаемое количество вложенности зависит от реализации языка программирования, но в любом случае оно исчисляется десятками.
Содержание
- Описания простых величин
- Описания таблиц
- Область действия описаний
- Знакомство с языком и системой КуМир путем решения задач С2
- Типы величин
- Понятие «слово»
- Ключевые слова
- Особенности имен в языке КуМир
- Вопросы для самопроверки
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа ( цел , вещ , сим , лит , лог ), после которого следует имя (или список имен) величины. Например,
- цел длина, ширина
- лит примечание
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
- вещтаб рост[1: 10]
- цел таб классы [1:4, 1:11]
В первой строке описывается таблица рост , состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы , в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
- цел длина, ширина
- алг
- нач
- Команды алгоритма
- вещ диагональ
- | Область действия описания величины диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Знакомство с языком и системой КуМир путем решения задач С2
Знакомство с языком и системой КуМир путем решения задач С2
Настоящая короткая инструкция адресована читателям, имеющим практический опыт решения нескольких десятков простейших задач по программированию на каком-нибудь языке программирования.
Предполагается, что читатель хочет с минимальными затратами времени научиться решать на школьном алгоритмическом языке в системе КуМир, задачи, подобные задачам С2-С6 демоверсии компьютеризированного ЕГЭ. Эта демоверсия опубликована на сайте МИОО: На том же сайте сказано, как загрузить систему КуМир (версия для ЕГЭ) для операционных систем типа MS Windows и Linux . Ниже мы будем обсуждать только те понятия, конструкции и команды школьного языка и системы КуМир, которые нужны при решении задач типа С2-С3. В частности, все программы ниже будут состоять из одного алгоритма без параметров. В условиях задач С2-С6 не предусмотрена какая-либо работа с файлами. Предписывается вводить информацию с клавиатуры и выводить ее на экран. Дополнительно требуется, чтобы каждая порция вводимой или выводимой информации размещалась на отдельной строке и обрабатывалась одной командой ввод или вывод .
Вывод значения величины х в отдельную строку производится в командой
где нс означает н овая с трока.
Ввод значения величины х производится командой
по этой команде в окне ввода/вывода подсвечивается строка, в которую будет направлено эхо ввода и система КуМир ожидает посимвольного ввода значения величины, завершаемого нажатием клавиши Enter .
Итак, загружаем КуМир и, согласно инструкции, запускаем версию КуМира для ЕГЭ. Мы увидим следующую картинку.
В верхней строке с иконками команд, правее крестика, должно быть пусто. Если правее крестика Вы увидели три желто-зеленые иконки, то Вы запустили полный КуМир, с Роботом и Чертежником, которые Вам не нужны. Перечитайте инструкцию и запустите версию КуМир для ЕГЭ. Размеры трех областей, которые мы видим при первом появлении окна КуМира на экране, для задач С2-С6 неудобны. Их нужно изменить. Для этого нужно «схватить» мышкой нижний край окна (под словом Редактирование) и уменьшить высоту окна, затем «схватить» мышкой правый край окна и уменьшить ширину и наконец, нужно подвинуть границы между тремя областями окна так, чтобы получилась картинка примерно такой формы и размера:
Начнем с задачи С2, в которой нужно подсчитать количество различных значений среди модулей трех введенных с клавиатуры целых чисел a , b , c .
Условие и решение задачи C 2
С2. Составить программу, которая вводит с клавиатуры три целых числа a, b,c (каждое число – отдельной командой «ввод»), заменяет каждое из этих чисел на его модуль и выводит на экран количество различных среди полученных трех чисел. Ничего, кроме этого количества, программа выводить не должна. Например, если все числа равны, программа должна выводить число 1 . При использовании системы Fr ee Pascal для представления целых чисел используйте тип LongInt .
Указание. Модуль целого числа можно вычислить следующим образом:
Пояснение. Ответом в этой задаче является программа, записанная на школьном алгоритмическом языке или языке Free Pascal. Эта программа должна быть подготовлена и проверена в среде программирования КуМир или Free Pascal и сохранена в одном файле средствами среды программирования. Далее этот файл должен быть загружен в экзаменационную работу средствами системы КТС ЕГЭ.
Не забудьте загрузить в Вашу экзаменационную работу файл с подготовленной Вами программой.
Важное замечание. В КуМире имена переменных можно писать русскими буквами, а можно и латинскими. Какой способ удобнее? При решении задач С2-С6 удобнее всего установить латинский нижний регистр и давать переменным однобуквенные имена, тем более, что в условиях задач уже используются имена: a , b , c , n . Чтобы поменьше переключать регистр при наборе ключевых слов на русском языке, используйте клавишу Alt: пока эта клавиша удерживается в нажатом положении, текущий латинский регистр становится русским (и наоборот).
Алгоритм решения задачи С2 назовем С2 (заглавная латинская буква С). КуМир для ЕГЭ настроен так, что латинские буквы в именах изображаются курсивом, поэтому в тексте программы латинские буквы можно отличить от схожих по начертанию русских. Сохранять программу будем в файле C 2.kum
Начнем составление алгоритма. В начале алгоритма, после слова нач, опишем целые переменные a , b , c
далее напишем команды ввода значения этих переменных с клавиатуры. Как требуется в условии задачи, каждое значение введем отдельной командой:
Далее, следуя указанию по программированию из условия задачи, добавим команды, заменяющие каждое число на его модуль, и выполним получившуюся программу, нажав клавишу F9
В окне ввода/вывода внизу появляется желтая строка, в которую будет производиться ввод цифр первого числа. В нижней части обрамления окна система выводит сообщение Ожидается ввод: цел. Ввод цифр целого числа должен быть завершен нажатием клавиши Enter . Введем единственую цифру первого числа 1 и нажмем клавишу Enter , аналогочно введем числа -1 и 2. Программа завершит работу:
На полях программы, справа от ее текста, система КуМир показывает результаты выполнения команд ввод в строках 3,4,5 и результаты присваиваний в строках 6,7,8. И на полях строк 3,4,5 и в окне ввода/вывода видно, что были введены три числа 1 -1 2 . Однако на полях строк 6,7,8 почему-то показано, что все три числа стали равны 1 . Почему же число c оказалось равным 1 , а не 2 ? «Элементарно, Ватсон»: на место строки 8 мы скопировали строку 6, собираясь затем поменять в ней в двух местах букву a на букву c . После этого мы изменили первую букву а , но забыли изменить вторую и получилась ошибочная команда
Исправим эту ошибку и попробуем дописать в конец алгоритма команду, вычисляющую количество различных среди чисел a , b :
Технические замечания. 1) Хотя в меню вставка есть макрокоманды по вставке управляющих конструкций, в данном случае удобнее набрать ключевые слова конструкции вручную, разместив их в одной строке.
2) В процессе редактировании строки, до момента окончания редактирования строки, КуМир не производит перепроверку программы. Эта перепроверка запускается после «покидания» строки курсором.
Уводим курсор из редактируемой строки номер 9 и смотрим, что получилось. КуМир сообщает, что в строке 9 найдены три ошибки типа «Величина или алгоритм не описаны»:
Какие именно величины не описаны, показано в строке 9 тремя красными подчеркиваниями. Во-первых, подчеркнута, русская буква а, ее нужно исправить на латинскую а. Кроме того, мы забыли описать величину k .
Исправляем эти ошибки и пока [1] КуМир переразбирает программу, думаем, что еще осталось сделать. Величина k показывает, сколько различных среди первых двух чисел a и b . Сравним третье число c числом а, затем с числом b . Если c не совпадает ни с a ни с b , то при переходе от набора чисел
a b к набору a b c количество различных чисел увеличивается на 1. Если же число c совпадает с одним из первых двух чисел, то добавление числа c к набору a b количества различных чисел не меняет. Эти длинные словесные объяснения записываются в алгоритме очень коротко:
Для завершения программы осталось вывести вычисленный ответ k в отдельной строке вывод k , нс:
Запустив программу для входных данных 1 1 1 , получим правильный ответ 1:
Запуская программу еще на нескольких наборах входных данных, убеждаемся, что она работает правильно:
Убедившись в правильности программы, необходимо сохранить ее, а затем включить файл C 2. kum в экзаменационную работу средствами системы КТС ЕГЭ.
[1] Для коротенькой программы переразбор происходит мгновенно. Для очень длинной программы на не очень новом компьютере переразбор может занять несколько секунд. Зеленый сигнал светофора показывает, что переразбор закончен. Для коротких программ на светофор можно не обращать внимания.
Источник
Величины в языке Кумир принято делить на переменные и постоянные.
Постоянной называется величина, значение которой указывается в тексте программы (например, 10 ; 3.14 ; и т. д.) и не меняется в процессе исполнения алгоритма.
Переменной называется величина, значение которой может меняться в процессе исполнения алгоритма.
Каждая переменная величина, используемая в алгоритме на языке КуМир, должна иметь имя, тип, вид и значение .
Имя величины используется для ее идентификации в алгоритме.
Тип величины показывает диапазон ее допустимых значений и операции, которые можно с ней выполнять.
Вид величины определяет информационную роль, которую величина играет в алгоритме. Например, для хранения текущих расчетов используются промежуточные величины.
Имя, тип и вид величины являются статическими характеристиками, которые можно определить по тексту алгоритма.
В каждый момент выполнения Кумир-программы величина может иметь некоторое конкретное значение или быть неопределенной. Значение является динамической характеристикой величины поскольку может быть определено только во время выполнения алгоритма.
Типы величин
Как и в любом языке программирования в Кумире существует несколько типов величин. Рассмотрим классификацию типов и возможные диапазоны их значений.
- цел – целый тип, диапазон допустимых значений лежит в пределах от -(МАКСЦЕЛ+1) до МАКСЦЕЛ, где МАКСЦЕЛ = 2147483647 ;
- вещ – вещественный тип, диапазон допустимых значений лежит в пределах от -МАКСВЕЩ до МАКСВЕЩ, где МАКСВЕЩ – это число, немного меньшее, чем 1.797693×10 308 ;
Величины МАКСЦЕЛ и МАКСВЕЩ определяются способом представления чисел в памяти компьютеров и в большинстве современных языков программирования имеют примерно одинаковые значения.
Вещественные значения можно преобразовать к целым с помощью встроенной функции int , например:
- вещ а = 10.8; цел в
- в := int(а)
- вывод в
- сим – символьный тип, значением может быть любой литеральный символ;
- лит – значением может быть строка литеральных символов.
Встроенные функции языка Кумир позволяют преобразовать числовые типы в текстовые и наоборот.
- лог – может принимать значения да или нет .
В языке программирования Кумир используются простые и табличные величины.
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Прежде чем переходить к определению имени в языке КуМир рассмотрим понятия «слово» и «ключевые слова».
Понятие «слово»
Слово в языке КуМир представляет собой последовательность разрешенных (словарных) символов . К словарным символам относятся:
- буквы (кириллические и латинские, прописные и строчные);
- цифры;
- два специальных знака: @ _.
Примеры допустимых слов: длина, сумма1, 3кг, MacOS, admin@mail_ru
Примеры недопустимых слов: альфа-123, а%в, С++
Ключевые слова
Ключевые слова — это слова, которые имеют специальное значение в языке программирования . В языке КуМир к зарезервированным словам относятся
- алг, нач, кон, исп, кон_исп, дано, надо, арг, рез, аргрез, знач, цел, вещ, лог, сим, лит, таб, целтаб, вещтаб, логтаб, литтаб, и, или, не, да, нет, утв, выход, ввод, вывод, нс, если, то, иначе, все, выбор, при, нц, кц, кц_при, раз, пока, для, от, до, шаг.
Особенности имен в языке КуМир
Имя в языке Кумир – это слово или последовательность слов, которые могут, разделяться пробелами . Первое слово в имени не может начинаться с цифры. Запрещается использовать в именах ключевые слова.
Имена в Кумире могут быть присвоены величинам, таблицам, алгоритмам и исполнителям.
Примеры допустимых имен: m, периметр, площадь квадрата, Сумма10, Класс_10
Примеры недопустимых имен: 1S, а&в
Исключение: ключевое слово не можно использовать в Кумир-программе не более одного раза в отрицаниях логических величин, таблиц и алгоритмов функций между словами многословного имени. Например,
- лог А, пятый урок история = да
- А := не пятый урок история
- А := пятый не урок история
- А := пятый урок не история
Вопросы для самопроверки
- Какие символы относятся к словарным символам в языке Кумир?
- Что представляет собой слово в Кумире?
- Какие слова называются ключевыми?
- Какими особенностями обладает имя в языке Кумир?
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Описания величин в языке Кумир
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа (цел, вещ, сим, лит, лог), после которого следует имя (или список имен) величины. Например,
- цел длина, ширина
- лит примечание
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
- вещтаб рост[1: 10]
- цел таб классы [1:4, 1:11]
В первой строке описывается таблица рост, состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы, в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
Рассмотрим пример:
- цел длина, ширина
- алг
- нач
- вещ диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.
Бывают случаи, когда мы сталкиваемся с ситуацией, когда наш кумир или авторитет в определенной области не оставил описание для величины или алгоритма, который нам интересен или необходим. Это может вызывать некоторые трудности и затруднять наше понимание или применение этих величин или алгоритмов.
Однако, несмотря на отсутствие описания от нашего кумира, существуют несколько способов, которые помогут нам разобраться и использовать эти величины или алгоритмы. Во-первых, мы можем обратиться к другим источникам информации. Сегодня в интернете доступно множество ресурсов, где мы можем найти описания и объяснения почти любой величины или алгоритма. Также, можно обратиться к научным статьям, книгам или спросить у других специалистов в данной области.
Во-вторых, если доступ к другим источникам невозможен или недостаточен, мы можем попытаться самостоятельно исследовать и разобраться в предмете. Можно анализировать доступные данные и экспериментировать с разными вариантами использования величины или алгоритма. Это может потребовать времени и усилий, но при желании мы можем достичь полного понимания и использования.
В-третьих, даже если мы так и не смогли найти полное описание величины или алгоритма, мы можем извлечь максимум из имеющейся информации. Мы можем попытаться интерпретировать и адаптировать эти величины или алгоритмы для наших нужд. Возможно, нам удастся найти аналогию или схожую концепцию, которая поможет нам лучше понять и использовать эти величины или алгоритмы.
Даже без описания от нашего кумира, мы всегда можем найти способы разобраться в новой величине или алгоритме и использовать их в своей работе или жизни. Главное – быть настойчивым, активно исследовать и не останавливаться на достигнутом.
Содержание
- Как справиться, если кумир не предоставил описание?
- Первые шаги
- Использование альтернативных источников
- Алгоритмы величины: что делать?
- Поиск альтернативных источников
- Самостоятельное составление алгоритма
- Вопрос-ответ
- Что делать, если кумир не оставил описания для величины или алгоритма?
- Как найти описание величины или алгоритма без указания кумира?
- Какие есть альтернативные способы получить описание величины или алгоритма, кроме обращения к кумиру?
- Является ли обращение к кумиру единственным способом получения описания величины или алгоритма?
- Как можно быть уверенным в достоверности описания величины или алгоритма без участия кумира?
- Что делать, если описание величины или алгоритма отличается от описания кумира?
Как справиться, если кумир не предоставил описание?
Ситуация, когда кумир не оставил описание для величины или алгоритма, может показаться сложной и безысходной. Однако, есть несколько способов, которые помогут вам решить эту проблему.
Во-первых, попробуйте обратиться к другим источникам информации. Интернет, книги, научные статьи и журналы могут стать отличным помощником в поиске нужной информации. Постарайтесь найти материалы, в которых описывается аналогичная величина или алгоритм, и изучите их. Возможно, вы сможете найти достаточно информации, чтобы разобраться в сути того, что вам нужно.
Во-вторых, обратитесь к сообществу единомышленников. Форумы, группы в социальных сетях, чаты могут быть отличным местом для общения с другими людьми, у которых есть опыт в данной области. Задайте свой вопрос и, возможно, кто-то из участников сможет помочь вам найти описание, которое вам нужно.
Если все вышеперечисленные способы не помогли, попробуйте создать описание самостоятельно. Изучите имеющийся контекст и попытайтесь анализировать информацию на основе своих знаний и опыта. Используйте принципы логики и разума, чтобы сделать разумное предположение о том, что может подразумеваться под данной величиной или алгоритмом.
Наконец, если ничего из перечисленного не помогло, не стесняйтесь обратиться к эксперту или специалисту в соответствующей области. Может быть, имеется специализированная литература или исследования, которые помогут вам разобраться в вопросе. Не стоит отказываться от помощи профессионалов, которые имеют специальное знание и опыт в данной области.
Первые шаги
При отсутствии описания для величины или алгоритма от кумира можно начать с изучения связанных тем и концептов, которые могут быть полезными. Рекомендуется прочитать и изучить основные понятия и определения, связанные с данной величиной или алгоритмом.
Важно внимательно изучить заголовки, разделы и подразделы, которые могут дать базовое представление о том, что именно следует изучить и понять.
Дополнительно можно воспользоваться поиском по интернету и найти альтернативные источники информации о данной величине или алгоритме. Рекомендуется обратить внимание на научные статьи, книги, видео-лекции или руководства, которые могут содержать дополнительную информацию и объяснения.
Также полезной практикой будет обсудить данную тему с другими людьми, обучающимися или специалистами в данной области. Можно задать вопросы, уточнить непонятные моменты и получить советы от опытных людей.
Запомните, что все начинается с первого шага. Даже если у вас нет полного описания от кумира, это не должно быть препятствием для начала изучения и понимания данной величины или алгоритма. Главное — упорство, настойчивость и стремление к познанию.
Использование альтернативных источников
Если ваш кумир не оставил описания для конкретной величины или алгоритма, можно воспользоваться альтернативными источниками, чтобы найти нужную информацию.
- Научные журналы и статьи: Исследования и научные публикации часто содержат детальные описания различных величин и алгоритмов. Поиск соответствующих статей в специализированных журналах или академических базах данных может помочь получить более глубокое понимание искомого объекта.
- Учебники и учебные материалы: Учебники по соответствующей области знаний обычно содержат подробные описания различных величин и алгоритмов. Также можно обратиться к онлайн-курсам или видеоурокам по интересующей теме для получения более понятной информации.
- Эксперты и профессионалы: Обратиться к экспертам в области может быть полезным способом получить информацию о нужной величине или алгоритме. Консультации с профессионалами позволят получить надежные и проверенные сведения, основанные на их опыте.
- Интернет-ресурсы и форумы: Интернет предлагает широкий выбор ресурсов и форумов, где можно найти информацию от других людей, которые исследовали или использовали искомую величину или алгоритм. Важно оценивать надежность источиков и учитывать различные точки зрения.
Независимо от выбранного источника, всегда следует проводить критический анализ полученной информации, учитывая не только авторитетность источника, но и контекст и доступность информации. Если возможно, проконсультируйтесь с несколькими независимыми источниками, чтобы получить широкую и обоснованную информацию о нужной величине или алгоритме.
Алгоритмы величины: что делать?
Величина без описания может создавать неудобства при ее использовании. Но не отчаивайтесь — существуют различные способы решить эту проблему и получить необходимую информацию о величине или алгоритме. Рассмотрим несколько полезных подходов.
1. Обратитесь к источникам информации. Проверьте, есть ли дополнительные материалы или ссылки на описание величины или алгоритма. Может быть, автор кумира предусмотрительно предоставил дополнительные источники, где вы сможете найти подробные сведения.
2. Спросите у сообщества. Обратитесь к форумам, чатам или специализированным веб-сайтам, где обсуждаются темы, связанные с данной величиной или алгоритмом. Возможно, кто-то уже сталкивался с подобной ситуацией ранее и может поделиться своими знаниями и опытом.
3. Проанализируйте код. Если у вас есть доступ к исходному коду величины или алгоритма, изучите его, чтобы понять, как он работает. Иногда только анализ кода может помочь раскрыть суть алгоритма и понять, что он делает.
4. Используйте аналогии. Если вам известны аналогичные величины или алгоритмы, попробуйте сравнить их и найти общие черты. Это может помочь вам предположить, как работает данная величина или алгоритм.
5. Экспериментируйте. Если нет точной информации о величине или алгоритме, можете самостоятельно провести небольшие эксперименты или исследования, чтобы узнать, как они влияют на результаты или процессы. Такой подход может быть полезен, особенно если имеется возможность проводить контрольные эксперименты.
6. Обратитесь за помощью. Если все вышеперечисленные методы не дают результатов, не стесняйтесь обратиться за помощью к специалистам или экспертам в данной области. Они могут иметь свои предположения, рекомендации или доступ к служебной информации, которые помогут вам разобраться с величиной или алгоритмом.
Необходимость разбираться с отсутствующим описанием величины или алгоритма может быть вызвана различными причинами: от недостатка времени у автора до необходимости сокрытия некоторых деталей. Однако, с помощью указанных подходов, вы сможете проложить путь к пониманию и использованию данной величины или алгоритма.
Поиск альтернативных источников
Когда кумир не оставил описания для величины или алгоритма, поиск альтернативных источников может помочь найти нужную информацию. Для этого можно обратиться к другим источникам, которые имеют отношение к данной теме.
Один из способов — использование литературы или учебников по теме. В учебниках по смежным предметам или специализированной литературе часто можно найти полезную информацию о величинах и алгоритмах, связанных с темой.
Также можно обратиться к научным статьям или публикациям в специализированных журналах. Многие исследователи и специалисты делятся своим опытом и знаниями, предоставляя информацию о величинах и алгоритмах в своих публикациях.
Кроме того, можно обратиться к онлайн-ресурсам, таким как научные конференции, форумы и блоги, где люди обсуждают различные темы и делятся своими знаниями. Они могут предложить полезные рекомендации и ссылки на другие источники информации.
Важно помнить, что при поиске альтернативных источников необходимо обращаться только к надежным и проверенным источникам. Проверка достоверности информации и ее соответствия теме является важным этапом, чтобы получить качественную и точную информацию.
Самостоятельное составление алгоритма
Когда кумир не оставил описания для величины или алгоритма, можно самостоятельно составить алгоритм на основе имеющихся данных и логической последовательности действий. В самом начале следует определить цель и задачи, которые требуется выполнить с помощью алгоритма.
Далее, необходимо разделить задачу на отдельные этапы или подзадачи и определить порядок их выполнения. Для удобства можно использовать упорядоченные списки или таблицы, чтобы наглядно отобразить последовательность действий.
При составлении алгоритма необходимо учитывать различные варианты и исключения, которые могут возникнуть в процессе выполнения задачи. Подумайте о возможных проблемах и разработайте стратегии их решения.
Важно также помнить о понятности и ясности инструкций. Используйте язык, доступный целевой аудитории, и старайтесь избегать сложных технических терминов или неясных формулировок. Чтобы сделать алгоритм еще более понятным, можете использовать выделение важных слов или фраз с помощью тега .
После завершения составления алгоритма, необходимо его проверить на практике. Проанализируйте результаты и, если необходимо, внесите корректировки. Также имейте в виду, что алгоритм может быть постоянно совершенствован с течением времени и получением новой информации.
Самостоятельное составление алгоритма — это навык, который можно развивать практикой. Чем больше опыта и знаний накоплено, тем легче будет делать логические выводы и строить последовательность действий. Не бойтесь экспериментировать и искать нестандартные решения!
Вопрос-ответ
Что делать, если кумир не оставил описания для величины или алгоритма?
Если кумир не оставил описания для величины или алгоритма, то можно попробовать обратиться к другим доступным источникам информации. Например, можно поискать описание в других книгах, статьях или научных источниках. Также можно обратиться к специалистам в данной области и задать им вопросы. Они могут помочь с разъяснением и дополнительной информацией. Иногда бывает полезно обратиться к коллегам или другим людям, которые имеют опыт в данной области. Они могут поделиться своими знаниями и опытом. Кроме того, существуют также различные онлайн-ресурсы и форумы, где можно задавать вопросы и получать ответы от профессионалов и опытных людей.
Как найти описание величины или алгоритма без указания кумира?
Если нет описания величины или алгоритма и неизвестно, кто является кумиром, то можно использовать следующие подходы. Во-первых, можно провести поиск в интернете с использованием ключевых слов и фраз, связанных с данной величиной или алгоритмом. Например, можно использовать поисковик для поиска статей, книг или онлайн-источников, которые могут содержать описание. Во-вторых, можно обратиться к специализированным энциклопедиям или справочным материалам, которые могут включать информацию об этих величинах или алгоритмах. Кроме того, можно обратиться к специалистам в данной области, которые могут помочь с поиском необходимой информации. И наконец, можно обратиться к историческим или научным источникам, которые могут содержать информацию о развитии и использовании данных величин или алгоритмов.
Какие есть альтернативные способы получить описание величины или алгоритма, кроме обращения к кумиру?
Помимо обращения к кумиру, существует несколько альтернативных способов получить описание величины или алгоритма. Во-первых, можно обратиться к другим экспертам в данной области и задать им вопросы. Они могут предоставить свои знания и описания, основанные на своем опыте и исследованиях. Во-вторых, можно обратиться к различным источникам информации, таким как книги, статьи, научные публикации и онлайн-ресурсы. Они могут содержать описания величин и алгоритмов, предоставленные другими авторами или исследователями. Кроме того, можно обратиться к онлайн-форумам и сообществам, где люди обмениваются информацией и опытом в данной области. Такие ресурсы могут содержать дополнительные описания и объяснения.
Является ли обращение к кумиру единственным способом получения описания величины или алгоритма?
Нет, обращение к кумиру не является единственным способом получения описания величины или алгоритма. Кроме этого, можно использовать другие методы и подходы для получения необходимой информации. Например, можно обратиться к экспертам в данной области и задать им вопросы. Они могут обладать знаниями и опытом, которые могут помочь в разъяснении и описании величин или алгоритмов. Также можно обратиться к различным источникам информации, таким как книги, статьи, научные публикации и интернет-ресурсы. Они могут содержать дополнительные описания и объяснения, предоставленные другими авторами или исследователями.
Как можно быть уверенным в достоверности описания величины или алгоритма без участия кумира?
Без участия кумира сложно быть абсолютно уверенным в достоверности описания величины или алгоритма. Однако, можно использовать несколько подходов и методов для проверки достоверности информации. Во-первых, можно провести сравнительный анализ различных источников и информации об описываемой величине или алгоритме. Если информация совпадает или подтверждается другими независимыми источниками, то это может быть признаком ее достоверности. Во-вторых, можно обратиться к экспертам и специалистам в данной области и проконсультироваться у них. Они могут дать свое мнение и оценку достоверности описания на основе своего опыта и знания. Кроме того, можно также обратиться к историческим и научным источникам, которые могут содержать информацию о развитии и использовании данных величин или алгоритмов.
Что делать, если описание величины или алгоритма отличается от описания кумира?
Если описание величины или алгоритма отличается от описания кумира, то можно использовать несколько подходов для разрешения этой ситуации. Во-первых, можно провести дополнительное исследование и поиск информации, чтобы уточнить и подтвердить описание. Например, можно обратиться к другим источникам, таким как книги, статьи, научные публикации или интернет-ресурсы, и найти дополнительные описания и объяснения. Во-вторых, можно обратиться к другим экспертам и специалистам в данной области и задать им вопросы. Они могут дать свое мнение и оценку достоверности описания на основе своего опыта и знания. Кроме того, можно провести дискуссию с коллегами и другими людьми, которые имеют опыт и знания в данной области, чтобы получить дополнительные мнения и точки зрения.
Содержание
- Кумир имя не объявлено что делать
- Помогите, пожалуйста, почему в программе КуМир ,,Имя не объявлено», хотя там всё правильно. Что мне нужно исправить.
- Настройка среды Кумир для исполнителя Робот
- КуМир, Исполнитель Робот
- Главное меню
- Пульт
- Задачи
- Знакомство с языком и системой КуМир путем решения задач С2
Кумир имя не объявлено что делать
Помогите, пожалуйста, почему в программе КуМир ,,Имя не объявлено», хотя там всё правильно. Что мне нужно исправить.
Замечание: предполагается, что в имени файла нет «.».
program qq;
var s:string;
begin
writeln(‘Введите имя файла:’);
readln(s);
s:=copy(s,1,pos(‘.’,s))+’exe’;
writeln(s);
end.
Пример:
Введите имя файла:
Привет.txt
Привет.exe
5 — 10 + 20 = 15 (q = -2)
15 — 15 + 15 = 15 (q = -1)
20 -10 + 5 = 15 (q = -0.5)
15 + 0 + 0 = 15 (q = 0)
5 + 5 + 5 = 15 (q = 1)
программа на руби, для нахождения
Ответ:
Объяснение:
В этой кодировке символ занимат 1 байт = 8 бит.
284 на 8 нацело не делится, а число символов должно быть целым, поэтому такое сообщение невозможно.
Настройка среды Кумир для исполнителя Робот
На прошлом уроке мы познакомились с исполнителем Робот, узнали как его установить и запустить. Сегодня будем настраивать программу для дальнейшей работы.
Запущенная программа Кумир выглядит так.
Среда Кумир, исполнитель Робот
Первым делом мы должны раскомментировать первую строку нашей программы, убрав символ |
Раскомментируем первую строку
Таким образом, программа станет выглядеть так:
использовать Робот
алг
нач
кон
Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Поэтому очень важно при создании новой программы раскомментировать первую строку. Теперь все готово для дальнейшей работы.
КуМир, Исполнитель Робот
Чтобы задать условия для выполнения, нужно выполнить команду меню Инструменты→Редактировать стартовую обстановку Робота.
В результате мы увидим окно:
Помощь выводит исчерпывающую информацию о возможных действиях:
Меню Обстановка позволяет сделать следующее:
Новая обстановка | Сбрасывает имя файла и создает обстановку, показанную в синем окне выше |
Открыть | Открытие уже созданной обстановки (файл *.fil) для редактирования |
Недавние обстановки | Ускоряет доступ к 8 последним проектам |
Сохранить | Сохраняет текущие изменения |
Сохранить как. | Позволяет задать имя для обстановки |
Сохранить как стартовую | Именно она будет средой по умолчанию |
Печать в файл | Создает PDF-файл с картинкой обстановки, именем файла, датой и комментарием |
Закрыть | Закрывает окно редактирования |
Главное меню
Пульт
Вызов пульта производится нажатием на кнопку или через меню Робот→Показать пульт.
Если выполнить команду меню Редактирование→Перехватывать команды Пульта, то действия, производимые пультом будут записываться в виде правильных команд в текст программы. Названный пункт будет помечен флажком (галочкой).
Некоторые из записываемых команд окажутся избыточными, так как для них используется вывод информации, а не действия. Но их можно отредактировать, либо взять из них только нужные элементы.
Подробности использования пульта смотри меню Инфо→Язык и система КуМир.
Задачи
- Робот находится в левом верхнем углу прямоугольной области неизвестного размера, со всех сторон окруженной стенками. Посередине находится стена, в которой есть проход. Где он, точно неизвестно, но проход не примыкает к нижней стенке. Задача: написать программу, которая переведет робота в правый нижний угол. Файл среды.
- См. также ОГЭ: вопрос 20.1.
- См. также ЕГЭ: вопросы 6, 14.
Copyright © 1993–2022 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.
Источник
Знакомство с языком и системой КуМир путем решения задач С2
Знакомство с языком и системой КуМир путем решения задач С2
Настоящая короткая инструкция адресована читателям, имеющим практический опыт решения нескольких десятков простейших задач по программированию на каком-нибудь языке программирования.
Предполагается, что читатель хочет с минимальными затратами времени научиться решать на школьном алгоритмическом языке в системе КуМир, задачи, подобные задачам С2-С6 демоверсии компьютеризированного ЕГЭ. Эта демоверсия опубликована на сайте МИОО: На том же сайте сказано, как загрузить систему КуМир (версия для ЕГЭ) для операционных систем типа MS Windows и Linux . Ниже мы будем обсуждать только те понятия, конструкции и команды школьного языка и системы КуМир, которые нужны при решении задач типа С2-С3. В частности, все программы ниже будут состоять из одного алгоритма без параметров. В условиях задач С2-С6 не предусмотрена какая-либо работа с файлами. Предписывается вводить информацию с клавиатуры и выводить ее на экран. Дополнительно требуется, чтобы каждая порция вводимой или выводимой информации размещалась на отдельной строке и обрабатывалась одной командой ввод или вывод .
Вывод значения величины х в отдельную строку производится в командой
где нс означает н овая с трока.
Ввод значения величины х производится командой
по этой команде в окне ввода/вывода подсвечивается строка, в которую будет направлено эхо ввода и система КуМир ожидает посимвольного ввода значения величины, завершаемого нажатием клавиши Enter .
Итак, загружаем КуМир и, согласно инструкции, запускаем версию КуМира для ЕГЭ. Мы увидим следующую картинку.
В верхней строке с иконками команд, правее крестика, должно быть пусто. Если правее крестика Вы увидели три желто-зеленые иконки, то Вы запустили полный КуМир, с Роботом и Чертежником, которые Вам не нужны. Перечитайте инструкцию и запустите версию КуМир для ЕГЭ. Размеры трех областей, которые мы видим при первом появлении окна КуМира на экране, для задач С2-С6 неудобны. Их нужно изменить. Для этого нужно «схватить» мышкой нижний край окна (под словом Редактирование) и уменьшить высоту окна, затем «схватить» мышкой правый край окна и уменьшить ширину и наконец, нужно подвинуть границы между тремя областями окна так, чтобы получилась картинка примерно такой формы и размера:
Начнем с задачи С2, в которой нужно подсчитать количество различных значений среди модулей трех введенных с клавиатуры целых чисел a , b , c .
Условие и решение задачи C 2
С2. Составить программу, которая вводит с клавиатуры три целых числа a, b,c (каждое число – отдельной командой «ввод»), заменяет каждое из этих чисел на его модуль и выводит на экран количество различных среди полученных трех чисел. Ничего, кроме этого количества, программа выводить не должна. Например, если все числа равны, программа должна выводить число 1 . При использовании системы Fr ee Pascal для представления целых чисел используйте тип LongInt .
Указание. Модуль целого числа можно вычислить следующим образом:
Пояснение. Ответом в этой задаче является программа, записанная на школьном алгоритмическом языке или языке Free Pascal. Эта программа должна быть подготовлена и проверена в среде программирования КуМир или Free Pascal и сохранена в одном файле средствами среды программирования. Далее этот файл должен быть загружен в экзаменационную работу средствами системы КТС ЕГЭ.
Не забудьте загрузить в Вашу экзаменационную работу файл с подготовленной Вами программой.
Важное замечание. В КуМире имена переменных можно писать русскими буквами, а можно и латинскими. Какой способ удобнее? При решении задач С2-С6 удобнее всего установить латинский нижний регистр и давать переменным однобуквенные имена, тем более, что в условиях задач уже используются имена: a , b , c , n . Чтобы поменьше переключать регистр при наборе ключевых слов на русском языке, используйте клавишу Alt: пока эта клавиша удерживается в нажатом положении, текущий латинский регистр становится русским (и наоборот).
Алгоритм решения задачи С2 назовем С2 (заглавная латинская буква С). КуМир для ЕГЭ настроен так, что латинские буквы в именах изображаются курсивом, поэтому в тексте программы латинские буквы можно отличить от схожих по начертанию русских. Сохранять программу будем в файле C 2.kum
Начнем составление алгоритма. В начале алгоритма, после слова нач, опишем целые переменные a , b , c
далее напишем команды ввода значения этих переменных с клавиатуры. Как требуется в условии задачи, каждое значение введем отдельной командой:
Далее, следуя указанию по программированию из условия задачи, добавим команды, заменяющие каждое число на его модуль, и выполним получившуюся программу, нажав клавишу F9
В окне ввода/вывода внизу появляется желтая строка, в которую будет производиться ввод цифр первого числа. В нижней части обрамления окна система выводит сообщение Ожидается ввод: цел. Ввод цифр целого числа должен быть завершен нажатием клавиши Enter . Введем единственую цифру первого числа 1 и нажмем клавишу Enter , аналогочно введем числа -1 и 2. Программа завершит работу:
На полях программы, справа от ее текста, система КуМир показывает результаты выполнения команд ввод в строках 3,4,5 и результаты присваиваний в строках 6,7,8. И на полях строк 3,4,5 и в окне ввода/вывода видно, что были введены три числа 1 -1 2 . Однако на полях строк 6,7,8 почему-то показано, что все три числа стали равны 1 . Почему же число c оказалось равным 1 , а не 2 ? «Элементарно, Ватсон»: на место строки 8 мы скопировали строку 6, собираясь затем поменять в ней в двух местах букву a на букву c . После этого мы изменили первую букву а , но забыли изменить вторую и получилась ошибочная команда
Исправим эту ошибку и попробуем дописать в конец алгоритма команду, вычисляющую количество различных среди чисел a , b :
Технические замечания. 1) Хотя в меню вставка есть макрокоманды по вставке управляющих конструкций, в данном случае удобнее набрать ключевые слова конструкции вручную, разместив их в одной строке.
2) В процессе редактировании строки, до момента окончания редактирования строки, КуМир не производит перепроверку программы. Эта перепроверка запускается после «покидания» строки курсором.
Уводим курсор из редактируемой строки номер 9 и смотрим, что получилось. КуМир сообщает, что в строке 9 найдены три ошибки типа «Величина или алгоритм не описаны»:
Какие именно величины не описаны, показано в строке 9 тремя красными подчеркиваниями. Во-первых, подчеркнута, русская буква а, ее нужно исправить на латинскую а. Кроме того, мы забыли описать величину k .
Исправляем эти ошибки и пока [1] КуМир переразбирает программу, думаем, что еще осталось сделать. Величина k показывает, сколько различных среди первых двух чисел a и b . Сравним третье число c числом а, затем с числом b . Если c не совпадает ни с a ни с b , то при переходе от набора чисел
a b к набору a b c количество различных чисел увеличивается на 1. Если же число c совпадает с одним из первых двух чисел, то добавление числа c к набору a b количества различных чисел не меняет. Эти длинные словесные объяснения записываются в алгоритме очень коротко:
Для завершения программы осталось вывести вычисленный ответ k в отдельной строке вывод k , нс:
Запустив программу для входных данных 1 1 1 , получим правильный ответ 1:
Запуская программу еще на нескольких наборах входных данных, убеждаемся, что она работает правильно:
Убедившись в правильности программы, необходимо сохранить ее, а затем включить файл C 2. kum в экзаменационную работу средствами системы КТС ЕГЭ.
[1] Для коротенькой программы переразбор происходит мгновенно. Для очень длинной программы на не очень новом компьютере переразбор может занять несколько секунд. Зеленый сигнал светофора показывает, что переразбор закончен. Для коротких программ на светофор можно не обращать внимания.
Источник
———————————————————
>>> СКАЧАТЬ ФАЙЛ <<<
———————————————————
Проверено, вирусов нет!
———————————————————
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
При освоении темы алгоритмы воспользуемся системой программирования КУМИР.При решении некоторых задач с роботом необходимо использовать вложенные циклы или ветвления. Ц икл называется вложенным, если он размещается внутри другого цикла. ••• Помогите с программой Кумир. Anastasia. * Знаток (405), на голосовании 4 года назад. При описании алгоритма программа выдает таку ошибка ОШИБКА ВЫПОЛНЕНИЯ: Величина или алгоритм не описаны (4113) вот как написан алгоритм. Алгоритм на языке КуМир записывается так: алг тип_алгоритма имя_алгоритма ( описание_параметров) · дано условие_применимости_алгоритма · надо цель_выполнения_ алгоритма нач · последовательность команд кон. Начало » Конспекты школьника » kumir » Вложенные циклы и условия.Теперь, когда понятно что необходимо делать, запишем алгоритм на КуМире. Вложенные циклы (цикл в цикле).Удалив символ |, мы тем самым указали Кумиру на то, что будем работать с исполнителем Робот. Если этого не сделать, то при написании программы мы столкнемся с ошибкой «Нет такого алгоритма». Кумир Решение по схеме 1.Ребят работаю в ворде и хочу вставить картинку но пишет что графический фильтр не справился с задачей кто знает что делать испробовала все метода в буфер обмена рукой перетаскивала в паинт. Описание: 1 урок Простейший алгоритм. Откройте программу Кумир Рис.1 Рис.1 Используя из строки меню Программа→Открыть программу→1 Пример.kum в поле алгоритма появится 1 пример Рис.2 Рис.2. Общее. Алгоритмизация в среде КУМир. Авторы: Удалова Т.Л., Новикова Е.Ю.Вложенные циклы. Рисование узоров Лекция. Задание 4. Создать алгоритм рисования узора. Алгоритм на языке КуМир записывается так: алг тип_алгоритма имя_алгоритма ( описание_параметров) · дано условие_применимости_алгоритма · надоПримеры слов: бета123, 3кг, мама, Linux, КоСтЯ, kumir@infomir_ru. В языке КуМир есть специальные команды для организации программы с циклическим алгоритмом.да. Если одна циклическая конструкция находится внутри другой, то такое построение называется вложенными циклами. Алгоритм на Кумире для исполнителя РоботСпособы записи алгоритмов. • Словесное описание. • Запись по шагам.Петя решил сделать алгоритм более понятным и не использовать вложенные команды если. Описания обстановок хранятся в текстовых файлах специального формата (формат.fil).В системе КУМИР вспомогательные алгоритмы пишутся в конце основной программы (после служебногоПри исполнении алгоритма Робот не должен разрушиться. В 1103_ГИА_2011. Переменные, с которыми работает КуМир-программа, подразделяются на несколько типов.Есть два варианта реализации этого алгоритма – без применения составных условий, но при этом надо вкладывать ветвление друг в друга, и с применением составных условий. .su. Язык и система программирования КуМир. В 1985 г. академик А.П. Ершов придумал похожий на Алгол.Национальная лексика и простота. Чтобы составить программу, нужно: • продумать алгоритм, • записать его на некотором (изученном). * КуМир = Комплект Учебных МИРов * Кумир: Водолей * Задача «A+B» C:= * Кумир: автоматическая проверка вызвать алгоритм «A плюс B» передать ему исходные данные получить результат Варианты обмена данными: глобальные переменныеВложенные циклы. Методы алгоритмизации. Рекуррентные соотношения. Метод итерации. Инвариант цикла.18/2009. Лекция 2. Практическое знакомство с системой “КуМир”: исполнитель Робот. Понятие алгоритма. используя вложенные циклы.используйте описание функции для вычисления факториала(н) и С(н,к).Вычислительные алгоритмы в среде Кумир Подготовлено по материалам учебника И.Г.Семакина «Информатика и ИКТ» 9 класс. Ниже мы будем обсуждать только те понятия, конструкции и команды школьного языка и системы КуМир, которые нужны при решении задач типа С2-С3. В частности, все программы ниже будут состоять из одного алгоритма без параметров. Предварительный просмотр: Методическая разработка по информатике. Тема: «Исполнитель Робот в программе КуМир на уроках информатики ».понимать описания алгоритмов на учебном алгоритмическом языке Алгоритмический язык КуМир. Слайд №2. Содержание Интерфейс окна программы Линейный алгоритм Структуры «Ветвление» Одномерный массив.Описание одномерного массива нач. цел N=20. цел таб a[1:N], b[1:N] …
Содержание
- Описания простых величин
- Описания таблиц
- Область действия описаний
- Знакомство с языком и системой КуМир путем решения задач С2
- Типы величин
- Понятие «слово»
- Ключевые слова
- Особенности имен в языке КуМир
- Вопросы для самопроверки
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа ( цел , вещ , сим , лит , лог ), после которого следует имя (или список имен) величины. Например,
- цел длина, ширина
- лит примечание
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
- вещтаб рост[1: 10]
- цел таб классы [1:4, 1:11]
В первой строке описывается таблица рост , состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы , в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
- цел длина, ширина
- алг
- нач
- Команды алгоритма
- вещ диагональ
- | Область действия описания величины диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Знакомство с языком и системой КуМир путем решения задач С2
Знакомство с языком и системой КуМир путем решения задач С2
Настоящая короткая инструкция адресована читателям, имеющим практический опыт решения нескольких десятков простейших задач по программированию на каком-нибудь языке программирования.
Предполагается, что читатель хочет с минимальными затратами времени научиться решать на школьном алгоритмическом языке в системе КуМир, задачи, подобные задачам С2-С6 демоверсии компьютеризированного ЕГЭ. Эта демоверсия опубликована на сайте МИОО: На том же сайте сказано, как загрузить систему КуМир (версия для ЕГЭ) для операционных систем типа MS Windows и Linux . Ниже мы будем обсуждать только те понятия, конструкции и команды школьного языка и системы КуМир, которые нужны при решении задач типа С2-С3. В частности, все программы ниже будут состоять из одного алгоритма без параметров. В условиях задач С2-С6 не предусмотрена какая-либо работа с файлами. Предписывается вводить информацию с клавиатуры и выводить ее на экран. Дополнительно требуется, чтобы каждая порция вводимой или выводимой информации размещалась на отдельной строке и обрабатывалась одной командой ввод или вывод .
Вывод значения величины х в отдельную строку производится в командой
где нс означает н овая с трока.
Ввод значения величины х производится командой
по этой команде в окне ввода/вывода подсвечивается строка, в которую будет направлено эхо ввода и система КуМир ожидает посимвольного ввода значения величины, завершаемого нажатием клавиши Enter .
Итак, загружаем КуМир и, согласно инструкции, запускаем версию КуМира для ЕГЭ. Мы увидим следующую картинку.
В верхней строке с иконками команд, правее крестика, должно быть пусто. Если правее крестика Вы увидели три желто-зеленые иконки, то Вы запустили полный КуМир, с Роботом и Чертежником, которые Вам не нужны. Перечитайте инструкцию и запустите версию КуМир для ЕГЭ. Размеры трех областей, которые мы видим при первом появлении окна КуМира на экране, для задач С2-С6 неудобны. Их нужно изменить. Для этого нужно «схватить» мышкой нижний край окна (под словом Редактирование) и уменьшить высоту окна, затем «схватить» мышкой правый край окна и уменьшить ширину и наконец, нужно подвинуть границы между тремя областями окна так, чтобы получилась картинка примерно такой формы и размера:
Начнем с задачи С2, в которой нужно подсчитать количество различных значений среди модулей трех введенных с клавиатуры целых чисел a , b , c .
Условие и решение задачи C 2
С2. Составить программу, которая вводит с клавиатуры три целых числа a, b,c (каждое число – отдельной командой «ввод»), заменяет каждое из этих чисел на его модуль и выводит на экран количество различных среди полученных трех чисел. Ничего, кроме этого количества, программа выводить не должна. Например, если все числа равны, программа должна выводить число 1 . При использовании системы Fr ee Pascal для представления целых чисел используйте тип LongInt .
Указание. Модуль целого числа можно вычислить следующим образом:
Пояснение. Ответом в этой задаче является программа, записанная на школьном алгоритмическом языке или языке Free Pascal. Эта программа должна быть подготовлена и проверена в среде программирования КуМир или Free Pascal и сохранена в одном файле средствами среды программирования. Далее этот файл должен быть загружен в экзаменационную работу средствами системы КТС ЕГЭ.
Не забудьте загрузить в Вашу экзаменационную работу файл с подготовленной Вами программой.
Важное замечание. В КуМире имена переменных можно писать русскими буквами, а можно и латинскими. Какой способ удобнее? При решении задач С2-С6 удобнее всего установить латинский нижний регистр и давать переменным однобуквенные имена, тем более, что в условиях задач уже используются имена: a , b , c , n . Чтобы поменьше переключать регистр при наборе ключевых слов на русском языке, используйте клавишу Alt: пока эта клавиша удерживается в нажатом положении, текущий латинский регистр становится русским (и наоборот).
Алгоритм решения задачи С2 назовем С2 (заглавная латинская буква С). КуМир для ЕГЭ настроен так, что латинские буквы в именах изображаются курсивом, поэтому в тексте программы латинские буквы можно отличить от схожих по начертанию русских. Сохранять программу будем в файле C 2.kum
Начнем составление алгоритма. В начале алгоритма, после слова нач, опишем целые переменные a , b , c
далее напишем команды ввода значения этих переменных с клавиатуры. Как требуется в условии задачи, каждое значение введем отдельной командой:
Далее, следуя указанию по программированию из условия задачи, добавим команды, заменяющие каждое число на его модуль, и выполним получившуюся программу, нажав клавишу F9
В окне ввода/вывода внизу появляется желтая строка, в которую будет производиться ввод цифр первого числа. В нижней части обрамления окна система выводит сообщение Ожидается ввод: цел. Ввод цифр целого числа должен быть завершен нажатием клавиши Enter . Введем единственую цифру первого числа 1 и нажмем клавишу Enter , аналогочно введем числа -1 и 2. Программа завершит работу:
На полях программы, справа от ее текста, система КуМир показывает результаты выполнения команд ввод в строках 3,4,5 и результаты присваиваний в строках 6,7,8. И на полях строк 3,4,5 и в окне ввода/вывода видно, что были введены три числа 1 -1 2 . Однако на полях строк 6,7,8 почему-то показано, что все три числа стали равны 1 . Почему же число c оказалось равным 1 , а не 2 ? «Элементарно, Ватсон»: на место строки 8 мы скопировали строку 6, собираясь затем поменять в ней в двух местах букву a на букву c . После этого мы изменили первую букву а , но забыли изменить вторую и получилась ошибочная команда
Исправим эту ошибку и попробуем дописать в конец алгоритма команду, вычисляющую количество различных среди чисел a , b :
Технические замечания. 1) Хотя в меню вставка есть макрокоманды по вставке управляющих конструкций, в данном случае удобнее набрать ключевые слова конструкции вручную, разместив их в одной строке.
2) В процессе редактировании строки, до момента окончания редактирования строки, КуМир не производит перепроверку программы. Эта перепроверка запускается после «покидания» строки курсором.
Уводим курсор из редактируемой строки номер 9 и смотрим, что получилось. КуМир сообщает, что в строке 9 найдены три ошибки типа «Величина или алгоритм не описаны»:
Какие именно величины не описаны, показано в строке 9 тремя красными подчеркиваниями. Во-первых, подчеркнута, русская буква а, ее нужно исправить на латинскую а. Кроме того, мы забыли описать величину k .
Исправляем эти ошибки и пока [1] КуМир переразбирает программу, думаем, что еще осталось сделать. Величина k показывает, сколько различных среди первых двух чисел a и b . Сравним третье число c числом а, затем с числом b . Если c не совпадает ни с a ни с b , то при переходе от набора чисел
a b к набору a b c количество различных чисел увеличивается на 1. Если же число c совпадает с одним из первых двух чисел, то добавление числа c к набору a b количества различных чисел не меняет. Эти длинные словесные объяснения записываются в алгоритме очень коротко:
Для завершения программы осталось вывести вычисленный ответ k в отдельной строке вывод k , нс:
Запустив программу для входных данных 1 1 1 , получим правильный ответ 1:
Запуская программу еще на нескольких наборах входных данных, убеждаемся, что она работает правильно:
Убедившись в правильности программы, необходимо сохранить ее, а затем включить файл C 2. kum в экзаменационную работу средствами системы КТС ЕГЭ.
[1] Для коротенькой программы переразбор происходит мгновенно. Для очень длинной программы на не очень новом компьютере переразбор может занять несколько секунд. Зеленый сигнал светофора показывает, что переразбор закончен. Для коротких программ на светофор можно не обращать внимания.
Источник
Величины в языке Кумир принято делить на переменные и постоянные.
Постоянной называется величина, значение которой указывается в тексте программы (например, 10 ; 3.14 ; и т. д.) и не меняется в процессе исполнения алгоритма.
Переменной называется величина, значение которой может меняться в процессе исполнения алгоритма.
Каждая переменная величина, используемая в алгоритме на языке КуМир, должна иметь имя, тип, вид и значение .
Имя величины используется для ее идентификации в алгоритме.
Тип величины показывает диапазон ее допустимых значений и операции, которые можно с ней выполнять.
Вид величины определяет информационную роль, которую величина играет в алгоритме. Например, для хранения текущих расчетов используются промежуточные величины.
Имя, тип и вид величины являются статическими характеристиками, которые можно определить по тексту алгоритма.
В каждый момент выполнения Кумир-программы величина может иметь некоторое конкретное значение или быть неопределенной. Значение является динамической характеристикой величины поскольку может быть определено только во время выполнения алгоритма.
Типы величин
Как и в любом языке программирования в Кумире существует несколько типов величин. Рассмотрим классификацию типов и возможные диапазоны их значений.
- цел – целый тип, диапазон допустимых значений лежит в пределах от -(МАКСЦЕЛ+1) до МАКСЦЕЛ, где МАКСЦЕЛ = 2147483647 ;
- вещ – вещественный тип, диапазон допустимых значений лежит в пределах от -МАКСВЕЩ до МАКСВЕЩ, где МАКСВЕЩ – это число, немного меньшее, чем 1.797693×10 308 ;
Величины МАКСЦЕЛ и МАКСВЕЩ определяются способом представления чисел в памяти компьютеров и в большинстве современных языков программирования имеют примерно одинаковые значения.
Вещественные значения можно преобразовать к целым с помощью встроенной функции int , например:
- вещ а = 10.8; цел в
- в := int(а)
- вывод в
- сим – символьный тип, значением может быть любой литеральный символ;
- лит – значением может быть строка литеральных символов.
Встроенные функции языка Кумир позволяют преобразовать числовые типы в текстовые и наоборот.
- лог – может принимать значения да или нет .
В языке программирования Кумир используются простые и табличные величины.
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Прежде чем переходить к определению имени в языке КуМир рассмотрим понятия «слово» и «ключевые слова».
Понятие «слово»
Слово в языке КуМир представляет собой последовательность разрешенных (словарных) символов . К словарным символам относятся:
- буквы (кириллические и латинские, прописные и строчные);
- цифры;
- два специальных знака: @ _.
Примеры допустимых слов: длина, сумма1, 3кг, MacOS, admin@mail_ru
Примеры недопустимых слов: альфа-123, а%в, С++
Ключевые слова
Ключевые слова — это слова, которые имеют специальное значение в языке программирования . В языке КуМир к зарезервированным словам относятся
- алг, нач, кон, исп, кон_исп, дано, надо, арг, рез, аргрез, знач, цел, вещ, лог, сим, лит, таб, целтаб, вещтаб, логтаб, литтаб, и, или, не, да, нет, утв, выход, ввод, вывод, нс, если, то, иначе, все, выбор, при, нц, кц, кц_при, раз, пока, для, от, до, шаг.
Особенности имен в языке КуМир
Имя в языке Кумир – это слово или последовательность слов, которые могут, разделяться пробелами . Первое слово в имени не может начинаться с цифры. Запрещается использовать в именах ключевые слова.
Имена в Кумире могут быть присвоены величинам, таблицам, алгоритмам и исполнителям.
Примеры допустимых имен: m, периметр, площадь квадрата, Сумма10, Класс_10
Примеры недопустимых имен: 1S, а&в
Исключение: ключевое слово не можно использовать в Кумир-программе не более одного раза в отрицаниях логических величин, таблиц и алгоритмов функций между словами многословного имени. Например,
- лог А, пятый урок история = да
- А := не пятый урок история
- А := пятый не урок история
- А := пятый урок не история
Вопросы для самопроверки
- Какие символы относятся к словарным символам в языке Кумир?
- Что представляет собой слово в Кумире?
- Какие слова называются ключевыми?
- Какими особенностями обладает имя в языке Кумир?
Copyright © 2014-2021, Урок информатики
Все права защищены
Источник
Вложенные циклы и ветвления в системе
КУМИР
Одним
из фундаментальных понятий в информатике является понятие алгоритма.
Происхождение самого термина «алгоритм» связано с математикой. Это слово
происходит от Algorithmi – латинского написания имени Мухаммеда аль-Хорезми
(787 – 850) выдающегося математика средневекового Востока. В своей книге
«Об индийском счете» он сформулировал правила записи натуральных
чисел с помощью арабских цифр и правила действий над ними столбиком.
В
дальнейшем алгоритмом стали называть точное предписание, определяющее
последовательность действий, обеспечивающую получение требуемого результата из
исходных данных.
Алгоритм
может быть предназначен для выполнения его человеком или автоматическим
устройством. Создание алгоритма, пусть даже самого простого, — процесс
творческий. Он доступен исключительно живым существам, а долгое время
считалось, что только человеку. В XII в. был выполнен латинский перевод его
математического трактата, из которого европейцы узнали о десятичной позиционной
системе счисления и правилах арифметики многозначных чисел. Именно эти правила
в то время называли алгоритмами.
Данное
выше определение алгоритма нельзя считать строгим – не вполне ясно, что такое
«точное предписание» или «последовательность действий, обеспечивающая получение
требуемого результата». Поэтому обычно формулируют несколько общих свойств
алгоритмов, позволяющих отличать алгоритмы от других инструкций.
Такими
свойствами являются:
• Дискретность
(прерывность, раздельность) – алгоритм должен представлять процесс решения
задачи как последовательное выполнение простых (или ранее определенных) шагов.
Каждое действие, предусмотренное алгоритмом, исполняется только после того, как
закончилось исполнение предыдущего.
• Определенность
– каждое правило алгоритма должно быть четким, однозначным и не оставлять места
для произвола. Благодаря этому свойству выполнение алгоритма носит механический
характер и не требует никаких дополнительных указаний или сведений о решаемой
задаче.
• Результативность
(конечность) – алгоритм должен приводить к решению задачи за конечное число
шагов.
• Массовость
– алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть
применим для некоторого класса задач, различающихся только исходными данными.
При этом исходные данные могут выбираться из некоторой области, которая
называется областью применимости алгоритма.
Способы записи алгоритмов
Для
записи алгоритмов используют самые разнообразные средства. Выбор средства
определяется типом исполняемого алгоритма.
Выделяют
следующие основные способы записи алгоритмов:
— вербальный,
когда алгоритм описывается на человеческом (естественном) языке.
Естественными являются национальные языки (русский, английский, немецкий и
т.д.);
— символьный,
когда алгоритм описывается с помощью набора символов и является программой (программы
пишутся с помощью языков программирования);
—
графический,
когда алгоритм описывается с помощью набора графических изображений (блок-схема).
Общепринятыми
способами записи являются графическая запись с помощью блок-схем и символьная
запись с помощью какого-либо алгоритмического языка — программа.
При
графическом способе записи составляются блок-схемы , на которых с помощью
условных обозначений (геометрических фигур) обозначаются различные части
алгоритма. Элементы блок-схем представлены на рисунке.
Система программирования КУМИР
При
освоении темы алгоритмы воспользуемся системой программирования КУМИР.
КуМир
(Комплект Учебных МИРов) — система программирования, предназначенная для
поддержки начальных курсов информатики и программирования в средней и высшей
школе.
В
системе КуМир используется школьный алгоритмический язык с русской лексикой и
встроенными исполнителями Робот и Чертёжник и др.
При
вводе программы КуМир осуществляет постоянный полный контроль ее правильности,
сообщая на полях программы обо всех обнаруженных ошибках.
При
выполнении программы в пошаговом режиме КуМир выводит на поля результаты
операций присваивания и значения логических выражений. Это позволяет ускорить
процесс освоения азов программирования.
Графический исполнитель Робот
Графический исполнитель Робот позволяет освоить азы
программирования и понять работу основных алгоритмических конструкций.
Графический исполнитель — это объект управления. А управлять им будем мы с
вами.
Исполнитель робот находится в некоторой стартовой
обстановке – прямоугольном поле, разбитом на клетки, между которыми могут
стоять стены.
Робот может перемещаться по полю, обходя
стены и закрашивать клетки. Робот не может пройти сквозь стену, но может
проверять есть ли рядом с ним стена. Робот не может выйти за пределы
прямоугольника, ограничивающего поле.
Робот
может выполнять команды: вверх, вниз, вправо,
влево, закрасить.
Робот может проверять
условия: сверху свободно, снизу свободно,
справа свободно, слева свободно, добавление частицы не меняет условие на противоположное. Не сверху свободно, не снизу свободно, не справа свободно, не слева
свободно.
Базовые алгоритмические структуры
Выделяют три базовые алгоритмические
структуры (конструкции) —линейная (следование), ветвление и цикл, из
которых можно построить любой алгоритм. Каждая алгоритмическая структура
имеет одну точку входа и одну точку выхода.
Будем записывать алгоритмы на и
школьном АЯ и в виде блок-схем.
Линейная структура
Линейная
структура является
самой простой организацией алгоритмов — команды выполняются последовательно
одна за другой
Пример:
использовать Робот |
Циклическая структура (цикл)
Циклическая структура (цикл) обеспечивает многократное
выполнение одних и тех же команд. Существует несколько разновидностей
циклических структур.
Любая циклическая структура состоит
из двух частей — заголовка и тела цикла.
Набор команд, повторяющихся при
выполнении цикла, называют телом цикла.
Заголовок определяет количество повторений тела
цикла.
Цикл на число повторений (раз)
(запись в алгоритмическом языке)
нц N раз
<команда>
кц
Пример:
использовать Робот
алг столбик
нач
. нц 5 раз
. . закрасить
. . вверх
. кц
кон
Цикл с предусловием (пока)
(запись в алгоритмическом языке)
нц пока <условие>
<команда>
кц
Пример:
использовать Робот
алг Линия
нач
нц пока сверху свободно
закрасить
вверх
кц
кон
Цикл с постусловием (при)
(запись в алгоритмическом языке)
нц
<команда>
кц_при <условие>
Пример:
использовать Робот
алг Линия
нач
нц
закрасить; вверх
кц_при слева свободно
кон
Структура «ветвление».
Структура «ветвление». Решение некоторых задач
требует различных действий в зависимости от выполнения некоторых условий. В
таких случаях говорят о ветвлении алгоритма.
Для реализации структуры «ветвление»
используются две структурированные команды школьного АЯ — если и выбор, каждая
из которых может быть полной и неполной.
В блок-схемах и школьном АЯ
<условие> — это логическое выражение, результатом которого может быть
одно из двух возможных значений — истина или ложь. В школьном АЯ
эти значения записывают как да и нет. В языках программирования часто
используются значения True и False. В компьютере эти значения хранятся
как 1 и 0.
Полное ветвление
(запись в алгоритмическом языке)
если <условие>
. . то <команда1>
. . иначе <команда2>
все
Пример:
использовать Робот
алг ветвление_полное
нач
. если сверху свободно
. . то вверх
. . иначе вниз
. все
кон
Неполное ветвление
(запись в алгоритмическом языке)
если <условие>
. . то <команда1>
все
Пример:
использовать Робот
алг ветвление_неполное
нач
. если сверху свободно
. . то вверх
. все
кон
Вспомогательный алгоритм
(процедура)
Алгоритм по которому решается
некоторая подзадача из основной задачи и который, как правило выполняется
многократно, называется вспомогательным алгоритмом.
Вспомогательный алгоритм, записанный
на языке программирования, называется подпрограммой или процедурой.
Вспомогательный алгоритм вызывается
из основной программы через имя. Вспомогательный алгоритм записывается после
основного алгоритма. У вспомогательного алгоритма обязательно должно быть имя.
использовать Робот
алг
нач
вниз
квадрат
вниз
вниз
кон
алг квадрат
нач
закрасить
вправо
закрасить
вниз
закрасить
влево
закрасить
кон
Вложенные циклы и ветвления
При
решении некоторых задач с роботом необходимо использовать вложенные циклы или
ветвления.
Цикл
называется вложенным, если он размещается внутри другого цикла.
Рассмотрим
вложенный цикл на примере цикла пока.
Мы
знаем, что цикл состоит из заголовка цикла, который определяет количество
повторений тела цикла .
Тело
цикла, это та часть цикла, которая повторяется при выполнении цикла.
Телом
цикла может быть команда, несколько команд, а также другой цикл или ветвление.
В
том случае, когда телом цикла является другой цикл или ветвление, они
называются вложенными.
Вложенный цикл
На
первом проходе, внешний цикл вызывает внутренний, который исполняется до своего
завершения, после чего управление передается в тело внешнего цикла. На втором
проходе внешний цикл опять вызывает внутренний. И так до тех пор, пока не
завершится внешний цикл.
Вложенное ветвление
Рассмотрим решение задачи с вложенными ветвлениями и циклами:
Задача
1 Робот
находится на стене, в которой есть отверстия, двигаясь вдоль стены вправо,
робот должен закрашивать все клеточки, где есть отверстия.
|
|||
Составим
алгоритм решения задачи с вне6шим циклом пока и вложенным циклом пока.
использовать Робот |
Решим
эту же задачу, используя внешний цикл пока и вложенное ветвление.
использовать Робот |
Решим
эту же задачу с помощью внешнего цикла при и вложенного цикла пока.
Хирьянов Тимофей Федорович
Алгоритм на языке КуМир записывается так:
алг тип_алгоритма имя_алгоритма (описание аргументов и результатов)
дано условие_применимости_алгоритма
надо цель_выполнения_алгоритма
нач
последовательность команд
кон
Описание алгоритма состоит из:
- заголовка (часть до служебного слова нач),
- тела алгоритма (часть между словами нач и кон).
Части «дано», «надо», а также «тип алгоритма» и «описание аргументов и результатов» могут отсутствовать.
Простейшие алгоритмы
Рассмотрим следующий вспомогательный алгоритм для исполнителя Чертежник.
алг квадрат
нач
опустить перо
сместиться на вектор(0,2)
сместиться на вектор(2,0)
сместиться на вектор(0,-2)
сместиться на вектор(-2,0)
поднять перо
кон
Он позволяет нарисовать квадрат 2х2 (начиная с левого нижнего угла). Для этого нужно использовать в основной программе команду вызова вспомогательного алгоритма, которая будет иметь вид:
квадрат
Алгоритмы с аргументами
Для того, чтобы рисовать квадраты разных размеров, можно использовать алгоритм с аргументами.
алг квадрат (арг вещ а)
нач
опустить перо
сместиться на вектор(0, а)
сместиться на вектор(а, 0)
сместиться на вектор(0, -а)
сместиться на вектор(-а, 0)
поднять перо
кон
Слово арг означает, что у алгоритма есть аргумент (а), а вещ — то, что этот аргумент имеет вещественный тип. Команда вызова такого алгоритма может иметь вид
квадрат(2)
(в этом случае будет нарисован квадрат 2×2) или, например,
квадрат(5)
(в этом случае будет нарисован квадрат 5×5).
Алгоритмы с результатами
Алгоритм может не только получать информацию, но и отдавать ее. Для этого используется специальный вид величины — результаты.
алг гипотенуза (вещ a, b, рез вещ c)
дано a >= 0 и b >= 0 | длины катетов треугольника
надо | c = длинa гипотенузы этого треугольника
нач
c := sqrt(a ** 2 + b ** 2)
кон
Здесь служебное слово рез указывает на то, что
величина c является результатом и ее значение будет меняться в процессе
работы алгоритма. Например, после вызова
гипотенуза(3, 4, c)
величина c примет значение 5.
Алгоритмы-процедуры и алгоритмы-функции
Рассмотренные выше примеры являются алгоритмами-процедурами. В Кумире также существуют алгоритмы-функции. Алгоритм-функция после выполнения возвращает значение-результат.
Правила описания алгоритмов-процедур и алгоритмов-функций имеют два отличия.
Во-первых, для алгоритмов-функций на месте тип_алгоритма
должен быть указан один из простых типов алгоритмического языка (вещ,
цел и т.д.), определяющий тип значений, которые возвращает данная
функция.
Во-вторых, в теле алгоритма-функции необходимо использовать служебную величину знач,
которой присваивается вычисленное значение функции. Ее описанием служит
заголовок алгоритма, но в остальном величина знач используется так же,
как и любая другая промежуточная величина. (В теле алгоритма-процедуры
величину знач использовать нельзя.)
Вызов алгоритма-процедуры является отдельной командой алгоритмического языка и имеет вид:
имя_алгоритма-процедуры
или
имя_алгоритма-процедуры (список_параметров_вызова)
Вызов алгоритма-функции производится путем указания его имени в выражении. Встретив это имя при вычислении выражения, КуМир выполняет алгоритм-функцию.
алг вещ площадь (вещ a, b, c)
дано a >= 0 и b >= 0 и c >= 0 | длины сторон треугольника
надо | значение функции равно площади этого треугольника
нач
вещ p | полупериметр
p := (a + b + c) / 2
знач := sqrt(p * (p — a) * (p — b) * (p — c))
кон
Использовать этот алгоритм в программе можно, например, так:
алг
нач вещ P
P := площадь(3, 4, 4)
конили так:
если площадь(a, b, c) > 10
то
…
все
Система подготовки обучающихся к ОГЭ по информатике на примере решения задач по алгоритмизации в среде «КУМИР»
Гребнева Татьяна Васильевна,
учитель информатики
МБОУ г. Мурманска СОШ № 33
Задание 15.1 Разработка алгоритма для учебного исполнителя «Робот»
Задание 15.1
- Традиционно заключается в разработке алгоритма для учебного исполнителя «Робот». Описание команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку, также оно дано в тексте задания.
- Формулировке задания предшествует описание команд исполнителя и синтаксиса записи алгоритмических конструкций ветвления и цикла, поэтому задание может быть выполнено даже теми школьниками, которые не знакомы с используемым синтаксисом языка, но владеют основами алгоритмизации.
- На бесконечном поле имеются стены, которые робот должен обойти, закрасить нужные клетки и не разбиться. Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться.
- Учащиеся записывают алгоритм в текстовом редакторе и сохраняют в текстовом файле.
Основные ошибки при выполнении задания 15.1
- Представленные алгоритмы решения работают только в частных случаях.
- Использование цикла «n раз» вместо цикла «пока».
- Использование конструкций ветвления вместо конструкции цикла.
- Представлены линейные алгоритмы решения.
- Происходит «зацикливание» (алгоритм не завершается).
- Закрашены лишние клетки.
- Закрашена лишняя клетка / Не закрашена нужная клетка.
- Столкновение со стеной (Робот разбивается).
- Алгоритм содержит бесконечные циклы.
- Некорректное использование операторов цикла – отсутствует начало цикла (НЦ) или конец цикла (КЦ).
Проблема
Большая часть затруднений учащихся связана с недостаточностью умений смыслового чтения :
- представленные алгоритмы решения работают только при конкретных размерах коридора;
- робот закрашивает клетки, например, слева от стены, а не справа;
- алгоритм работает только для конкретной обстановки.
По-прежнему учащиеся показывают недостаточные умения в использовании конструкции цикла «ПОКА» с условием :
- путают с конструкцией ветвления «ЕСЛИ» или неверно указывают условие выхода из цикла.
Пример формулировки задания 15.1
На бесконечном поле есть горизонтальная и вертикальная стены. Правый конец горизонтальной стены соединён с нижним концом вертикальной стены. Длины стен неизвестны. В горизонтальной стене есть ровно один проход, точное место прохода и его ширина неизвестны. Робот находится в клетке, расположенной рядом с вертикальной стеной слева от её верхнего конца. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм,
- закрашивающий все клетки, расположенные непосредственно выше и ниже горизонтальной стены.
- Проход должен остаться незакрашенным.
- Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рисунок).
Важно учитывать:
- При исполнении алгоритма Робот не должен разрушиться.
- Выполнение алгоритма должно завершиться .
- Конечное расположение Робота может быть произвольным.
- Алгоритм должен решать задачу для любого допустимого расположения стен и любого расположения и размера прохода внутри стены.
- Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе.
Правильное решение:
Правильное решение:
- Любое правильное решение этой задачи обязательно должно содержать не менее 7 циклов «пока», перемещающих робота вдоль стен.
- Если такие циклы в алгоритме отсутствуют, то задание решено неверно и оценивается в 0 баллов.
Критерии оценивания:
Разбор возможных ошибок
Ошибка № 1 : ширина прохода ровно 1 клетка
За такое решение: 0 баллов .
Ошибка № 2 : цикл n раз
За такое решение: 0 баллов .
Ошибка № 3 : ветвление вместо цикла
За такое решение: 0 баллов .
Ошибка № 4 : линейный алгоритм
За такое решение: 0 баллов .
Ошибка № 5 : Задача решена, но при возвращении в исходную позицию произведена проверка препятствия сверху
За такое решение: 0 баллов .
Здесь надо помнить, что поле Робота бесконечно !
Поэтому произойдёт зацикливание последнего цикла.
Если в условии задачи не указано конечное расположение Робота, а учащийся возвращает его в исходную позицию, то это за ошибку не считается (п ри условии корректной остановки).
Ошибка № 6 : Закрашены лишние клетки
Здесь надо помнить, что по условию поле Робота бесконечно и ширина прохода может быть бесконечно большой !
Поэтому в результате увеличения ширины прохода будет закрашено более 10 клеток.
За такое решение: 0 баллов .
Ошибка № 7 : Закрашена лишняя клетка/ Не закрашена нужная клетка
Данное решение на 1 балл :
- Робот не разбивается;
- закрашено не более 10 лишних клеток;
- не закрашено не более 10 клеток, которые должны быть закрашены.
Ошибка № 8 : Столкновение со стеной
ОШИБКА ВЫПОЛНЕНИЯ:
Робот — нельзя сквозь стену ( 8061 )
За такое решение: 0 баллов .
Правильное решение:
Рекомендации по проверке задания 15.1
Задание 15.1
- Представление в задании команд исполнителя и синтаксиса управляющих конструкций соответствует общепринятому школьному алгоритмическому языку.
- Использование свободно распространяемой среды учебного исполнителя, например, среду Кумир (сайт http:// www.niisi.ru/kumir ) или другую среду с аналогичными возможностями исполнителя «Робот».
- Синтаксис команд используемой среды может отличаться от синтаксиса, описанного в условии.
- Результатом выполнения является файл, подготовленный в среде учебного исполнителя , содержащий запись алгоритма, являющегося решением задания или текстовый файл , содержащий запись алгоритма.
Рекомендации по оцениванию
- Завершает ли работу проверяемый алгоритм (то есть верно ли, что алгоритм не содержит бесконечных циклов)?
- Остается ли робот цел в результате исполнения алгоритма (то есть верно ли, что Робот не разрушается от столкновения со стеной)?
- Полностью ли Робот выполняет поставленную задачу, то есть закрашивает все требуемые клетки .
Если ответы утвердительные на все вопросы, то есть алгоритм всегда заканчивает свою роботу , Робот не разрушается при исполнении алгоритма и полностью выполняет поставленную в условии задачу, то задание оценивается в 2 балла.
Источники
Система программирования КуМир
https://www.niisi.ru/kumir/books.htm
К.Ю. Поляков Кумир для подготовки к ОГЭ. Практикум
http://kpolyakov.spb.ru/school/kumir.htm
Программирование в системе Кумир
https://sites.google.com/site/fakultativinformatika/
Денис Кириенко (Архив с курсом заданий для практикума)
http://server.179.ru/wiki/?page=DenisKirienko/Kumir
https://server.179.ru/wiki/?show_files=1&page=Denis_Kirienko/Kumir#header-files
Удалова Т.Л. (Варианты для Робота)
http://licey.net/free/18-programmirovanie_na_yazyke_kumir/70-sistema_programmirovaniya_kumir.html
«Информатика. Кумир» Удалова Т.Л.
https://books.google.ru/books?id=CdAqevFDPa4C&printsec=frontcover&hl=ru#v=onepage&q&f=false
Описания величин в языке Кумир
Перед использованием в КуМир-программе каждую величину необходимо описать, то есть задать величине статические характеристики: имя, тип и вид.
Рассмотрим способы описания простых и табличных величин.
Описания простых величин
Для описания простых величин используется команда описания, состоящая из ключевого слова необходимого типа (цел, вещ, сим, лит, лог), после которого следует имя (или список имен) величины. Например,
- цел длина, ширина
- лит примечание
В приведенном примере в первом случае описываются две величины целого типа длина и ширина , следующая команда описывает величину диагональ , которой присваивается вещественный тип и в последнем случае величина примечание получает литерный тип.
Описания таблиц
В описании таблиц после описания типа используется ключевое слово таб (может записываться слитно или раздельно с ключевым словом типа), затем, для каждой величины указываются размерность таблицы и диапазон изменения индексов. Например,
- вещтаб рост[1: 10]
- цел таб классы [1:4, 1:11]
В первой строке описывается таблица рост, состоящая из 10 элементов вещественного типа. Индексы элементов этой таблицы принимают значения от 1 до 10.
Во второй строке описывается двумерная (4 строки и 11 столбцов) таблица классы, в которой 44 элемента.
Область действия описаний
Область действия описания величины в программе (часть программы, в которой допустимо использовать данную величину) определяется способом ее описания.
Если описание величины произошло во вступлении к программе, то ее можно использовать в любой части этой программы.
Если величина описана в теле алгоритма, то ее можно использовать после места описания только в теле этого алгоритма.
Рассмотрим пример:
- цел длина, ширина
- алг
- нач
- вещ диагональ
- кон
Величины длина и ширина описаны во вступлении, поэтому их можно использовать в любой части не только основного алгоритма, но и любом другом алгоритме этой программы. Величина диагональ описана в теле алгоритма, значит, область действия ее описания только часть алгоритма после описания.