Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.

vvodDbl1( ) и vivodDbl1() – процедуры ввода и вывода данных типа Double в текстовые поля,

vvodSng3( ) и vivodSng3() – процедуры ввода и вывода данных типа Single в текстовые поля,

vvodInt4( ) и vivodInt4() – процедуры ввода и вывода данных типа Integer в текстовые поля,

vvodLng5() и vivodLng5() – процедуры ввода и вывода данных типа Long в текстовые поля,

vivodDblFx6() иvivodLngFx7() – процедуры Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. форматного вывода значения одной переменной типа Double и Long,

vivodDblFxy8() – процедуры форматного вывода значения 2-ух переменных типа Double.

Процедуры vvodDbl1(), vivodDbl1( ), vvodSng3(), vivodSng3(), vvodIDbl2()иvivodDbl2()приведены в Теме 4.3, процедуры vvodInt4()и vivodInt4()приведены в Теме 4.4, а процедуры vvodLng5(),
vivodLng5(), vivodDblFx6(), vivodLngFx7(), vivodSngFxy8(),
vvodInt9(),vivodInt9()
представлены на рис. 4.5.1-10 – 4.5.1-16.

'процедура ввода данных типа Long из Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. текстового поля TextBox Function vvodLng5(ByVal T As TextBox) As Long Return CLng(T.Text) End Function

Рис. 4.5.1-10. Программный код процедуры vvodLng5()
ввода данных типа Long из текстового поля TextBox Примера 4.5.1-3

'Процедура вывода данных типа Long в TextBox Sub vivodLng5(ByVal l As Long, ByVal T As TextBox) T Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур..Text = CStr(l) End Sub

Рис. 4.5.1-11. Программный код процедуры vivodLng5()
вывода данных типа Long в TextBox Примера 4.5.1-3

'Процедура форматного вывода данных типа Double в TextBox Sub vivodDblFx6(ByVal x As Double, ByVal T As TextBox) T.Text = T.Text + Format(x, "0.000 ") End Sub

Рис. 4.5.1-12. Программный код процедуры vivodDblFx6()
форматного вывода данных Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. типа Double в TextBox Примера 4.5.1-3

'Процедура форматного вывода данных типа Long в TextBox Sub vivodLngFx7(ByVal x As Long, ByVal T As TextBox) T.Text = T.Text + Format(x, "0") End Sub

Рис. 4.5.1-13. Программный код процедуры vivodLngFx7()
форматного вывода данных типа Long в TextBox Примера 4.5.1-3

'Процедура форматного вывода значений 2 переменных Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. Single в TextBox Sub vivodSngFxy8(ByVal x As Single,ByVal y As Single, _ ByVal T As TextBox) T.Text = T.Text + Format(x, "0.000 ") + Space(8) + _ Format(y, "0.000 ") + vbCrLf End Sub

Рис. 4.5.1-14. Программный код процедуры vivodSngFxy8()

Форматного вывода значений 2 переменных типа Single в TextBox Примера 4.5.1-3

'процедура-Function ввода данных типа Integer из Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. функции InputBox() Function vvodInt9(ByVal p As String, ByVal T As TextBox) _ As Integer T.Text = InputBox(P) Return CInt(T.Text) End Function

Рис. 4.5.1-15. Программный код процедуры vvodInt9()
ввода данных типа Integer из функции InputBox()
Примера 4.5.1-3

'Процедура вывода данных типа Integer функцией MsgBox() Sub vivodInt9(ByVal I As Integer Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур., _ ByVal S As String, ByVal T As TextBox) T.Text = MsgBox(CStr(I), S) End Sub

Рис. 4.5.1-16. Программный код процедуры vivodInt9()

вывода данных типаInteger функцией MsgBox()

Примера 4.5.1-3

В вышеприведенных примерах для организации вывода данных, употребляется форматированный вывод данных с внедрением функции Format(), описание которой приведено в табл.4.2.4-2.

Базисные методы

постоянных повторяющихся структур
и Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. примеры их программирования

Методы постоянной повторяющейся структуры позволяют обрисовать широкий класс задач, из которых можно выделить последующие:

· Ввод и вывод членов последовательности (Пример 4.5.2-3).

· Вычисление значений функций одной переменной с данным спектром и шагом их конфигурации при данных критериях (Пример 4.5.2-2).

· Вычисление значений функций 2-ух переменных с данными спектрами и шагами Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. их конфигурации при данных критериях с данными аспектами (Пример 4.5.2-8).

· Вычисление конечных сумм и произведений значений функции n-го членов последовательности при данных критериях (Примеры 4.5.2-3 – 4.5.2-4, 4.5.2-6).

· Вычисление n-го члена последовательности с данными аспектами (Пример 4.5.2-5).

· Определе­ние большего (меньшего) значения функции одной и поболее пере­менных с данными аспектами (Пример Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. 4.5.2-7);

Разглядим последовательность данных a0, a1,…,ai,…,an.

В одном случае член последовательности ai можно найти, вычисляя выражение ai.

В других случаях член последовательности ai можно найти через k прошлых членов той же последовательности: ai = f(a i-k, a i-k+1,… a i-1), для k ≤ i.Другими словами, для нахождения i-го члена последовательности должны быть заданы Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. члены a0, a1, …, ai-1. Такое определение именуется ите­рацией либо рекуррентной формулой, а методы вычисления случайного члена последовательно­сти – итерационными. Как пра­вило, итерационные методы реализуются при помощи циклов – как ре­гулярных, так и итеративных.

В простом случае употребляется выражение ai=f(ai-1) для i>0, a0=c, где с – известное Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. значение нулевого члена последовательности. К примеру, для арифметической прогрессии ai=ai-1+d, a0=a, а для геометрической – bi=bi-1 ∙q, b0=b. При программировании итераций такового типа употребляется выражение a=f(a). Внедрение этого выражения основано на специфике операции присваивания. Поначалу рассчитывается правая часть выражения при прошлом значении a,равном ai-1, а потом a из­меняется Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. на вычисленное значение, тем выходит текущее значение a,равное ai.

При помощи рекуррентных формул комфортно отыскивать суммы и про­изведения членов последовательности. Обозначим Sk – сумму k членов последовательности a1,… ai,… an. Разумеется, что Sk=S k-1 + ak для k=1,…, n; изначальное значение суммы следует обнулить - S0=0. Аналогично произведение k членов этой последовательности Pk=Pk Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.-1 ∙ak, для k=1,…,n; изначальное значение произведения нужно установить равным единице, P0=1.

Заметим, что с внедрением постоянных повторяющихся структур можно отыскивать суммы с конечным числом слагаемых и произведение с конечным, т.е. с заблаговременно данным числом сомножителей. Вычисление суммы и произведения неведомого заблаговременно числа членов последовательности осуществляется при помощи итеративных циклов и Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. будет рассмотрено в последующей теме.

В постоянных циклах число повторений должно быть определено заблаговременно. При всем этом, в одних случаях это число задано очевидно (константой либо вводимым значением переменной), а в других случаях его нужно за ранее вычислить.

В конце концов, вероятны и такие случаи, когда число повторений Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. цикла не фиксируется в методе в очевидном виде, а определяется неявно граничными значениями и шагом конфигурации не­которых переменных.

Пример 4.5.2-1. Написать процедуру-Sub, которая вычисляет значение функции y(x) = sin(x) при значе­ниях x, изменяющихся на отрезке [a; b] с шагом h.

Другой формулировкой данной задачки может быть последующая.

Написать Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. процедуру-Sub, которая сформировывает таблицу значений функции y(x)= sin(x) при изме­нении x от a до b с шагом h. Значения a, b, h – вводимые величины.

Sub Pr521() Dim a, b, h As Single Dim x, y As Single a = vvodSng3(TextBox1) b = vvodSng3(TextBox2) h = vvodSng Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.3(TextBox3) For x = a To b Step h y = Sin(x) vivodSng3Fxy8(x, y, TextBox4) Next x EndSub

Рис. 4.5.2-1. Схема метода и программный код процедуры Pr521(),в которойиспользуется в качестве параметра цикла переменная вещественного типа с вводом/выводом Примера 4.5.2-1

Схема и код программки представлены на рис. 4.5.2-1.

Процедура Pr Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.521()может быть вызвана, к примеру, как показано на
рис. 4.5.2-2.

Pr521( )

Рис. 4.5.2-2. Пример вызова процедуры Pr521()

Если процедура не будет содержать ввода данных, то она будет смотреться, как показано на рис. рис. 4.5.2-3.

Sub Pr523(ByVal a As Single, _ ByVal b As Single, _ ByVal h As Single) Dim x Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. As Single, y As Single For x = a To b Step h y = Sin(x) vivodSng3Fxy8(x, y, TextBox4) Next x End Sub

Рис. 4.5.2-3. Схема метода и программный код процедуры Pr523(),

в которойиспользуется в качестве параметра цикла переменная вещественного типа выводом данных Примера 4.5.2-1

Процедура вызова Pr523() может быть, к примеру Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур., как показано на
рис. 4.5.2-4.

Dim aa, bb, hh As Single aa=vvodSng3(TextBox1) bb=vvodSng3(TextBox2) hh=vvodSng3(TextBox3) Pr523(aa, bb, hh)

Рис. 4.5.2-4. . Пример вызова процедуры Pr523()

В методе решения данной задачки употребляется постоянная повторяющаяся структура, которая в программке реализована оператором For …Next, а в качестве параметра Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. цикла употребляется вещественный аргумент функции – х.

Таковой метод организации цикла небезопасен тем, что в итоге погрешностей округления последнее зна­чение параметра возможно окажется не равным в точности значению верхней границы b, и если оно окажется больше b,то выполнение цикла закончится, a в итоге таблица значений функции будет содержать на одну точку меньше Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.. Так, к примеру, если a=0, b=1 и h=0.1, то последнее, выведенное в цикле значение x, оказывается равным 0.9000001, т.е. точка x=b в таблицу не попадет. Таковой метод организации цикла в данной задачке можно использовать только, если переменные a, b, h и x целого типа.

Sub Pr525(ByVal a As Single, _ ByVal Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. b As Single, _ ByVal h As Single) Dim x, y As Single Dim n, i As Integer n = CInt((b - a) / h) + 1 x = a For i = 1 To n y= Sin(x) x = x + h vivodSngFxy8(x, y, TextBox4) Next i End Sub

Рис. 4.5.2-5. Схема метода и программный код процедуры Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. Pr525(),

в которойиспользуется в качестве параметра цикла переменная целого типа, а еще одно значение х рассчитывается через предшествующее методом прибавления шага Примера 4.5.1-3

Избежать схожих проблем можно методом подготовительного вычисления числа повторений цикла и использования в качестве параметра цикла переменной целого типа, предназначение которого – подсчет количества повторений цикла (рис. 4.5.2-5 и рис. 4.5.2-6). Различие меж методами Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. состоит исключительно в методах вычисления текущего значения аргумента x. В первом методе еще одно значение х рассчитывается через предшествующее методом прибавления шага, а во 2-м методе х рассчитывается через параметр цикла.

Sub Pr526(ByVal a As Single, _ ByVal b As Single, _ ByVal h As Single) Dim x, y Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. As Single Dim n, i As Integer n = CInt((b - a) / h) + 1 For i = 1 To n x = a + (i - 1) * h y = Sin(x) vivodSngFxy8(x, y, TextBox4) Next i End Sub

Рис. 4.5.2-6. Схема метода и программный код процедуры Pr526(),

в которойиспользуется в качестве параметра цикла переменная целого типа, а Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. еще одно значение х рассчитывается через предшествующее методом прибавления шага Примера 4.5.1-3

Направьте внимание на то, что при большенном спектре (в интервале [a; b] переменная a имеет малюсенькое значение, а переменная b огромное) c небольшим шагом h, вычисление по формуле x=x+h дает огромную погрешность, чем формула x=a Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.+(i-1)*h (даже при использовании данных типа Double).

Пример 4.5.2-2. Написать процедуру-функцию, которая вычисляет сумму положительных значений функции y=cos(8x) при изменении x от 0 до p с шагом p/16.

Метод решения данной задачки относится к методам вычисления конечных сумм (рис.4.5.2-7).

Процедура-функция Pr527() может быть вызвана из хоть какой другой процедуры либо Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. из модуля формы, к примеру, как показано на рис. 4.5.2-8.

Метод употребляет цикл с параметром целого типа. Для уменьшения воздействия ошибок округления при таком спо­собе вычисления текущего значения аргумента употребляется представление вещественных чисел с двойной точностью. Количество повторений цикла можно вычислить заблаговременно по вышеприведенной формуле либо конкретно программкой перед Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. входом в цикл

.

Function Pr527(ByVal n As Integer,_ ByVal h As Double) As Double Dim x, y, s As Double Dim i As Integer s = 0 x = 0 For i = 1 To n Y = Cos(8 * x) If y > 0 Then s = s + y x = x + h Next i Return s End Function Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.

Рис.4.5.2-7. Схема метода и программный код процедуры Pr527() Примера 4.5.2-2

Dim ss, hh As Double Dim nn As Integer h = Math.PI / 16 n = CInt((Math.PI -0) / h) + 1'nn=17 ss = Pr527(nn, hh) vivodDblFx6(ss, TextBox1)

Рис. 4.5.2-8. Пример вызова процедуры Pr527()

Метод решения данной задачки относится к методам вычисления конечных Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. сумм (рис.4.5.2-7).

Процедура-функция Pr527() может быть вызвана из хоть какой другой процедуры либо из модуля формы, к примеру, как показано на рис. 4.5.2-8.

Метод употребляет цикл с параметром целого типа. Для уменьшения воздействия ошибок округления при таком спо­собе вычисления текущего значения аргумента употребляется представление вещественных чисел с двойной точностью Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.. Количество повторений цикла можно вычислить заблаговременно по вышеприведенной формуле либо конкретно программкой перед входом в цикл

.

Потому что при таком методе организации цикла (через целый параметр), аргумент x уже не будет автоматом изменяться при каждом повторении цикла, то в тело цикла добавляется оператор x=x+h, который обеспечивает изменение xна величину шага Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. h при каждом повторении цикла. При всем этом изначальное значение аргумента x должно быть установлено перед первым входом в цикл (x=0). Изначальное значение суммы также следует установить равным нулю до цикла (s=0), чтоб после нахождения первого подходящего значения y>0 значение суммы стало равно этому значению. Заметим, что если в задачке Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. требуется вычислить конечное произведение, то изначальное значение переменной, которая будет копить произведение, следует установить равным единице (p=1).

Пример 4.5.2-3. Написать процедуру-Sub, которая вычисляет сумму и произведение n членов последовательности по формуле
fi = -i ∙ fi-1,
аf0 = 1.

Схема метода и код программки приведены на рис. 4.5.2-9.

Sub Pr529(ByVal n As Integer, _ ByRef Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. s As Long, _ ByRef p As Long) Dim f As Long Dim I As Integer f = 1 : s = 0 : p = 1 For i = 2 To n f = -i * f s = s + f p = p * f Next i End Sub

Рис. 4.5.2-9. Схема метода и программный код процедуры Pr529() Примера 4.5.2-3

Процедура Pr529() может быть вызвана из хоть Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. какой другой процедуры либо из модуля формы, к примеру, как показано на рис. 4.5.2-10.


Dim ss, pp As Long Dim nn As Integer nn= vvodInt4(TextBox1) Pr529(nn, ss, pp) vivodLngFx7(ss, TextBox2) vivodLngFx7(pp, TextBox3)

Рис. 4.5.2-10. Пример вызова процедуры Pr529()

Пример 4.5.2-4. Написать процедуру-Function, которая вычисляет
n-й член Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. последовательности по формуле fi= fi-1 + fi-2, а f0 = f1 = 1.

Это задачка вычисления чисел Фибоначчи, которые определяются по данной формуле. В данном примере каждый очередной член последовательности находится в зависимости от 2-ух прошлых. Обозначим b=f0, с=f1. Тогда очередной член последовательности a=b+c. Дальше операторы b=c и Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. c=a изменяют значения b и c для еще одного вычисления a. Таким макаром, значение предшествующего члена последовательности присваивается предыдущему ему члену последовательности (b=c), а значение только-только вычисленного члена a присваиваем предшествующему (c=a). Изначальное значение параметра цикла i=3, потому что вычисление начинается с 3-го члена (f0=f1=1 задано).

Схема метода и код программки Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур. приведены на рис. 4.5.2-11.

Function Pr5211(ByVal n As Integer) As Integer Dim a, b, c As Integer Dim i As Integer b = 1 c = 1 For i = 3 To n a = b + c b = c c = a Next i Return a End Function

Рис. 4.5.2-11. Схема метода и программный код процедуры Pr5211() Примера 4.5.2-4

Процедура – функция Pr Пример 4.5.1-3. Написать процедуры ввода/вывода, которые могут использоваться в алгоритмах циклических структур.5211() может быть вызвана из хоть какой другой процедуры либо из модуля формы, к примеру, как показано на рис. 4.5.2-12.

Dim aa As Integer Dim nn As Integer nn = vvodInt4(TextBox1) aa = Pr5211(nn) vivodInt4(aa, TextBox2)

Рис. 4.5.1-12. Пример вызова процедуры Pr5211()


primer-podscheta-kalorij-dlya-pohudeniya.html
primer-postanovki-zadachi-linejnogo-programmirovaniya-v-excel.html
primer-postroeniya-i-rascheta-setevogo-grafika.html