Ребята,помогите пожалуйста. ))) суть задания: Составьте блок-схему и программу на языке VBA, которая вычисляет сумму первых n целых положительных четных чисел. Количество суммируемых
чисел должно вводиться во время работы программы. Программа должна
проверять правильность введенных пользователем данных и, если они неверные ( n ≤ 0 ), выдавать сообщение об ошибке.
Буду очень признательна, если кто-нибудь возьмется за это задание. Спасибо)
Виталий Каяшкин Вопрос задан 24 сентября 2019 в 5 — 9 классы, true»> Поделиться
Источник: matfaq.ru
Линейные вычислительные процессы и разветвляющиеся алгоритмические структуры на языке VBA
1. Линейные вычислительные процессы и разветвляющиеся алгоритмические структуры на языке VBA
2. ПЛАН:
1. Оператор присваивания.
Блок-схемы для начинающих (Блок схемы алгоритмов)
2. Оператор REM.
3. Программы линейной структуры
на VBA
4. Конструкция IF. THEN. ELSE.
5. Программы разветвляющей
структуры на VBA
3.
1. Оператор присваивания
Оператор LET присваивает значение
выражения переменной или свойству:
Общий вид оператора LET:
LET X=A
где LET – служебное слово
(переводится «пусть»); в программе
может быть опущено;
X- имя переменной или имя массива;
A- выражение арифметическое или
текстовое.
4.
Значение выражения может быть
присвоено переменной, только
если оно имеет совместимый с этой
переменной тип данных.
Невозможно присвоить строковое
выражение числовой переменной
или числовое выражение
строковой переменной. Такая
попытка приведет к ошибке во
время компиляции.
5.
Для присвоения переменныхзаписей различных определяемых
пользователем типов используется
оператор LSet. Для присвоения
переменным ссылок на объекты
применяется оператор Set.
6. 2. Оператор REM REM — оператор с комментарием (от слова REMARK). Иногда вместо командного слова REM допустимо ставить одиночную
2. Оператор REM
REM — оператор с комментарием
(от слова REMARK).
Иногда вместо командного слова
REM допустимо ставить одиночную
кавычку ’ – апостроф.
7. 3. Программы линейной структуры на VBA
Пример 1. Вычислить значение функции r=|c|
cos3(b-7)
Private Sub CommandButton1_Click()
Начало программы
REM Программа линейной структуры
Комментарий к задаче
c=VAL(InputBox(«Введите c»))
b=VAL(InputBox(«Введите b»))
Программирование макросов на VBA в Excel
Ввод значений c и b. Функция InputBox выводит на экран окно с полем
ввода и сообщением «Введите c» и возвращает значение типа строка
(String). Для преобразования вводимого значения к числовому типу
используется функция VAL.
r = Abs(c) * cos(b-7)^3
Вычисление значения переменной r.
MsgBox «Результат = » c=8,7
Private Sub CommandButton1_Click()
REM Программа линейной структуры 2
а=VAL(InputBox(«Введите а»))
b=15.2
с=8.7
x=(b-5*c^2)/(c+8*a^3)
MsgBox «Результат = »
AND («и одновременно»);
11.
Оператор IF…THEN предписывает
выполнять некоторые действия только в
том случае, когда выполняется условие.
Это условие записывается в виде
логического выражения, а действия,
которые нужно выполнить, задаются с
помощью обычных операторов VBA.
Если выражение принимает значение
«истина», то действие, заданное
оператором выполняется. В противном
случае управление передается строке,
непосредственно следующей в
программе за оператором IF.
Источник: ppt-online.org
Как составить блок схему и программу на языке vba
Уважаемые, помогите пожалуйста с двумя задачами!
1. не пойму как описать правильно ветвление, блок-схему и код прикладываю:
Sub задача1()
Dim a, b, c, f As Integer
Worksheets(«Лист2»).Select
Cells.Clear
a = InputBox(«Введите значение a, ввод исходных данных»)
b = InputBox(«Введите значение b, ввод исходных данных «)
c = InputBox(«Введите значение c, ввод исходных данных «)
If a = b Then
If b > c Then a = a + c
f = a — b
Else: a = a + b
f = a + c
If a <> b Then a = a + c
f = b + c
End If
MsgBox («значение f=») Лист2″).Select Cells.Clear a = InputBox(«Введите значение a, ввод исходных данных») b = InputBox(«Введите значение b, ввод исходных данных «) c = InputBox(«Введите значение c, ввод исходных данных «) If a = b Then If b > c Then a = a + c f = a — b Else a = a + b f = a + c End If Else a = a + c f = b + c End If MsgBox («значение f=») Введите значение a, ввод исходных данных»))
b = Val(InputBox(«Введите значение b, ввод исходных данных «))
c = Val(InputBox(«Введите значение c, ввод исходных данных «))
Val() — функция, которая преобразует числа, записанные как строковый тип в число в обычно смысле.
Т.е. если a = 5, b = 7, то a + b = 12, и b + a = 12.
Регистрация: 20.04.2013
Сообщений: 4
теперь у меня все числа просто суммируются, я так поняла. Например если ввожу а=3, b=3, c=5 то получается f=11. А если я все правильно понимаю, то должно быть f=8. И как быть?
Регистрация: 23.10.2010
Сообщений: 2,246
Если еще не разобрались, то смотрите блок-схему.
В Вашем примере: а=3, b=3, c=5.
Т.о.
1. Первое ветвление — вправо: a = b.
2. Второе ветвление влево, т.к. b < c.
3. а = а + b
Компилятор выполняет эту операцию так: 3 + 3 = 6 —> a.
Комбинацию символов «—>» тут следует читать как — «Результат послать в»
Т.е. а = 6.
4. f = a + c. 6 + 5 = 11 —> f.
Т.е f = 11.
Регистрация: 20.04.2013
Сообщений: 4
Все верно, я не правильно посмотрела блок-схему!! Спасибо вам огромное, что разжевали. ) Очень благодарна!
Регистрация: 10.06.2016
Сообщений: 1
Помогите, пожалуйста, составить блок-схему для программы
Private Sub CommandButton1_Click()
Dim M, N, Result As Integer ‘Создаем переменные для M, N и результата типа Integer
M = TextBox1.Value ‘Присваиваем переменной M значение из TextBox1
N = TextBox2.Value ‘Присваиваем переменной N значение из TextBox2
Result = 0 ‘Присваиваем результату значение 0
For counter = 1 To N ‘Цикл от 1 до N
Result = Result + M ‘Каждый раз прибавляем к результату число M
Next counter
TextBox3.Text = Result ‘Запиываем в TextBox3 результат вычислений
End Sub
Источник: www.programmersforum.ru