Слайд 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