- •Литература
- •10. Основы программирования на языке turbopascal. Учебное пособие. Б. А. Крымов, а. О. Мовшин, с. В. Кулакова. Воронеж: вгта. 2000.
- •Тема 1. Основные понятия информатики
- •1.1. Место информатики в человеческой деятельности
- •1.2. Информационные процессы: подробности
- •1.2.1. Процесс сбора данных
- •1.2.2. Процесс хранения данных.
- •1.2.3. Процесс передачи данных
- •Оконечное оборудование
- •1.2.4. Процесс обработки данных
- •Тема 2. Алгоритмизация и программирование
- •2.1. Алгоритм и его свойства
- •2.2. Формы записи алгоритма
- •Var m, n : integer;
- •2.3. Базовые алгоритмические структуры
- •2.4. Последовательность подготовки и решения задачи на эвм
- •Var X,y,с11,с12,с21,с22,a,b,Dx,Dy,d : real;
- •2.5. Конструктивные элементы языка pascal
- •2.6. Структура программы на языке pascal Программа на pascal состоит из двух частей: описательная часть и собственно программные операторы (исполняемая часть – список действий).
- •Var m, n : integer;
- •Тема 3. Данные и выражения простых типов
- •3.1. Данные целого типа
- •Var имя1, имя2,...: integer;
- •3.2. Данные вещественного типа
- •Var имя1, имя2,...: real;
- •Var a2, result, psi : real;
- •3.3. Данные логического типа
- •Var имя1, имя2,...: boolean;
- •3.4. Данные символьного типа
- •Var имя1, имя2, ... : char;
- •3.5. Данные ограниченного типа
- •Var month : summer;
- •3.5. Порядок выполнения операций
- •Тема 4. Основные операторы языка pascal
- •4.1. Оператор присваивания
- •4.2. Ввод числовых данных с клавиатуры
- •4.3. Вывод данных на экран монитора
- •Writeln(a,b,c);
- •Writeln(a,' ',b,' ',c)
- •Var omega, q: real;
- •4.4. Условные и составные операторы
- •Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:
- •If Логическое выражение then оператор 1 else оператор 2;
- •Var a, b, max: real;
- •Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:
- •If Логическое выражение then оператор 1;.
- •Var a, b : real;
- •Вложенная ветвящаяся структура
- •X, y, a, b : real;
- •Var X, a, z : real;
- •4.5. Операторы цикла
- •4.5.1. Оператор цикла с предусловием Структура оператора
- •X, y, deltaX, a, b : real;
- •4.5.2. Оператор цикла с постусловием
- •X, y, deltaX, a, b : real;
- •4.5.3. Вычисление сумм
- •Var s : real;
- •Var s : real;
- •X, s, eps, a : real;
- •X, s, eps, a : real;
- •4.5.4. Оператор цикла с параметром
- •Var X, y, deltaX, a, b: real;
- •Var s: real;
- •Тема 5. Структурированные типы данных
- •5.1. Одномерные массивы
- •Var имя массива : array [тип индекса] of тип элементов;
- •Var имя массива : имя типа;
- •Имя массива [ индекс ]
- •5.2. Организация циклов с использованием массивов
- •I: integer;
- •Var max : real;
- •I : integer;
- •Var I, kP,j : integer ;
- •5.3. Двумерные массивы
- •Var I, k : integer ;
- •Var c:array [-1..8,0..19] of real;
- •I,j:integer;
- •5.4. Примеры задач с двумерными массивами
- •Var mat : array [1..N, 1..N] of real ;
- •I, j, i1, i2 : integer ;
- •Var I, j : integer;
- •Тема 6. Подпрограммы
- •6.1. Вводные понятия
- •6.2. Процедуры
- •Var p, s : real;
- •Var имя1, имя2, ... : тип параметров;
- •6.3. Функции
- •Function имя функции (список форм. Параметров) : тип результата;,
- •Var p : real;
- •Тема 7. Обзор языков программирования
- •Приложение 1 Наиболее часто используемые служебные слова pascal
- •Приложение 2 Стандартные функции pascal
Var I, kP,j : integer ;
b : real ;
a : array [1..n] of real ;
begin
write (‘введите массив‘);
for i:=1 to n do read (a[i]);
writeln (' исходный массив:);
for i:=1 to n do write (a[i]:5:2);
writeln;
j:=n;
repeat kP:=0; j:=j–1;
for i:=1 to j do
if a[i] > a[i+1] then
begin
b := a[i]; a[i] := a[i+1];
a[i+1] := b; kP:=kP+1;
end
until kP = 0;
writeln(' упорядоченный массив ‘);
for i:=1 to 10 do write (a[i]:5:2)
end.
5.3. Двумерные массивы
Описание двумерного массива аналогично описанию одномерных массивов. Разница заключается в том, что в нем необходимо указать тип не одного, а двух индексов.
Пример 5.8.
var
bas : array [0..5,1..10] of real ;
В разделе описания переменных объявлен двумерный массив вещественного типа bas, состоящий из 6 строк и 10 столбцов; размер массива 610=60 элементов.
Пример 5.9
type
c = array [1..3,1..10] of integer ;
var
maxim : c;
Здесь массив maxim описан в двух разделах – типов и переменных, и состоит из 3 строк и 10 столбцов; базовый тип элементов – целый, размер массива – 30 элементов.
Обращение к элементам. Для того, чтобы обратиться к элементу двумерного массива, нужно после его имени указать в квадратных скобках два индексных выражения, разделенные запятой. Индексным выражением может быть константа, переменная или выражение того типа, который указан для индексов в описании массива (см. рис. 5.1)
Рис. 5.1. Схема расположения элементов двумерного массива
Пример 5.10.
x[2,1] – обращение к элементу массива x с индексами 2 и 1;
zet[m,n] – обращение к элементу массива zet; индексы элемента m и n должны быть предварительно определены численно;
beta[i+2,k] – обращение к элементу массива beta; индексное выражение i +2 должно быть предварительно вычислено, а значение k определено.
Ввод-вывод двумерных массивов
Для хранения элементов массива в памяти ЭВМ резервируется непрерывная область, размер которой вычисляется транслятором по описанию массива. Ввод массивов осуществляется поэлементно, как правило, при помощи оператора цикла for.
Пример 5.11. Ввести матрицу С размера 611, нумерация индексов которой начинается с 0.
Var I, k : integer ;
c : array [0..5,0..10] of real ;
begin
for i:=0 to 5 do
for k:=0 to 10 do
read (c[i,k]);
end.
В приведенном фрагменте цикл начинается с присваивания параметру i его начального значения, равного нулю, после чего выполняется внутренний цикл с параметром k, последовательно принимающим значения 0, 1, 2,...,10, т.е. вводятся элементы нулевой строки матрицы c[0,0], c[0,1], c[0,2], ..., c[0,10]. Далее произойдет возврат во внешний цикл, значение переменной i увеличится на 1. При новом значении i снова будет выполнен внутренний цикл, т.е. введены элементы следующей строки. Операции ввода будут продолжаться до тех пор, пока не будут введены все элементы массива.
Пример 5.12. Написать фрагмент программы, содержащий вывод матрицы C (10 20) в виде таблицы, содержащей 10 строк и 20 столбцов. Индексацию строк начать с –1, столбцов с 0.