- •Структуры алгоритмов и основные конструкции
- •Алгоритмических языков
- •Учебное пособие
- •Для студентов заочного обучения
- •Н.Вирт, автор языка программирования Паскаль введение
- •1. Технология подготовки и решения задач на персональных компьютерах
- •Способы решения задач на персональных компьютерах
- •Постановка задачи и ее формализация
- •1.3. Построение алгоритма решения задачи
- •1.3.1. Понятие алгоритма и его свойства
- •1.3.2. Средства записи алгоритма
- •I) Словесная запись алгоритма.
- •2) Графическая схема алгоритма
- •3) Операторная схема алгоритма.
- •4) Псевдокоды.
- •5) Алгоритмические языки.
- •1.3.3. Структуры алгоритма
- •Разработка программы
- •Требования к алгоритмическим языкам
- •Способы описания алгоритмических языков
- •1. Металингвистические формулы.
- •2. Синтаксические диаграммы
- •Методология программирования
- •1.4.4. Обзор языков программирования для персональных компьютеров
- •1.4.5. Общие правила разработки программ
- •1.5. Работа после ввода программы в компьютер
- •Методы отладки, используемые в системах программирования пк:
- •1.6. Оформление документации на программу
- •2. Понятие о visual basic и основных элементах языка
- •2.1. Общие сведения о Visual Basic
- •2. 2. Визуальная среда Visual Basic
- •2.3. Обрабатываемые данные
- •2.3.1. Переменные и типы данных
- •Типы данных
- •Символы неявного задания типа переменной
- •2.3.2. Массивы
- •Dim имя массива (верхняя граница массива) [As тип переменных массива].
- •Dim имя (нижняя граница To верхняя граница) [As Тип],
- •Dim Firstarray (15) As Long - одномерный массив с 16 переменными типа Long;
- •2.3.3. Константы
- •2.4. Оператор присваивания
- •2.5 Программирование вычислений
- •2.6. Встроенные математические функции
- •Математические функции
- •Тригонометрические функции
- •2.7. Программирование логических выражений
- •2.8. Программирование ветвлений
- •If условие Then выполняемый оператор,
- •If условие Then
- •If Not условие Then оператор;
- •If условие Then
- •2.9. Программирование циклов
- •2.9.1. Циклы типа Do While
- •2.9.2. Циклы типа Do Until
- •2.9.3. Циклы типа For
- •Step шаг цикла
- •2.10. Процедуры и функции
- •2.11. Обработка текстов
- •Заключение
- •Литература
- •Содержание
- •Содержание………………………………………………..61
- •Учебное издание
- •Коуров Леонид Васильевич
- •Структуры алгоритмов и основные конструкции алгоритмических языков
4) Псевдокоды.
Представляют систему обозначений и правил, предназначенную для единообразной записи алгоритмов, близкой к языкам программирования.
Пример записи алгоритма на псевдокоде:
алгоритм вычисления функции y
начало
ввод х, а
если х а, то y = x-a
иначе y = 0
вывод y
конец
Служебные слова и конструкции алгоритма обычно выделяются.
Достоинства псевдокодов:
-
сравнительно высокий уровень формализации, так как от алгоритма на псевдокоде легко перейти к алгоритмическому языку;
-
хорошая наглядность, так как служебные слова и операторы алгоритма записываются на русском языке, а математические выражения - в соответствии с общепринятыми правилами.
Недостатком является отсутствие строгого формального определения псевдокода, что ведет к разным наборам служебных слов и операторов в псевдокодах.
5) Алгоритмические языки.
Алгоритмическим языком или языком программирования является и машинный язык (система команд ПК). Однако машинный язык неудобен для записи алгоритма в силу его особенностей:
-
запись алгоритма на машинном языке (или, как говорят, в кодах ПK) требует знания архитектуры конкретного ПК;
-
машинные языки слишком многообразны;
-
мала наглядность алгоритма на машинном языке.
Все это затрудняет обмен алгоритмами между лицами, не являющимися их исполнителями. Поэтому разработаны специальные алгоритмические языки, отличающиеся от разговорного и являющиеся посредником между человеком и ПК. Запись алгоритма на алгоритмическом языке производится точно и формально, что позволяет автоматизировать переход от алгоритмического языка к машинному с помощью специальной программы-транслятора.
Для того, чтобы алгоритмический язык отвечал своему назначению, он должен обеспечивать:
- наглядную и компактную запись алгоритма;
- однозначное понимание записей;
- удобство публикаций;
- достаточно простой перевод на язык конкретного ПК;
- понимание алгоритма возможно более широким кругом лиц при минимуме дополнительных пояснений.
Все алгоритмические языки делятся на две группы: машинно-зависимые (низкого уровня) и машинно-независимые (высокого уровня). Языки низкого уровня тесно связаны с архитектурой данного типа ПК. Примером машинно-зависимого языка является любой язык Ассемблера. Языки высокого уровня мало связаны с типом ПК и записанные на них программы могут легко переноситься с одного типа ПК на другой. Примерами машинно-независимых языков программирования для ПК являются Бейсик, Паскаль, Си и др.
Пример записи алгоритма на языке высокого уровня Алгол, который появился в начале 60-х годов и лег в основу синтаксиса последующих разработок многих алгоритмических языков:
программа: пояснения
begin начало
real (x, a, y); описание типа данных
input (x, a); ввод исходных данных
if x>a then y: = x-a вычисления
else y:=0;
output (y) вывод результата
end конец
Смысл программы понятен пользователю, знакомому с английским языком, кроме знака присваивания :=, который в данном случае обозначает "переменной y присвоить значение х-а, или 0".