- •Содержание
- •Введение
- •2. «Вычисление суммы ряда»
- •1. Вычисление интеграла
- •1.1. Постановка задачи
- •1.2. Математическая формулировка задачи
- •1.3. Метод левых прямоугольников
- •1.4. Схема алгоритма программы вычисление интеграла
- •1.5. Текст программы
- •1.6. Инструкция программиста
- •1.7. Инструкция пользователя
- •1.8. Тестовый пример
- •2. Вычисление суммы ряда
- •2.1. Постановка задачи
- •2.2. Математическая формулировка задачи
- •2.3. Итерационный цикл
- •2.4. Схема алгоритма программы вычисление ряда
- •2.5. Текст программы
- •2.6. Инструкция программиста
- •2.7. Инструкция пользователя
- •3.6. Инструкция программиста
- •3.7. Инструкция пользователя
- •3.8. Тестовый пример
- •Заключение
- •Список использованной литературы
2.4. Схема алгоритма программы вычисление ряда
Алгоритм для вычисления таблицы значений функции, заданной в виде разложения в ряд, на интервале [a;b] представлен на рисунках 5, 6.
Рисунок 5 - Схема алгоритма вычисления таблицы значений функции(начало)
Рисунок 6 - Схема алгоритма вычисления таблицы значений функции( конец)
2.5. Текст программы
Ниже следует текст программы, написанный на языке Turbo Pascal 7.0, предназначенной для решения поставленной задачи.
program KURSP2;
uses crt;
var a,b,h,e,x,y,y1,sum,sum1:real;
k,i:integer;
begin
clrscr;
writeln ('Программа вычисляет таблицу значений функции, заданной в виде разложения в ряд');
writeln;
write('Введите левую границу интервала a: ');
readln(a);
repeat
write('Введите правую границу интервала b (b>a): ');
readln(b);
until (b>a);
repeat
write('Введите шаг изменения аргумента h (h>0): ');
readln(h);
until (h>0);
repeat
write('Введите точность e (e>0): ');
readln(e);
until (e>0);
writeln;
writeln(' Таблица значений функции ');
writeln;
writeln(' |---------------|--------------|----------------------|-----------------|');
writeln(' | N | x | f(x) | N члена ряда |');
writeln(' |---------------|--------------|----------------------|-----------------|');
x:=a;
i:=1;
repeat
k:=0;
sum1:=0;
repeat
if k=0 then y1:=1
else y1:=y1*x/5;
k:=k+1;
y:=y1;
sum1:=sum1+y;
until (abs(y)<e);
sum:=sum1;
writeln(' |',i:8,'|':8,x:10:3,'|':5,'',sum:16:8,'|':7,k:9,'|':9);
x:=x+h;
i:=i+1;
until (x>b);
writeln(' |---------------|--------------|----------------------|-----------------|');
readln;
end.
2.6. Инструкция программиста
Данная программа вычисляет таблицу значений функции , заданной в виде разложения в ряд. В таблицу заносятся: номер по порядку, значение аргумента, соответствующие ему, значение функции и номер члена ряда, на котором закончилось вычисление значения функции. Ход работы программы отображен на схеме алгоритма программы .
-
Происходит ввод данных. Ее выходные параметры: a,b – интервал вычислений (вещественного типа), h - величина шага изменения аргумента (вещественного типа), e – точность вычислений (вещественного типа).
-
Происходит увеличение каждый раз значение аргумента x на h и номер n на 1, до тех пор пока аргумент не выйдет за правую границу вычислений b.
Подробнее схемы алгоритмов функций и процедур отображены на рисунке 11. Анализ результата работы программы приведен в разделе «Тестовый пример».
2.7. Инструкция пользователя
Данная программа вычисляет таблицу значений функции, заданной в виде разложения в ряд. В таблицу заносятся: номер по порядку, значение аргумента, соответствующие ему, значение функции и номер члена ряда, на котором закончилось вычисление значения функции.
-
Запустите программу.
-
Следуя приглашению программы, введите h – величина шага изменения аргумента (h>0), (a,b) – интервал вычислений, e – точность расчета.
-
Прочитайте с экрана результат работы программы.
Имя |
Тип |
Предназначение |
e |
real |
Точность |
a |
real |
Левая граница интервала |
b |
real |
Правая граница интервала |
h |
real |
Шаг изменения аргумента |
2.8. Тестовый пример
Ниже, на рисунке7, представлен пример работы программы, которая вычисляет таблицу значений функции, заданной в виде разложения
Рисунок 7 – Вычисление ряда
Программа выполнена верно.
3. Работа с массивом
3.1. Постановка задачи
Обнулить строку и столбец матрицы X(K,L), в которых находится её наименьший элемент.
3.2. Математическая формулировка задачи
Найти наименьший элемент матрицы, определить номер строки i min и столбца j min, затем заменить все элементы данной строки и столбца нулями.
3.3. Нахождение наименьшего элемента массива
Найдем наименьший элемент матрицы путем последовательного сравнения всех элементов.
3.4. Схема алгоритма программы
Обнуления строки и столбца матрицы X(K,L), в которых находится её наименьший элемент (рисунок 8, 9).
Рисунок 8 - Схема алгоритма обнуляющая строку и столбец матрицы(начало)
Рисунок 9 - Схема алгоритма обнуляющая строку и столбец матрицы (конец)
3.5. Текст программы
Ниже следует текст программы на языке программирования Turbo Pascal 7.0 для обнуления строк и столбцов матрицы X(K,L), в которых находится её наименьший элемент.
program Kurs3;
uses crt;
type mas=array[1..15, 1..20] of integer;
var k,l,a,b,i,j,str,stb,min: integer;
m:mas;
begin
clrscr;
repeat
write('Введите k (k<=15): ');
readln(k);
until (k<=15);
repeat
write('Введите l (l<=20): ');
readln(l);
until (l<=20);
writeln('Генерация массива');
a:=-10;
b:=10;
randomize;
for i:=1 to k do
begin
for j:=1 to l do
begin
m[i,j]:=random(b-a)+a;
write(m[i,j]:4);
end;
writeln;
end;
writeln;
min:=m[1,1];
for i:=1 to k do
for j:=1 to l do
if m[i,j]<min then
begin
min:=m[i,j];
str:=i;
stb:=j;
end;
writeln('Mассив:');
for i:=1 to k do
begin
for j:=1 to l do
begin
if (i=str) or (j=stb) then m[i,j]:=0;
write(m[i,j]:4);
end;
writeln;
end;
readln;
end.