Алгоритмизация. Блок-схемы

Содержание

Слайд 2

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление
составление алгоритма ее решения.
Понятие алгоритма является в информатике одним из фундаментальных. Это неопределяемое понятие.
Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п.

Слайд 3

Под алгоритмом понимается определенная конечная последовательность действий, выполнение которых приводит к получению

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

Слайд 4

Пример.
Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных

Пример. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Алгоритм
чисел.
Алгоритм в словесной форме может быть следующим:
1. задать два числа;
2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;

Слайд 5

3. определить большее из чисел;
4. заменить большее из чисел разностью большего

3. определить большее из чисел; 4. заменить большее из чисел разностью большего
и меньшего из чисел;
5. повторить алгоритм с шага 2.
Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи.
Задание на с/р . Определить с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

Слайд 6

Виды блоков.
1. Блок начала /конца:
2. Блок ввода информации (список вводимых величин, имена

Виды блоков. 1. Блок начала /конца: 2. Блок ввода информации (список вводимых
переменных, названия массивов, функции):
3. Блок присваивания (Имя переменной = выражение):

Слайд 7

4. Блок условного перехода (или блок ветвления):
Внутри блока записывается операция сравнения:
1. Математические

4. Блок условного перехода (или блок ветвления): Внутри блока записывается операция сравнения:
операции
(=, >, <, <=, >=, < >).
2. Логические операции
(NOT – «не», AND – «и», OR – «или»).

Слайд 8

5. Блок вывода информации на печать:
Внутри блока - список выводимых величин.
6. Блок

5. Блок вывода информации на печать: Внутри блока - список выводимых величин.
модификации команд (начало цикла):
Используется для изображения циклов повторений.

Слайд 9

Пример. Вычислить значение функции y=ax²+bx+c.

y

КОНЕЦ

Пример. Вычислить значение функции y=ax²+bx+c. y КОНЕЦ

Слайд 10

Пример. ax при x<-2
y= bx2+c при -2 ≤ х ≤ 2
x3+ tg(x)

Пример. ax при x y= bx2+c при -2 ≤ х ≤ 2
при x>2

+

-

Слайд 12

Программирование на VBA

Программирование на VBA

Слайд 13

Visual Basic for Application
(VBA–Visual Basic для приложений) –
объектно-ориентированный язык программирования.

Visual Basic for Application (VBA–Visual Basic для приложений) – объектно-ориентированный язык программирования.

Слайд 14

Запуск VBA осуществляется из приложения Excel командой Разработчик - Макросы.
Появляется окно,

Запуск VBA осуществляется из приложения Excel командой Разработчик - Макросы. Появляется окно,
в котором задается имя Макроса, далее нажимается кнопка Создать. После чего появляется окно среды разработки VBA.
Запуск программы осуществляется клавишей F5.

Слайд 15

Данные и их описание
Byte Положительное число без знака от 0 до 255
Integer Короткое целое

Данные и их описание Byte Положительное число без знака от 0 до
от -32768 до 32767
Long Длинное целое от -2147483648 до 2147483648
Single Числовое значение с плавающей точкой (вещественные числа).
String Для хранения строковых переменных

Слайд 16

Арифметические операции
^ Возведение в степень
* Умножение
/ Деление
\ Целочисленное деление
Mod Определение остатка от деления
+ Сложение
- Вычитание
& Объединение (конкатенация) строк

Арифметические операции ^ Возведение в степень * Умножение / Деление \ Целочисленное

Слайд 17

Логические (булевые) операции:
AND -логическое «И»- конъюнкция ( a AND b)
OR -логическое «ИЛИ»

Логические (булевые) операции: AND -логическое «И»- конъюнкция ( a AND b) OR
(дизъюнкция) (a OR b)
NOT -отрицание (NOT (a))

Слайд 18

Функции
MsgBox – функция вывода
InputBox - функция ввода

Функции MsgBox – функция вывода InputBox - функция ввода

Слайд 19

Математические функции в VBA:
Abs (число) – модуль числа
Cos(x)- cos x, Sin(x) –

Математические функции в VBA: Abs (число) – модуль числа Cos(x)- cos x,
sin x
Tan(x) – tg x, Log(x) – ln x
Atn(x) – arctg x Sqr(x) - √¯х
Exp(x) – eх,
Rnd(x) – генератор случайных чисел
Int(x) – целая часть числа
А mod В – целый остаток от деления числа А на число В.

Слайд 20

 

Формулы для перевода некоторых функций:

Формулы для перевода некоторых функций:

Слайд 21

Пример: Вычислить значение выражения
при x=3, a=2

Пример: Вычислить значение выражения при x=3, a=2

Слайд 22

Блок-схема

y

КОНЕЦ

Блок-схема y КОНЕЦ

Слайд 23

Sub Primer1()
Dim y As Single, x,a As Integer
a=2
x=3
y=Exp(x)+Sqr(a^2+x^2)- Atn(a*x/Sqr(1-(a*x)^2))/cos(x)^2+Log(Abs(x))/log(10)
MsgBox “y=” & y
End

Sub Primer1() Dim y As Single, x,a As Integer a=2 x=3 y=Exp(x)+Sqr(a^2+x^2)-
Sub

Слайд 24

Оператор условия
Он используется для того, чтобы выполнить какой-либо оператор, если некоторое условие

Оператор условия Он используется для того, чтобы выполнить какой-либо оператор, если некоторое
будет истинным.
Синтаксическая конструкция линейного оператора имеет две формы – безальтернативную и альтернативную.

Слайд 25

Безальтернативная форма условного оператора:
If условие Then выражение
Альтернативная форма оператора позволяет выбирать

Безальтернативная форма условного оператора: If условие Then выражение Альтернативная форма оператора позволяет
одну из двух различных ветвей операторов в зависимости от определенного условия:
If условие Then оператор1 Else оператор2

Слайд 26

Пример. Даны три произвольных числа x, y, z. Найти f = min(x,

Пример. Даны три произвольных числа x, y, z. Найти f = min(x,
y, z)
Sub primer()
Dim x, z, y, f, min As Single
x = Val(InputBox(«введите число х», x))
y = Val(InputBox(«введите число y», y))
z = Val(InputBox(«введите число z», z))
If x < y Then min = x Else min = y
If z < min Then min = z
MsgBox «f=» & min
End Sub

Слайд 27

Пример. Вычислить
при k=1 a=2,3 b=4,5

Пример. Вычислить при k=1 a=2,3 b=4,5

Слайд 28

Sub Prim3()
Dim x, y, a, b, k As Single
k=1 : a=2.3 :

Sub Prim3() Dim x, y, a, b, k As Single k=1 :
b=4.5
If x<-10 Then y= x^2 +b*x
If -10<=x and x<= 10 Then y= a*x^3
If x>10 Then y= sin(x)*k
MsgBox “x=” & x & “y=” & y
End Sub

Слайд 29

Пример : Попадает ли точка с координатами (х, у) в заштрихованную часть

Пример : Попадает ли точка с координатами (х, у) в заштрихованную часть
плоскости?

Sub zd4()
Dim x, y As Single
x = Val(InputBox("x"))
y = Val(InputBox("y"))
If y < (x + 3) And y > 0 And x < 0 Then
MsgBox («попадает") Else MsgBox ("не попадает")
End Sub

Слайд 30

Циклы со счетчиком For …..Next.
Так они называются потому, что начало и

Циклы со счетчиком For …..Next. Так они называются потому, что начало и
конец этих циклов определяются операторами
For и Next.
Синтаксис:
For счетчик = Начальное значение То Конечное значение [Step Шаг]
Операторы
[Exit For]
Next [счетчик цикла]

Слайд 31

Пример1: x2 +bx при x<-10
y= ax3 при -10 ≤ x ≤ 10
k*sin(x) при х >

Пример1: x2 +bx при x y= ax3 при -10 ≤ x ≤
10
где -20 ≤ x ≤ 20 Δx = 2 (шаг)
k=1 a=2,3 b=4,5

Слайд 32

Sub Prim1()
Dim x, y, a, b, k As Single
k=1 : a=2.3 :

Sub Prim1() Dim x, y, a, b, k As Single k=1 :
b=4.5
For x=-20 To 20 Step 2
If x<-10 Then y= x^2 +b*x
If -10<=x and x<= 10 Then y= a*x^3
If x>10 Then y= sin(x)*k
MsgBox “x=” & x & “y=” & y
Next x
End Sub

Слайд 33

Пример 2. Найти max функции Y (из примера 1)

Sub prim2()
Dim x, y,

Пример 2. Найти max функции Y (из примера 1) Sub prim2() Dim
a, b, k, max, p As Single
max = -10^10
For x = -20 To 20 Step 2
Операторы для вычисления y (см.
пример 1)

Слайд 34

Продолжение (пример 2)
If y > max Then
max = y
p = x
End

Продолжение (пример 2) If y > max Then max = y p
If
Next x
MsgBox "max y=" & max & "при x=" & p
End Sub