
- •Вопрос №2 Алгоритм. Основные алгоритмические структуры и конструкции
- •Вопрос №3 Этапы построения алгоритма. Технологическая цепочка решения задачи на эвм
- •Вопрос №6 Трансляция. Виды трансляторов
- •Типы данных
- •Вопрос №9 Организация ввода-вывода. Оператор присваивания. Стандартные функции языка Pascal
- •Вопрос №10 Условный оператор. Оператор выбора. Логические выражения и операции
- •Вопрос №11 Операторы циклов в языке Pascal
- •Вопрос №12 Массивы. Одномерные и двухмерные массивы. Описание массивов. Принципы работы с массивами
- •Вопрос №13 Массивы данных. Алгоритмы обработки массивов данных
- •Вопрос №14 Принципы и алгоритмы сортировки. Оценка алгоритмов сортировки. Характеристики алгоритмов сортировки
- •Вопрос №15 Алгоритм быстрой сортировки
- •Вопрос №16 Записи. Описание записей. Принципы работы с записями
- •Вопрос №17 Процедуры в языке Pascal. Описание и вызов процедур.
- •Описание и вызов процедур и функций
- •Вопрос №19 Формальные и фактические параметры подпрограммы. Способы передачи параметров
- •Вопрос №20 Глобальные и локальные переменные. Область действия описаний
- •Вопрос №21 Рекурсия. Рекурсивные алгоритмы и подпрограммы
- •Вопрос №22 Строковый тип данных. Основные операции для работы со строками
- •Вопрос №23 Множественный тип данных. Основные операции над множествами.
- •Вопрос №24 Типизированные и нетипизированные файлы. Основные операции для работы с ними
- •Вопрос №25 Текстовые файлы. Операции для работы с ним
- •Вопрос №26 Структурный подход к программированию. Основные принципы
- •Вопрос №27 Нисходящая и восходящая разработка. Достоинства и недостатки. Принципы нисходящего структурного программирования
- •1)Метод нисходящей разработки пс
- •2)Метод восходящей разработки пс
- •Вопрос №28 Принцип модульного программирования. Структура модуля
- •Вопрос №29 Объектно-ориентированный подход к программированию. Основные принципы
- •Вопрос №30 Понятия класса и объекта. Описание классов и Object Pascal. Создание и уничтожение объектов
- •Вопрос №31 Инкапсуляция. Примеры реализации
- •Вопрос №32 Свойства как механизм доступа к данным
- •Вопрос №33 Наследование. Примеры реализации принципа наследования
- •Вопрос №34 Полиморфизм. Примеры реализации
- •Вопрос №35 Методы. Виртуальные и динамические методы
Вопрос №14 Принципы и алгоритмы сортировки. Оценка алгоритмов сортировки. Характеристики алгоритмов сортировки
Сортировка метода простого выбора:
Выбираем максимальный элемент в неотсортированном массиве и меняем с последним элементом неотсортированной части массива далее уже не считаем отсортированную часть массива(то есть рассматриваем в дальнейшем n-1 элеменов в массиве)
1 шаг) 4,6,3,9,5
2 шаг) 4,6,3,5,9
3 шаг) 4,5,3,6,9 и т.д.
Сортировка метода простого обмена:
Берём первый элемент(«начальный») массива и сравниваем со след элементом и если «начальный» элемент > то меняем элементы местами и так до тех пор пока не наткнёмся до элемента который больше «начального»,далее берём тот самый элемент(«второй») который больше «начального»и продолжаем дальше сравнивать уже «второй» элемент далее по массиву(это всё происходит за 1 шаг)заканчиваем тем как только натыкаемся до последнего элемента…далее тоже самое(2 шаг ,3 шаг и тд)
1 шаг) 5,4,8,2,9; 4,5,8,2,9; 4,5,2,8,9.
2 шаг) 4,5,2,8,9; 4,2,5,8,9.
3 шаг) 2,4,5,8,9.
Сортировка методом простых вставок:
1 шаг) 13,6,8,11,1,5,9,15,7
2 шаг) 6,13,8,11,1,5,9,15,7
3 шаг) 6,8,13,11,1,5,9,15,7
4 шаг) 6,8,11,13,1,5,9,15,7 и т.д.
Характеристика алгоритмов сортировки
Устойчивость – изменение относительного положения равных элементов
Естественность поведения – улучшение работы алгоритма при улучшении (частичной или полной сортировке) входных данных
Сравнения - количество операций сравнения элементов
Перестановки - количество перестановок элементов
Вопрос №15 Алгоритм быстрой сортировки
Принцип «разделяй и властвуй»:
1)находим центральный элемент и находим элемент средний по значению, далее их меняем. (средний элемент в центре)
2)слева ищем элементы больше и «переправляем» их направо(относительно центра), справа ищем элементы которые меньше и «переправляем» их налево.
3)проделываем тоже самое с четвертинками массива(Делим правую и левую часть на половинки);(проделывается с помощью рекурсии)
procedure QuickSort(var X: array of integer; min,max: Integer);
Var
i, j, mid, tmp: integer;
Begin
if min<max then
begin
mid:=X[min];
i:=min-1;
j:=max+1;
while i<j do
begin
repeat i:=i+1;
until X[i]>=mid;
repeat j:=j-1;
until X[j]< =mid;
if i<j then
begin
tmp:=X[i];
X[i]:=X[j];
X[j]:=tmp;
end;
end;
(X, min, j);
QuickSort(X, j+1, max);
end;
end;
Вопрос №16 Записи. Описание записей. Принципы работы с записями
Записи- это пользовательский тип данных, который может включать в себя величины разных типов.
Type data=record
god:integer;
day:integer;
dayinweek:string[10];
end;
var segodna:data;
begin
segodna.god:=2012;
segodna.day:=12;
segodna.dayiweek:=Thursday;…end.
Вопрос №17 Процедуры в языке Pascal. Описание и вызов процедур.
№18 Функции в языке Pascal. Описание и вызов функций. Возврат значения
В языке Паскаль имеется два вида подпрограмм - процедуры и функции.
Процедуры и функции помещаются в раздел описаний программы. Для обмена информацией между процедурами и функциями и другими блоками программы существует механизм входныхи выходных параметров. Входными параметрами называют величины, передающиеся из вызывающего блока в подпрограмму (исходные данные для подпрограммы), а выходными - передающиеся из подрограммы в вызывающий блок (результаты работы подпрограммы).
Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове - фактическими.