Задача 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”