Задача 2. Программирование алгоритмов разветвляющейся структуры
Методика начала программирования на VBA
1. В любом приложении MS Office, лучше в Word, зайти в меню Сервис-Макрос-Безопасность и установить средний или низкий уровень безопасности.
2. В MS Office зайти в Сервис/Макрос/Редактор Visual Basic.
3. В MS VBA войти в режим создания формы Insert-UserForm
4. Далее следует решить все 4 приведенных примера, которые следуют ниже, доведя до числа. Полностью разобраться в текстах программ с учебником. При этом тексты программного кода нужно не копировать, а набрать, так как в текстах возможны ошибки с латинскими и кириллическими символами!
5. Только после этого перейти к выполнению своего варианта, имея опыт отладки.
6. Имеются 10 экз. учебного пособия (бумажное).
7. На других языках программирования (Borland C++ и Borland Delphi)делать не надо. Но надо посмотреть и осмыслить эти программные коды, так как в теоретический курс входит обзор нескольких языков программирования.
Задача 1. Программирование алгоритмов разветвляющейся структуры
Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x, y) заштрихованной области.
Блок-схема
Программирование на языке Visual Basic
Создаем форму следующего вида, с данными элементами управления
Свойство “Caption” объекта “Label1” изменяем на “x=”.
Свойство “Caption” объекта “Label2” изменяем на “y=”.
Свойство “Caption” объекта “Label3” изменяем на “ ”.
Свойство “Caption” объекта “CommandButton1” изменяем на “Вычислить”.
Тогда форма примет вид:
На нажатие объекта “CommandButton1” определим следующую процедуру:
Private Sub CommandButton1_Click()
x = Val(TextBox1.Text)
y = Val(TextBox2.Text)
If (x ^ 2 + y ^ 2 <= 1) And (x >= 0) Then
Label3.Caption = "Точка принадлежит заштрихованной области"
Else
Label3.Caption = "Точка не принадлежит заштрихованной области"
End If
End Sub
Запуск программы: “Run” – “Run”
Программирование на языке Borland C++
#include <iostream.h>
#include <math.h>
int main() {
float x;
float y;
cout << "Введите координаты x и y: ";
cin >>x>>y;
if ((x*x+y*y<=1) && (x>=0))
cout << "Точка лежит в заштрихованной области";
else
cout << "Точка не лежит в заштрихованной области";
cout << endl;
return 0;
}
Запуск программы: “Run” – “Run”
Программирование на языке Borland Delphi (консольный режим)
Program z1;
Var x,y:real;
Begin
Write(‘Введите координаты x и y : ’);
Readln(x,y);
If (x*x+y*y<=1) and (x>=0) then
Writeln(‘Точка лежит в заштрихованной области')
else
Writeln(‘Точка не лежит в заштрихованной области');
End.
Запуск программы: “Run” – “Run”
Задача 2. Программирование алгоритмов разветвляющейся структуры
Написать программу вычисления функции . Заполнить таблицу значений при с шагом .
Блок-схема
Программирование на языке Visual Basic
Создаем форму следующего вида, с данными элементами управления
Свойство “Caption” объекта “Label1” изменяем на “a=”.
Свойство “Caption” объекта “Label2” изменяем на “b=”.
Свойство “Caption” объекта “Label3” изменяем на “h=”.
Свойство “Caption” объекта “Label4” изменяем на “”.
Свойство “Caption” объекта “Label5” изменяем на “ ”.
Свойство “Caption” объекта “CommandButton1” изменяем на “Вычислить”.
Тогда форма примет вид:
На нажатие объекта “CommandButton1” определим следующую процедуру:
Private Sub CommandButton1_Click()
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
h = Val(TextBox3.Text)
Label4.Caption = ""
Label5.Caption = ""
For x = a To b Step h
If x < 3 Then
f = 2 * x ^ 3 - 7 * x ^ 2 + 5 * x + 3
Else
f = x + Log(Abs(Cos(2 * x) - 1))
End If
Label4.Caption = Label4.Caption & Round(x, 2) & Chr(13)
Label5.Caption = Label5.Caption & Round(f, 4) & Chr(13)
Next x
End Sub
Запуск программы: “Run” – “Run”
Программирование на языке Borland C++
#include <iostream.h>
#include <math.h>
int main() {
float a,b,h;
float x,f;
int i;
cout << "Введите числа a, b и h: ";
cin >>a>>b>>h;
cout << "x y";
cout << endl;
for (i=0; i<(b-a)/h; i++) {
x=a+i*h;
if (x<3)
f= 2*x*x*x-7*x*x+5*x+3;
else
f= x+Ln(fAbs(Cos(2*x)-1));
cout << x;
cout << " ";
cout << f;
cout << endl;
}
return 0;
}
Запуск программы: “Run” – “Run”
Программирование на языке Borland Delphi (консольный режим)
Program z2;
Var a,b,h,x,f:real;
Begin
Write(‘Введите числа a, b и h : ’);
Readln(a,b,h);
For i:=0 to trunc((b-a)/h) do
Begin
x=a+i*h;
if (x<3) then
f= 2*x*x*x-7*x*x+5*x+3
else
f= x+Ln(Abs(Cos(2*x)-1));
Writeln(‘x= ‘, x, ‘ f= ‘, f);
End;
End.
Запуск программы: “Run” – “Run”