1 / 28

Составные типы данных

Составные типы данных. Лекция 8-9. 16 сентября 2014 г. Ломаско Павел Сергеевич. План. Массивы. Строки. Файлы. Массивы. Понятие массива. Одномерные массивы. Массив – конечная последовательность однотипных элементов, имеющих определенные индексы. Одномерный массив целых чисел:

brac
Download Presentation

Составные типы данных

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Составные типы данных Лекция 8-9. 16 сентября 2014 г. Ломаско Павел Сергеевич

  2. План • Массивы. • Строки. • Файлы.

  3. Массивы

  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. Двумерные массивы j i 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 to5 do for j:=1 to6 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;

  15. Строки 'Hello, world!'

  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. Пример Заменить во вводимой с клавиатуры строке буквы по следующему правилу: а→я, п→б, ы →и Результат вывести на экран.

  22. Текстовые файлы

  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

  28. Спасибо за внимание!

More Related