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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Алгоритмический язык – это набор символов и система правил составления и толкования языковых конструкций из этих символов. Алфавит языка - 256 символов основного и расширенного кодов ASCII.

TURBO PASCAL (ТР) оперирует двумя видами информации: данными и командами (операторами).

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

Идентификатор – имя, свободно выбираемое программистом, длина идентификатора не более 127 символов, воспринимаются значимыми первые 63.

Идентификатор:

- не начинается с цифры;

- не содержит пробелов;

- не различает прописные и строчные буквы;

- не использует зарезервированные слова.

Программа на ТР состоит из двух основных частей: описательной и исполняемой.

Program <имя программы>;

<описательная часть>;

Begin

<исполняемая часть>;

end.

Исполняемая часть – раздел операторов, т.е. действий над данными.

Описательная часть включает разделы описаний:

- меток Label;

- констант Const;

- типов (задаваемых пользователем) Type;

- переменных Var;

- подпрограмм (процедур - Procedure,функций - Function).

Базовые типы языка Паскаль:

- символьный тип (Char);

- целый тип (Byte, Shortint, Word, Integer, Longint);

- вещественный тип (Single, Real, Double, Comp, Extended);

- логический тип (Boolean).

Для каждого из базовых типов определены набор операций, разрешенных над объектами типа, и способ представления в памяти ЭВМ.

Стандартные функции, используемые в ТР:

Abs(x) - возвращает абсолютное значение числа х;

Cos(х) - возвращает косинус числа х, где х- угол в радианах;

Sin(х) - возвращает синус числа х, где х- угол в радианах;

Arctan(х) - возвращает арктангенс числа х, где х- угол в радианах;

Ехр(х) - возвращает число, равное е в степени х;

Ln(х) - возвращает число, равное натуральному логарифму от числа х;

Sqr(х) - возвращает число, равное квадрату х;

Sqrt(х)- возвращает число, равное корню квадратному из х;

Trunc(х) - возвращает число, равное целой части числа х (округление происходит путем отбрасывания дробной части числа х; усеченное число имеет тип данных Longint);

Frac(х) - возвращает число, равное дробной части числа х;

Int(х) - возвращает число, равное целой части числа х;

Round(х) - возвращает число, равное целой части числа х (округление происходит по правилам математики, т.е. к ближайшему целому; округленное число имеет тип данных Longint);

Random(х) - возвращает случайное число от 0 до х (функция Random(х) может быть задана без аргумента (Random). В этом случае будут генерироваться случайные числа от 0 до 1.

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

xy=ехр(у*ln(х)).

Арифметические операции, используемые в выражениях:

+ - сложение;

- - вычитание;

* - умножение;

/- деление.

Операторы Turbo Pascal

Операторы, используемые в программе, должны отделяться от других элементов и от других операторов с помощью символа "точка с запятой" (;). Все операторы Паскаля можно разбить на две группы: простые и структурированные. К простым относятся те, которые не содержат в себе других операторов:

- оператор присваивания:=

- оператор безусловного перехода GOТО

- оператор обращения к процедуре (функции).

Структурированными называются операторы, которые состоят из других операторов:

- составной оператор (последовательность операторов, заключенных в операторные скобки, состоящие из зарезервированных слов Begin и end);

- условные операторы (if и case);

- операторы цикла (repeat, while, for).

Встроенные процедуры ввода-вывода

Стандартный ввод выполняется из определенного текстового файла Input, который связан с клавиатурой, а стандартный вывод выполняется с предопределенным текстовым файлом Output, который связан с дисплеем.

Read (список элементов ввода) – ввод элементов с клавиатуры (ввод элементов обязателен);

Readln (список элементов ввода) – то же, окончание ln означает, что курсор после завершения ввода значения переменной должен перейти к началу следующей строки на экране;

Write (список элементов вывода) – вывод результатов вычислений;

Writeln (список элементов вывода) – после вывода результатов вычислений курсор должен перейти к началу следующей строки на экране;

Writeln (‘пояснительный текст’) – вывод на экран текста, заключенного в апострофы;

Writeln – вывод пустой строки.

Установка необходимого формата для вывода числовой информации осуществляется следующим образом:

Writeln(А:7:2) - оператор указывает, что на экран должно быть выведено содержимое действительной переменной А. Выводимое на экран значение должно быть оформлено как число, занимающее 7 позиций, включая десятичную точку, с двумя знаками после запятой.

Оператор присваивания состоит из идентификатора переменной, символа:= и выражения. Выполнение оператора присваивания приводит к вычислению значения, определяемого выражением, и присваиванию этого значения переменной, идентифицированной именем, стоящим слева от символа присваивания:

А:=А+х;

Оператор перехода GOТО противоречит принципам структурного программирования, его применение нежелательно.

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

Условный оператор If может быть оформлен в полном и неполном виде.

Неполный If <выражение> then <оператор>.

Полный If <выражение> then <оператор1> else <оператор2 >.

Перед else точка с запятой не ставится, сначала вычисляется значение выражения, результат только булевского типа (True, False).

Ключевое слово else связывается с ближайшим стоящим перед ним ключевым словом if, которое еще не было связано с каким - либо ключевым словом else.

Оператор выбора case является обобщением оператора if. Он дает возможность выполнить одно из нескольких действий в зависимости от значения переключателя.

Оператор цикла с предусловием

 

While <условие> do оператор

 

While <условие> do

begin

оператор 1;

оператор 2;

………….;

оператор N

end.

 

- цикл работает, пока <условие> истинно (True);

- завершается, когда <условие> ложно (False);

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

- если в теле цикла более одного оператора, необходимо использовать составной оператор.

 

Оператор цикла с постусловием

Repeat

оператор 1;

оператор 2;

оператор 3;

Until <условие>

 

- цикл работает, пока <условие> ложно;

- цикл завершается, когда <условие> становится истинным;

- обязательно выполняется минимум один раз;

- независимо от количества операторов использование составного оператора не требуется.

При использовании в программе операторов While или Repeat

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

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

 

Оператор цикла со счетчиком (с параметром)

For <параметр цикла>: = <начальное значение параметра цикла> to <конечное значение параметра цикла> do <оператор>

Цикл выполняется с шагом +1, начальное значение должно быть меньше (или равно) конечного значения параметра цикла.

Для выполнения цикла с шагом -1 используется предлог downto.

В качестве счетчика (параметра) цикла используется целочисленная переменная.

 

Примеры алгоритмов в виде блок-схем и программ на языке Паскаль.

 

Задача 1. Поменять местами содержимое двух переменных X и У.

program change;

var x, y, z: real;

begin

readln(x, y);

 

z:=x;

 

x:=y;

 

 

y:=z;

 

writeln(x, y);

 

end.

 

Задача 2. Найти максимальное из двух чисел X и У.

 

program change;

var x, y, max: real;

begin

readln(x, y);

 

if x>y then

 

max:=x else max:= y;

 

writeln(max)

 

end.

Задача 3. Найти все значения функции y = x2 в интервале [-5;5] с шагом изменения аргумента функции h = 0.5

Решение: 1 способ – с использованием цикла с предусловием

program tab_1; var x, y, h, x0, xn: real; begin writeln(‘Введите начальное x0 и конечное значения xn, а также шаг изменения h аргумента функции’); readln(x0, xn, h); x:=x0; while x<xn+h do begin y:=sqr(x); writeln(‘при x= ’, x:5:2, ‘y= ’, y:7:3); x:=x+h end end.  

2 способ – с использованием цикла с постусловием

program tab_2; var x, y, h, x0, xn: real; begin writeln(‘Введите начальное x0 и конечное значения xn, а также шаг изменения h аргумента функции’); readln(x0, xn, h); x:=x0; repeat y:=sqr(x); writeln(‘при x= ’, x:5:2, ‘y= ’, y:7:3); x:=x+h until x>xn end.  

3 способ – с использованием цикла с параметром

 



Поделиться:


Последнее изменение этой страницы: 2016-12-30; просмотров: 345; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.175.236.44 (0.035 с.)