Алгоритмизация. Программирование на VBA на примерах: Методические указания для практических занятий и самостоятельной работы по информатике и информационным технологиям

Страницы работы

22 страницы (Word-файл)

Фрагмент текста работы

Федеральное государственное бюджетное  образовательное учреждение высшего образования

 «Саратовский государственный технический университет имени Гагарина Ю.А.»

Кафедра «Экспертиза и управление недвижимостью»

Алгоритмизация. Программирование на VBAна примерах.

Методические указания для практических занятий и самостоятельной работы по информатике и информационным технологиям для студентов строительных специальностей

Одобрено:

Каф. Экспертиза и управление недвижимостью»

_________________

УМКН «Строительство» САДИ СГТУ

__________________

Саратов 2016


Введение

Рассматриваются 5 типовых задач на составление алгоритмов и программ. Для реализации выбран VBA. Для каждой задачи дана постановка,  построена блок-схема алгоритма. Созданы формы в редакторе VBA (лента Разработчик, редактор VBA). При построении форм и программировании макросов необходимо разрешить их подключение в параметрах безопасности

VBA (Visual Basic for Application) был разработан компанией Microsoft. Данный язык предназначен для универсального программирования и для автоматизации процессов в пакете MS Office. VBA широко используется в Excel, а также в Access, Word и других программах пакета MS Office. VBA - простой язык программирования. Изучив его, можно предоставлять команды Excel, чтобы оперировать  с колонками, строками, значениями в ячейках, перемещать/добавлять/сортировать листы, выводить заранее запрограммированные сообщения, писать свои формулы и функции и т.д. Суть языка заключается в оперировании объектами (что относит его к объектно-ориентированному программированию). Этот язык находит применение и в САПР для создания макросов, уменьшающих трудозатраты проектировщика на рутинные операции.

Чтобы работать с VBA кодом, нам нужен редактор, который уже установлен по умолчанию. Он встроен в пакет MS Office, поэтому всегда имеется.

При разборе задач рассматривается решение каждой задачи в

1.  Visual Basic for Application

2.  Borland C++

3.  Borland Delphi

Сравнивая программные коды, можно понять различие и сходство универсальных алгоритмических языков и их сред.

Задача 1. Программирование алгоритмов разветвляющейся структуры

Даны действительные числа x, y. Определить, принадлежит ли точка с координатами (x, y) заштрихованной области.

Блок-схема

Программирование на языке Visual Basic for Application

Создаем форму следующего вида, с данными элементами управления

Свойство “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”

Задача 3. Программирование алгоритмов с итерационными циклами

На интервале значений  (0,1)  найти с точностью  ξ=10-5  корни уравнения  x2-0,5=0  методом деления отрезка пополам.

Описание метода

Уравнение представить в виде f(х)=0. За нулевое приближение корня уравнения принять x0=(a+b)/2. Если f(x0)=0, то x0 является корнем уравнения. Если f(x0)≠0, то проверить условия

Похожие материалы

Информация о работе