На рис. 21.6 изображена блок-схема подпрограммы вывода , которая реализует рассмотренную выше процедуру. После передачи управления подпрограмме ( блок /) в блоке 2 производится подготовка данных для вывода, которая заключается в пересылке данных из памяти в аккумулятор. Когда это произойдет, микро — ЭВМ установит сигнал DAVOUT в 0 и вернется к выполнению основной программы. [16]
На рис. 21.9 представлена блок-схема подпрограммы обработки запроса прерывания на вывод данных. [17]
Согласно перечисленным выше группам емкостного оборудования блок-схема подпрограммы включает три модуля для расчета цен: а) сборников, б) емкостей и в) аппаратов с мешалками. [19]
Уравнения (6.41) — (6.47) были заложены в блок-схему подпрограммы расчета цен на теплообменное оборудование, применяемое в технологической схеме производства ВА. [21]
OR вызывается в программах профилирования затворов, она используется для расчета абсцисс точек профиля. Блок-схема подпрограммы приведена на рис. П-2. В подпрограмме осуществляется линейная интерполяция функции У У ( Х), заданной таблично: векторы X и У содержат по МУ значений аргумента и функции соответственно. Значение функции У в точке XT присваивается параметру УТ. [22]
Самый подробный урок про Блок-схемы, Понимание, Чтение и Создание блок-схем
Реализация построенных блок-схем подпрограмм расчета капитальных затрат на отдельные группы оборудования, которое используется в схеме производства ВА, была осуществлена с помощью программы, записанной на алгоритмическом языке Алгол и оформленной в виде процедур-функций. Эта комплексная программа, макроблок-схема которой изображена на рис. 28, реализует вычисление стоимости всех аппаратов технологической схемы путем обращения к соответствующим процедурам-функциям. [24]
На рис. 11.14 приведена блок-схема подпрограммы для вывода данных на дисплей и ввода состояния переключателя каналов. Она вызывается из цикла основной программы непосредственно после программы счета и должна обновить число в следующем разряде дисплея, если только к этому моменту не были обновлены данные во всех шести разрядах; в последнем случае подпрограмма вместо обновления данных на дисплее считывает состояние переключателя каналов. Сначала подпрограмма восстанавливает указатель последнего выведенного на дисплей разряда. Если это оказал-я шестой разряд, производится переход к программе ввода положения т Реключателя. В противном случае подпрограмма извлекает указа — 1ь CHANNEL, устанавливает, которую из половин байта следует вести на дисплей, и выводит ее. [25]
Блоки с 11 до 15 составлены для двух условий. Если имеется более двух условий, блок-схема подпрограммы должна быть расширена. Если же система уравнений содержит только одно условие, эти блоки исключаются. [26]
После восприятия интерпретатором допустимого приказа управление передается соответствующей подпрограмме, которая начинает диалог с пользователем. Как пример на рис. 4.16 приведена блок-схема подпрограммы индикации памяти . [27]
Она решает линейную систему уравнений, представляющих эквивалентную схему, проверяет полученные решения по критериям, заданным для данной схемы, и оценивает функции нагрузки. Хотя установлено, что стандартная программа обработки имеет преимущества в смысле затрат машинного времени, все же каждая подпрограмма решения уравнений схемы обладает определенными особенностями, которые должны быть учтены. Ниже подробно описана блок-схема подпрограммы решения уравнений ( фиг. [28]
Блок-схемы для начинающих (Блок схемы алгоритмов)
Источник: www.ngpedia.ru
Процедурная парадигма
Этот оператор является «основным» оператором процедурного программирования . Его синтаксис:
- для вызова подпрограмм
Листинг 4.12.
Листинг 4.13.
Здесь () — имя, под которым процедура (подпрограмма или функция) встречается в программе, — возвращаемое функцией значение переменной, а фактические параметры > — список передаваемых программе параметров-констант и переменных (их значений).
При вызове процедур тип и число переменных — фактических параметров должно совпадать с числом и типом формальных параметров , заданных при объявлении процедуры. Объявление процедуры следующее:
Листинг 4.14.
где — тип возвращаемого функцией результата (отсутствует при вызове подпрограммы), а формальные параметры > — передаваемые через стек значения переменных. Синтаксис формальных параметров :
Листинг 4.15.
где — тип переменной — формального параметра (должен совпадать с типом фактического параметра), — имя переменной — формального параметра (может отличаться от имени/значения фактических параметров ), остальные знаки — специальные символы РБНФ (не пишутся в образце).
Замечание: в языке Си есть разница между объявлением и описанием процедуры. При объявлении дается структура, указанная в формуле 4.14, но без тела функции. Описание функции представляет собой структуру [4.14], но содержащие операторы алгоритма в теле функции. Объявление функции должно предшествовать не только его описанию, но и использованию. В остальных языках, как правило, объявления и описания совпадают.
Замечание. Фактические параметры могут передаваться по значению и по ссылке. При передаче по значению значение переменной — фактического параметра заносится в стек, и формальный параметр принимает значение уже из стека. При выходе из процедуры значение переменной в стеке уничтожается.
Передача данных по ссылке — это, фактически, передача » разыменованного указателя на переменную». При выходе из процедуры значение переменной — формального параметра сохраняется и передается фактическому параметру. Подробнее о передаче параметров смотри в «Другие типы данных» . Хотя передача параметров по ссылке выглядит предпочтительнее, ее использование ведет к усложнению машинного кода и снижению безопасности системы .
- Сначала идут передаваемые по значению переменные, потом — передаваемые по значению указатели, и в конце — передаваемые по ссылке переменные и указатели;
- Вначале идут переменные с исходными значениями, затем — переменные, изменяющие значения исходных переменных, и лишь затем — счетчики, дескрипторы (файлов , областей памяти) и т.п.
Вызов процедуры на блок-схеме изображается так, как показано на рис. 4.7
Рис. 4.7. Обозначение вызова процедуры на блок-схеме.
Замечание. Тип возвращаемого функцией значения может переопределяться (см. раздел «Другие типы данных» ).
4.1.1.12. Операторы ввода-вывода
В большинстве языков ввод-вывод осуществляется с помощью функций или операторов, очень похожих на функцию.
Здесь автор отмечает, что ввод-вывод данных может быть прямым (сразу на консоль или в файл), буферизированным, или «потоковым» (через определенный буфер, связанный с файлом либо устройством и расположенный в оперативной памяти компьютера) и, наконец, «графическим», через заранее определенный GUI API («программный интерфейс приложения для графического пользовательского интерфейса»). Для каждого из этих типов вывода существуют свои API (функции и библиотеки). Подробнее о функциях ввода-вывода смотри [59, 31, 51, 74, 86-91].
Вид операторов ввода и вывода данных на блок-схеме представлен на рис. 4.8.
Рис. 4.8. Обозначение операторов ввода-вывода на блок-схеме.
4.1.1.13. Составной оператор
Блок операторов представляет собой допустимую последовательность операторов , заключенных в скобки (например, в Си/C++ это фигурные скобки: «») или между лексемами : «Begin … End» (как в Паскале и Алголе ).
На блок-схеме такие операторы никак не выделяются, а представляют собой просто последовательности операторов .
Составной оператор применяется в следующих случаях:
- В операциях условия, цикла, ветвления, множественного выбора, когда вместо одного оператора необходимо выполнить несколько операций (блок);
- Необходимо определить «локальные переменные», определяемые лишь внутри блока;
- Нужно написать тело функции или процедуры.
Новые переменные определяются только в начале блока, и их действие заканчивается после выхода из блока.
4.1.1.14. Оператор выхода из процедуры
Этот оператор имеет следующий синтаксис:
return []
Листинг 4.16.
где — выдаваемое после окончания функции ее значение (только для функций).
Оператор » return » может быть расположен в любом месте программы. На блок-схеме он обозначен как: «Конец []» (см. рис. 4.9).
Рис. 4.9. Изображение оператора: «выход из функции» на блок-схеме.
4.1.1.15. Резюме
Итак, мы познакомились с основными алгоритмическими конструкциями, присутствующими в языках программирования процедурной парадигмы. Более подробно о синтаксисе этих конструкций в конкретных языках программирования смотри [59, 31, 51, 74, 92, 78]. Там же смотрите примеры программ.
А мы движемся дальше, к общему представлению программ на процедурных языках и описанию » метаязыков «.
4.1.2. Особенности метаязыка для процедурной парадигмы
Для визуализации алгоритмов, созданных с помощью процедурной парадигмы, используют:
- блок-схемы ;
- «школьный» язык программирования, созданный Кушниренко.
Рассмотрим эти способы поподробнее:
4.1.2.1. Блок-схемы
Это «старый» способ визуализации алгоритмов. Его преимущества очевидны при «неструктурированном» программировании (например, на языке » Ассемблер «). Вот его составные части:
- Начало программы отмечается символом, указанным на рис. 4.9 a, а окончание отмечается изображением, указанным на рис. 4.9 b;
- Переход к следующему по-порядку оператору осуществляется при помощи линий со стрелками;
- Разрыв линий указывается с помощью фигуры на рис. 4.10;
Рис. 4.10. Фигуры, указывающие на «разрывы» линий, отмечающих последовательность операторов.
Рис. 4.11. Обозначение операторов на блок-схеме.
Ниже приведена блок-схема алгоритма нахождения наибольшего общего делителя по алгоритму Евклида .
увеличить изображение
Рис. 4.12. Блок-схема алгоритма Евклида.
Примечание. Блок-схему алгоритма всегда следует прикладывать как приложение к тексту программы на «неструктурированных» языках программирования, таких как » Ассемблер » и «BasicA» (ранняя реализация Бейсика от Microsoft).
4.1.2.2. «Школьный» язык программирования
Этот «язык записи алгоритмов» был предложен в 1986 году Кушниренко [55] специально для обучения программированию в средних школах. Этот язык оказался настолько «мощным» для описания алгоритмов процедурной парадигмы, что он используется (с небольшими изменениями) до сих пор.
В приложении I представлены основные конструкции этого языка. В примере 09 представлена запись алгоритма из примера 08 на «школьном» языке.
В приложении II находятся требования к «описательной части» школьного языка программирования, не вошедшие в приложение III
4.1.2.3. Требования для «структурирования» алгоритма
Вот еще одно «неписанное правило» структурированного программирования :
«Каждый оператор внутри блока операторов должен выделяться дополнительным фиксированным отступом от левой границы текста на одну позицию табуляции (символ «t»). При закрытии блока операторов позиция отступа «уменьшается назад» на одну позицию табуляции.»
Для иллюстрации этого правила смотри Пример 09 на «школьном» языке программирования.
4.1.2.4. Резюме метаязыков
В предыдущих разделах мы ознакомились с основными » метаязыками » программирования, используемых при записи алгоритмов, вместе с их возможными областями применения. Вы получили представления о блок-схемах , «школьном языке программирования», познакомились с основными правилами «структурированной парадигмы». Более подробно о процедурной парадигме программирования смотри, например, [64].
4.2. Резюме процедурной парадигмы
Итак, процедурная парадигма содержит в себе семейство императивных языков программирования, позволяющих на «низком» и «высоком» уровне создавать алгоритмы для обработки «произвольных» данных. Процедурная парадигма идеально подходит для программирования в рамках «командного интерфейса», когда пользователь подает компьютеру команду на выполнение действий, а компьютер выдает результат ее исполнения.
Поскольку командный интерфейс немного устарел, то, в настоящее время командная парадигма используется ограниченно: только для написания драйверов, утилит командной строки, макросов и скриптов.
Источник: intuit.ru
Презентация на тему Алгоритмические структуры языка Basic
Содержание: Происхождение понятия «алгоритм» Что такое алгоритм? Основные виды алгоритмов Линейный алгоритм Разветвляющийся алгоритм Циклический алгоритм Вспомогательный алгоритм Блок-схемы Блок-схема для линейных алгоритмов 10. Блок-схемы для алгоритмов с ветвлением 11.
- Главная
- Информатика
- Алгоритмические структуры языка Basic
Слайды и текст этой презентации
Е. С. 11 А класс
Слайд 2Содержание:
Происхождение понятия «алгоритм»
Что такое алгоритм?
Основные виды алгоритмов
Линейный
алгоритм
Разветвляющийся алгоритм
Циклический алгоритм
Вспомогательный алгоритм
Блок-схемы
Блок-схема для линейных алгоритмов
10.
Блок-схемы для алгоритмов с ветвлением
11. Блок-схемы для циклических алгоритмов
12. Блок-схема для вспомогательных алгоритмов
Слайд 3Содержание:
13. Microsoft Quick BASIC
Среда разработчика
Quick BASIC
Основные операторы
Другие операторы
Линейные алгоритмические структуры
Пример линейной
программы
Алгоритмические структуры с ветвлением
Пример программы с ветвлением (однострочная форма)
Пример программы с ветвлением (многострочная форма)
Циклические алгоритмические структуры
Пример циклической программы, реализованной с помощью цикла с параметром
Слайд 4Содержание:
24. Циклы ДО и ПОКА
25. Пример циклической
программы, реализованной с помощью цикла ДО
Пример циклической
программы, реализованной с помощью цикла ДО
Пример циклической программы, реализованной с помощью цикла ПОКА
Пример циклической программы, реализованной с помощью цикла ПОКА
Алгоритмическая структура для программ с подпрограммами
Пример программы с подпрограммой
Вместо заключения
Слайд 5Происхождение понятия «алгоритм».
Слово «алгоритм» происходит от имени
выдающегося математика средневекового Востока Мухаммеда аль-Хорезми. Им
впервые были предложены приемы выполнения математических вычислений с многозначными числами. Позже в Европе эти приемы стали называть алгоритмами от «Algorithmi»- латинского написания имени аль-Хорезми. В наше время понятие алгоритма понимается шире, не ограничиваясь арифметическими вычислениями.
Слайд 6
Алгоритм — понятное и очень точное предписание
исполнителю выполнить конечную последовательность команд, приводящую от
исходных данных к искомому результату.
Для алгоритма строго не определяется форма его представления. Алгоритм можно изобразить графически, можно записать специальными символами, но программа должна быть записана на языке исполнителя (для ЭВМ это язык программирования).
Что такое алгоритм?
Слайд 7Основные виды алгоритмов
Алгоритмы бывают четырех основных видов:
линейные (самые простые), с ветвлением (разветвляющиеся),
циклические и вспомогательные. А теперь рассмотрим подробнее каждый вид алгоритмов.
Слайд 8Линейный алгоритм:
Линейный или последовательный алгоритм — описание
таких действий, которые выполняются однократно в заданном
порядке.
Пример: алгоритм решения задачи (от записи данных до получения ответа), алгоритм открывания двери (вставить ключ, повернуть ключ, открыть дверь) и т.д.
Слайд 9Разветвляющийся алгоритм:
2. Разветвляющийся алгоритм — это
алгоритм, в котором в зависимости от условия
выполняется либо одна, либо другая последовательность действий.
Пример: алгоритм покупки билетов (спрашиваем в кассе, есть ли билеты, если билеты есть, то подаем деньги, получаем билеты) и т.д.
Слайд 10Циклический алгоритм:
3. Циклический алгоритм – описание
действий, которые должны повторяться указанное число раз
или пока не выполнено заданное условие. Перечень повторяющихся действий называют телом цикла.
Пример: алгоритм нахождения значений y при заданных или задающихся значениях x для построения графика функции.
Слайд 11Вспомогательный алгоритм:
4. Вспомогательный алгоритм – это
алгоритм, который можно использовать в других алгоритмах,
указав только его имя. Вспомогательному алгоритму должно быть присвоено имя.
Пример: алгоритм для определения корней любого квадратного уравнения (алгоритм нахождения дискриминанта является как бы вспомогательным алгоритмом и находится внутри основного.
Слайд 12Блок-схемы:
Любой алгоритм очень удобно представлять в виде
блок-схемы, так как это не только самый
наглядный и простой способ представления алгоритма, но и лучший способ представления алгоритма для перевода его на любой язык программирования.
Слайд 13Блок-схема для линейных алгоритмов
Так в общем виде
выглядит блок-схема для линейных алгоритмов:
Слайд 14Блок-схемы для алгоритмов с ветвлением
Так в общем
виде выглядят блок-схемы для алгоритмов с ветвлением:
НАЧАЛО
ВВОД
?
Оператор
Слайд 15Блок-схемы для циклических алгоритмов
Блок схемы для циклических
алгоритмов бывают двух видов: цикл ДО (на
рис. слева) и цикл ПОКА (на рис. справа)
Слайд 16Блок-схема для вспомогательных алгоритмов
Так в общем виде
выглядит блок-схема для вспомогательных алгоритмов:
Слайд 17Microsoft Quick BASIC
Microsoft Quick BASIC – это
один из самых известных, простых и понятных
языков программирования. Основам программирования на этом языке посвящено очень много книг и учебных пособий. Далее мы познакомимся со средой Microsoft Quick BASIC и разберем примеры программ на этом языке.
Слайд 18Среда разработчика Quick BASIC
Так выглядит среда Microsoft
Quick Basic когда мы запускаем файл QBasic.exe:
Слайд 19Основные операторы:
Оператор — это ключевое слово в
строке программы.
Let – оператор присваивания (с
англ. Пусть).
Print – оператор вывода (с англ. Печать).
Input – оператор ввода (с англ. Ввод).
End – оператор конца программы (с англ. Конец).
If then else – оператор условного перехода.
For to step — next While, Repeat, Until, Loop – операторы цикла.
Rem – пустой оператор пояснения.
Gosub и return – операторы подпрограммы.
Слайд 20
Нужно заметить, что выше мной были перечислены
далеко не все операторы. Существует ещё оператор
cls (оператор очистки экрана), операторы графики, такие как pset, line, circle, paint, draw и др., оператор массива dim и ещё много других. Но их полное изучение заняло бы очень много времени. А теперь мы переходим к примерам программ, составленных на языке Quick Basic.
Слайд 21Линейная алгоритмическая структура
Самый простой вид алгоритмической структуры
– линейная. Она выглядит так:
Ввод (оператор INPUT),
Расчет
по формуле,
Вывод (оператор PRINT).
Слайд 22Пример линейной программы:
Типичный пример линейной программы –
это программа расчета по физическим или математическим
формулам. Здесь: расчет сопротивления проводника, если известна сила тока и напряжение.
Слайд 23Алгоритмические структуры с ветвлением
Алгоритмическая структура с ветвлением
может быть записана двумя способами:
Многострочная форма
If Условие
Then
Серия 1
Else
Серия 2
End If
Однострочная форма
If Условие
Then Серия 1а
Else Серия 2а
Слайд 24Пример программы с ветвлением (однострочная форма):
Здесь: расчет
функции y=x^2+1, если x>0 или y=x^2-1, если
Слайд 25Пример программы с ветвлением (многострочная форма):
Типичный пример
программы с ветвлением – это программа расчета
функции не определенной на всей числовой прямой. Здесь: расчет функции y=x^2+1, если x>0 или y=x^2-1, если x≤0.
Слайд 26Циклические алгоритмические структуры
Циклические алгоритмические структуры бывают трех
видов: цикл с параметром, цикл с предусловием(цикл
ДО) и цикл с последующим условием(цикл ПОКА). Цикл с параметром осуществляется за счет оператора FOR TO SPEP – NEXT, а циклы ДО и ПОКА за счет операторов DO…LOOP и ключевых слов WHILE и UNTIL.
Слайд 27Пример циклической программы, реализованной с помощью цикла
с параметром:
Программа вывода квадратных корней всех четных
чисел от 1 до 100:
Слайд 28Циклы ДО и ПОКА:
Цикл с предусловием
Do While
Условие
Тело Цикла
Loop
ИЛИ
Do Until Условие
Тело цикла
Loop
Цикл с постусловием.
Do
Тело
цикла
Loop While Условие
ИЛИ
Do
Тело цикла
Loop Until Условие
Do … Loop – оператор цикла с условием. Существуют 2 ключевых слова, которые предают противоположный смысл:
While – пока выполняется условие,
Until – пока не выполняется условие.
Слайд 29Пример циклической программы, реализованной с помощью цикла
ДО:
Используем ключевое слово While. Здесь: программа на
нахождение остатка при делении какого-либо числа на три.
Слайд 30Пример циклической программы, реализованной с помощью цикла
ДО:
Используем ключевое слово Until. Здесь: та же
самая задача, что и на предыдущем слайде, но с использованием ключевого слова Until.
Слайд 31Пример циклической программы, реализованной с помощью цикла
ПОКА:
Используем ключевое слово While. Здесь: программа на
нахождение остатка при делении какого-либо числа на пять.
Слайд 32Пример циклической программы, реализованной с помощью цикла
ПОКА:
Используем ключевое слово Until. Здесь: та же
самая задача, что и на предыдущем слайде, но с использованием ключевого слова Until.
Слайд 33 Алгоритмическая структура для программ с подпрограммами
для программ с подпрограммами выглядит так:
Ввод (оператор
INPUT)
Вычисления по формуле и обращение к подпрограмме (операторы GOSUB и RETURN).
Вывод (оператор PRINT).
Подпрограмма (описание подпрограммы).
Конец программы (оператор END)
Слайд 34Пример программы с подпрограммой:
Оператор GOSUB осуществляет переход
на подпрограмму, а RETURN возвращает обратно, т.е.
вместе осуществляют обращение к подпрограмме. Здесь: программа нахождения максимума из трех чисел.