- •1. Этапы решения задач на эвм
- •2. Алгоритм. Основные типы алгоритмов. Блок-схемы алгоритмов, гост
- •3. Циклические алгоритмы
- •Алгоритмы ветвления
- •5. Итерационный цикл (алгоритм)
- •6. Сложные (вложенные) алгоритмы
- •7. Алгоритм обработки одномерных массивов
- •Алгоритм обработки двумерных массивов
- •9. Интеллектуальная оболочка языка Паскаль
- •10. Общая характеристика главного меню языка Паскаль
- •11. Способы выбора главного меню языка Паскаль
- •12. Изменение размеров окна языка Паскаль
- •13. Окна диалога в языке Паскаль
- •14. Работа с блоками программы на языке Паскаль
- •15. Алфавит языка Паскаль.
- •16. Типы данных в языке Паскаль(общая характеристика)
- •17. Структурированные типы данных
- •Алгоритм нахождения минимального элемента по каждой строке
- •19. Принципы обработки квадратных матриц с использованием понятия главной и побочной диагонали
- •20. Идентификация в языке Паскаль
- •21. Перечисляемый тип данных
- •22. Стандартные типы данных
- •Порядковые типы данных
- •23. Символьный тип данных
- •24. Массивы
- •25. Операторы Паскаля. Классификация
- •26. Константы и правила их записи
- •27. Переменные. Определение и запись
- •28. Множества
- •29. Целый и вещественный тип данных Целые типы
- •Вещественные типы
- •Целые типы
- •30. Записи. Описание типа
- •31. Файлы. Описание типа
- •32. Литерный (символьный) тип данных
- •33. Логический тип данных
- •34. Арифметические выражения и операции
- •35. Логические выражения и операции
- •36. Структура программы на языке Паскаль
- •37. Оператор присваивания
- •38. Процедуры и функции (пользовательские)
- •39. Составной оператор
- •40. Условный оператор if и саsе. Разветвляющиеся алгоритмы
- •41. Оператор ввода
- •42. Оператор вывода
- •43. Оператор цикла. Общая классификация
- •44. Оператор цикла for
- •45. Оператор цикла write
- •46. Оператор цикла repeat
- •47. Процедуры. Рекурсия
- •48. Встроенные (стандартные) процедуры и функции
- •49. Строки и строковые функции
- •50. Примеры описания данных строкового типа
- •51. Множества. Операции с множествами
- •53. Записи. Поля записи. Переменная доступа к полям записи. Оператор присоединения
- •54. Файлы. Типы файлов
- •1. Этапы решения задач на эвм
- •2. Алгоритм. Основные типы алгоритмов. Блок-схемы алгоритмов, гост
45. Оператор цикла write
Цикл с предусловием характерен тем, что перед выполнением цикла всегда необходимо проверить условие. Если условие истинно, то цикл продолжается, иначе - цикл заканчивается.
Общий вид оператора следующий:
while <логическое_выражение> do <оператор>; где <оператор> - простой или составной оператор, а <логическое_условие> - выражение булевского типа.
Оператор цикла while действует следующим образом. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняется оператор циклической части (после do). Как только значение логического выражения становится ложным, происходит выход из цикла.
Если с самого начала значение логического выражения ложно, то оператор циклической части не выполняется ни разу. Если логическое выражение никогда не принимает значение False (ложно), то цикл будет выполняться бесконечно долго.
В ряде случаев цикл изначально предполагается как бесконечный. Тогда в условии записывается константа True или очевидный факт, который в любой ситуации возвращает значение True. Второй вариант менее предпочтителен.
46. Оператор цикла repeat
Оператор повтора repeat состоит из заголовка (repeat), тела цикла и условия окончания (until).
Цикл с постусловием характерен тем, что вначале обязательно выполняются хотя бы один раз команды, составляющие тело цикла. После выполнения операторов циклической части проверяется условие. Если условие ложно, то вновь выполняются операторы циклической части. Если условие истинно, то цикл заканчивается.
Общий вид оператора следующий:
repeat
<оператор_1>;
<оператор_2>
...........
<оператор_n>
until <логическое_выражение>;
<Логическое_выражение> (условие) - выражение булевского типа. При написании условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами repeat и until, являются телом цикла. Оператор цикла repeat действует следующим образом:
1) Выполняются операторы циклической части, проверяется значение логического выражения: если оно ложно, то вновь выполняются операторы циклической части; если же оно истинно, то цикл заканчивается.
2) Если значение логического выражения истинно с самого начала, то операторы циклической части выполняются один раз. Если же логическое выражение никогда не принимает значение "истинно", то операторы циклической части выполняются бесконечное число раз, т.е. происходит "зацикливание".
3) Нижняя граница операторов циклической части четко обозначена словом until, поэтому нет необходимости заключать эти операторы в операторные скобки begin - end. В то же время дополнительное наличие операторных скобок не является ошибкой.
47. Процедуры. Рекурсия
Процедура – независимая поименованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Функция – это процедура особого характера, результатом работы которой является некоторое значение. Процедура же не возвращает никакого значения.
Структура процедуры полностью повторяет структуру программы и ее можно вызывать несколько раз. Обычно в процедуру или функцию передаются какие-то фактические параметры, которые замещают формальные.
Тип фактических параметров должен соответствовать формальным. Глобальная переменная объявляется в основной программе и видима как в основной программе, так и во всех вызываемых подпрограммах. Локальная переменная объявляется внутри подпрограммы и видима только в том программном модуле, в котором она объявлена.
Рекурсия.
Рекурсивной считается процедура, если в ней есть обращение к самой себе.
S=1+1/2+1/3+1/4…. Работа программы
program procedur;
var sum:real; n:integer;
begin
if n=1 then sum:=1
else
begin {egs(sum,n=1);}
sum:=sum+1/n;
end;
end.
Рекурсия применяется в тех случаях, когда необходимо упростить поиск той или иной информации и когда известен хотя бы один результат этого поиска.