Главная страница

Паскаль. паскаль. Основы алгоритмизации и программирования на языке pascal


Скачать 2.09 Mb.
НазваниеОсновы алгоритмизации и программирования на языке pascal
АнкорПаскаль
Дата30.06.2022
Размер2.09 Mb.
Формат файлаppt
Имя файлапаскаль.ppt
ТипЛекция
#620848
страница12 из 12
1   ...   4   5   6   7   8   9   10   11   12

Квадратные матрицы


Количество строк равно количеству столбцов


а11


а12


а13


а14


а21


а22


а23


а24


а31


а32


а33


а34


а41


а42


а43


а44


а11


а12


а13


а14


а21


а22


а23


а24


а31


а32


а33


а34


а41


а42


а43


а44


Побочная диагональ.
Сумма индексов элементов на 1 больше размерности строки/столбца.


Главная диагональ i=j


Для элементов над главной диагональю i


Для элементов под главной диагональю i>j


а11


а12


а13


а14


а21


а22


а23


а24


а31


а32


а33


а34


а41


а42


а43


а44


а11


а21


а31


а41


А12


а22


а32


А42


А13


А23


а33


а43


а14


а24


а34


а44


Исходная


Преобразованная


For i:=1 to 5 do
For j:=i+1 to 5 do
Begin
N:=a [i,j];
A [i,j:=a[j,i];
A [j,i:=n;
End;




Генератор случайных чисел (ГСЧ)


Для генерации в программе случайных чисел используют генератор случайных чисел (ГСЧ ) — функция random


Randomize — инициализация ГСЧ. Объявляется только в самом начале программы. Различают два вида random:
с целым параметром random(n) — возвращает целое случайное число из промежутка [0;n-1];
без параметра random — возвращает вещественное случайное число из промежутка[0;1].





Для получения целого случайного числа из произвольного промежутка [a;b] используется формула: a+random(b-a+1).

ЗАДАНИЕ


Используемый материал:


Объявления массива:
<Имя> : Array [<нач_зн> … <кон_зн>] of <тип>;
Доступ к массиву:
<Имя массива> [<Индекс>] ;




1. Выполните программу, которая заполняет двухмерный массив случайными числами от −10 до 20 и сортирует значения массива по возрастанию.





2. Выполните упражнение урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума.

Строковый тип данных (String)


Строки — упорядоченный набор символов.


Тип


Диапазон


String


255 символов


S := X;
X := S;





Строки заключены в апострофы.


Строки не совместимы с целыми и вещественными типами.


{ Основные операторы для строк }
+ { конкатенация }
Length ( S ); { длина строки }


X := ‘Вася’;
Write( ‘В вашем имени’,
Length(X),
‘букв.’);


Например:

Операции со строковыми переменными


Delete — удаление символа из строки.
Insert — вставка строки в строку.
Copy — выделение подстроки.
Concant — выполнение сцепления строк.
Pos — обнаружение первого появления в строке подстроки.
UpCasae — преобразование строчной букву в прописную.
Str — преобразование числового значения величины в строку.
Val — преобразование значения строки в величину целочисленного или вещественного типа.





Проверьте себя: Лабораторная работа

ЗАДАНИЕ


Строковый тип называется String
строковая переменная может содержать не более 255 символов;
если заранее известно, что длина строковой переменной не будет превышать некоторого значения n, то её объявляют как string[n].


Используемый материал:





4. Обзор программ урока 27 « Шоу бегущих строк, или Этюды об одном типе данных» электронного практикума.


1. Выполните программу вывода слова наоборот и подсчитайте количество слов в строке.
2. Создайте самостоятельно программу с использованием процедуры Str .
3. Создайте самостоятельно программу с использованием процедуры Val.

ПРИМЕР РАБОТЫ ПРОГРАММЫ




Работа с файлами


Компилятор Turbo Pascal поддерживает три типа файлов:


Текстовый — определяются типом text, например:
<Имя> : Text;


Var f:text;


Типизированный — для хранения однородной информации, например числовых данных одного типа.
Задаются предложением:
file of <тип>,
например:
<Имя>= File Of <тип>;


Var
F:file of integer;
или


Type
Fl=file of integer;
Var F:fl;


Нетипизированный — для хранения разнородной информации, тип которой может меняться или неизвестен.
Определяются типом file, например:
<Имя>= File;


Var F2:file;
или


Type
Fl=file;
Var F2:fl;




Работа с файлами


Последовательность действий при работе с файлами:





1.Объявление файловой переменной (ФП), например, текстовой:
Var ( <ФП>:<тип файла> );


2. Ассоциация ФП с файлом:
Assign ( <ФП>, <имя файла> );


3. Открытие файла для чтения/записи:
Reset(Rewrite)(<ФП> ); — открывает файл для чтения (записи).


4. Операции с файлом:
Read ( <ФП>, <П1> , <П2> ,); — считывает в переменные <П1>, <П2> и т. д. по одному элементу с позиции указателя;
Write ( <ФП> , <П1> , <П2> ,); — записывает в файл значения переменных <П1>, <П2> и т. д. по одному элементу с позиции указателя;
EoLn(EoF) ( <ФП>); — возвращает True, если достигнут конец строки (Файла);
Append ( <ФП>); — открывает существующий текстовый файл для добавления данных в конец файла.


5. Закрытие файла: Close ( <ФП> ).

ЗАДАНИЕ


Для организации работы техстовыми с файлами используют процедуры:
Assign, Rewrite, Reset, Write, Read, Close.


1. Создайте программу, которая считывала бы информацию с трёх исходных файлов, обрабатывала её и выдавала записи в результирующий файл по следующему принципу:
<имя в им.пад> <чувство/действие> <имя в вин. пад>;





файл


Содержимое файла


Первый исходный файл


Имена в именительном падеже


Второй исходный файл


Имена в именительном падеже


Третий исходный файл


Список выражения чувств или какое-то действие, которое может произойти между участниками


Результат


Ольга любит Сергея
Олег хочет видеть Романа
Катя уважает Настю
И т.д.


Используемый материал:

Множества


Множество — неупорядоченная совокупность неповторяющихся элементов одного типа, имеющих общее имя.


<имя типа > = SET OF <базовый тип>





VAR
M:set of char; st:string;
BEGIN
M:=[’a’..’z’,’0’..’9’];


Синтаксис:


Например:

Множества


Правила записи элементов множества


Квадратные скобки.


Любой скалярный тип, кроме типа real, word.


[1,2,3,4]
[‘a’..’z’]


Символьные данные заключаются в апострофы.


Можно указывать диапазон.


Число элементов не должно превышать 255
символьных.




Множества


Операции над множествами


А


B


А


B


А


B


Объединение множеств (А+В)


Пересечение множеств (А*В)


Разность множеств (А−В)




ЗАДАНИЕ


Используемый материал:


1. Выполните программу: Из множества целых чисел 1...20 выделитe множество чисел, делящихся на 6, на 2 и на 3 без остатка. Выведите содержимое этих множеств на экран.
2. Выполните программу: Введите строку символов, состоящую из латинских букв, цифр, пробелов. Осуществите проверку правильности введённых символов.


TYPE <имя типа > = SET OF
<элемент 1,…,элемент n>
VAR <идентификатор >:<имя типа>;




Записи


Запись — это набор элементов разнородного типа. Элементы (поля) определяются именем. Доступ к конкретному полю происходит через обращение имени записи и имени поля.


Синтаксис записи





TYPE
< имя_записи> = record
<имя_поля>: <тип_данных>;
…..;
<имя_поля>: <тип_данных>;
end;
VAR
<имя_переменной>:< имя_записи>;


Доступ


<имя_записи>. <имя_поля>

Записи





type
persona= record
name:string[20];{фамилия}
sex:boolean; {пол}
bd: date; {дата рожд.}
sb:real; {средний балл}
end;
var
student: persona;





name


sex


date


day


moth


year


Иванов


м


23


апрель


1997


Пример: p e r s o n a


type
date= record
day:string[20]; {день}
month:real; {месяц}
year:byte; {год}
end;


Запись — это набор элементов (полей) разнородного типа.


I Тип записи
Тип date


II Тип записи
Тип tovar


student.name:=‘Иванов’;
student.sex:=‘м’;
student.bd.day:=23;
student.bd.month:=‘апрель’;


student — переменная записи типа — persona;


Обращение к полю через комплексное имя


sb


4

Записи


Доступ к конкретному полю происходит через обращение имени записи и имени поля.


Имя записи. Имя поля





With
(оператор присоединения)


With student do
begin
name:=‘Иванов’;
sex:=‘м’;
bd.day:=23;
bd.month:=‘апрель’;
end;


student.name:=‘Иванов’;
student.sex:=‘м’;
student.bd.day:=23;
student.bd.month:=‘апрель’;


Существуют два вида обращения:

ЗАДАНИЕ


Используемый материал:


1. Выполните задание урока 28 «Живут студенты весело, или Записи» электронного практикума.





Type
< имя_записи> = record
<имя_поля>: <тип_данных>
. . . .;
<имя_поля>: <тип_данных>;
end;
Var
<имя_переменной>:< имя_записи>;





Раздел 3. Структурированные типы


8 часов


Тема 8


Массивы


2 часа


Тема 9


Строки


1 час


Тема 10


Множества и записи


2 часа


Тема 11


Работа с файлами


2 часа


Контрольный обзор по разделу


ТЕСТ Раздел 3

Разработка проекта





Задание 1 к уроку 29 «Заметка на память, или Типизированные файлы» электронного практикума.


Урок 30 «Графический редактор, или Работа с текстовыми файлами» электронного практикума.
Откройте любую программу с рисунком и организуйте чтение картинки из файла.


Для разработки проекта выберите один из вариантов:

1   ...   4   5   6   7   8   9   10   11   12


написать администратору сайта