- •«Программирование на Turbo Pascal»
- •Введение
- •1. Учебно-методическое пособие по изучению дисциплины
- •1 Семестр Лекции (часы) Лабораторные (час) Практика (час) Форма контроля 12 34 - Экзамен
- •1.1. Цели и задачи дисциплины. Компетенции
- •1.2. Методические рекомендации по изучению дисциплины
- •Тема 1. Алгоритмизация
- •Тема 2. Основы программирования
- •Тема 3. Типовые вычислительные процессы. Ветвления
- •Тема 4. Подготовка текстовых документов на компьютере
- •Тема 5. Операции с индексированными переменными
- •Тема 6. Подпрограммы
- •Тема 7. Языки программирования высокого уровня
- •1.3. Глоссарий
- •1.4. Библиографический список
- •1.5. Форма контроля
- •1.6. Вопросы итогового контроля
- •2. Теоретические сведения
- •2.1. Алгоритмизации
- •2.1.1. Алгоритм и его свойства. Способы записи алгоритма
- •2.1.2. Базовые алгоритмические структуры
- •2.1.3. Базовая структура "следование"
- •2.1.6. Итерационные циклы
- •2.1.7. Вложенные циклы
- •2.1.8. Примеры типовых задач по теме «Алгоритмизация»
- •2.1.9. Вопросы для самоконтроля
- •2.2. Основы программирования
- •2.2.1. Этапы решения задач на эвм
- •2.2.2. Алгоритмический язык Pascal
- •2.2.3. Алфавит языка
- •2.2.4. Типы данных
- •2.2.5. Стандартные функции
- •2.2.6. Структура программы на языке Паскаль
- •2.2.7. Основные операторы
- •2.2.8. Комментарии в программе
- •2.2.9. Примеры типовых задач по теме «Основы программирования»
- •2.2.10. Вопросы для самоконтроля
- •2.3. Типовые вычислительные процессы. Ветвления
- •2.3.1. Операторы проверки условий и перехода
- •2.3.2. Логический оператор
- •2.3.3. Оператор выбора
- •2.3.4. Примеры типовых задач по теме «Типовые вычислительные процессы. Ветвления»
- •2.3.5. Вопросы для самоконтроля
- •2.4. Циклические вычислительные процессы
- •2.4.1. Оператор цикла с параметром
- •2.4.2. Оператор цикла с постусловием
- •2.4.3. Оператор цикла с предусловием
- •2.4.4. Вложенные циклы
- •2.4.5. Оператор прерывания цикла
- •2.4.6. Примеры типовых задач по теме «Циклические вычислительные процессы»
- •2.4.7. Вопросы для самоконтроля
- •2.5. Операции с индексированными переменными
- •2.5.1. Массивы одномерные
- •2.5.2. Двумерные массивы. Матрицы
- •2.5.3. Примеры типовых задач по теме «Массивы одномерные»
- •2.5.4. Примеры типовых задач по теме «Двумерные массивы»
- •2.5.5. Вопросы для самоконтроля
- •2.6. Подпрограммы
- •2.6.1. Функции и процедуры
- •2.6.2. Процедуры
- •2.6.3. Вложенные процедуры. Директива forward
- •2.6.4. Функции
- •2.6.5. Примеры типовых задач на тему «Подпрограммы»
- •2.6.6. Вопросы для самоконтроля
- •2.7. Языки программирования высокого уровня
- •2.7.1. Эволюция языков программирования
- •2.7.2. Классификация языков программирования
- •2.7.3. Дальнейшее развитие языков программирования
- •VbScript
- •2.7.4. Транслятор, компилятор, интерпретатор
- •2.7.5. Интегрированные среды программирования
- •2.7.6. Вопросы для самоконтроля
- •3. Варианты заданий для выполнения практических работ
- •3.1. Варианты для выполнения практических заданий по теме «Следования»
- •3.2. Варианты для выполнения практических заданий по теме «Ветвления»
- •3.3. Варианты для выполнения практических заданий по теме «Циклы»
- •3.4. Варианты для выполнения практических заданий по теме «Одномерные массивы»
- •3.5. Варианты для выполнения практических заданий по теме «Двумерные массивы»
- •3.6. Варианты для выполнения практических заданий по теме «Подпрограммы»
2.4.7. Вопросы для самоконтроля
Что такое цикл?
Какие циклы можно организовать на языке Паскаль?
В каких случаях предпочтительней использовать оператор for …to … do для организации циклов?
Какой тип должна иметь переменная, которая является параметром цикла в операторе for …to … do ?
Сколько циклов будет пройдено, если в операторе while … do условие не выполнилось с первого раза?
Сколько циклов будет пройдено, если в операторе repeat … until условие выполнилось с первого раза?
Что такое вложенные циклы?
Как можно досрочно прервать цикл?
2.5. Операции с индексированными переменными
Массив – это поименованный набор однотипной информации.
Массив объединяет элементы одного типа данных. Всему набору данных присваивают общее имя - имя массива. Каждый элемент массива определяется с помощью индекса, определяющего место этого элемента в общем наборе.
Данные в массиве сохраняются, как и в случае использования обычных неиндексированных переменных, только до конца работы программы.
Характеристики массива:
тип – общий тип всех элементов массива;
размерность (ранг) – количество индексов массива;
диапазон изменения индексов – определяет количество элементов в массиве.
2.5.1. Массивы одномерные
Вектор (одномерный массив) – это массив, в котором элементы нумеруются одним индексом.
Описание одномерных массивов:
var
a: array[1…n] of <тип>;
где a - имя массива;
n - максимальное количество элементов массива;
<тип> - тип элементов массива.
Например:
var
mas: array [1…10] of real;
Описан массив с именем mas содержащий 10 элементов вещественного типа.
Каждый элемент массива определяется с помощью индекса, стоящего справа от имени в квадратных скобках.
a [ i ], a [i+2], a [9]
Индекс может быть - переменной, константой, либо арифметическим выражением целого типа. Размер массива должен быть задан в явном виде (как в предыдущем фрагменте), или через константу (const).
Например:
const n = 10;
var mas: array [1…n] of real;
2.5.2. Двумерные массивы. Матрицы
Если в массиве хранится таблица значений, то такой массив называют двумерным, а его элементы нумеруются двумя индексами – номером строки и номером столбца, на пересечении которых находится данный элемент.
В памяти компьютера все элементы массива занимают одну непрерывную область. Двумерный массив располагается в памяти по строкам.
Двумерный массив можно представить в виде матрицы:
.
Описание двумерного массива:
var
a :array[1..n ,1..m] of <тип>;
где a - имя массива;
n, m - количество строк и столбцов в массиве;
<тип> - тип элементов массива.
Количество элементов в массиве - nm.
Например:
var
mas: array [1…10,1..10] of real;
Описан массив с именем mas - содержащий 100 элементов вещественного типа (10 строк и 10 столбцов).
Размер массива должен быть задан в явном виде (как в предыдущем фрагменте), или через const.
Например:
const
n = 5, m=5;
var mas: array[1…n,1..m] of real;
Описан массив mas - содержащий 25 элементов целого типа (5 строк и 5 столбцов).
Каждый элемент массива определяется с помощью двух индексов, стоящих справа от имени в квадратных скобках.
a[i, j] - элемент стоящий на пересечении i-ой строки и j-го столбца.
a[i, i] - элементы главной диагонали.
a[i, 2] - элементы второго столбца.
Индекс может быть - переменной, константой, арифметическим выражением целого типа.
Если количество строк равно количеству столбцов, матрица называется квадратной.
Обработка двумерных массивов производится при изменении индексов элементов.
Все элементы главной диагонали квадратной матрицы удовлетворяют условию:
i=j (номер строки равен номеру столбца).
Все элементы побочной диагонали квадратной матрицы удовлетворяют условию:
i+j=n+1(n - количество строк и столбцов).
Элементы, расположенные над главной диагональю удовлетворяют условию:
i<j (номер строки строго меньше номера столбца).
Элементы, расположенные под главной диагональю удовлетворяют условию:
i>j (номер строки строго больше номера столбца).
Ввод элементов двумерного массива
for i:=1 to n do
for j:=1 to m do Вложенные циклы
readln(a[i]);
Данный фрагмент позволит ввести элементы массива по строкам.
Для ввода элементов массива по столбцам, достаточно в предыдущем фрагменте поменять местами внутренний и внешний циклы.
Вывод элементов двумерного массива
for i:=1 to n do
begin
for j:=1 to n do
write(a[I,j],‘ ‘);
writeln; end;
Данный фрагмент позволит вывести элементы массива в виде матрицы.