Современные программные средства.

Язык программирования Turbo Pascal. Алфавит. Основные конструкции языка. Структура и типы данных. Арифметические и логические операции. Операции отношения. Стандартные функции и нестандартные математические функции.

Система программирования Turbo Pascal, разработанная корпорацией Borland International, является одной из самых популярных систем программирования. Сам язык Pascal разработан в 1969 году швейцарским ученым Н. Виртом и назван в честь французского математика Блеза Паскаля (1623-1662). По замыслу автора Pascal предназначался для обучения студентов программированию. Однако язык получился удачным и стараниями А. Хейлсберга стал одним из инструментов прикладных и системных программистов.

Появившиеся в последнее время инструментальные системы Borland Pascal for Objects и Delphi, разработанные для визуального программирования в среде Windows основываются на Turbo Pascal и развивают его идеи.

Алфавит языка Turbo Pascal содержит следующие символы:

· 26 букв латинского алфавита;

· 10 арабские цифры:

· специальные символы:

Идентификаторы – это имена констант, переменных, меток, типов, процедур, функции, программ и полей записях.

Константа – это величина, которая не может изменяться в процессе вычислений.

Переменная – это величина, которая может принимать различные значения в процессе выполнения программы.

Данные имеют следующие типы:

а) целые;

б) вещественные;

в) логические;

г) символьные;

д) строковые;

Стандартные функции. Стандартные функции используются для вычисления наиболее часто встречающихся функции при обработке данных. При обращении к стандартным функциям необходимо записать имя функции, а в скобках указать аргумент.

 

Обращение (запись на Turbo Pascal) выполнение функции (матем. запись)
sin (x) sin x - вычисляет синус аргумента
cos (x) Cos x – вычисляет косинус аргумента
Arctan (x) arctg x – вычисляет арктангенс аргумента
ln (x) ln x - вычисляет натуральный логарифм
exp (x) ex - вычисляет экспоненту аргумента
abs (x) - абсолютное значение аргумента
sqrt (x) - вычисляет квадратный корень из х
sqr (x) x2 - вычисляет квадрат х

 

Обратим внимание на то, что в Turbo Pascal отсутствуют некоторые тригонометрические и математические функции. При необходимости их использования применяют следующие математические соотношения:

 

 

Следует заметить, что в тригонометрических функциях аргумент может быть задан только в радиане. Если аргумент дан в градусах, то для перевода его в радианы используется формула рад = град..

Операции.Для обработки данных используется следующие типы операции:

- арифметические;

- операции отношения;

- логические;

- операции над множествами;

- операции над строками.

Арифметические операции. Над данными целого и вещественного типа следующие арифметические операции:

* умножение

/ деление

+ сложение

- вычитание

div деление нацело

mod арифметический модуль

Логические операции. Имеется четыре логические операции:

not отрицание

and конъюнкция (логическое умножение)

or дизъюнкция (логическое сложение)

xor исключающее дизъюнкция

Структура программ. Операторы: начало и конца, присваивания, ввода и вывода, составные. Комментарий. Операторы условного и безусловного перехода. Оператор выбора. Среда Turbo Pascal. Операторы цикла: For, While и Repeat. Вложенные циклы.

Структуры программы. В Turbo Pascal программы имеют следующий формат:

Program имя_программы;

label

раздел описания меток;

const

раздел описания констант;

type

раздел описания типов;

var

раздел описания переменных;

Процедуры и функции;

Begin

Основная часть.

End.

Операторы: По функциональному назначению операторы языка могут быть разделены на следующие группы:

- простые операторы;

- операторы ввода-вывода;

- операторы управления;

- циклические операторы;

- операторы определения функций и процедур.

Составной оператор. Составной оператор представляет собой последовательность операторов, заключенную в служебные слова begin и end.

Общий формат оператора:

begin

последовательность операторов.

end;

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

V: = b;

где V – имя переменной; b – выражение; := - знак присваивания.

Оператор ввода. Операторы ввода обеспечивают ввод в программу исходные данные, необходимые для вычисления и обработки данных. Общий формат оператора ввода:

а) read (v1, v2, …vn);

б) readln (v1, v2, …vn);

в) readln;

где v1, v2, …vn - переменные, которые последовательно получают вводимые значения.

Оператор вывода. Операторы вывода предназначены для вывода результатов вычисления на экран дисплея. Общий формат оператора вывода:

а) write (v1, v2, …vn);

б) writeln (v1, v2, …vn);

в) writln;

где v1, v2, …vn - переменные.

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

goto _ m; где m – метка оператора.

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

а) if b then a;

б) if b then a1 else a2;

в) if b1 then a1 else

if b2 then a2 else a3;

где b, b1, b2 – логическое выражение; a, a1, a2, a3 – операторы.

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

case C of

n1 : a1;

n2 : a2;

………

nn : an;

else a;

end; где С – селектор; ni – константы; ai – операторы.

Оператор цикла for. Оператор цикла с параметром применяется для организации цикла с известным числом повторений.

Общий формат оператора:

а) for i:=n1 то n2 до S; {шаг равен +1}

б) for i:=n2 downto n1 до S; {шаг равен -1}

где i – параметр цикла; n1, n2 - начальное и конечное значения параметра цикла; S – тело цикла (простой или составной оператор).

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

While b do S;

где b - логическое выражение;

S - тело цикла (простой или составной оператор).

Оператор цикла repeat. Оператор цикла с последующим условием позволяет организовать цикл с неизвестным числом повторений.

Общий формат оператора:

repeat

последовательность операторов

until b;

где b – логическое выражение.

Массивы и работа с ними. Понятие о многомерных массивах. Организация подпрограмм. Процедуры и функции. Глобальные и локальные переменные. Фиктивные и фактические параметры.

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

Общий формат описания массива:

v : array [n..m] of T;

где v – имя массива; n, m – нижние и верхние индексы массива; Т – тип массива.

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

Подпрограммы позволяют разрабатывать программы в виде отдельных частей, которые могут взаимодействовать между собой. Каждая подпрограмма описывается один раз, при необходимости к ней можно многократно обращаться. В языке Turbo Pascal имеется два вида подпрограмм: функция и процедура. Используемые функции и процедуры должны быть описаны в разделе описания функции и процедур.

Функция. В программе функция используется для вычисления одного значения.

Общий формат описания функций:

 

Function F (q1 ; Т1 ; q2 ; Т2 ; … ) :Т ;

где F – имя функции;

qi- имена формальных параметров;

Ti- типы формальных параметров;

T- тип функции.

Процедура. В программе процедура используется при получении нескольких результатов. Общий формат описания процедуры:

Procedure F (q1:T1; q2:T2; …; var q3:T3);

где F - имя процедуры;

q i- имена формальных параметров;

Ti - типы формальных параметров;

Если в процедуре и главной программе используются одни и те же имена параметров, то процедуру можно организовать без параметров.

Обращение к процедуре осуществляется оператором процедуры в виде

 

F (b1 , b2 , … );

где F - имя процедуры;

bi - имена фактических параметров.

Параметры–значения определяют исходные данные для работы подпрограммы при обращении к ним. В списке формальных параметров они описываются в виде:

 

(q1 : T1 ; q2 : T2)

где qi- имена формальных параметров;

Ti- имя типа;

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

Технология программирование. Структурное и модульное программирование. Объектно-ориентированное программирование. Объекты и их свойства.

Технология программирования – это выбор метода и средств создания программ.

Структурное программирование является современной технологией разработки алгоритмов и программ. К основным принципам структурного программирования относятся:

· разработка программ (алгоритмов) методом «сверху вниз»;

· пошаговая детализация;

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

Модульное программирование основано на понятия модуля – логически взаимосвязанной совокупности функциональных элементов, оформленных в виде отдельных программных модулей. Модуль характеризуют:

· один вход и один выход;

· функциональная завершенность;

· логическая независимость (результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей);

· слабые информационные связи с другими модулями;

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

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

· компилятор, осуществляющий преобразование программы, написанной на языке программирования, в программу в машинных кодах, или интерпретатор, осуществляющий непосредственное выполнение программы на языке программирования высокого уровня;

· библиотеки программ, содержащие заранее подготовленные программы, которым могут пользоваться программисты;

· различные вспомогательные программ.

Языки программирования. Все множество языков программирования разделяется на следующие классы:

· машинные – языки программирования, воспринимаемые аппаратной частью компьютера;

· машинно-ориентированные – предназначены для использования на тех ЭВМ, для которых эти языки разработаны;

· алгоритмические – языки, не зависящие от архитектуры компьютера и предназначенные для отражения структуры алгоритма;

· процедурно-ориентированные – языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

· проблемно-ориентированные – языки программирования, предназначенные для решения задач из определенной профессиональной деятельности;

· интегрированные системы программирования – делятся на языки, ориентированные на реализацию основ структурного программирования и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки.

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

· объект;

· свойство объекта;

· метод обработки;

· событие;

· класс объектов.

Объект – совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средсьв).

Свойство – это характеристика объекта и его параметров. Все объекты выделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов.

Метод – это программа действий над объектом или его свойствами.

Событие –это характеристика изменения состояния объекта.

Класс – это совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.

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

· инкапсуляция (замыкание) свойств данных и программ в объекте;

· наследование;

· полиморфизм.

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

Класс может иметь образованные от него подклассы. При построении подклассов осуществляется наследование данных и методов обработки объектов исходного класса. Механизм наследования позволяет переопределить или добавить новые данные и методы их обработки, создать иерархию классов.

Под полиморфизмом подразумевается способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов.

Литература основная:

6. Йенсен К., Вирт Н. Руководство для пользования и описание языка.- Москва: Финансы и статистика, -1982.

7. Фаронов В.В, Turbo Pascal 7.0 -Москва, Нолидж, 1999, -616 с.

Дополнительная литература:

8. Файсман А. Профессиональное программирование на Турбо Паскале. -Ташкент, Info&F, -1992.

9. Куракбаев Д.С. Программирование на языке Паскаль. -Шымкент, ЮКГУ, -1999, 51с.

10. Ибрагимов У.М. Программирование на Turbo Pascal 7.0

a. -Шымкент, ЮКГУ, -2004, 58с.