- •1.Информатика как предмет. Основные направления и научные формирования.
- •2.Понатие алгоритма и его свойства. Пример – алгоритм перемножения двух целых чисел.
- •3.Средства описания алгоритмов. Примеры.
- •4. Языки программирования
- •5.Кодирование данных двоичным кодом.
- •6.Язык Паскаль. Типы данных в языке Паскаль.
- •7.Стандартные функции языка Паскаль
- •9.Основные операторы Паскаля и типовая структура Паскаль – программы.
- •10. Разветвляющиеся алгоритмы. Условные операторы в Паскале
- •11.Циклические алгоритмы. Оператор цикла с параметром.
- •12.Циклические алгоритмы. Оператор цикла с предусловием.
- •13.Циклические алгоритмы. Оператор цикла с постусловием
- •14.Массивы в Паскале. Основные алгоритмы обработки одномерных массивов.
- •15.Ввод и вывод массивов через файлы. Пример – вывод в файл двух матриц рядом.
- •16. Подпрограмма – функция. Пример: возведение вещественного числа в целочисленную степень.
- •17.Подпрограмма-процедура. Пример – решение треугольной слау.
- •18.Параметры-значения и параметры-переменные.
- •19.Метод половинного деления
- •20.Алгоритм метода половинного деления.
- •21.Метод простой итерации для поиска корней. Геометрическая интерпретация.
- •22. Приведение уравнения к виду, пригодному для применения метода итераций.
- •23.Общая оценка погрешности приближения к корню.
- •24.Оценка погрешности приближения в методе простой итерации.
- •25. Метод Ньютона
- •26.Модификация метода Ньютона и оценки погрешности приближения.
- •27.Метод хорд и оценка погрешности приближения в методе хорд.
- •28.Понятие нормы. Нормы векторов в конечномерном пространстве.
- •29. Нормы матриц. Согласованность и подчиненность норм.
- •31. Метод прогонки для решения систем линейных алгебраических уравнений.
- •32. Метод простой итерации для решения систем линейных алгебраических уравнений
- •33.Сходимость последовательности векторов и матричной прогрессии
- •34.Сходимость Метода Простых Итераций для решения систем линейных уравнений.
- •35.Оценки погрешности метода простой итерации для решения систем линейных алгебраических уравнений.
- •36.Метод Зейделя для решения систем линейных алгебраических уравнений.
- •37. Приведение метода Зейделя к методу простой итерации.
- •38. Метод последовательной внешней (верхней) релаксации
- •39.Постановка задачи интерполирования.
- •40.Алгебраическое интерполирование
- •42.Свернутая форма полинома Лагранжа.
- •43. Погрешность алгебраического интерполирования.
- •44.Интерполирование сплайнами
- •45.Метод наименьших квадратов .
11.Циклические алгоритмы. Оператор цикла с параметром.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов. Циклом называется такая форма организации действий, при которой одна и та же последовательность действий повторяется до тех пор, пока сохраняется значение некоторого логического выражения. При изменении значения логического выражения на противоположное повторения прекращаются (цикл завершается).
Различают: 1) арифметические циклы – конечное число повторений (цикл с параметром (например, вычисление суммы S=∑a ))
2) итерационные циклы – заканчиваются по условию (с пред - и постусловием (например, вычисление корня по Герону:
xk+1 =1/2 (xk +a/xk), k=0,1,2… x0=a/2
∆= │ xk+1 - xk │< ε, где ε-требуемая точность расчета))
Общая структура цикла:
Начало цикла – задание начальных значений переменным цикла. Переменная меняется от шага к шагу. Управляющая переменная (менеджер) – используется в условии окончания.
Рабочая часть цикла (тело) – что повторяется
Условие окончания (не должно быть бесконечных циклов)
Виды циклов: с параметром, с предусловием, с постусловием.
Цикл с параметром (удобен при обработке массивов)
i - начальное значение (управляющая переменная – параметр цикла)
диапазон от n до k (нач. значение – кон. значение)
l- шаг изменений переменной i, [l]- по умолчанию = 1
i=i+l – продвижение цикла
Если i>k изначально, то цикл не выполняется ни разу.
Оператор цикла с параметром в Паскале
For i:= N to K do__S
По умолчанию шаг = 1, I, N, K – перечисляемый тип
For i:= K down to N do__S – обратное направление. Шаг = -1.
Если N>K, то цикл не выполняется ни разу. Если N=1, то выполняется 1 раз. Нельзя войти внутрь цикла (оператор S), минуя заголовок. А выйти - можно.
Пример (вычисление an целочисленной степени (n) вещественного числа (a)).
an = a*a*a*a…*a
r = 1 (a0)
r <= r*a => a
r <= r*a => a2
… => an
Учитывая, что «n» может быть < 0, вместо полученного значения an надо взять величину 1/ an
if n=0 then r:=0
else begin r:=a;
For i:=2 to abs(n) do
r:=r*a;
if n<0 then r:=1/r;
end.
12.Циклические алгоритмы. Оператор цикла с предусловием.
Циклический алгоритм-повторяющиеся фрагменты суммы.(арифметические-кончное число повторений, итерационное- с беск)
структура цикла
1. Начало-задание нач. значений переменным цикла(переменная меняется от шага к шагу)
2. Управляющая переменная цикла(менеджер)-исп-ся в условии окончания цикла.
3. рабочая часть(тело)-повторяющая программы, вып-ся многократно.
4. условие окончания(не должно быть беск циклов)
При выполнении оператора while определенная группа операторов выполняется до тех пор, пока определенное в операторе while булево условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.
Общая форма записи следующая:
while <булево выражение> do
begin
группа операторов
end;
Операторные скобки ставят, чтобы отделить от остальной программы ту группу операторов, которую нужно повторить в цикле.
При использовании цикла с предусловием надо помнить :1.значение условия выполнения цикла должно быть определено до начала цикла;2.если значение условия истинно, то выполняется тело цикла, после чего повторяется проверка условия. Если условие ложно, то происходит выход из цикла;3.хотя бы один из операторов, входящих в тело цикла, должен влиять на значение условия выполнения цикла, иначе цикл будет повторяться бесконечное число раз.
ЗАДАЧА. Исходные данные: переменная N – кол-во чисел и сами числа. Значение очередного числа - переменная Х. Результатом работы алгоритма - сумма этих чисел( S). S=x1+x2+x3+...+xn
При вычислении суммы используем следующий прием: вначале, когда еще не задано ни одно слагаемое, сумму полагают равной нулю (S:=0), а затем, получая очередное слагаемое, прибавляют его к сумме (S:=S+x) (см. программу ниже).
Очень важное значение в операторе цикла- переменная цикла(i).С ее помощью обращаемся к пользователю за очередным числом (write (‘Введите ‘,i,’-ое число ’)),считаем количество уже введенных чисел (i:=i+1), чтобы не запросить лишнее. Одновременно переменная цикла участвует в булевом выражении (i<=N).
программа:
Program Summa;
Uses
Crt;
Var
i,N : integer; x, S : real;
Begin
ClrScr;
write (‘Сколько чисел для сложения? ‘);
readln (N);
S:=0; i:=1;
while i<=N do
begin
write (‘Введите ‘,i,’-е число ’);
readln (x);
S:=S+x;
i:=i+1;
end;
write (‘Сумма введенных чисел равна ‘,s:5:2);
readln;
End.