Слайд 1Составные типы данных
Лекция 8-9.
Ломаско Павел Сергеевич
*
Слайд 4Понятие массива. Одномерные массивы.
Массив – конечная последовательность однотипных элементов, имеющих определенные
индексы.
Одномерный массив целых чисел:
Размер – количество элементов
индексы
значения
Слайд 5Описание одномерного массива
1. Простое описание
Var name: array [x..y] of type;
Пример:
Var Fib:array[1..7]
of integer;
2. С помощью констант
Пример:
Const n=15;
Var R:array [1..n] of real;
3. С помощью пользовательских типов
Пример:
Const m=22;
Type mytable=array[1..m] of char;
Var a,b,c:mytable;
Слайд 6Обращение к элементам
Var с:array[1..3] of integer;
Begin
c[1]:=1;
c[2]:=c[1]+5;
Readln(c[3]);
Writeln (c[1]:4, c[2]:4, c[3]:4);
End.
Слайд 7Процедура ввода одномерного массива
Const n=22;
Type mytable=array[1..n] of integer;
Var a:mytable;
Procedure massin(var m:mytable);
Var
i:integer;
begin
For i:=1 to n do
begin
write(‘Введите [’, i ,’]=’);
readln(m[i]);
end;
end;
Слайд 8Процедура вывода одномерного массива
Const n=22;
Type mytable=array[1..n] of integer;
Var a:mytable;
Procedure massout(m:mytable);
Var i:integer;
begin
writeln(‘Вывод
массива:');
For i:=1 to n do
begin
writeln('[', i ,']=',m[i]);
end;
end;
Слайд 9Процедура задания одномерного массива случайным образом
Const n=22;
Type mytable=array[1..n] of integer;
Var a:mytable;
Procedure
rand_massin(r:integer; var m:mytable);
Var i:integer;
begin
For i:=1 to n do
begin
m[i]:=random(r);
end;
end;
Слайд 10Пример 1
Найти сумму элементов массива целых чисел размерности N.
Слайд 11Пример 2
Найти максимальный элемент массива целых чисел размерности N, заданный случайным
образом.
Слайд 12Двумерные массивы
i
j
Var a:array[1..3, 1..4] of integer;
Слайд 13Процедура ввода
type mas=array[1..5, 1..6] of integer;
var b:mas;
Procedure d_massin(var m:mas);
var i,j:integer;
begin
for i:=1
to 5 do
for j:=1 to 6 do
begin
write(‘Введите [ ‘ , i ,‘ , ‘ , j , ‘ ]=‘ );
readln(m[i,j]);
end;
end;
Слайд 14Процедура вывода
Procedure d_massout(m:mas);
Var i,j:integer;
begin
writeln(‘Вывод массива:');
For i:=1 to 5 do
begin
for j:=1 to
6 do
write(m[i,j]:5);
writeln;
end;
end;
Слайд 16Тип данных char.
Так же, как переменная типа integer может хранить
одно целое число, переменная типа char может хранить один символ.
Var
Alpha : char;
Begin
Alpha :='p';
Alpha :='+';
Alpha :=#56; //Cимвол ASCII
Alpha :=#13; //Обозначение конца строки
Слайд 17Строка. Тип данных string.
Строка может быть рассмотрена как одномерный массив символов.
Тип
данных (string) определяет строки с максимальной длиной 255 символов или произвольной длины.
Var L : string;
City : string[30];
Слайд 18Операции над строками
1. Присваивание
s:=‘Это строка’;
2. Конкатенация (сложение)
S:= ‘Object '+‘Pascal'+‘!‘;
3. Сравнение
(=, <>, >, <, >=, <=)
If S1=S2 then …
Слайд 19Обращение
S:=‘Мама мыла раму’;
S[11]:=‘Т’;
S[12]:=‘o’;
Слайд 20Стандартные подпрогаммы
Delete (Str, Poz, N) - удаление N символов строки Str,
начиная с позиции Poz.
Insert (What, Where, Poz) - вставка строки What в строку Where, начиная с позиции Poz.
Copy (Str, Poz, Nstr) - выделяет строку длиной Nstr, начиная с позиции Poz, из строки Str.
Concat (Str1,Str2,...,StrN) - выполняет сцепление строк в том порядке, в каком указаны в списке параметров.
Poz (What, Where) - обнаруживает первое появление подстроки What в строке Where.
UpCase (Ch) - преобразует строчную букву в прописную.
Str (Number, Stroka) - преобразует число в строку.
Val (Stroka,Number,Code) - преобразует строку в число и выдает код правильности преобразования.
Слайд 21Пример
Заменить во вводимой с клавиатуры строке буквы по следующему правилу:
а→я, п→б,
ы →и
Результат вывести на экран.
Слайд 23Определение
Текстовый файл – это совокупность символьных данных, имеющая имя и хранимая
во внешней памяти.
При считывании файла в оперативную память машины символы файла преобразуются в тот тип данных, который объявлен в программе.
Слайд 24Режимы работы
С текстовыми файлами возможно 3 режима работы:
Чтение (директива reset)
Запись (директива
rewrite)
Дозапись (директива append)
Слайд 25Порядок работы с файлами
1. Описать файловую переменную
var f : text;
2. Ассоциировать
файловую переменную с файлом на диске
assign(f, ‘input.txt’);
3. Открыть файл в соответствующем режиме
Reset(f); / Rewrite(f); / Append(f);
4. Произвести чтение/запись
Readln(f, a, b, c); / Writeln(f, ‘Это текстовый файл!’);
5. Закрыть файл
Close(f);
Слайд 26Пример
В файле input.txt находятся два целых числа, записать в файл output.txt
их произведение.
Слайд 27Для самостоятельной работы
1. http://www.pascaler.ru/pascal/arrays/
2. http://www.pascaler.ru/pascal/lines/
3. http://www.pascaler.ru/pascal/filetype
Все занятия дома
прорешать!
Лекции и вопросы к зачету:
http://lomasko.com/load/informatika/6