Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
622061_KL_1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.45 Mб
Скачать

7.3.Примеры простейших алгоритмов

1) Привести пример линейного алгоритма для вычисления полинома:

Входные данные: x

Выходные данные (результат работы алгоритма): y

y = 2x^2 + 5x +3

2) Привести пример алгоритма с ветвлением для вычисления корней квадратного уравнения

ax^2 + bx + c = 0

Входные данные: a, b, c

Выходные данные: x1, x2

Внутренние переменные (промежуточные результаты) – D — дискриминант

дискриминант D = b^2 – 4ac

Если D > 0, то два корня X1,2 = (-b +/- sqrt(D))/(2a)

Если D = 0, – один корень

Если D < 0 – вещественных корней нет (выдать сообщение).

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

Раздел №8 (2 часа)

Языки программирования высокого уровня. Основы языка Паскаль

План:

Языки программирования высокого уровня

• Запись программы на Паскале

• Основные типы данных в Паскале

• Структура Паскаль-программы

8.Языки программирования высокого уровня. Основы языка Паскаль

8.1.Языки программирования высокого уровня

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

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

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

Поэтому на практике применяют некоторый компромиссный вариант, – используют так называемые языки программирования высокого уровня (ЯВУ). Обычно это специальные строго формализованные подмножества естественного языка (как правило, английского), конструкции которых, с одной стороны, достаточно понятны человеку-программисту, а с другой, могут быть относительно легко преобразованы в машинные коды, пригодные для исполнения процессором.

В настоящее время существует огромное количество подобных языков – Бейсик, Си, Фортран, Алгол, Кобол, Модула и т.п. В рамках данного курса мы будем рассматривать один из наиболее удачных с точки зрения первоначального обучения программированию языков – Паскаль. Язык получил название в честь выдающегося ученого XVII века – Блеза Паскаля. В качестве основы будет выбран диалект языка, реализованный в компиляторе фирмы Borland – TurboPascal 7.0.

8.2.Запись программы на Паскале

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

Программа на Паскале состоит из лексем и разделителей.

Лексема – это один или несколько последовательных символов, имеющих в программе определенный смысл.

В лексему входят следующие элементы:

– специальные символы;

– символы-слова (зарезервированные слова);

– имена (идентификаторы);

– числа;

– строки символов;

– метки;

– директивы.

Чуть позже мы подробнее поговорим обо всех этих элементах.

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

– пробел;

– конец строки (разделитель строк);

– примечание (комментарий).

Пробел – это пустое место в тексте на бумаге или на экране дисплея, формируется нажатием на клавишу «Пробел» (“Space”).

Лексемы в Паскаль-программе обязательно разделяются одним или несколькими символами-разделителями. Обычно это пробелы.

При конструировании лексем используются буквы и цифры. К буквам относятся большие и малые латинские буквы: A B C D ... X Y Z a b c d ... x y z, а к цифрам – 0 1 2 3 4 5 6 7 8 9

1. Специальные символы:

+ - * /

. , : ; ' ^

= <> > < >= <=

( ) [ ] := ..

2. Зарезервированные слова.

Эти слова имеют четко установленный смысл в Паскаль-программе. Примеры таких слов:

Begin End If And Array For

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

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

3. Идентификатор (имя). Это последовательность букв и цифр, начинающаяся с буквы.

Примеры идентификаторов:

X A8 alpha Massiv z52d9 eps

Большие и малые буквы в идентификаторах считаются эквивалентными. Поэтому PASCAL, Pascal, pascal – это один и тот же идентификатор. Длина идентификатора в стандартном Паскале не ограничивается. В Турбо-Паскале значимыми считаются первые 63 символа идентификатора.

4. Числа. В Паскаль-программе числа записываются в десятичном представлении. Целые числа записываются в той же форме, что и в математике:

0 15 9800 -10 и т.п.

А вот при записи дробных чисел для разделения целой и дробной частей используется не запятая, а точка. Поэтому числа типа 0,54 или –0,025 в программе на Паскале должны записываться как 0.54 и –0.025 соответственно.

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

Например, число 0,00015 в математике можно было бы представить как . Однако в обычном текстовом редакторе невозможно напечатать символы в верхнем или нижнем индексе, поэтому для формирования признака десятичного порядка используется буква E. Таким образом, это число в программе на Паскале можно было бы представить как 1.5E-4. Аналогично можно представлять очень большие числа, например 123000000 можно представить как 1.23E8.

5. Строка символов (строка, литерная строка, цепочка литер).

Апостроф определяет границы строки. Если внутри строки нужно поставить апостроф, то он ставится дважды.

Примеры.

'A' 'a+b=c'

'This string has 30 characters'

' Символ '' - это апостроф'

В строке большие и малые буквы считаются различными. Поэтому

'PASCAL' <> 'Pascal'

'ПРОГРАММА' <> 'программа'

6. Метки и директивы

Метка в Паскале представляет собой целое без знака и используется для маркировки операторов программы. В Turbo-Pascal в качестве меток могут также использоваться идентификаторы.

Директива – это идентификатор, обозначающий обращение к процедуре или функции.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]