- •Программирование на языке высокого уровня
- •1 Часть Учебное пособие Москва 2007
- •Оглавление
- •1. Основы алгоритмизации
- •1.1. Алгоритмизация и требования к алгоритму
- •1.2. Блок-схемы алгоритмов
- •1.2.1. Способы записи алгоритма
- •1.2.2. Блок-схемы
- •1.2.3. Следование, ветвление, цикл
- •1.3. Этапы разработки программы
- •1.3.1. Язык программирования. Программа
- •1.3.2. Этапы разработки
- •1.4. Ошибки
- •1.4.1. Компилятор. Синтаксис и семантика
- •1.4.2. Типы ошибок
- •2. Алфавит языка Турбо Паскаль. Программа
- •2.1. Идентификаторы
- •2.2. Разделители
- •2.3. Специальные символы
- •2.4. Структура Pascal-программы
- •Пример простейшей программы на языке Pascal
- •3. Типы данных
- •3.1. Структура типов данных
- •3.2. Простые типы
- •3.2.1. Порядковые типы
- •3.2.1.1 Целые типы.
- •3.2.1.1.1. Встроенные процедуры и функции, применимые к целым типам
- •3.2.1.2. Логический тип.
- •3.2.1.3. Символьный тип.
- •3.2.1.4. Перечисляемый тип.
- •3.2.2. Вещественные типы
- •3.3. Константы и переменные
- •3.4. Преобразование типов
- •4. Операторы
- •4.1. Ввод данных
- •4.2. Вывод данных
- •4.3. Составной оператор
- •4.4. Условный оператор
- •4.5. Операторы циклов
- •4.5.1. Оператор for
- •4.5.2. Оператор while
- •4.5.3. Оператор repeat
- •4.5.4. Стандартные функции для циклов
- •4.6. Оператор выбора case
- •5. Массивы
- •5.1 Определение массива
- •5.2. Ввод/вывод одномерного массива (вектора).
- •5.3 Типизированные константы – массивы
- •5.4. Сортировка массивов (ранжирование)
- •6. Процедуры и функции
- •6.1. Подпрограммы
- •6.2. Параметры. Глобальные и локальные описания
- •6.3. Процедуры
- •6.4. Функции
- •6.5. Процедура exit
- •6.6. Рекурсия
- •6.7. Директивы подпрограмм
- •6.8. Открытые массивы
- •7. Записи
- •7.1.Определение и правила записи
- •7.2. Оператор присоединения
- •7.3. Записи с вариантами (экономия пространства)
- •8. Множества
- •8.1. Понятие множества
- •8.2. Конструктор множества
- •8.3. Операции над множествами
- •8.4. Примеры программ, использующих множества.
- •Литература
5.2. Ввод/вывод одномерного массива (вектора).
{1.Ввод с клавиатуры (если задана размерность вектора): }
Type
size=1..100;
Var
Ar:array[size] of integer;
I,n:byte;
BEGIN
writeln;
write(‘введите размерность массива’); Readln(n);
for i:=1 to n do
begin
write(' ar[',i:3,']=');
Readln(ar[I])
End;
{вывод}
Writeln(‘Исходный массив:’)
for i:=1 to n do
write(ar[i],' ');
writeln;
END.
{2.Ввод с помощью датчика случайных чисел и вывод: }
-------------------------------------------------------
Randomize;
for i:=1 to n do
begin
ar[i] :=Integer(Random(200))-80;{диапазон -80 до 199}
write(ar[i],' ');
End;
writeln;
-------------------------------------------------------------------------
{3.Ввод с помощью типизированной константы - массива: см. ниже }
Ввод /вывод двумерного массива (матрицы).
{1.Ввод с клавиатуры (если задано количество строк и столбцов) и вывод: }
const
Rows=8;
Cols=7;
Var
Ar:array[1..Rows,1..Cols] of integer;
I,j:byte;
BEGIN
writeln;
for i:=1 to rows do
for j:=1 to cols do
begin
write(' ar[',i:1,',',j:1,']=');
Readln(ar[I,j])
End;
for i:=1 to rows do
begin
for j:=1 to cols do
write(ar[i,j],' ');
writeln;
End;
End.
{2.Ввод с помощью датчика случайных чисел: и вывод}
Type
Maxrows = 1..20;
Maxcols = 1..20;
Var
Ar:array[maxrows,maxcols] of integer;
I,N: Maxrows;
J,M : Maxcols;
BEGIN
writeln;
write(‘введите размерность массива: кол-во строк столбцов’); Readln(n,m);
for i:=1 to N do
begin
for j:=1 to M do
begin
ar[I,j] :=Integer(Random(200))-80;{диапазон -80 до 119}
write(ar[i,j],' ');
end;
writeln;
End;
END.
{3.Ввод с помощью типизированной константы - массива: см. ниже }
5.3 Типизированные константы – массивы
В Т-П допускается использование типизированных констант. Типизированные константы описываются в разделе объявлений Const следующим образом:
Const (идентификатор) : (тип) = (значение)
Типизированным константам могут присваиваться другие значения в ходе выполнения программы, поэтому фактически они представляют собой переменные с начальными значениями. Типизированные константы инициализируются (приобретают указанное в ее объявлении значение) лишь один раз к моменту начала работы программы. Ее нельзя использовать в качестве значения при объявлении других констант или типа диапазона.
В качестве начального значения типизированной константы-массива используется список констант, отделенных друг от друга запятыми.
Const vector : array [1…5] of byte =(0,1,2,3,4);
При объявлении массива символов можно использовать то обстоятельство, что все символьные массивы и строки в Т-П хранятся в упакованном формате, поэтому в качестве значения массива констант типа CHAR допускается указывать символьную строку соответствующей длины. Два следующих объявления идентичны:
Const digit : array [0…5] of char = (’0’,’1’,’2’,’3’, ’4 ’, ’5 ’);
Dig : array [1….5] of char = (’012345’);
При объявлении многомерных констант-массивов множество констант, соответствующих каждому измерению, заключаются в дополнительные круглые скобки и отделяются от соседнего множества запятыми. Глубина вложения должна соответствовать размерности массива.
var
I, j, k : byte;
Const
matr : array [1…3, 1…5] of byte =
((0,1,2,3,4,),
(5,6,7,8,9),
(10,11,12,13,14));
Cube: array [0..1,0..1,0..2] of integer =
(((0,1,2),(3,4,5)),
((6,7,8),(9,10,11)));
Begin
Writeln;
For i:=0 to 1 do
For j:=0 to 1 do
For k:=0 to 2 do
writeln (cube [I,j,k]:3);
Writeln;
End.