- •Содержание
- •Лабораторная работа № 1 Программирование алгоритмов линейной и разветвляющейся структур.
- •Теоретические сведения
- •Отчет по лабораторной работе
- •Лабораторная работа № 2 Программирование алгоритмов разветвляющейся и циклической структуры
- •Теоретические сведения
- •Программирование таблично заданной функции.
- •1. Изучить:
- •Отчет по лабораторной работе
- •Лабораторная работа № 3 Обработка одномерных и многомерных массивов
- •1. Изучить:
- •Лабораторная работа № 4 Программирование с использованием подпрограмм пользователя
- •1. Изучить:
- •Теоретические сведения
- •Лабораторная работа № 5 Обработка файловых структур данных
- •1. Изучить:
- •Теоретические сведения
- •Часть2 Лабораторная работа № 6 Множественный тип данных (4 часа)
- •Учебная программа primset
- •Порядок выполнения работы.
- •Лабораторная работа № 7 Организация и использование статической библиотеки (Unit ) в Delphi. Использование списков выбора
- •Лабораторная работа №8 Графические средства в delphi
- •Теоретические сведения
- •Графика Canvas
- •Визуальный компонент класса tChart.
- •Добавление серии в график
- •Приложение 1 Справка по работе с основным набором визуальных компонентов Delphi, требуемых при выполнении лабораторных работ
- •Компонент Окно выбора файла (tOpenDialog)
- •Компонент Окно сохранения файла (tSaveDialog)
- •Список литературы
Программирование таблично заданной функции.
Задание: Вычислить и вывести на печать значения функции y = a3 / (a2 + x2) при значениях x, изменяющихся от 0 до 3 с шагом 0,1.
В программе заранее можно определить число повторений и использовать оператор цикла for.
Для оптимизации вычислительного процесса значения параметра a3 и a2 вычислим вне цикла.
Наберите код программы, представленный на листинге .
Листинг .
program Z2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a,x,y,a2,a3:real;
i:integer;
begin
Write(‘Vvedite A=’);
Readln(a);
{Расчет и печать таблицы}
a2:=a*a; a3:=a*a*a;
x:=0;
Writeln;
Writeln(' x y');
for i:= 1 to 31 do
begin
y:=a3/(a2+x*x);
Writeln(x:8:4,y:8:4);
x:=x+0.1;
end;
Writeln;
Writeln('End program.'); Readln;
end.
Проведите отладку программы и проверьте полученные результаты.
Проверьте работу программы, где количество повторений определяется автоматически: n:=Trunc((xk-xn)/hx)+1, где xk, xn и hx – начало, конец интервала и шаг счета.
Задание 1
1. Вычислить значение функции, заданной в табл. 2.1 (в соответствии с вариантом задания). Осуществить вывод значений вводимых исходных данных и результат вычисления значения функции, сопровождая вывод наименованиями переменных.
Таблица 2.1
Вариант |
Функция |
Условие |
Исходные данные |
Диапазон и шаг изменения аргумента |
1 |
|
|
|
|
2 |
|
|
|
|
3 |
|
|
|
|
4 |
|
|
|
|
5 |
|
|
|
|
6 |
|
|
|
|
7 |
|
|
|
|
8 |
|
|
|
|
9 |
|
|
|
|
10 |
|
|
|
|
Задача2.
Задание для самостоятельной подготовки
1. Изучить:
— организацию итерационных циклов;
— возможности языка программирования для организации таких циклов;
— приемы программирования — вычисление частичной суммы сходящегося ряда, накопление суммы.
2. Разработать алгоритм решения задачи для задания2.
3. Составить программу решения задач и для задания2.
4.Вычислить предел суммы членов ряда, указанного в задании2.
Задание к работе
Вычислить на ЭВМ значение суммы членов бесконечного сходящегося ряда (табл. 3.1) с заданной точностью е.
Математический критерий: накопление суммы членов сходящегося ряда прекратить тогда, когда модуль очередного члена ряда станет меньше или равен заданной погрешности е.
На печать вывести значение суммы и число членов ряда, вошедших в сумму.
Сравнить полученное на ЭВМ значение суммы членов ряда со значением, вычисленным вручную( при приемлемой тестовой погрешности е).
.
Таблица 3.1
Вариант |
Сумма членов ряда |
Значение |
Точность вычисления е |
1 |
|
0,20 |
10-4 |
2 |
|
0,10 |
|
3 |
|
0,15 |
10-3 |
4 |
|
0,12 |
10-4 |
5 |
|
0,70 |
10-4 |
6 |
|
|
10-4 |
7 |
|
1,5 |
|
8 |
|
|
|
9 |
|
1,7 |
10-3 |
10 |
|
|
|
11 |
|
0,75 |
|
12 |
|
0,62 |
10-4 |
13 |
|
0,20 |
10-4 |
14 |
|
0,30 |
10-5 |
15 |
|
0,25 |
10-4 |
