
- •1.Файловая система. Директория, файл, путь.
- •2. Основные команды операционной системы для работы с файлами.
- •8.7. Удаление подкаталогов - команда rmdir (rd)
- •3. Физические носители данных. Их классификация, характеристики и назначение.
- •4.Статическая и динамическая области оперативной памяти. Их назначение и использование
- •Память типа rom
- •Память типа dram
- •Оперативная память sdram
- •Оперативная память ddr sdram
- •Оперативная память rdram
- •5.Указатель. Размещение данных в динамической области оперативной памяти.
- •Динамические структуры данных. Статические и динамические переменные. Адреса. Указатели и их объявление.
- •Присвоение значений указателю. Оператор @ с переменной. Оператор @ с параметром процедуры, переданным по значению. Оператор @ с параметром процедуры, переданным по ссылке.
- •6.Типы данных (целые и вещественные числа). Размер используемой памяти, пределы изменения и точность представляемых данных.
- •7.Приоритеты выполнения операций при вычислении значений арифметических и логических выражений .
- •8.Структурированные типы данных. Назначение и способы реализации.
- •9.Алгоритм, его свойства и формы представления. Типовые структуры алгоритма.
- •10.Линейная структура и ее свойства. Ввод и вывод данных. Оператор присваивания.
- •11.Циклическая структура. Назначение и основные элементы.
- •12.Цикл с явно заданным количеством повторений. Основные элементы и варианты реализации.
- •13.Цикл с неявно заданным количеством повторений. Основные элементы и варианты реализации.
- •14.Типовая структура-разветвление. Основные элементы и варианты реализации.
- •15.Процедуры. Назначение, варианты реализации.
- •16.Функции. Назначение, варианты реализации.!
- •17.Формальные и фактические параметры. Назначение, варианты реализации.
- •18.Линейный список. Реализация с использованием массивов. Реализация многомерного массива.
- •19.Линейный список. Реализация с использованием связных списков. Примеры применения.
- •20.Поиск в линейном списке. Назначение и варианты реализации. Бинарный поиск
- •Последовательный поиск
- •21.Сортировка данных в линейном списке. Назначение и варианты реализации. Упорядочивание списка. Вставление элемента в середину списка.
- •22.Стек и очередь. Назначение, варианты реализации и примеры применения.
- •Стек. Отличия стека от списка. Основные операции со стеком.
- •Очереди. Основные операции над очередью.
- •23.Дерево. Назначение, варианты реализации и примеры применения.
- •Представление деревьев. Основные операции над деревом.
- •24.Текстовые и типизированные файлы. Обмен данных с внешними носителями.
- •Типы файлов Турбо Паскаль
- •Стандартные процедуры и функции
- •Работа с типизированными файлами
- •Работа с текстовыми файлами
- •Работа с нетипизированными файлами
12.Цикл с явно заданным количеством повторений. Основные элементы и варианты реализации.
ЦИКЛ С ПАРАМЕТРОМ --- for...to...do... и for...downto...do...
Третий вариант оператора цикла - цикл со счётчиком. (с параметром). Можно считать, что есть две очень похожиг друг на друга разновидности цикла со счётчиком. Первый из этих операторов имеет вид
for j := expression1 to expression2 do statement;
Здесь переменная j, называемая управляющей перменной цикла for, является произвольным идентификатором, который объявляется как перменная любого скалярного типа (к скалярным относятмя целый символьный, булев и перечисляемый типы). При выполнении оператора for сначала вычисляется значение выражения expression1, затем вычислятся значение выражения expression2, далее управляющая перменная цикла последовательно пробегает все значниея от expression1 до expression2. В том случае, когда значине expression1 оказывается больше значения expression2, тело цикла не будет выполняться вовсе. Эти значения остаются неизменными в ходе выполнения всего цикла for. Рассматриваемый вариант цикла for эквивалентен следующей последовательности операторов:
j := expression1;
k := expression2;
while j <= k do
begin
statement;
inc(j);
end;
в предположении, что при каждом выполнении оператора statement не изменяются значения j и k. Оператор for вида for j := expression1 to expression2 do statement; неэквивалентен последовательности операторов
begin
j := expression1;
while j <= expression2 do
begin
statement;
j := j + 1;
end;
end;
потому что выражение expression2 может изменяться при каждом выполнении оператора statement в цикле while. В теле цикла for следует избегать операторов, изменяющих значние управляющей переменной j. Несмотря на то, что использование подобных конструкций не приводит к ошибкам компиляции, они потенциально опасны и могут приводит к неприятным последствиям. Рассмотрим пример:
sum := 0;
for k := 1 to 100 do
begin
sum := sum + SQR(k); k := k + 2;
end;
Этот фрагмент программы явялется попыткой просуммировать n2 по всем целым значениям вида n = (3*k+1), лежащим в диапазоне от 1 до 100. Здесь допущена обшибка реализации алгоритма, так как управляющая переменная k изменяется в сставном операторе, управляемой той же переменной kю Правильной будет конструкция следующего вида:
sum :=0;
for k := to 33 do sum := sum + Sqr(3*k+1);
или
sum := 0; k := 1;
repeat
sum := sum + Sqr(k); k := k + 3;
until k > 100;
После выполнения цикла for значения управляющей переменной становиться неопределённым. Вариант for...downto...do... цикла for аналогичен циклу for...to...do... за исключением того, что в нём управляющая переменная на каждом шаге выполнения не увеличивается, а уменьшается на единицу:
for j := expression1 downto expression2 do statement;
Используейте цикл for в том случае, когда точно знаете, сколько раз должно быть выполнено тело цикла. В противном случае обратитесь к циклам repeat или while.
Операторы цикла с параметром (for) Операторы цикла с параметром (которые начинаются со слова for) вызывает повторяющееся выполнение оператора (который может быть составным оператором) пока управляющей переменной присваива ется возрастающая последовательность значений.
В качестве управляющей переменной должен использоваться идентификатор переменой (без какого-либо квалификатора), который обозначает переменную, объявленную локальной в блоке, в котором содержится оператор for. Управляющая переменная должна иметь пе речислимый тип. Начальное и конечное значения должны иметь тип, совместимый по присваиванию с перечислимым типом.
Когда начинает выполняться оператор for, начальное и конеч ное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for.
Оператор, который содержится в теле оператора for, выполня ется один раз для каждого значения в диапазоне между начальным и конечным значением. Управляющая переменная всегда инициализирует ся начальным значением. Когда работает оператор for, значение уп равляющей переменной (счетчика циклов) увеличивается при каждом повторении на единицу. Если начальное значение превышает конечное значение, то содержащийся в теле оператора for оператор не выпол нятся. Когда в операторе цикла используется ключевое слово downto, значение управляющей переменной уменьшается при каждом повторении на единицу. Если начальное значение в таком операторе меньше, чем конечное значение, то содержащийся в теле оператора цикла оператор не выполнятся.
Если оператор, содержащийся в теле оператора for, изменяет значение управляющей переменной, то это является ошибкой. После выполнения оператора for значение управляющей переменной стано вится неопределенным, если только выполнение оператора for не бы ло прервано с помощью оператора перехода.