Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Paskal_ucheb_posob_ch1_21_11_2011

.pdf
Скачиваний:
45
Добавлен:
09.04.2015
Размер:
943 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное Образовательное Учреждение Высшего Профессионального Образования «Московский Государственный Университет Приборостроения и Информатики»

Кафедра «Управление и моделирование систем»

УЧЕБНОЕ ПОСОБИЕ

Программирование (Турбо–Паскаль). Часть 1.

ПО КУРСУ

Программирование на языке высокого уровня

Специальность 230105 «Программное обеспечение вычислительной техни-

ки и автоматизированных систем»

Направление 230100 «Информатика и вычислительная техника»

Москва

2007

2

УДК 681.324

Рекомендовано УМУ МГУПИ в качестве учебного пособия.

Выжигин А.Ю. Программирование. (Турбо-Паскаль). Часть 1. Учебное пособие по курсу «Программирование на языке высокого уровня» для вузов по специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» и направлению 23100 «Информатика и вычислительная техника». – М.: МГУПИ, 2007 - С. 84.

Данное учебное пособие посвящено вопросам программирования на языке Турбо-Паскаль версии не ниже 5.0. В нем изложены основные теоретические моменты и приведено много практических задач по рассмотренным вопросам.

Рекомендуется в качестве учебного пособия для студентов вузов, обучающихся по специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем» и направлению 23100 «Информатика и вычислительная техника».

Рецензенты:

заведующий кафедрой информатики и математики Московского гуманитарного университета к.т.н., доцент Ю.К. Щипин; декан факультета информатики МГУПИ кт.н., профессор А.П.Мацнев.

ISBN

Л XXXXXXXXXXX

3

ЛЕКЦИЯ 1. Часть 1. ВВЕДЕНИЕ........................................................................................................................

6

Подход к решению задачи ...............................................................................................................................

6

Понятие алгоритма и программы....................................................................................................................

6

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

7

ЛЕКЦИЯ 1. Часть 2. ПРОГРАММИРОВАНИЕ НА TURBO PASCAL. ...........................................................

8

Элементы программирования. ........................................................................................................................

8

Объявление переменной ..................................................................................................................................

9

ЛЕКЦИЯ 2. Часть 1.Классы типов в Pascal. .....................................................................................................

10

ЛЕКЦИЯ 2. Часть 2. Порядковые типы............................................................................................................

12

Целые числа.....................................................................................................................

13

ЛЕКЦИЯ 3. ..........................................................................................................................................................

14

Вещественный тип данных ...........................................................................................

14

Арифметические функции.............................................................................................

15

Символьные и строковые типы данных ......................................................................

16

Константы строкового типа. .....................................................................................

18

Перечислимые типы .......................................................................................................

18

Тип поддиапазона (ограниченный тип) ..................................................................

18

Булевские данные ...........................................................................................................

19

Идентификаторы.............................................................................................................................................

20

ЛЕКЦИЯ 4. Часть 1. ОПЕРАТОРЫ...................................................................................................................

21

Оператор присваивания. ................................................................................................................................

21

Арифметические операторы. .........................................................................................................................

22

ЛЕКЦИЯ 4. Часть 2. ...........................................................................................................................................

23

Побитовые операторы. ...................................................................................................................................

23

Логические операторы. ..................................................................................................................................

24

Операторы отношений. ..................................................................................................................................

24

Сравнение простых типов..............................................................................................................................

25

ЛЕКЦИЯ 5. ..........................................................................................................................................................

26

Сравнение строк .........................................................................................................................................

26

Строковые операторы. ...................................................................................................................................

26

Вывод простых типов данных.......................................................................................................................

27

ЛЕКЦИЯ 6. ..........................................................................................................................................................

28

Процедуры Writeln и Write.........................................................................................................................

28

Ввод простых типов данных..........................................................................................................................

30

ЛЕКЦИЯ 7. ..........................................................................................................................................................

31

Условные операторы. .....................................................................................................................................

31

Оператор if. .................................................................................................................................................

31

Оператор выбора case.................................................................................................................................

32

ЛЕКЦИЯ 8. Часть 1. ...........................................................................................................................................

34

Циклы. .............................................................................................................................................................

34

Цикл с параметром for................................................................................................................................

34

Формат цикла for: ...........................................................................................................

35

ЛЕКЦИЯ 8. Часть 2. ...........................................................................................................................................

36

Цикл while – цикл с предусловием............................................................................................................

36

Формат оператора цикла while:.....................................................................................

36

Цикл Repeat....Until – цикл с постусловием..............................................................................................

37

Формат цикла: .................................................................................................................

37

Структура программ.......................................................................................................................................

38

Комментарии...................................................................................................................................................

39

СЕМИНАРЫ. ЧАСТЬ I......................................................................................................................................

40

Упражнение 1..............................................................................................................................................

40

Упражнение 2..............................................................................................................................................

41

Упражнение 3..............................................................................................................................................

41

аb = еb*ln(a)......................................................................................................................................................

41

4

 

Упражнение 4..............................................................................................................................................

41

Упражнение 5..............................................................................................................................................

42

Упражнение 6..............................................................................................................................................

42

Упражнение 7..............................................................................................................................................

43

Упражнение 8..............................................................................................................................................

43

Упражнение 9..............................................................................................................................................

44

Упражнение 10............................................................................................................................................

44

Упражнение 11............................................................................................................................................

44

СЕМИНАРЫ ЧАСТЬ II.......................................................................................................................................

45

Условный оператор, операторы цикла. ........................................................................................................

45

Упражнение 12............................................................................................................................................

45

Упражнение 13............................................................................................................................................

45

Упражнение 14............................................................................................................................................

46

Упражнение 15............................................................................................................................................

47

Упражнение 16............................................................................................................................................

48

Упражнение 17............................................................................................................................................

48

Упражнение 18............................................................................................................................................

49

Упражнение 19............................................................................................................................................

50

Упражнение 20............................................................................................................................................

51

Упражнение 21............................................................................................................................................

52

Упражнение 22............................................................................................................................................

55

СЕМИНАРЫ ЧАСТЬ III ....................................................................................................................................

57

Действия с оператором CASE. Перечислимый и ограниченный типы данных........................................

57

Упражнение 23............................................................................................................................................

57

Упражнение 24............................................................................................................................................

57

Упражнение 25............................................................................................................................................

58

Строковый тип данных ..................................................................................................................................

59

Упражнение 26............................................................................................................................................

61

Упражнение 27............................................................................................................................................

62

ЛЕКЦИЯ 9. ..........................................................................................................................................................

64

СТРУКТУРНЫЕ (СЛОЖНЫЕ) ТИПЫ ............................................................................................................

64

Тип массив.......................................................................................................................................................

64

Упражнение 28............................................................................................................................................

67

Упражнение 29............................................................................................................................................

67

ЛЕКЦИЯ 10. ........................................................................................................................................................

69

Упражнение 30............................................................................................................................................

69

Упражнение 31...........................................................................................................................................

69

Упражнение 32............................................................................................................................................

70

Упражнение 33............................................................................................................................................

72

Упражнение 34............................................................................................................................................

73

Упражнение 35............................................................................................................................................

73

Упражнение 36............................................................................................................................................

74

ЛЕКЦИЯ 11 и СЕМИНАРЫ ЧАСТЬ V............................................................................................................

77

ДВУМЕРНЫЕ МАССИВЫ ...............................................................................................................................

77

Упражнение 37............................................................................................................................................

77

Упражнение 38............................................................................................................................................

77

Упражнение 39............................................................................................................................................

77

Упражнение 40............................................................................................................................................

78

Упражнение 41............................................................................................................................................

78

Упражнение 42............................................................................................................................................

79

Упражнение 43............................................................................................................................................

79

Упражнение 44............................................................................................................................................

80

Упражнение 45............................................................................................................................................

81

Упражнение 46............................................................................................................................................

81

Упражнение 47............................................................................................................................................

82

ЛЕКЦИЯ 12. ПРОЦЕДУРЫ И ФУНКЦИИ. .....................................................................................................

84

Описание процедуры. Оператор процедуры. ...............................................................................................

84

 

 

5

 

Упражнение 48............................................................................................................................................

86

ЛЕКЦИЯ 13. Часть 1. Описание функций........................................................................................................

88

СЕМИНАРЫ. ЧАСТЬ VI....................................................................................................................................

89

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

89

Упражнение. 49...........................................................................................................................................

89

Упражнение 50............................................................................................................................................

89

Упражнение 51............................................................................................................................................

90

Упражнение 52............................................................................................................................................

91

Упражнение 53............................................................................................................................................

92

Лекция 13. Часть 2. Рекурсивные процедуры и функции. ..........................................................................

94

Рекурсивные процедуры и функции. ............................................................................................................

94

Упражнение 54............................................................................................................................................

95

Упражнение 55............................................................................................................................................

96

 

 

6

ЛЕКЦИЯ 1. Часть 1. ВВЕДЕНИЕ.

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

Подход к решению задачи

Общий подход к решению практически любой задачи сводится к выполнению следующих действий:

1.Постановка задачи

2.Описание задачи 2.1.математическая постановка задачи 2.2.разработка метода решения

3.Реализация метода

4.Программирование 4.1.блок-схема (графическое изображение последовательности дей-

ствий)

4.2.написание на алгоритмическом языке

5.Отладка программы и получение результатов

6.Обработка результатов.

Отладка необходима, так как вероятность допустить ошибку при написании программы велика. Под отладкой программы понимается не только устранение ошибок, допущенных при записи программы, но и процесс совершенствования (оптимизация программы).

Понятие алгоритма и программы

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

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

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

7

Правила обработки информации для ЭВМ задаются в программе - последовательности предложений, написанных на некотором произвольном, понятном ЭВМ, языке, допускающей однозначность толкования и ре-

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

Требования к формальному алгоритмическому языку

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

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

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

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

ЛЕКЦИЯ 1. Часть 2. ПРОГРАММИРОВАНИЕ НА TURBO PASCAL.

Язык Паскаль был разработан Иенсоном Виртом в начале 70-х годов, как язык обучения программированию. Если у Вас есть опыт программирования, то Вам будет не трудно его освоить.

Элементы программирования.

Большинство программ создаются для решения какой-нибудь задачи. Решение задачи достигается обработкой информации или данных. Поэтому, как программисту, Вам необходимо знать, как:

завести информации в программу - ввод; сохранять информацию - данные;

задать правильные команды обработки данных - операции; получить данные из программы - вывод.

Вы можете написать и упорядочить свои команды так, чтобы:

некоторые из них выполнялись при выполнении некоторого условия или ряда условий - условное выполнение;

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

Итак, перечислены семь основных понятий программирования:

ввод, данные, операции, вывод, условное выполнение, циклы и подпрограммы.

Этот список неполный, но он содержит основные понятия, присущие всем программам.

Краткое описание каждого элемента:

Ввод.

Это информация, поступающая с клавиатуры, диска или порта ввода/вывода.

Данные.

Это - константы, переменные и структуры, содержащие числа (целые и вещественные), текст (символы и строки) или адреса (переменных и структур).

Операции.

Осуществляют присваивание значений, вычисление выражений (сложение, деление и т.д.), сравнение значений (равно, не равно, больше и т.д.).

Вывод.

Это означает вывод и запись информации на экран, на диск или в порт ввода/вывода.

Условное выполнение.

9

Это выполнение одной или набора команд, если выполняется (истинно) некоторое условие (и, если условие не выполняется, то эти команды пропускаются или выполняется другой набор команд) или если элемент данных имеет указанное значение или диапазон значений.

Циклы.

В циклах набор команд выполняется определенное число раз, пока истинно некоторое условие, или пока условие не станет истинным.

Подпрограммы.

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

Объявление переменной

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

Объявление

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

=

типа

 

 

тип

;

Рисунок 1. Объявление типов.

Указание идентификатора в левой части объявления типа означает, что он определен как идентификатор типа для блока, в котором встречается это объявление типа. Область действия идентификатора типа не включает его самого, за исключением типа указатель.

10

ЛЕКЦИЯ 2. Часть 1.Классы типов в Pascal.

В Pascal есть 6 основных типов данных (рис. 2): простые типы; строковые типы; структурные типы; тип указатель; процедурные типы; объектные типы.

Типы данных в Pascal

 

 

 

 

 

 

Простой тип

 

Сложный тип

 

 

(структурный)

 

 

 

 

 

 

 

 

 

 

 

Вещественный тип

Real

Real

Вещественный

Single

С одинарной точностью

Double

С двойной точностью

Extended

Сповышенной

точностью

Comp

Сложный

(целочисленный)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Массивы

 

 

 

 

Порядковый тип

 

 

 

Array

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логический

 

 

 

 

Записи

 

 

 

 

Boolean

 

 

 

 

 

 

 

 

 

 

 

 

Record

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Символьный

 

 

 

 

 

 

 

 

 

 

 

Char

 

 

 

 

Множества

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Set

 

 

 

 

Строковый

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

String

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Файлы

 

 

 

 

Целый

 

 

 

 

 

 

 

 

 

 

 

 

File

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Byte

 

Объекты

 

 

 

 

 

 

Целое длиной в

 

 

 

 

 

 

 

 

Object

 

 

 

 

 

 

 

байт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ShortInt

 

 

 

 

 

 

 

 

 

 

Целое короткое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

слово

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Integer

 

 

 

 

 

 

 

 

 

 

 

Целое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Word

 

 

 

 

 

 

 

 

 

 

Целое длиной в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

слово

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LongInt

 

 

 

 

 

 

 

 

 

 

Длинное целое

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перечислимый

 

 

 

 

 

 

 

 

 

 

 

тип данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Тип диапозон)

 

 

 

 

 

 

 

 

 

 

 

 

Ограниченный

 

 

 

 

 

 

 

 

 

 

 

тип данных

 

 

 

 

 

 

 

 

 

 

 

 

(Тип

 

 

 

 

 

 

 

 

 

 

поддиапозон)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Динамический

Указатели

Ссылки

Списки

Очереди

Деревья

Рисунок 2. Типы данных в Pascal

Простые типы определяют упорядоченные множества значений.

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