- •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.Метод наименьших квадратов .
Условие выполняется перед циклом.
13.Циклические алгоритмы. Оператор цикла с постусловием
(do - while) Оператор do повторно выполняет оператор или блок операторов, заключенных в {}, пока определенное выражение не примет значение false. В следующем примере операторы цикла do - while выполняются до тех пор, пока пользователь не введёт значение из допустимого диапазона. Если в теле цикла всего один оператор, фигурные скобки ставить не нужно.
int N; string s;
do
{ Console.Write("Введите N в интервале 0..10 N=");
s = Console.ReadLine();
N = Convert.ToInt32(s); }
while (N<0|| N>10);
Console.WriteLine("Введённое число равно {0} ", N);
Console.ReadKey();
Блок-схема для оператора do-while
Пример: Дано целое число N > 0. С помощью операций деления нацело и взятия остатка от деления определить, имеются ли в записи числа N нечетные цифры.
int N; string s;bool f;
Console. Write("Введите целое положительное число N=");
s = Console. ReadLine();
N = Convert.ToInt32(s);
int n = N; //сохраним исходное значение
f=false;
do
{ if (N % 2 == 1) f = true;
N = N / 10;
while (N != 0 && !f);}
if (f) Console.WriteLine("Нечётные цифры в числе {0} есть", n);
else Console.WriteLine("Нечётных цифр в числе {0} нет", n);
Console.ReadKey();
Оператор цикла с постусловием (repeat)
В операторе цикла с постусловием (начинающимся со слова
repeat) выражение, которое управляет повторным выполнением после-
довательности операторов содержится внутри оператора repeat.
repeat
оператор
until
выражение
Оператор repeat;
Результат выражения должен быть булевского типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится по край- ней мере один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов. Приведем примеры оператора цикла с постусловием:
repeat
K := I mod J;
I := J;
J := K;
until J = 0;
repeat
Write('Введите значение (0..9):');
Readln(I);
until (I >= 0) and (I <= 9);
14.Массивы в Паскале. Основные алгоритмы обработки одномерных массивов.
Массив – мн-во однотипных элементов. Каждый элемент имеет целочисленный порядковый номер, называемый индексом. Индексы записываются в квадратных скобках через запятую. Одномерные – каждый элемент массива получает два индекса. Многомерные – каждый элемент получает более 2-х индексов. Простой массив является одномерным. Он представляет собой линейную структуру. Способы описания: 1.простое (массив описывается в разделе описания переменных var <имя массива>: array [<нижняя граница индекса .. верхняя граница индекса>] of <тип массива> Напр-р: описание массива температур var T: array [1..12] of real. 2.определение типа (последовательное): а)описание типа массива; б)описание переменной массива. Type vector = array [1..31] of real; Var t:vector; Type index = 1..31;vector = array[index] of real; Var t:vector;r:index; Обработка массивов. 1.Ввод-вывод: Паскаль работает с массивами поэлементно. Const lim = 50; nmax = 100; Type raw = array [-lim..lim] of real; Var x,y: raw; Ввод одномерных массивов: write (‘введите кол-во элементов’); readln (n); write (‘введите элементы’); for i:=1 to n do read (x[i]); for i:=1 to n do begin write (x[i]:8:3); if i mod 5 = 0 then writeln; end; 2.Вычисление суммы элементов: s:=0;
for i:=1 to n do s:=s+a[i];
s:= s/n;
3.Номер первого отрицат: i:=1;
while a[i]>=0 do i:=i+1;
writeln (i);
После выполнения этого цикла мы получаем новое первое отрицательное. В массиве отрицат. элементов нет. 4.Наибольший (наименьший): max:=a[1];
For i:=2 to n do
If a[i]>max then max:=a[i]; 5.Перестановка двух элементов: t:=a[k]; a[k]:=a[l]; a[l]:=t; 6.Циклическая перестановка элементов: было 1 2 3 4 5 6 стало 2 3 4 5 6 1 – циклическая перестановка на 1 позицию влево. t:=a[1];
For i:=2 to n do a[i-1]:=a[i]; a[n]:=t; 7.Вычисление полинома заданной степени: Pn(x) = a0xn + a1xn-1 +…+ an-1x + an ((a0x + a1)x + a2)+…+an-1)x + an
p:=a[0] for i:=1 to n do p:=p*x + a[i]; 8.Сортировка выбором:
For i := 1 to n-1 do
begin
min:=a[i]; imin:=i;
for k := i+1 to n do
if min > a[k] then
begin
min:=a[k];
imin:=k;
end;
tmp:=a[i];
a[i]:=a[imin];
a[imin]:=tmp
end;