Паскаль. паскаль. Основы алгоритмизации и программирования на языке pascal
Скачать 2.09 Mb.
|
Квадратные матрицыКоличество строк равно количеству столбцов
Побочная диагональ. Сумма индексов элементов на 1 больше размерности строки/столбца. Главная диагональ i=j Для элементов над главной диагональю i Для элементов под главной диагональю i>j
Исходная Преобразованная 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] ЗАДАНИЕИспользуемый материал: Объявления массива: <Имя> : Array [<нач_зн> … <кон_зн>] of <тип>; Доступ к массиву: <Имя массива> [<Индекс>] ; 1. Выполните программу, которая заполняет двухмерный массив случайными числами от −10 до 20 и сортирует значения массива по возрастанию. 2. Выполните упражнение урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума. Строковый тип данных (String)Строки — упорядоченный набор символов.
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 поддерживает три типа файлов:
Работа с файламиПоследовательность действий при работе с файлами:
ЗАДАНИЕДля организации работы техстовыми с файлами используют процедуры: 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;
Пример: 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; Обращение к полю через комплексное имя
ЗаписиДоступ к конкретному полю происходит через обращение имени записи и имени поля. Имя записи. Имя поля 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 Разработка проектаЗадание 1 к уроку 29 «Заметка на память, или Типизированные файлы» электронного практикума. Урок 30 «Графический редактор, или Работа с текстовыми файлами» электронного практикума. Откройте любую программу с рисунком и организуйте чтение картинки из файла. Для разработки проекта выберите один из вариантов: |