- •1. Этапы решения задачи на эвм.
- •2. Определение алгоритма.
- •3. Свойства алгоритма.
- •4. Понятие исполнителя.
- •5. Основные алгоритмические структуры
- •10. Типы величин (целые, вещественные, логические, символьные). Диапазон допустимых значений, представление в памяти эвм, операции, определенные над величинами каждого типа.
- •11. Процедурные и непроцедурные языки программирования
- •12. Простые типы данных в Pascal
- •13. Переменные и константы. Описание. Типизированные константы. Примеры.
- •14. Линейные алгоритмы. Примеры.
- •15. Условный оператор. Пример
- •16. Оператор выбора. Пример
- •17. Циклы с предусловием и с постусловием. Примеры.
- •18. Одномерные массивы. Примеры задач.
- •19. Двумерные массивы. Примеры задач.
- •20. Функции. Их отличие от процедур. Способ обращения к функции. Примеры.
- •21. Рекурсия. Механизм рекурсии: действия на рекурсивном спуске и рекурсивном возврате. Понятие о глубине рекурсии. Примеры.
- •22. Понятие об ооп. Отличие ооп подхода к программированию от структурного.
16. Оператор выбора. Пример
Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа.
17. Циклы с предусловием и с постусловием. Примеры.
Цикл с предусловием — цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу (если условие с самого начала ложно). В большинстве процедурных языков программирования реализуется оператором while.
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз.
18. Одномерные массивы. Примеры задач.
Одномерный массив - это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Дан массив чисел. Найти, сколько в нем пар одинаковых соседних элементов.
Переменные:
mas – массив чисел; n – размер массива; i – переменная цикла; k – количество одинаковых пар соседних элементов.
Алгоритм решения задачи:
вводим длину массива n, значение элементов массива и устанавливаем начальное значение k;
последовательно просматриваем элементы и, если очередной mas[i] равен следующему mas[i+1], то увеличиваем значение k на единицу;
выводим результат.
const m=100;
var mas : array [1..m] of integer;
i, k, n : integer;
begin
write('Введите размер массива n=');
readln(n);
k:=0;
for i:=1 to n do
begin
write('Введите элемент массива');
readln(mas[i]);
end;
for i:=1 to n–1 do
if mas[i]=mas[i+1] then k:=k+1;
wrietln('Одинаковых пар соседних элементов ',k);
end.
19. Двумерные массивы. Примеры задач.
Двумерный массив трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов). Положение элементов в двумерных массивах Паскаля описывается двумя индексами. Их можно представить в виде прямоугольной таблицы или матрицы.
20. Функции. Их отличие от процедур. Способ обращения к функции. Примеры.
Функция предназначена для вычисления какого-либо одного значения и используется в выражениях аналогично стандартным функциям.
Отличие описания функции от процедуры:
результатом обращения к функции может быть одно единственное значение;
идентификатор результата не указывается в списке формальных параметров;
в выполняемой части функции, хотя бы один раз, имени функции должно быть присвоено значение результата (чаще всего перед выходом из функции);
после списка формальных параметров задается тип результата;
после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом).
Обращение к функции осуществляется в правой части оператора присваивания, с указанием имени функции и фактических параметров. Функция может иметь собственные локальные константы, типы, переменные, процедуры и функции. Описание функций в Паскале аналогично описанию процедур.
Пример:
Написать подпрограмму-функцию степени аx, где a, х – любые числа. Воспользуемся формулой: аx = ex ln a
program p2; var f, b, s, t, c, d : real; { глобальные параметры} function stp (a, x : real) : real; var y : real; { локальные параметры} begin y := exp (x * ln ( a)) ; stp:= y;{присвоение имени функции результата вычислений подпр-мы} end; { описание функции закончено } begin {начало основной программы } d:= stp (2.4, 5); {вычисление степеней разных чисел и переменных } writeln (d, stp (5,3.5)); read (f, b, s, t); c := stp (f, s)+stp (b, t); writeln (c); end.
