- •Содержание
- •Введение
- •1 Основные компоненты Delphi
- •1.1 Знакомство с интегрированной средой программирования Delphi
- •1.1.1 Главное окно
- •1.1.2 Окно формы
- •1.1.4 Окно кода
- •1.1.5 Создание простого приложения
- •1.2 Программирование алгоритмов линейных структур путем создания простейших приложений в среде Delphi
- •1.2.1 Раздел описания процедур
- •1.2.2 Раздел меток
- •1.2.3 Раздел констант
- •1.2.4 Раздел типов
- •1.2.5 Раздел переменных
- •1.2.6 Раздел операторов
- •1.2.7 Реализация алгоритмов линейной структуры
- •1.2.8 Математические вычисления в языке Object Pascal
- •1.3 Условный оператор
- •1.4 Цикл с предусловием
- •1.5 Цикл с параметром
- •1.6 Цикл с постусловием
- •1.7 Обработка одномерных массивов
- •1.8 Обработка двумерных массивов
- •1.9 Табулирование функции двух переменных
- •1.10 Процедуры и функции
- •2 Общие сведения о программе MathCad
- •2.1 Знакомство с интегрированной средой MathCad
- •2.1.1 Окно программы MathCad
- •2.1.2 Алфавит системы MathCad
- •2.2 Построение графика функции
- •2.3 Решение рациональных уравнений
- •2.4 Решение системы линейных алгебраических уравнений
- •2.5 Решение нелинейных уравнений
- •2.6 Решение систем нелинейных уравнений
- •2.7 Решение дифференциальных уравнений
- •Список использованных источников
1.4 Цикл с предусловием
Цель: Умение составлять циклические программы, используя, оператор цикла с предварительным условием.
Рассмотрим данную тему на конкретных примерах.
Задание1: На интервале с шагом протабулировать функцию , где t - произвольное число.
Технология выполнения задания
Постановка задачи: Создать приложение вычисления значений функции z.
Математическая модель представляется так: исходные данные – xn, xk, hx, t, результат – z.
Алгоритм решения задачи: запишем алгоритм решения поставленной задачи с помощью блок-схемы (описываем только процедуру вычисления значения функции).
Программа: Установите компоненты на форме и измените свойство Caption для каждого компонента. На форму установите новый компонент ListBox, который находится на панели Standart, в соответствии с рисунком 10.
Рисунок 10 - Образец размещения компонентов на форме
Для компонента BitBtn1 (кнопка Закрыть) в инспекторе объектов измените свойство Kind – bkClose.
Двойным щелчком по компоненту Button1 (кнопка Вычислить) автоматически создается в окне кода стандартная структур. В данную структуру впишите часть программы (у каждого варианта своя индивидуальная часть программы). Для задания 1 эта часть выглядит следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
var x, xn,xk,hx,t:real;
s:string;
begin
t:=StrToFloat(Edit1.Text);
s:=inputbox('ввод данных','xn','0');
xn:=StrToFloat(s);
s:=inputbox('ввод данных','xk','0');
xk:=StrToFloat(s);
s:=inputbox('ввод данных','hx','0');
hx:=StrToFloat(s);
while x<=xk+hx/2 do
begin
z:=sin(xn*t);
xn:=xn+hx;
ListBox1.Items.Add(FloatToStrF(z,ffFixed,5,3));
end;
end;
Задание2: Вычислить функцию вида
для значений аргумента от a до b с шагом h.
Технология выполнения задания
Постановка задачи: Создать приложение вычисления значений функции y.
Математическая модель представляется так: исходные данные – a,b,h, результат – y, условия.
Предварительная работа: При решении этой задачи необходимо использовать циклический процесс, в котором переменная х последовательно принимает значения a,a+h,a+2h,…,a+Nh, где a+Nh=b.
Первое вычисление функции y(x) следует сделать для значения а, поэтому перед входом в цикл зададим переменной x начальное значение:
x:=a;
На каждом проходе цикла после вычисления функции значение переменной х должно возрастать на величину h, что может быть обеспечено оператором:
x:=x+h;
Этот оператор подготавливает аргумент для вычисления следующего значения функции.
Цикл должен повторяться до тех пор, пока значение переменной х не превысит b, то есть пока выполняется неравенство В качестве условия повторения цикла целесообразно использовать условие , заведомо выполненное для всех требуемых значений х, так как величина шага h обычно на несколько порядков больше величины тех неточностей в представлении данных о которых шла речь.
Алгоритм решения задачи: запишем алгоритм решения поставленной задачи с помощью блок-схемы (описываем только процедуру вычисления значения функции).
Программа: Установите компоненты на форме и измените свойство Caption для каждого компонента. На форму установите новый компонент ListBox, который находится на панели Standart.
Для компонента BitBtn1 (кнопка Закрыть) в инспекторе объектов измените свойство Kind – bkClose.
Двойным щелчком по компоненту Button1 (кнопка Вычислить) автоматически создается в окне кода стандартная структур. В данную структуру впишите часть программы (у каждого варианта своя индивидуальная часть программы). Для примера 2 эта часть выглядит следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
var x,y,a,b,h:real;
s:string;
begin
s:=inputbox('ввод данных','a','0');
a:=StrToFloat(s);
s:=inputbox('ввод данных','b','0');
b:=StrToFloat(s);
s:=inputbox('вводданных','h','0');
h:=StrToFloat(s);
x:=a;
while x<b+h/2 do
begin
if (x<1) and (x>=-1) then y:= x/3
else y:=x-0.6667;
ListBox1.Items.Add (FloattoStrf(y,fffixed,10,4));
x:=x+h;
end;
end;
Таблица 6 - Индивидуальные варианты лабораторной работы №4
№ В |
Варианты индивидуальных заданий |
Составить программу вычисления выражения на промежутке [a,b] с шагом h. Значения a, b, h выберите самостоятельно так, чтобы выявить основные особенности поведения функции. |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
Продолжение таблицы 6
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
где х принимает значения в интервале [-1;1] с шагом 0,1 |
Продолжение таблицы 6
14 |
где х принимает значения в интервале [0;10] с шагом 0,5, значение b задается |
15 |
где х принимает значения в интервале [0;6] с шагом 0,4 |
16 |
где х принимает значения 0;0.5;1;…;3, значение а задается |
17 |
где х принимает значения в интервале [0,7;2] с шагом 0,1 а=1,65 |
18 |
где х принимает значения в интервале [0,1;1,7] с шагом 0,2 а=0,9 |
19 |
где х принимает значения в интервале [2;5] с шагом 0,25 |
20 |
где х принимает значения в интервале [0,2;2] с шагом 0,1, t=2.2 |
Продолжение таблицы 6
21 |
где х принимает значения в интервале [0.2;2] с шагом 0,2, b=1.5 |
22 |
где х принимает значения в интервале [0.5;2] с шагом 0,1, a=20.3 |
23 |
На интервале с шагом протабулировать функцию , где х - любое действительное число. |
24 |
На интервале с шагом протабулировать функцию , где х - любое действительное число. |
25 |
На интервале и с шагом и протабулировать функцию |
26 |
Для каждого при всех с шагом и вычислить ,х=0.792 |
27 |
На интервале с шагом для каждого «b» из интервала с шагом протабулировать функцию. |
28 |
Для каждого с шагом при всех вычислить , причём, если , , иначе . |
29 |
На интервале с шагом определить количество отрицательных значений функции , где а=0.8х, b=2.2х. |
30 |
Для каждого с шагом вычислить значения функции , где начальное значение . |