- •Этапы решения задач с исполь эвм.
- •Понятие алг-ма. Подходы к опред алг-ма. Св-ва алг-ма Способы записи алг-ма.
- •3. Понятие алг-ма. Понятие исполнителя. Системы команд исполнителя.
- •4. Понятие величины. Типы. Присваивание величин. Совместимость.
- •5. Понятие о структурном прог-ии. Др парадигмы прог-ия: сравн-ая хар-ка.
- •6. Языки прог-ия. Алгор-ие языки (алфавит, синтакис, семантика). Способы описания синтаксиса.
- •7. Общая хар-ка Pascal. Система прог-ия Turbo-Pascal.
- •8. Паскаль-программа: структура, эл-ты языка (алфавит). Данные, обраб-ые Паскаль-программой. Понятие типа данных.
- •9. Операции (ариф-ие и лог-ие) на типах. Струк-ые ф-ци. Выражения.
- •10. Процедура ввода и вывода, управ-ие вводом-выводом. Оператор присваивания. Совмес-ть по присваиванию.
- •11. Уловный оператор. Оператор множ-ного ветвления(выбора).
- •12. Цикл с предусловием., с постусловием. Связь с другими циклами.
- •13. Циклы с параметром. Связь с другими циклами.
- •14. Структ-ый тип данных. Линейные массивы. Примеры.
- •15. Структурированный тип данных. Двумерные массивы. Примеры.
- •16.Сортировка массивов. Метод выбора. Двоичный поиск в массиве.
- •17.Сортировка массивов. Метод обменов.
- •18.Сортировка массивов. Метод вставок.
- •19.Подпрограммы в Паскале. Основные способы передачи параметров в подпрограмму, их сравнение.
- •20.Подпрограммы в Паскале. Область видимости. Локальные и глобальные идентификаторы.
- •23. Скалярные типы данных в Pascal. Перечислимый и ограниченный типы.
- •24.Структурированные типы данных Строковый тип данных: основные процедуры и ф-ции
11. Уловный оператор. Оператор множ-ного ветвления(выбора).
На практике решение большинства задач не удается описать с помощью программ линейной структуры. При этом после проверки некоторого условия выполняется та или иная последовательность операторов, однако происходит нарушение естественного порядка выполнения операторов. Для этих целей используют управляющие операторы. Условный оператор используется для реализации разветвлений в программе, которые происходят при выполнении некоторого условия и имеет следующую структуру. IF <логическое выражение> THEN серия1 ELSE серия2;
Если логическое выражение, выступающее в качестве условия, принимает значение False, то выполняются операторы, расположенные после else (серия2), если True, — операторы, следующие за then. Поскольку развилка может быть неполной, то возможна и неполная форма записи условного оператора:
IF <логическое выражение> then серия;
Условный оператор реализует разветвление вычислительного процесса по двум направлениям, одно из которых осуществляется при выполнении условия, другое — в противном случае. Для реализации разветвлений более чем по двум направлениям необходимо использовать несколько условных операторов.
Кроме условного оператора в качестве управляющей структуры довольно часто используется оператор выбора CASE. Эта структура позволяет переходить на одну из ветвей в зависимости от значения заданного выражения (селектора выбора). Ее особенность состоит в том, что выбор решения здесь осуществляется не в зависимости от истинности или ложности условия, а является вычислимым. Оператор выбора позволяет заменить несколько операторов развилки (в силу этого его ещё называют оператором множественного ветвления).
В конструкции CASE вычисляется выражение K и выбирается ветвь, значение метки которой совпадает со значением K. После выполнения выбранной ветви происходит выход из конструкции CASE. Если в последовательности нет метки со значением, равным K, то управление передается внешнему оператору, следующему за конструкцией CASE (в случае отсутствия альтернативы ELSE; если она есть, то выполняется следующий за ней оператор, а уже затем управление передается внешнему оператору).
Запись оператора выбора
CASE K OF
A1: серия 1;
A2: серия 2;
...
AN: серия N
ELSE серия N + 1
END;
Любая из указанных серий операторов может состоять как из единственного оператора, так и нескольких (в этом случае, как обычно, операторы, относящиеся к одной метке, должны быть заключены в операторные скобки begin..end). Выражение K здесь может быть любого порядкового типа (все целые типы, Boolean, Char, перечисляемый тип, диапазонный тип)
12. Цикл с предусловием., с постусловием. Связь с другими циклами.
Командой повторения или циклом назыв-ся такая форма орган-ии действий, при j одна и та же послед-ть действий повторяется до тех пор, пока сохраняется значение некоторого лог-ого выр-ия. Если какие-либо операторы необходимо выполнить несколько раз, то их не переписывают каждый раз заново, а организуют цикл: -предусловием(while ЛВ do S): вычисл-ся значение ЛВ, если это значение истинно, то выполняется серия операторов S и вновь происходит переход к вычислению значения ЛВ, если знач-ие ложь, то цикл завершается. Цикл может выполнятся от 0 до ∞ кол-ва раз; 0 раз, когда знач-ие ЛВ=лжи, обычно цикл выполняется некоторое кол-во раз, зацикливание явл-ся неприемлемым, т.к. нарушается cв-во алг-ма, и может произойти в том случае, если не предусмотрено изменение знач ЛВ с истины на ложь. S - тело цикла (операторы, j здесь используются). -постусловием(repeat S until ЛВ) - выпол-ся серия операторов S, после чего вычисляется знач ЛВ, если знач ЛВ ложь, происходит повторение действий, завершение цикла происходит, когда знач ЛВ=истине. Цикл может выпол-ся от 1 до ∞ кол-ва раз. - цикл с параметром: используется в тех случаях, когда число повторений тел цикла заранее известно. Структура цикла, организованного с помощью этого оператора, имеет вид:
For ПЦ: = НЗ To КЗ Do Begin <операторы> End;
For ПЦ: = НЗ DownTo КЗ Do Begin <операторы> End; ПЦ - параметр цикла; НЗ и КЗ - началь-ое и конеч-ое знач параметра цикла.
Пример: найти сумму тех членов ряда 1/2+1/3+1/4+…, j не меньше заданного епсилон.
Program sum; (с предусловием)
Var i:integer; s:real; eps:real;
Begin
Writeln(‘число eps=’);
Readln(eps);
S:=0;
I:=2;
While 1/i>=eps do
Begin
S:=s+1/I;
I:=i+1;
End;
Writeln(s:10:7);
End.
Program sum;(с постуловием)
Var i:integer; s:real; eps:real;
Begin
Writeln(‘число eps=’);
Readln(eps);
S:=0;
I:=2;
Repeat if 1/I >=eps then s:=s+1/I;
I:=i+1;
Until 1/i<eps
End;
Writeln(s:10:7);
End.