
- •7. Типы данных в Паскале: порядковый, вещественный, структурированный. Совместимость и преобразование типов.
- •8. Файловая структура: каталоги, имена файлов.
- •9. Внешние файлы: инициализация и доступ к файлам.
- •10. Текстовые файлы, типизированные файлы, нетипизированные файлы.
- •12. Условный оператор в Паскале.
- •13. Оператор выбора в Паскале.
- •14. Операторы циклов с предусловием, постусловием и с параметром в Паскале.
- •15. Процедуры и функции в Паскале: локальные и глобальные переменные.
- •16. Процедуры и функции в Паскале: формальные и фактические параметры процедур и функций в Паскале.
- •Процедуры
- •Функции
- •Различие между процедурами и функциями
- •17. Процедуры и функции в Паскале: способы обмена данными между вызывающей программой и процедурой или функцией.
- •18. Понятие алгоритма и его свойства. Линейные, разветвляющиеся, циклические алгоритмы.
- •InitGraph(GraphDriver, GraphMode, ‘путь к драйверу’ );
- •19. Процедуры и функции в Паскале для работы в графическом режиме.
- •Алгоритмы линейной структуры
- •Алгоритмы разветвленной структуры
- •Алгоритмы циклической структуры
- •22. Алгоритмы выборки элементов из массивов данных.
- •23. Критерии эффективности работы алгоритма.
- •24. Алгоритмы сортировки данных: сортировка выбором.
- •25. Алгоритмы сортировки данных: сортировка пузырьком.
- •32. Решение алгебраических и трансцендентных уравнений: метод деления отрезка пополам.
- •33. Поиск минимума одномерной функции: сравнение алгоритмов дихотомии, деления отрезка пополам и золотого сечения.
- •34. Поиск глобального минимума одномерной функции: сравнение алгоритмов метода ломаных и метода покрытий.
- •35. Поиск минимума многомерной функции: метод покоординатного спуска.
- •36. Поиск минимума многомерной функции: симплекс-метод.
ИНФОРМАТИКА
Функции ОС, интерфейс пользователя.
ОС – сложный программный комплекс, управляющий вычислительным процессом и организующий взаимодействие ЭВМ с пользователем.
ОС подразделяются на системы общего(Windows,Unix) испециальногоназначения.
Функции ОС в вычислительном процессе:
- Обеспечивать загрузку пользовательских программ в оперативную память и их выполнение.
- Обеспечивать управление памятью. В однозадачном случае – указать рабочей программе адрес, на котором заканчивается доступная ей область памяти и начинается область памяти, занятая системой. В многозадачном случае – это сложная задача управления ресурсами памяти.
- Обеспечивать работу с устройствами долговременной памяти (магнитные диски, ленты, оптические диски и т.д.).
- Предоставлять относительно стандартный доступ к различным периферийным устройствам (терминалы, модемы, устройства печати и т.д.).
- Предоставлять некоторый пользовательский интерфейс
Программное обеспечение (системное и инструментальное) – программы, обеспечивающие и сопровождающие выполнение программ пользователя.
Методы и средства взаимодействия человека с аппаратными и программными средствами называется пользовательским интерфейсом.
Основные функции ОС, как посредника, можно сформулировать так:
- Пользовательский интерфейс;
- Аппаратно-программный интерфейс (взаимодействие между программным и аппаратным обеспечением);
- Программный интерфейс (взаимодействие между различными видам программного обеспечения).
Структура MS DOS: модуль BIOS, ядро DOS, командный процессор.
Резидентно содержатся аппаратно-зависимые драйверы следующих устройств
- консольный дисплей с клавиатурой (CON);
- устройство построчной печати (PRN);
- последовательный канал связи (AUX);
- часы/календарь (CLOCK);
- дисковое устройство начальной загрузки (загрузчик операционной системы).
Ядро системы взаимодействует с драйверами этих устройств с помощью пакетов запросов ввода/вывода.
Драйверы переводят эти запросы в команды для различных аппаратных контроллеров. Самые простые компоненты драйверов аппаратуры размещаются в ПЗУ.
Модуль BIOSпроизводит самотестирование при включении компьютера.
Он включает в себя программные модули обработки прерываний (обработчики прерываний), с помощью которых можно управлять основными контроллерами на материнской плате компьютера и устройствами ввода/вывода.
Процесс запуска компьютера:
- Сразу после включения компьютера на адресной шине процессора выставляется стартовый адрес.
- Это происходит аппаратно, без участия программ (всегда одинаково). Процессор обращается по данному адресу за своей первой программой и далее начинает работать по программам.
- Этот исходный адрес указывает не на оперативную память (там пока ничего нет), а на постоянное запоминающее устройство (ПЗУ).
Модуль BIOSсчитывается в оперативную память во время инициализации системы как часть файлаIO.SYS, который обслуживает периферийные устройства (терминал, принтер, диски и т.д.). Он находится в памяти компьютера постоянно.
Загрузчик операционной системы
З.О.С. – очень короткая программа, находящаяся в первом секторе дискеты или винчестера. Ее задача – считать в память модули IO.SYS(расширениеBIOS) иMSDOS.SYS(этот модуль в основном реализует работу с файловой системой).
Ядро DOS - специальная программа, которая включает в себя набор аппаратно-независимых программ (системных функций):
- управление файлами и записями;
- управление памятью;
- символьно-ориентированное устройство ввода/вывода;
- порождение (запуск) других задач;
- доступ к часам реального времени.
Ядро управляет следующими процессами:
- Обработчиками прерываний. Передача им управления не контролируется системой, т.к. эти события являются внешними.
- Обработчиками вызовов со стороны пользовательских процессов (задач).
- Исполнением различных внутренних по отношению к системе работ.
Командный процессор
Стандартная оболочка делится на три части:
- резидентная часть;
- секция инициализации;
- транзитный модуль.
Резидентная часть –программы обработки управляющих клавиш CTRL-C,CTRL-Break, критических ошибок и завершения других транзитных программ.
Секция инициализации – обрабатывает командный файл AUTOEXE.BAT
Транзитный модуль – выдает запрос пользователю, считывает команды с клавиатуры или из командного файла и обеспечивает их выполнение.
Прерывания.
Механизм прерывания реализуется аппаратно-программными средствами. Структуры систем прерывания могут быть различными в зависимости от аппаратной архитектуры, но основное свойство у них одно – изменение порядка выполнения команд командным процессором.
Центральный процессор имеет один или несколько входов, при поступлении на которые сигнала (на любой вход) процессор дожидается завершения текущей команды и вместо следующей команды инициирует обработку прерывания.
Управление передается по адресу, определяемому типом прерывания, по которому размещается программа (обработчик прерывания) соответствующая типу прерывания.
Адреса различных программ прерывания собраны в таблицу – таблица векторов прерывания.
Прерывания:
- Прием сигнала на прерывание и его идентификация.
- Запоминание состояния прерванного процесса.
- Управление аппаратно передается на подпрограмму обработки прерывания.
- Сохранение информации о прерванной программе, если это не удалось сделать с помощью аппаратуры на шаге 2.
- Выполнение программы обработки прерывания.
- Восстановление информации, относящейся к прерванному процессу.
- Возврат на прерванную программу.
Прерывания могут быть внешними и внутренними.
Внешние прерывания;
- Прерывание от таймера.
- Прерывание от внешних устройств (прерывание по вводу/выводу).
- Прерывание по нарушению питания.
- Прерывание с пульта оператора.
- Прерывание от другого процессора.
Внутренние прерываниясвязаны с работой процессора:
- Нарушение адресации в адресной части выполняемой команды
- Деление на ноль
- Переполнение или исчезновение порядка.
- Прерывание от средств контроля
Кодирование данных: текст, числа, графическая информация, звук.
Кодирование данных:
- Входные данные могут быть различных типов, поэтому важно выбрать унифицированную форму их представления в ЭВМ.
- В вычислительной технике принята система двоичного кодированияоснованная на двоичной системе счисления (цифры 0 и 1). Отсюда и название «bit» (BinaryDigit– двоичная цифра).
- двоичная логика – «да – нет», «черное – белое», «правда – ложь»
Число используемых битов определяет число реализуемых вариантов.
1 бит - 0 1
2 бита - 00 01 10 11
3 бита - 000 001 010 011 100 101 110 111
и т.д.
Данные, которые подлежат кодировке:
- Целые и действительные числа;
- Тексты;
- Графические данные;
- Звуковая информация.
Целые числа
Вещественные числа
Текстовая информация
Способ записи текстовой информации заключается в нумерации алфавита (или символов языка) и хранении полученных целых чисел наравне с обычными целыми числами.
Графический объект
Представление графических объектов может быть растровым ивекторным.
В векторном представлении объект описывается графическими примитивами (линии, цвет, заливка и т.д.).
В растровом представлении объект описывается матрицей, содержащей информацию о пикселях. Каждый параметр графических объектов (координаты пикселя, линии, цвет, заливка и т.д.). кодируется целым числом.
Звуковая информация
Звуковая информация хранится подобно графической информации – в форматах, связанных с работой встроенного синтезатора звука, и в цифровом формате. Звуковая композиция преобразуется в цифровую форму. Звуковые сигналы воспринимаются человеком в диапазоне частот (1- 4)÷(18-20) кГц. Для записи информации формируются уровни сигнала с частотой не менее 40 кГц (т.е. шаг между отсчетами по времени dt=25 мксек).
Основные команды MS DOS. Команды работы с каталогами и файлами.
Остановка выполнения команды.
Ctrl-C
Ctrl-Break
Приостановка вывода информации на экран.
Ctrl-S
Действия с каталогами и файлами.
Смена текущего дисковода.
> A: переход на диск А
Изменение текущего каталога.
>cd[дисковод:]путь
Вывод содержимого файла на экран.
>type[дисковод:][путь]\имя_файла
Удаление файлов.
>del[дисковод:][путь]\имя_файла
Просмотр каталога.
>dir[дисковод:]путь
Создание каталога.
>md[дисковод:]путь
Уничтожение каталога.
>rd[дисковод:]путь
Переименование файла.
>ren[дисковод:][путь]имя_файла_ст [дисковод:][путь]имя_файла_нов
Копирование файла.
>copy[дисковод:][путь]имя_файла_0 [дисковод:][путь]имя_файла_1
Примечание: Можно использовать символы “ * “ и “? “ в написании имен.
*.pas– любой набор символов в имени файла
proba.*- любое расширение имя файла
?roba.pas– любой символ в имени файла на первой позиции
pr?ba.pas- любой символ в имени файла на третьей позиции
>DIR- содержимое текущего каталога
>DIR/P- постраничный вывод
>DIR- путь к каталогу содержимое этого каталога
>DIR\ - содержимое корневого каталога
>DIRимя_файла информация о файле
>DIR\>CATALOG.LIST- перенаправление потока в файл
Изменение текущего каталога.
> CD\ - переход к корневому каталогу
> CD. . - переход на уровень выше
6. Структура и общие принципы построения программы в Паскале.
Программа, написанная на языке Паскаль, имеет строго заданную структуру, т.е. установлена строгая последовательность записи всех компонентов программы.
Блок-схема структуры программы:
Тело программы:
Блочная структура позволяет применять современные методы структурного программирования – разрабатывать сначала общую структуру алгоритма программы, а затем детализировать ее отдельные части
Блоки, в свою очередь, могут также состоять из подблоков, образуя сложную многоуровневую блочную структуру, подчиняющуюся стандартным принципам построения и взаимодействия.
Каждый блок существует в единственном экземпляре, что позволяет экономить память, и к нему можно обращаться из любого места основной программы.
Общий алгоритм решения задачи можно разделить на две части – разбить всю программы на логически обособленные блоки и построить расчетные алгоритмы внутри каждого блока.
В идеале основная программа должна представлять собой логическую последовательность обращения к отдельным блокам, взаимосвязь между которыми осуществляется через входные и выходные параметры.
На практике реализуется, как правило, промежуточный вариант.
Идентификаторы – имена объектов программы (переменные, константы и т.д.). Они состоят из букв латинского алфавита, цифр и некоторых знаков («-,__»).
Идентификаторы не должны совпадать с зарезервированными словами.
Длина их произвольна, но значащими являются первые 63 символов, причем первым символом должна быть буква.
В написании идентификатора строчные и прописные буквы не различаются.
7. Типы данных в Паскале: порядковый, вещественный, структурированный. Совместимость и преобразование типов.
Порядковый тип:
Целые тип. Диапазон значений целых типов зависит от их внутреннего представления, которое может занимать 1, 2, 4 байта.
Пример: запись максимального числа типаWord(65535)
Единица в каждом m-ом разряде соответствует числу. Сумма чисел во всех разрядах и дает значение 65535.
В разделе описаний целые типы вводятся –
Логический тип. Boolean.
Имеет всего два значения – true, false (правда и ложь).
В разделе описаний Логический тип вводится –
Перечисляемый тип.Задается упорядоченным набором тех значений, которые он может получить. Объявление типа идет в разделе описаний паскалевской программы Каждое значение именуется некимидентификатороми располагается в части описаний после оператораTypeв списке, заключенном в круглые скобки.
Type
Month = (jan, feb, mar, apr, … dec);
Первый элемент в списке имеет порядковый номер равный нулю (№=0). Максимальная мощность перечисляемого типа равна 256.
colиdayмогут принимать свои значениятолько из своего описанного типа, т.е.Col[0]:=mondayнедопустимо. Между перечисляемым типом и целыми числами существует взаимно однозначное соответствие. Внутреннее представление элемента перечисляемого типа, т.е. соответствующее ему целое число, определяется какORD(black)=0,ORD(Monday)=0. Элементы двух различных перечислений имеют одинаковое внутреннее представление.
Символьный тип.Значениями символьного типаCHARявляется множество всех символов ПЭВМ. Каждому символу присваивается целое число в диапазоне от 0 до 255. Это число есть код внутреннего представления символа. Для кодировки используется кодASCIIЭто семибитный код. Для хранения символа используется 8-битный байт, т.е. можно закодировать в два раза больше символов. На практике первые 0-127 кодовых номеров заняты стандартными символамиASCII, а вторая половина может меняться.
В разделе описаний Символьный тип вводится -
Var
B:char ;
…………….
B:=’s’;
Тип-диапазон.Это подмножество своего базового типа, задается границами своих значений внутри базового типа.
Type
Digit = ’0’..’9’;
Dig2 = 48..57;
Days = (mo, tu, we, th, fr, sa, su); -перечисляемый тип.
Weekend=we..su;
Границы типа-диапазона разделяются символом «..».
Вещественный тип:
Вещественное число допускает запись в двух видах – с фиксированной десятичной точкой и с плавающей десятичной точкой. Представление числа с фиксированной десятичной точкой, определяется разрядностью машины. В записи числа задается количество десятичных знаков, отводимых под дробную часть числа, и общее количество десятичных знаков (включая десятичную точку).
В разделе описаний вещественный тип вводится -
Var
a,b: real;
……….
a:=1.325;
b:=0.28;
Структурированный тип:
Структурированные типы данных - это массивы, записи, множества и файлы. Переменная или константа СТД всегда имеет несколько компонент (например, элементы массива). Каждый компонент может принадлежать какому-либо структурированному типу, что обеспечивает вложенность типов.
Совместимость и преобразование типов:
Два типа совместимы, если
- оба они есть один и то же тип,
- оба они вещественные,
- оба они целые;
- один тип есть тип-диапазон второго типа;
- оба они являются тип-диапазонами базового типа;
- оба они являются множествами одного базового типа.
Пример:
ORD(10)→10
ORD(«правда»)→1
ORD(‘A’) →65
TRUNC(12.35)=12
TRUNC(12.95)=12
ROUND(12.35)=12
ROUND(12.95)=13
INT(12.35)=12.
INT(12.95)=12.
FRAC(12.35)=0.35
FRAC(12.95)=0.95
В Паскале есть целый ряд встроенных функций – сложения, копирования, удаления и т.п. строк.
Преобразования числа типа REAL или INTEGERв символьную строку.
Пусть Xчисло типаREAL (например, 12.567) занимает общую длину поля – 6 разрядов, из них 3 разряда под дробную часть числа. Тогда перевод числа в строку будет иметь вид
STR(X: <общую длину поля>, < дробную часть >,ST)
ST – имя преобразованной переменной.
Пример:
Var
X:real; {Пусть X=12.567}
St:string;
…………
str(X:6:3,st);
результат действия
st --->>> ’ 12.567’ – строка
Операции отношений (=, <, >, <>, <=, >=) над строками выполняются посимвольно, слева направо с учетом внутренней кодировки символов. При неравенстве длины строк отсутствующие символы дополняются значением CHR(0).Этот алгоритм позволяет осуществлять, например, упорядочение списка фамилий в алфавитном порядке и тому подобные операции.