Синтаксис алгоритмического языка программирования

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

Немного истории

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

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

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

Что представляет собой алгоритм

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

Данная последовательность весьма упрощена, однако представляет собой самый простой алгоритм.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

Свойства и особенности алгоритмического языка

Структура реализована таким образом, что процедуры, описанные в коде, выполняются одна за другой. То есть один алгоритм — одна задача. Это похоже на создание функций или методов в языках С и Java.

Весь код строится из ключевых слов, описывающих событие или переменную.

Различия между машинными и алгоритмическими языками

Ярким представителем машинно-зависимого языка является ассемблер. Программирование на нем сводится к тому, чтобы указать транслятору особыми метками, что и куда нужно переместить или какую область данных заполнить. Так как синтаксис ассемблера больше похож на машинный, то изучать и писать на нем код довольно затруднительно. Ниже вы видите, как могут выглядеть команды для разных процессоров.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

Ключевые слова

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

Список данных ключевых слов относится к заголовку и обозначению тела алгоритма. А вот так выглядят лексемы для переменных:

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Дополнительные служебные слова

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

Основные структуры языка

Алгоритмический язык программирования помогает выстраивать различные структуры, которые производят вычислительные функции в удобной форме. В общем, любой язык может использовать несколько определённых механизмов и их сочетания.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Структура следования

При проектировании такого вида структуры выполнение кода происходит непосредственно строка за строкой. Общий пример можно выразить таким образом:

алг Сумма двух чисел (арг цел a, b, рез цел S)

В данном примере происходит вычисление суммы двух чисел, введённых пользователем. В начале слово «алг» показывает, что алгоритм начинается, и кратко описывает, что именно он делает. В скобках определяются аргументы, необходимые для работы программы, и переменная, которая послужит контейнером для хранения результатов. Далее идёт ключевое слово «нач», показывающее непосредственное начало выполнения выражений и процедур. Рядом с «нач» можно определить и некоторые промежуточные переменные.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

Структура ветвления

Ход программы не всегда должен выполняться строка за строкой. Иногда нужно определить или изменить значение некой переменной в зависимости от ситуации. Например, при условии, что х = 0, не осуществлять деление на х.

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

Таким образом можно менять значения переменных в зависимости от других факторов. Данный пример не полностью охватывает все возможные реализации. Поэтому дополнительно к конструкции применяется ключевое слово «иначе». Оно позволяет перейти в другую ветвь, если условие не соответствует выбранным критериям.

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

Более удобным средством для осуществления множественного выбора является конструкция «выбор». Она позволяет перебрать несколько условий. При срабатывании одного из них будет выполнено указанное для него действие.

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

Циклы

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

Ключевое слово «пока» позволяет организовать цикл, в котором определённое действие будет повторяться до тех пор, пока не удовлетворится некое условие. Например:

нц пока х 0 будет иметь значение «истина» при х, равном 1, 2, 25 или любом другом числе больше нуля. Алгоритмический язык содержит логические выражения, которые помимо стандартных математических операций могут использовать следующие ключевые слова и операторы:

Небольшая программа для алгоритмического языка

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

Составляющие алгоритмического языка имеют в своем составе множество ключевых слов. Первое, с чего начинается программа, это объявление об алгоритме — алг.

алг Возведение числа в квадрат ()

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

алг Возведение числа в квадрат (арг цел х, рез цел S)

Теперь машина будет знать, что взаимодействовать ей придется с переменной типа целое число, а результатом ее работы будет S.

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

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

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

Алгоритмический язык, команды которого позволяют реализовать присвоение, записываются в виде :=. Тем самым в переменную S попадает значение произведения х на самого себя. Строка с выводом показывает результат на экране. Ну и завершается все это ключевым словом «кон». Полный код теперь будет выглядеть так:

алг Возведение числа в квадрат (арг цел х, рез цел S)

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

алг Возведение числа в квадрат и расчёт их суммы (арг цел х, рез цел S)

надо | S = 1*1 + 2*2+ … + x*x

нц для а от 1 до х

В этом варианте используется цикл, промежуточная переменная а и краткое указание к задаче в разделах «дано» и «надо». Теперь, если передать программе некое число, она возведёт его в квадрат и выведет сумму квадратов всех чисел, ему предшествующих.

Использование и развитие алгоритмических языков

Алгоритмический язык распространён в среде обучения для понимания базовых норм и правил программирования. Например, бейсик, который проходят во многих школах. Он отлично отражает все парадигмы такого термина, как императивный язык программирования, в котором все команды выполняются последовательно одна за другой.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

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

Источник

Лекция по информатике «Алгоритмизация и программирование»

Лекция № 6: Алгоритмизация и программирование

Лекция № 6: Алгоритмизация и программирование

Понятие алгоритма

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

Название «алгоритм» произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг.

Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.

Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации.

Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

1. Сpеда (или обстановка) — это «место обитания» исполнителя. Напpимеp, для исполнителя человека – это общество или природа, для робота – помещение, в котором он функционирует.

4. Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды. Например, робот не может идти, так как перед ним стена. Водитель не может ехать, так как на дороге пробка из-за аварии.

В информатике универсальным исполнителем алгоритмов является компьютер.

Свойства алгоритмов

Основные свойства алгоритмов следующие:

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

3. Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

4. Pезультативность (или конечность) состоит в том, что за конечное число шагов алгоpитм либо должен пpиводить к pешению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов.

5. Массовость означает, что алгоpитм pешения задачи pазpабатывается в общем виде, т.е. он должен быть пpименим для некотоpого класса задач, pазличающихся лишь исходными данными. Пpи этом исходные данные могут выбиpаться из некотоpой области, котоpая называется областью пpименимости алгоpитма.

Формы записи алгоритма

На практике наиболее распространены следующие формы представления алгоритмов:

1. Словесная форма записи алгоритма

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел ( алгоритм Эвклида ).

Алгоритм может быть следующим:

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

определить большее из чисел;

заменить большее из чисел разностью большего и меньшего из чисел;

повторить алгоритм с шага 2.

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

НОД=25; 125/25=5, 75/25=3

Словесный способ не имеет широкого распространения, так как имеет ряд недостатков.

Недостатки словесного способа

словесный алгоритм строго не формализуем;

создается многословность записи;

допускается неоднозначность толкования отдельных предписаний.

2. Графический способ записи алгоритма

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

Блок «процесс» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.

Блок «решение» используется для обозначения переходов управления по условию. В каждом блоке «решение» должны быть указаны вопрос, условие или сравнение, которые он определяет.

Блок «модификация» используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.

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

3. Запись алгоритма в виде псевдокода

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

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

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации ( школьный АЯ ), описанный в учебнике А.Г. Кушниренко и др. «Основы информатики и вычислительной техники», 1991.

Наприемр

Основные служебные слова

алг название алгоритма (аргументы и результаты)

дано условия применимости алгоритма

надо цель выполнения алгоритма

нач описание промежуточных величин

| последовательность команд (тело алгоритма)

4. Программная форма представления алгоритма

Это тексты на языке программирования

Б азовые алгоритмические структуры

Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов .

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

1. Базовая структура «следование». Образуется последовательностью действий, следующих одно за другим:

Структура ветвление существует в четырех основных вариантах:

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

при условие 1: действия 1

при условие 2: действия 2

при условие N: действия N

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

при условие 1: действия 1

при условие 2: действия 2

при условие N: действия N

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Примеры структуры ветвление

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Вложенные циклы

Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операторов, т. е. организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов . Глубина вложения циклов (то есть количество вложенных друг в друга циклов) может быть различной.

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

Пример вложенных циклов «для»

Вычислить сумму элементов заданной матрицы А(5,3).

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

Пример вложенных циклов «пока»

Вычислить произведение тех элементов заданной матрицы A(10,10), которые расположены на пересечении четных строк и четных столбцов.

Источник

Алгоритмические языки

Урок 13. Информатика 8 класс (ФГОС)

Конспект урока «Алгоритмические языки»

· Способы записи алгоритмов;

Алгоритмические языки – это формальные языки, специально разработанные для записи алгоритмов. Причём для каждого алгоритмического языка существуют свои особенности, это:

· Алфавит – или набор используемых символов

· Синтаксис – система правил, по которым из алфавита образуются правильные конструкции языка

· Семантика – система правил, строго определяющая смысл и способ употребления каждой конструкции языка

Существует огромное количество алгоритмических языков. В школьной информатике используются различные версии школьного (учебного) алгоритмического языка.

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

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

Служебное слово алг указывает на название алгоритма;

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

служебное слово нач указывает на начало алгоритма, здесь описывается последовательность команд;

служебным словом кон алгоритм заканчивается.

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

Рассмотрим правила оформления записей на алгоритмическом языке.

· Имя (название) алгоритма может быть любым.

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

· Также при записи алгоритма служебные слова выделяют жирным шрифтом, а в тетради или на доске подчёркивают.

Если представить программу на школьном алгоритмическом языке в общем виде, то выглядеть она будет так:

Часть алгоритма, которая записана до служебного слова Нач называют заголовком алгоритма.

Вторую часть между служебными словами Нач и Кон называют телом алгоритма.

Рассмотрим пример. Пусть требуется перевести робота из клетки А в клетку Б.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

При управлении «вручную» мы можем два раза скомандовать роботу «вправо» и один раз «вниз». Однако, если мы хотим, чтобы роботом управлял компьютер, мы должны записать эти команды в виде алгоритма на алгоритмическом языке:

Дано Робот в клетке А

Надо Робот в клетке Б

Рассмотрим ошибки, которые могут допускаться при записи алгоритма на алгоритмическом языке.

Это могут быть синтаксические ошибки (например, вместо «вниз» написали «внис»);

Или ошибки-Отказы (например, при попытке выполнить команды «вниз», «вправо», «вправо» в текущей обстановке. Робот сталкивается со стеной и не может продолжить выполнение команд).

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

Рассмотрим следующий пример: Пусть требуется перевести робота из начала коридора в его конец.

Синтаксис алгоритмического языка программирования. Смотреть фото Синтаксис алгоритмического языка программирования. Смотреть картинку Синтаксис алгоритмического языка программирования. Картинка про Синтаксис алгоритмического языка программирования. Фото Синтаксис алгоритмического языка программирования

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

Команды прохождения каждого участка можно сгруппировать в одну строку – это сокращает запись и делает её более понятной:

Дано Робот в начале коридора

Надо Робот в конце коридора

вверх; вверх; вправо; вниз; вниз; вправо

вверх; вверх; вправо; вниз; вниз; вправо

вверх; вверх; вправо; вниз; вниз; вправо

вверх; вверх; вправо; вниз; вниз; вправо

вверх; вверх; вправо; вниз; вниз; вправо

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

В наличии имеется 9 кг муки и чашечные весы с гирькой в 200 грамм. Необходимо в 3 приёма отвесить ровно 2 кг муки для приготовления пирога.

ставим на первую чашу весов гирю весом в 200 г

высыпаем всю муку из пакета на обе чаши весов, так чтобы весы уравновесились

муку из первой чаши разделим поровну между двумя чашами

ставим на первую чашу весов двухсотграммовую гирю

берём муку из первой чаши и высыпаем на вторую чашу

весов, до тех пор, пока весы не уравновесятся

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

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

Сразу после запуска появляется стартовая страница ‹‹Начало работы››, на которой отображаются ссылки для быстрого доступа к последним файлам, практикумам, книгам справочной системы, а также крупные кнопки, дублирующие некоторые пункты меню программы.

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

Главное меню системы содержит 7 основных пунктов и некоторое количество пунктов, которые могут меняться в зависимости от поставки системы. Каждому из этих пунктов соответствует своё раскрывающееся меню.

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

Меню Вставка содержит 2 группы действий:

Операции вставки конструкций используемого языка программирования

Операции выполнения записанных ранее последовательностей нажатий клавиш.

Элементами меню Выполнение являются действия по запуску и остановке выполнения текущей программы.

Меню Окна содержит действия отображения дополнительных окон системы ‹‹Кумир››, которые реализуются исполнителями.

Меню Практикум содержит следующие опции:

• Загрузить курс – что значит загрузить файл описания курса или тетрадь.

• Недавние тетради/курсы – открывает список недавно использовавшихся тетрадей/курсов.

• Проверить – запускает проверку заданий.

• Сохранить как … – сохраняет тетрадь.

• Вернуться к исходной – возвращает всех исполнителей к исходным обстановкам. Все пользовательские изменения в файле программы также аннулируются.

• Вернуться к проверенной – возвращает состояние исполнителей и файла программы к тому моменту, когда программа последний раз подавалась на проверку.

• Следующая обстановка – загружает следующую обстановку из тех, на которых будет производиться проверка.

• Предыдущая обстановка – загружает предыдущую обстановку из тех, на которых будет производиться проверка.

Различные исполнители системы Кумир могут иметь свои одноименные меню, которые располагаются в главном окне между меню Практикум и Информация. В данном случае открыто меню Робот.

Меню Инфо содержит элементы, вызов которых приводит к отображению информационных окон.

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

Итак, решим задачу в системе КуМир.

Исполнитель Робот существует в некоторой обстановке – прямоугольном поле, разбитом на клетки, между которыми могут стоять стены. Обстановка, в которой находится Робот, называется текущей обстановкой Робота. Кроме того, определена ещё одна обстановка Робота – стартовая обстановка. Стартовая обстановка используется при управлении Роботом из программы.

Робот может передвигаться по полю, закрашивать клетки, измерять температуру и радиацию. Робот не может проходить сквозь стены, но может проверять, есть ли рядом с ним стена. Робот не может выйти за пределы прямоугольника (по периметру стоит «забор»).

Система команд исполнителя «Робот» включает:

· 5 команд, вызывающих действия Робота (влево, вправо, вверх, вниз, закрасить);

· 10 команд проверки условий:

· 8 команд вида [слева/ справа/ сверху/ снизу] [стена/ свободно],

· 2 команды вида клетка [закрашена/ чистая];

· 2 команды измерения (температура, радиация).

Командам влево, вправо, вверх, вниз, закрасить соответствуют алгоритмы-процедуры языка КуМир. Остальным командам соответствуют алгоритмы-функции.

Обратите внимание Заголовок алгоритма уже записан.

Итак, в строке дано записано, что робот находится в клетке А. Надо чтобы робот оказался в клетке Б и закрасил отмеченные клетки.

Обратите внимание, слева, снизу и сверху у робота находится стена, значит его передвижение влево, вниз и вверх невозможно. Между служебными словами нач и кон записываем команды вправо, вправо, вправо, вправо, теперь робот оказался в отмеченной клетке, которую нужно закрасить, записываем команду закрасить, далее вниз. Снова робот находится в клетке, которую нужно закрасить. Записываем команду закрасить. Далее записываем команды влево, влево, влево, влево. Робот пришёл в клетку Б. Конец алгоритма.

Пришло время подвести итоги урока.

Алгоритмические языки – формальные языки, специально разработанные для записи алгоритмов.

Причём для каждого алгоритмического языка существуют собственные особенности: Алфавит, Синтаксис, Семантика.

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

Также на уроке мы составили алгоритм взвешивания муки для приготовления пирога.

И познакомились с системой программирования КуМир.

Источник

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

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