5-3 Описание алгоритмического языка.ppt
- Количество слайдов: 29
Кафедра № 31 Информационных систем и технологий Дисциплина ИНФОРМАТИКА Тема № 5 Основы алгоритмизации и программирования. семинар Занятие 3: Описание алгоритмического языка Учебные вопросы: 1. Алфавит языка программирования. 2. Типы данных и конструкция языка программирования. 3. Структура программы. 1
Литература: 1. Разработка прикладных программ на языке программирования ТУРБО-ПАСКАЛЬ. / Уч. пособие под ред. Комарова А. В. - Новогорск: АГЗ МЧС, 1998. 2. Фаронов В. В. Turbo Pascal 7. 0 Начальный курс. /Уч. пособие. - М. : Издательство «Нолидж» , 2002. Учебные цели: 1. Практически освоить разработку алгоритмов различных структур (линейных, разветвляющихся, циклических) в графическом виде. 2
Составные части и элементы алгоритмических языков. Алгоритмический язык - это совокупность алфавита, синтаксиса и семантики языка, предназначенная для описания процесса преобразования информации. Алфавит – набор основных символов, принятых в языке. Синтаксис языка (гр. syntaxis - составление) - это система правил образования самостоятельных элементов языка из символов, позволяющая однозначно описывать процесс переработки информации, т. е. синтаксис раскрывает формальную сторону образования элементов языка безотносительно к их смысловому содержанию.
Семантика (гр. semantikos - обозначающий) - это система правил истолкования компонентов языка, позволяющая однозначно понимать процесс переработки информации, т. е. семантика раскрывает смысловую сторону элементов языка. Прагматика – правила практического использования элементов языка, т. е. приемы и техника лучшего применения языка для описания алгоритма. Из основных символов с использованием правил синтаксиса строятся смысловые элементы алгоритмического языка: Конструкции (слова); Выражения; Предложения.
Классификация алгоритмических языков Функциональные Операторные Непроцедурные Процедурные Машинноориентированные Машиннонезависимые
Функциональная программа представляет собой набор определений функций. Функции определяются через другие функции или рекурсивно - через самих себя. Программируя на функциональном языке, программист не должен описывать порядок вычислений. Ему необходимо просто описать желаемый результат в виде системы функций. Функциональные языки программирования – Lisp, Clean.
Операторный язык – это такой способ кодирования алгоритма, в результате которого получается понятная для компьютера запись алгоритма – программа. Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам (табличные языки и генераторы отчетов), и языков связи с операционными системами. Smalltalk, QBE Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи.
Паскаль (англ. Pascal) высокоуровневый язык программирования. Язык Паскаль был создан Никлаусом Виртом в 1968 -69. Он был опубликован в 1970 году Виртом как небольшой и эффективный язык, чтобы способствовать хорошему стилю программирования, использовать структурное программирование и структурированные данные. Назван язык в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля. Является базой для большого числа других языков. Наиболее известной реализацией Паскаля, обеспечившая широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5. 5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.
Текст, записанный на языке программирования, непонятен компьютеру, поэтому требуется перевести его на машинный код. Такой перевод - называется трансляцией, а выполняется она специальными программами – трансляторами. Основные задачи транслятора • Анализирует транслируемую программу, определяет ее правильность. • Генерирует выходную программу.
Транслятор - обслуживающая программа, преобразующая исходную программу, представленную на входном языке программирования, в рабочую программу, представленную на объектном языке. Типы трансляторов: • Компиляторы; • Интерпретаторы; • Ассемблеры.
Компилятор Интерпретатор Ассемблер • Компилятор обеспечивает перевод на машинный язык сразу всего набора команд, т. е. всей программы в целом. Паскаль, Си, Фортран. • Интерпретатор переводит команду или операторы входной программы по очереди и немедленно выполняет их. В отличие от компилятора, интерпретатор не порождает на выходе программу на машинном языке. Java Script, VB Script, Бейсик. • Переводит программу, написанную на автокоде. Язык высокого уровня Машинный модуль (*. exe) Исходный модуль (*. pas) трансляция
1 вопрос: Алфавит языка программирования Паскаль
Алфавит представляет собой набор основных символов, принятых в языке. Основные символы Цифры Буквы Ограничители Логические значения Описатели Разделители Знаки операций
1) Арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 2) Буквы латинского алфавита - 26 (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z) и буквы русского алфавита (для отечественных ЭВМ) - 32 (33) А, Б, В, Г, Д, Е, Ж, З, И, Й, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ы, Ь, Э, Ю, Я. 3) Разделители: • Знаки препинания (‘. ’ точка, ‘, ’ запятая, ‘; ’ точка с запятой, ‘ ’ пробел, ‘: ’ двоеточие). • Скобки (‘( )’ круглые, ‘[ ]’ квадратные, ‘{ }’ фигурные), ‘'’ апостроф, операторные скобки (BEGIN - END). • Указатели следований (GOTO, IF, THEN, DO и т. д. ). 4) Знаки операций: • Знаки арифметических операций (‘+’ плюс, ‘-‘ минус, ‘*’ умножение, ‘/’ деление). • Знаки логических операций (AND, OR, NOT и т. п. ). • Знаки отношений (‘<’ меньше, ‘>’ больше, (‘<=’ меньше или равно, ‘>=’ больше либо равно, ‘=’ равно, ‘<>’ не равно). 5) Логические значения (TRUE, FALSE).
2 вопрос: Типы данных и конструкции языка программирования Паскаль. .
Конструкция – это минимальная смысловая структура языка, представляющая последовательность символов. Константы Служебные слова Указатели функций Переменные К КОНСТРУКЦИЯМ относят Указатели процедур
Все конструкции в программе должны иметь идентификаторы (имя). Виды идентификаторов: ü определяемые пользователем (задаваемые программистом); ü стандартные.
Идентификатор, даваемый пользователем, состоит из букв латинского алфавита и цифр. Обязательно начинается с буквы, входящей в состав языка. Можно использовать _, нельзя пробел. В качестве идентификатора нельзя брать служебные слова и стандартные имена. Пример: Max, min, sum, N, a 1 – можно использовать в качестве идентификаторов; Real, string, program – нельзя использовать в качестве идентификаторов.
Стандартные идентификаторы используются для обозначения стандартных объектов (типов, констант, переменных, процедур и функций). ABS ARCTAN BOOLEAN CHAR COS SQR TRUE WRITELN идентификатор стандартной функции -"логический, булевский символьный -"-"истина писать с новой строки
Константами называются элементы данных, значения которых известны заранее и в процессе выполнения программы не изменяются. .
Переменные ‑ это данные, которые могут изменять свои значения в процессе выполнения программы.
Стандартные типы данных Тип переменной Описание типа Диапазон Целые типы Integer Shot. Int Long. Int целое со знаком и ноль Byte Word короткое целое без знака -32 768 … +32 767 короткое целое со знаком -128 … 127 длинное целое со знаком -2 147 483 648 … 2 147 483 647 0 … 255 целое без знака 0 … 65 535 Вещественные типы Real Single Double дробные (вещественные) числа с дробной частью до 11 значащих цифр дробный тип одинарной точности (7 -8 цифр) дробный тип двойной точности (15 -16 цифр) 2. 9 е-39 … 1. 7 е+38 1. 5 е-45 … 3. 4 е+38 5. 0 е-324 … 1. 7 е+308 Другие типы Char Boolean String символьный (литерный) тип, обозначающий отдельные символы. логические переменные, принимающие только True (истина) или одно из двух значений: False (ложь). строковый тип, использующий строковые данные. Длина строки от 0 до 255 символов.
Определяемые программистом типы Перечисляемый тип задается перечислением всех значений, которые может принимать переменная данного типа. Для объявления нового типа используется служебное слово Type. В данном примере переменные М 1, М 2, М 3 могут принимать только значения A, B, C, D.
Интервальный тип позволяет задавать две константы, определяющие границы диапазона для заданной переменной.
Служебные (ключевые) слова - это слова, которые в языке имеют определенное смысловое значение и которые не могут использоваться в программе ни для каких других целей. AND ARRAY BEGIN CASE CONST DIV DO DOWNTO ELSE END FILE FOR FUNCTION GOTO IF И МАССИВ НАЧИНАТЬ В СЛУЧАЕ ПОСТОЯННЫЙ ДЕЛЕНИЕ (БЕЗ ОСТАТКА) ВЫПОЛНИТЬ ВНИЗ ИНАЧЕ КОНЕЦ ФАЙЛ ДЛЯ ФУНКЦИЯ ПЕРЕЙТИ К ЕСЛИ GOTO IF LABEL NOT OF OR PROCEDURE PROGRAM REPEAT THEN TO TYPE UNTIL VAR WHILE ПЕРЕЙТИ К ЕСЛИ МЕТКА НЕ РОД. ПАДЕЖ, ИЗ ИЛИ ПРОЦЕДУРА ПРОГРАММА ПОВТОРЯТЬ ТОГДА К, В, НА ТИП ДО, ПОКА НЕ ПЕРЕМЕННАЯ (ВЕЛИЧИНА) ПОКА
3 вопрос: Структура программы на языке программирования Паскаль.
Блок объявления данных VAR - переменные CONST - константы LABEL - метки TYPE - типы FUNCTION, PROCEDURE - подпрограммы
В начале программы находится заголовок, состоящий из служебного слова PROGRAM и произвольного имени программы Name, задаваемого пользователем. Имя может состоять из латинских букв, цифр и знака подчеркивания; начинается должно только с латинской буквы. Заголовок завершается знаком "; ". Тело программы ‑ это текст основной программы. Тело программы начинается служебным словом BEGIN и заканчивается словом END. В конце программы обязательно ставится точка. Знак "; " является разделителем всех операторов, списков, строк в программе. Комментарии ‑ это пояснительный текст пользователя (программиста), который можно записать в любом месте программы. Текст комментария ограничен символами { } или (* *). Комментарии – необязательный компонент программы.
Program pr_1; Var x, y, z: Real; Begin Writeln (‘Введите два числа’); Readln(x, y); Z: = Sqr(x)+Sqr(y); Writeln (‘Z=‘, z: 3: 1); End. Начало x, y Z=x 2+y 2 z Конец


