
- •1.Поколения языков программирования. Системы программирования. Уровни языков программирования. Классификация и сравнительный анализ языков высокого уровня
- •3.Этапы разработки программного обеспечения
- •6.Модуль и его структура. Основные типы модулей в инструментальной системе Delphi.
- •7.Типовые алгоритмы, используемые в программировании. Средства организации типовых алгоритмов в языке программирования Object Pascal
- •8.Организация ввода/вывода в Object Pascal.
- •9.Организация класса, объекта. Фундаментальные признаки объектно-ориентированного программирования.
- •10.Визуальное проектирование Windows-приложений в инструментальной системе Delphi … Обработчики событий
- •11.Типизация данных. Система типов в языке программирования Object Pascal
7.Типовые алгоритмы, используемые в программировании. Средства организации типовых алгоритмов в языке программирования Object Pascal
Типовые алгоритмы делятся по структурам:
Линейная структура
Разветвляющая структура
Циклическая структура (арифметический, итерационный)
Линейная :
Разветвляющая
Циклическая:
Арифметическая(For ) Итерационная (While)
оператор присваивания а:=в; а- имя ячейки памяти, которая запоминает результат вычисления, в – это формула, записанная в виде арифметического выражения.
If_ {логическое выражение}_ then_{оператор1}_else_{оператор2}; Оператор if может использоваться в сокращенном виде, т е if {лог выр} then {оператор pascal};
Begin …end – составной оператор – тоже относится к управляющим структурам языка.
Итерационный или цикл с условием в котором неизвестно число повторений цикла.
While-цикл с предусловием While_{условие прохождения цикла}_do_{оператор Р}
Если условие истинно выполняется тело цикла затем происходит автоматический возврат опять на проверку условий и т д до тех пор пока условие не примет значение ложь.
Repeat – с постусловием Repeat_{оператор Р}_until_{УСЛОВИЕ Выхода из цикла}
Сначала хотя бы один раз выполняется тело цикла, затем идёт проверка условия, если условие ложь происходит автоматический возврат на повторное выполнение тела цикла, когда условие станет истинно, цикл прекратит свою работу.
Арифмет-й или цикл с известным числом повторений.
For_{параметр цикла}:={начальное значение}_to_{конечное значение}_do_{оператор Р}.
Параметр получает начальное значение, которое сравнивается с конечным, если параметр <= конечному, то выполняется тело цикла затем происходит возврат на начало цикла и к параметру прибавляется +1, цикл повторяется до тех пор пока параметр не станет больше конечного значения Если вместо TO поставить DOWNTO то шаг будет –1.
8.Организация ввода/вывода в Object Pascal.
Файл м б источником и приёмником информации. Файловая система состоит из логического и физического файла. Логический файл описывается как переменная одного из файловых типов, определённых в паскаль. Когда в разделе описания переменных объявили файловую переменную, её можно использовать как средство общения с любым физическим файлом. Само его имя появляется в программе один раз – когда спец процедура организует связь между логическим и физическим файлами. Assign(лог. ф., физич. ф.)
Операторы ввода/вывода информации в ОР read/write, ввод/вывод идет через буфер. Буфер – это область памяти, отводимая при открытии файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор пока весь объём буфера не будет заполнен, затем данные передаются по назначению.(на диск, в порты ВВ.ВЫВ). При чтении с файла считывается не столько информации, сколько запрашивается, а сколько уместится в буфер. Буферизация введена для быстрого и эффективного обмена. Для текстовых и бестиповых файлов можно устанавливать размер буфера по своему усмотрению. Буфер имеет объём который автоматически сбрасывается при выводе, если нужно часть вывести, то нужно выполнить принужденный сброс (Flash). Ввод данных - перенесение данных в ячейки памяти.
Работа с файлами – ввод/вывод данных
Имеется двухуровневая организация логическая и физическая
При создании логического файла создается буфер (буфер – это не логический файл)
Assign(лог. ф., физич. ф.);Reset –открыть файл для чтения;Rewrite – открыть файл для записи
Для текстовых фалов можно открывать для дозаписи
Append – дозапись(дополнение старых файлов)
Close - закрытие(принудительный сброс буфера на диск, когда был файл открыт для записи.)
Типы файлов:
Текстовый (последовательный файл)- можно читать напрямую т.к. он состоит из символов и строковых структур. Его тип- text. Эти файлы организованы по строкам и обязательно содержат спец код – признак конца строки #13 объединяется с признаком переброса курсора на след строку #10 и конец файла #26.При записи чисел, строк, лог значений они автоматически преобразуются в текстовой или символьный вид, при чтении – из текстового в машинное представление.
Типизированный (прямой доступ) – имеет машинную информацию. File of <тип компонента> Запись этих файлов имеет чаще всего жёсткую структуру типа record. Это файл с объявленным типом его компонента или это файл с наборами данных одной и той же структуры.
Пр: type
Dim=array [1..10,1..2] jf integer;
Rec=record
x,y:integer; c:word;end;
Fdim=File of Dim; Frec=File of Rec;
Var f:Fdim;
Begin read(f,x);
Readln,writeln – не применяются
Бестиповый (прямой доступ)- двоичный файл, имеет быстрые способы доступа. Это обобщенный файловый тип. Var f:file; С помощью этого файла можно записывать на диск произвольные участки раб памяти или считывать их с диска. Можно преобразовывать считанные данные в любой формат по средствам приведения типов. В данном случае мы имеем дело с произвольными наборами байтов, независимо от их структуры и природы, в них могут передаваться блоки по 128 Б каждый (буфер по умолчанию, но можно менять) Для всех файлов минимальная единица хранения информации составляет 1 Б и принцип работы с ним единый, т е для любого файлового типа надо связать файловую переменную с физическим файлом. Файловые переменные описанные в программе не могут участвовать в операторах присваивания .При использовании файловых переменных любого типа в качестве формальных параметров в процедурах или функциях они должны быть описаны как параметры переменной под var. Для чтения и записи используется Blokread и Blokwrite.
Способы доступа:
- прямой – (например диск) можно прочитать ту информацию, которую захотел, не читая предыдущую
- последовательный – (например магнитная лента) для прочтение 5ой записи нужно промотать всю пленку. Естественный способ доступа к записям файлов это последовательный, но к типизированным и бестиповым файлам применимы процедуры и функции прямого доступа (только для них). Прямой доступ означает позиционировать указатель на интересующую нас запись файла. Для типизированных это компонента, для бестиповых это блок равный буферу. Для организации прямого доступа используется индексация. Для индексации структуры файла пронумерованы его записи.