ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Лекция
Дисциплина: Программирование
Добавлен: 19.10.2018
Просмотров: 5035
Скачиваний: 11
СОДЕРЖАНИЕ
1.2.Описание стандартных типов данных
Вычисление выражений с использованием стандартных функций
Вычисление выражений с использованием стандартных функций.
Описание используемых стандартных функций.
2.1. Составной и пустой операторы.
Решение уравнений и неравенств с использованием условного оператора.
Лабораторная работа № 2, вариант № 8.
Решение уравнений и неравенств с использованием условного оператора.
Лабораторная работа № 3, вариант № 8.
Организация циклов в программе.
Лабораторная работа № 4, вариант № 8.
Организация циклов в программе.
3.3. Метод половинного деления.
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом итераций.
Распечатка результатов работы программы в следующем виде:
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом Ньютона.
Распечатка результатов работы программы в следующем виде:
Лабораторная работа № 5, вариант № 3.
Решение нелинейных уравнений методом половинного деления.
Описание метода половинного деления:
Блок-схема метода половинного деления:
Распечатка результатов работы программы в следующем виде:
Метод Монте-Карло (метод статистических испытаний)
5.2.2. Классы задач по обработке массивов.
5.2.2.1. Однотипная обработка всех или указанных элементов массивов.
5.2.2.2. Задачи, в результате решения которых изменяется структура массива.
5.2.2.3. Обработка нескольких массивов одновременно.
5.2.2.4. Поисковые задачи для массивов.
5.2.2.5.1. Сортировка вставкой
5.2.2.5.3. Сортировка обменом («пузырьковая сортировка»)
5.2.2.5.4. Сортировка фон Неймана (слиянием)
5.3.1. Описание двумерных массивов.
5.3.2. Сортировка двумерных массивов
6.2. Процедуры обработки строк.
Лабораторная работа № 7, вариант № 8.
7. Комбинированные типы. Оператор присоединения
Работа с комбинированными типами данных.
Лабораторная работа № 8, вариант № 8.
Работа с комбинированными типами данных.
Работа с множественными типами данных.
Лабораторная работа № 9, вариант № 3.
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Пермский национальный исследовательский политехнический университет»
Кафедра «Информационные технологии и автоматизированные системы»
Полякова О.А.
«Информатика 1».
«Информатика 2».
Теоретические материалы и методические указания для выполнения лабораторных работ
4-5 ЗЕ
7 ЗЕ
Часть 1
Пермь 2017
Оглавление
Оглавление 2
1.Стандартные типы данных 4
1.1.Структура программы 4
1.2.Описание стандартных типов данных 5
1.3.Выражения 7
Лабораторная работа №1 8
Вычисление выражений с использованием стандартных функций 8
Лабораторная работа № 1. 8
Вычисление выражений с использованием стандартных функций. 8
Описание используемых стандартных функций. 9
2. Операторы языка. 15
2.1. Составной и пустой операторы. 15
2.2.Условный оператор. 16
2.3.Операторы повторений. 16
2.4.Оператор выбора 17
2.5.Практические задания. 17
Лабораторная работа № 2 17
Решение уравнений и неравенств с использованием условного оператора. 17
Лабораторная работа № 2, вариант № 8. 18
Решение уравнений и неравенств с использованием условного оператора. 18
Лабораторная работа № 3. 19
Построение таблиц функций. 19
Лабораторная работа № 3, вариант № 8. 20
Построение таблиц функций. 20
Лабораторная работа № 4. 21
Организация циклов в программе. 21
Лабораторная работа № 4, вариант № 8. 22
Организация циклов в программе. 22
3.Численные методы. 25
3.1.Метод итераций 25
3.2.Метод Ньютона 26
3.3. Метод половинного деления. 29
Лабораторная работа № 5 32
Решение нелинейных уравнений. 32
Лабораторная работа № 5, вариант № 3. 33
Решение нелинейных уравнений методом итераций. 33
Лабораторная работа № 5, вариант № 3. 35
Решение нелинейных уравнений методом Ньютона. 35
Лабораторная работа № 5, вариант № 3. 37
Решение нелинейных уравнений методом половинного деления. 37
4. Случайные числа. 40
Метод Монте-Карло (метод статистических испытаний) 40
5. Массивы. 41
5.1. Процедуры и функции. 41
5.2. Одномерные массивы. 43
5.2.1. Описание массивов. 43
5.2.2. Классы задач по обработке массивов. 43
5.3. Двумерные массивы. 59
5.3.1. Описание двумерных массивов. 59
5.3.2. Сортировка двумерных массивов 60
Лабораторная работа № 4. 66
Работа с массивами чисел. 66
Образец выполнения задания. 66
Лабораторная работа № 4. 66
Работа с массивами чисел. 66
Варианты заданий. 68
6. Обработка строк. 71
6.1. Функции обработки строк. 71
6.2. Процедуры обработки строк. 72
Лабораторная работа № 7. 73
Обработка строк. 73
Лабораторная работа № 7, вариант № 8. 73
Обработка строк. 73
7. Комбинированные типы. Оператор присоединения 75
7.1. Записи 75
7.2. Оператор присоединения 75
Лабораторная работа № 8. 77
Работа с комбинированными типами данных. 77
Лабораторная работа № 8, вариант № 8. 78
Работа с комбинированными типами данных. 78
8. Множественные типы данных. 81
8.1. Множества. 81
Лабораторная работа № 9. 83
Работа с множественными типами данных. 83
Лабораторная работа № 9, вариант № 3. 84
Работа с множественными типами данных. 84
Лабораторная работа № 10. 86
Операции над множествами. 86
Лабораторная работа № 10. 86
Операции над множествами. 86
Введение
Алгоритмический язык высокого уровня Паскаль был разработан в конце 60-х годов профессором Н.Виртом. Он был создан специально для обучения программированию. К основным достоинствам языка Паскаль следует отнести гибкость и надежность, простоту и ясность конструкций, возможность удовлетворения требованиям структурного программирования, наличия набора структурированных типов данных: массивов, записей, записей с вариантами, файлов, множеств, возможность построения новых типов данных.
На базе стандартного Паскаля фирма Borland разработала семейство Паскаль-систем, называемых Турбо Паскалем. Турбо Паскаль пользуется широкой популярностью среди массовых пользователей и профессиональных программистов. Это объясняется наличием очень удобной интегрированной среды и тем, что в его основе лежит мощный язык программирования, представляющий собой расширенную версию языка Паскаль.
За последние годы фирма Borland разработала и выпустила на рынок шесть модификаций этой системы. Каждая из них представляет собой усовершенствование предыдущей. Непрерывное совершенствование системы Турбо Паскаля породило в конце концов очень мощную по своим возможностям систему программирования, отвечающую самым взыскательным требованиям. С помощью Турбо Паскаля можно создавать многие программы — от программ, предназначенных для решения простейших вычислительных задач, до сложных современных систем управления базами данных и операционных систем.
И вместе с тем Турбо Паскаль остается простым в изучении, что позволяет начинающему программисту на его основе изучить методы и способы эффективного программирования.
Данное пособие состоит из 8 разделов. Каждый раздел включает в себя краткие теоретические сведения и лабораторные работы по соответствующей теме. Пособие “Практикум по программированию на языке Турбо Паскаль” можно использовать при изучении курсов “Информатика”, “Алгоритмические языки программирования”, “Основы программирования” и т.п. для студентов электротехнического (специальности АСУ, ЭВТ, КРЭС и др.) и гуманитарного (специальность ЭУП) факультетов.
В подготовке данного пособия активное участие принимали инженеры Лобанова Е.В. и ПавленкоТ.М.
1.Стандартные типы данных
1.1.Структура программы
Программа на языке Турбо Паскаль состоит из заголовка и собственно программы, называемой блоком. Блок состоит из разделов. Максимальное количество разделов шесть. Разделы располагаются в следующем порядке:
1. Раздел меток;
2. Раздел констант;
3. Раздел типов;
4. Раздел переменных;
5. Раздел процедур и функций;
6. Раздел операторов.
Раздел операторов заключается в операторные скобки begin ... end. В нем указывается последовательность действий, которые должны выполняться ЭВМ. Все остальные разделы носят описательный характер.
Любой раздел, кроме последнего, может отсутствовать. Разделителем между разделами и операторами служит точка с запятой. В конце программы должна стоять точка.
В любое место программы могут быть включены комментарии. При этом смысл программы не меняется. Комментарии включаются в фигурные скобки.
1.2.Описание стандартных типов данных
Программа, написанная на языке ТР, оперирует некоторыми объектами, называемыми данными. Каждый элемент данных в программе является либо константой, либо переменной. Для каждой переменной задается тип, определяющий возможное значение переменной и операции, которые могут над ней выполняться. Тип переменной задается в разделе переменных.
Язык ТР дает возможность строить сложные типы данных, которые основываются на следующих элементарных:
1) целый “integer”;
2) вещественный “real”;
3) символьный “char”;
4) булевский “boolean”;
5) перечислимые.
Целый тип
Обеспечивает задание целых чисел. Существует несколько видов целых типов: byte, shortint, integer, longint.
Встроенные процедуры и функции, применимые к целым типам.
Обращение |
Тип результата |
Действие |
abs(x) |
x |
Возвращает модуль х |
chr(b) |
Char |
Возвращает символ по его коду |
dec(vx[,i]) |
процедура |
Уменьшает значение vx на i, при отсутствии i- на 1 |
inc(vx[,i]) |
-/- |
Увеличивает значение vx на i, при отсутствии i- на 1 |
odd(l) |
boolean |
Возвращает TRUE, если аргумент - нечетное число, FALSE - если четное |
random(w) |
как у параметра |
Возвращает псевдослучайное число, равномерно распределенное на интервале 0<=x<w |
sqr(x) |
-/- |
Возвращает квадрат аргумента |
exp(x) |
real |
ex |
sqrt(x) |
real |
Возвращает квадратный корень из х |
sin(x) |
-/- |
sin x |
cos(x) |
-/- |
cos x |
ln(x) |
-/- |
ln x |
arctan(x) |
-/- |
arctg x |
succ(x) |
как у параметра |
Возвращает следующее целое число, т.е. х+1 |
pred(x) |
-/- |
Возвращает предыдущее целое число, т.е. х-1 |
х - выражение любого из типов.
b, l, i, w - выражения соответствующих типов: byte,
longint, integer, word.
vx - переменная типа х.
Арифметические операции: +(сложение), -(вычитание), *(умножение), /(деление), DIV(деление нацело), MOD(вычисление остатка от целочисленного деления).
Операции отношения: =(равно), <>(не равно), <(меньше), >(больше), <=(меньше или равно), >=(больше или равно).
Вещественный тип
Запись вещественного числа в ТР возможна:
в виде числа с фиксированной точкой: 12.3, 0.67;
в экспоненциальной форме: 1.4 Е-8 (1.4*10), 9.7 Е3 (9.7*10).
Над переменными этого типа определены арифметические операции: +(сложение), -(вычитание), *(умножение), /(деление), а также операции отношения (см. выше).
Встроенные процедуры и функции.
Обращение |
Тип параметра |
Тип результата |
Действие |
abs(x) |
real, integer |
x |
Возвращает модуль х |
random(x) |
integer |
integer |
Возвращает псевдослучайное число, равномерно распределенное на интервале 0<=i<x |
sqr(x) |
real, integer |
тип аргумента |
Возвращает квадрат аргумента |
exp(x) |
real |
real |
ex |
sqrt(x) |
real |
real |
Возвращает квадратный корень из х |
sin(x) |
-/- |
-/- |
sin x |
cos(x) |
-/- |
-/- |
cos x |
ln(x) |
-/- |
-/- |
ln x |
arctg(x) |
-/- |
-/- |
arctg x |
frac(x) |
-/- |
-/- |
Дробная часть числа |
int(x) |
-/- |
-/- |
Целая часть числа |
pi |
--- |
real |
Пи=3.14159265... |
trunc(x) |
real |
integer |
Отбрасывание дробной части |
round(x) |
real |
integer |
Округление до ближайшего целого |
randomize |
--- |
--- |
Инициация датчика псевдослучайных чисел |
random |
--- |
real |
Возвращает псевдослучайное число, равномерно распределенное на интервале 0<=x<1 |
Символьный тип
Значениями символьного типа являются элементы конечного и упорядоченного набора знаков.
Символ, заключенный в апострофы, обозначает константу символьного типа, например: ‘5’, ‘d’.
Над переменными символьного типа определены следующие функции:
1) функции преобразования:
ORD (s) - дает порядковый номер символа s в упорядоченном множестве символов: ORD(‘5’)=53.
CHR (i) - дает символ, стоящий под номером i в упорядоченном множестве символов: CHR(66)=‘B’.
2) операции отношения (см. выше):
если С1 и С2 - символьные переменные, то С1>С2 истинно только тогда, когда ORD(C1)>ORD(C2).
3) стандартные функции:
PRED (s) - возвращает предыдущий символ.
SUCC (s) - возвращает следующий символ.
Булевский тип
Переменные булевского типа могут принимать только два значения: TRUE и FALSE.
Над ними определены:
1) логические операции:
AND(и или конъюнкция), OR(или или дизъюнкция),
NOT(не или отрицание).
2) операции отношения (см. выше):
причем TRUE>FALSE.
Перечисляемый тип
Задается перечислением тех значений, которые может получать переменная этого типа. Нумерация в списке значений начинается с 0, т.е. первое значение имеет номер - 0, а второе - 1 и т.д.
Пример: type tree=(birch, oak, pine);
или
var tr=(birch, oak, pine);
1.3.Выражения
Значения выражений вычисляются с учетом расставленных скобок и старшинства операций.
Ниже приведены операции в порядке убывания их приоритета, причем операции в одной строке имеют одинаковый приоритет:
NOT
*, /, MOD, DIV, AND
+, -, OR
<, >, <=, >=, <>, =
Операции одного и того же старшинства выполняются слева направо в порядке их появления в выражении. Выражения в круглых скобках вычисляются в первую очередь.