Разделы презентаций


Информатика_2 семестр_Тема 04_Алгоритмика.pptx

Содержание

ИнициализацияDim ADim B As IntegerDim C As Integer = 1D = 1 ‘Неявное объявление через присвоение значенияFunction MyFunc(E As Integer) As Byte‘Объявление как аргумент функцииИнформатика. 2 семестр. Тема 04. Алгоритмика1 →

Слайды и текст этой презентации

Слайд 1Университет машиностроения
Кафедра «Автоматика и процессы управления»
Дисциплина
Информационные технологии
Тема 04
Основные алгоритмические

конструкции
2 семестр
Информатика. 2 семестр. Тема 04. Алгоритмика

(Язык VBA for Ms

Excel)
Университет машиностроенияКафедра «Автоматика и процессы управления»ДисциплинаИнформационные технологииТема 04 Основные алгоритмические конструкции2 семестрИнформатика. 2 семестр. Тема 04. Алгоритмика(Язык

Слайд 2Инициализация



Dim A
Dim B As Integer
Dim C As Integer = 1
D

= 1 ‘Неявное объявление через присвоение значения
Function MyFunc(E As Integer)

As Byte
‘Объявление как аргумент функции



Информатика. 2 семестр. Тема 04. Алгоритмика

1 → i

My(x)

Сложные вычисления либо вызов функции с возможной неявной установкой значения

Y = Sin (X)
Function My (byVal F As Integer) As Byte
‘Возврат значения при передаче параметра по-ссылке

Блок процесса

Отображение:

j:integer

ИнициализацияDim ADim B As IntegerDim C As Integer = 1D = 1 ‘Неявное объявление через присвоение значенияFunction

Слайд 3Вычисления и обработка данных



Блок процесса
A = B + C /

(D – E)
***
Y = Math.Sin(X) ‘ Вызов «стандартной

функции»
***
IF ( A>B ) THEN Max = A ELSE Max = B
‘ Простая алгоритмическая конструкция, которая
‘ может интерпретироваться как очевидная
‘ «алгоритмическая» функция



Информатика. 2 семестр. Тема 04. Алгоритмика

1+1 → j

Go(x)

Предопределенный процесс (функция)

Y = GetSmthValue (SmthParams)
Call DoSmth (SmthParams)
‘Вызов функции с возвратом значения и процедуры

Отображение:

Блоки процесса можно объединять!!!

Вычисления и обработка данныхБлок процессаA = B + C / (D – E) ***Y = Math.Sin(X)

Слайд 4Потоки исполнения – нити (threads) и процессы



Функциональное представление
Поток исполнения –

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

последовательно.
На логическом уровне (при рассмотрении «логики» приложения) поток исполнения может включать ветвления и вызов функций.
На уровне реализации поток получает исполнителя (виртуальный процессор) для независимого исполнения, либо объединяется с другим потоком (встраивается)



Информатика. 2 семестр. Тема 04. Алгоритмика

x+1 → ret.

y = f(x)

Представление потоков



Вызов функции

основной (main)

вычислитель

алгоритм

функция

Потоки исполнения – нити (threads) и процессыФункциональное представлениеПоток исполнения – фрагмент исходного кода, в виде блока инструкций,

Слайд 5Многопоточность, конкуренция за ресурсы



При наличии нескольких исполнителей, в системе может

поддерживаться и быть реализована многопоточность.
Информатика. 2 семестр. Тема 04.

Алгоритмика

основной (main)

поток 1

поток 2

поток 3

Существует две реализации потоков: нить (thread) и процесс (process).

Реализации многопоточности: невытесняющая (фоновая), кооперативная и приоритетная (вытесняющая). В одноядерных системах используется временно́е мультиплексирование (переключение контекста процессора).

Важная проблема многопоточности – конкуренция за ресурсы (доступ к общим ячейкам памяти и объектам)

write

read

write

write


object

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

Слайд 6Особенности исполнения кода VBA



Поскольку концептуально исполнение кода на VBA эквивалентно

действиям пользователя в интерфейсе хост-приложения, то на уровне реализации код

(инструкции) VBA всегда выполняется в одном потоке исполнения.

Информатика. 2 семестр. Тема 04. Алгоритмика

Во время исполнения кода интерфейс хост-приложения «заморожен».

Исполнение кода может быть приостановлено постановкой на паузу (Ctrl + Break или из меню IDE VBA), прервано ошибкой исполнения или точкой отладки (Breakpoint).

Во время приостановки интерфейс хост-приложения будет доступен, в том числе и для редактирования данных в документах.
Однако при этом:
Исполнение другого потока кода VBA будет невозможно.
Формулы в ячейках, содержащие пользовательские функции, будут возвращать неопределённые значения.
Обработчики событий на пользовательских формах и в документах не будут вызываться. При этом сами элементы управления будут активны, например, для ввода значений.

Особенности исполнения кода VBAПоскольку концептуально исполнение кода на VBA эквивалентно действиям пользователя в интерфейсе хост-приложения, то на

Слайд 7Операции ввода-вывода



Операция ввода-вывода подразумевает обмен данными между объектами, непосредственно используемыми

в вычислениях, и внешними сущностями и (или) их инкапсуляциями в

виде объектов.

Информатика. 2 семестр. Тема 04. Алгоритмика

i → stdout

MsgBox(x)

Вывод результатов вычислений

Print #1, smthvalue ‘Вывод значения в 1-й поток
Line Input #1, smthvar ‘Загрузка текстовой строки

Блок ввода-вывода

Отображение:




Print(x)

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

Debug.Print smthvalue ‘Вывод в отладочное окно
MsgBox ( smthvar ) ‘Использование диалогового окна

Операции ввода-выводаОперация ввода-вывода подразумевает обмен данными между объектами, непосредственно используемыми в вычислениях, и внешними сущностями и (или)

Слайд 8Объектное представление визуальных компонент и «синтаксический сахар»



Программная реализация визуальных компонент

(элементов управления) и элементов документов инкапсулирована (скрыта) в соответствующих им

объектах и управление ими выполняется через соответствующие методы и свойства.
Согласно принципам ООП доступ к свойствам реализован через акцессоры (accessor) и мутаторы (mutator).

Информатика. 2 семестр. Тема 04. Алгоритмика

Вывод результатов вычислений

Отображение:


y → label1

Используются специальные методы вместо «прямого» доступа к памяти объекта потому, что есть дополнительная функциональность!

TextBox1.SetText(“Hello”) ‘Использование мутатора
TextBox1.Text = “Hello” ‘Присвоение (через «сахар»)

Ввод исходных данных


txt1 → x


проверить


внести


показать


event

Объектное представление визуальных компонент и «синтаксический сахар»Программная реализация визуальных компонент (элементов управления) и элементов документов инкапсулирована (скрыта)

Слайд 9Управляющие конструкции:



IF (condition) THEN statements
‘ Однострочная запись с положительной

ветвью
Информатика. 2 семестр. Тема 04. Алгоритмика

Пример вывода оценки за тест

‘Многострочная запись
IF (condition) THEN ‘ если …. то
Statements
ELSE ‘ иначе …
Statements
END IF

Блок «решение» с проверкой условия

Отображение:

Простое ветвление




Да

Нет

a > 0

Изменение порядка следования инструкций

IF (condition) THEN statements ELSE statements
‘ Однострочная запись с двумя ветвями




Да

Нет

score > 50


зачет



незачет


Управляющие конструкции:IF (condition) THEN statements ‘ Однострочная запись с положительной ветвьюИнформатика. 2 семестр. Тема 04. АлгоритмикаПример вывода

Слайд 10Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

If (Condition) Then

‘ Первое условие отбора
Statements
ElseIf (Condition) Then ‘ Дополнительное условие
Statements
Else ‘

Остальные случаи
Statements
End If

Отображение:
Каскад обычно «растет» вправо-вниз

Каскад по отрицательной ветви

Использование уточняющих условий

Пример вывода дифференцированной оценки за тест




Да

Нет

score < 50


неудовл.





Да

Нет


удовл.



хорошо


score < 75


Из стандарта оформления кода:
Использование отступов для выделения внутренних блоках

Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаIf (Condition) Then  ‘ Первое условие отбораStatementsElseIf (Condition) Then ‘

Слайд 11Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

Блок «решение» с проверкой

состояния
SELECT CASE property ‘Многострочная запись
CASE Expressions: Statements

CASE ELSE: Statements
END

SELECT

Отображение:

Проверка состояния

Выбор – это альтернативная реализация множественного ветвления через анализ значения одной переменной «простого» типа

Способы записи условий выбора:
Case 5, 6: smth ‘ Явное указание списка значений
Case 5 To 7: smth ‘ Указание диапазона
Case Is>7: smth ‘ Указание условия на значение

Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаБлок «решение» с проверкой состоянияSELECT CASE property  ‘Многострочная записьCASE Expressions:

Слайд 12Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

Блок «циклическое повторение»*
Do While

… Loop ‘ Цикл «пока» с предусловием
Do … Loop

While ‘ Цикл «пока» с постусловием
For … Next ‘ Цикл со счетчиком

Отображение:

Организация циклов

Принято различать циклы:
С предусловием
С постусловием
Со счетчиком



j +1 → j


a > 0


c1

c1

Альтернативные формы:

While … Wend ‘ Цикл «пока» с предусловием (устар.)
Do … Loop Until ‘ Цикл «пока не» с постусловием
Do Until … Loop ‘ Цикл «пока не» с постусловием

* Примечание:
Это основная форма согласно ГОСТ 19.701-90

Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаБлок «циклическое повторение»*Do While … Loop  ‘ Цикл «пока» с

Слайд 13Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

Повторять пока условие истинно
Do

While (Condition) ‘ Сначала проверяем условие
Statements
Loop

‘ либо

While (Condition) ‘ Сначала

проверяем условие
Statements
Wend

Отображение:

Реализация цикла «пока» с предусловием



Да

Нет

a > 50


j +1 → j



Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаПовторять пока условие истинноDo While (Condition) ‘ Сначала проверяем условиеStatementsLoop‘ либоWhile

Слайд 14Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

Повторять пока условие истинно
Do

‘ Сначала выполняем
Statements
Loop While (Condition) ‘ Потом проверяем

Отображение:

Реализация цикла «пока» с постусловием



Да

Нет

a > 50


j +1 → j



Альтернативная форма – «пока не» (Until)

While (NOT(Condition)) Until (Condition)


Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаПовторять пока условие истинноDo

Слайд 15Управляющие конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

I = 1

‘ Инициализация счётчика
While ( I <= 50) ‘ Проверка достижения границы
Statements ‘ Что-то делаем
I = I + 1 ‘ Наращиваем счётчик
Wend ‘ Закрывающая скобка

Отображение:

Реализация цикла со счетчиком

Альтернативная форма – «для» (For)

Повторять пока счётчик не достигнет границы



Да

Нет

i <= 50


j + 5 → j




1 → i



i +1 → i

FOR I = 1 TO 5 STEP 1
Statements
NEXT I

Управляющие конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаI = 1

Слайд 16Однако…



Информатика. 2 семестр. Тема 04. Алгоритмика

Структурный код «громоздок»
Цикл со счетчиком

предполагает доступ к переменной счетчика «только по чтению» и только

в коде тела цикла

«Лабиринт» тройного цикла

FOR I = 1 TO 5 STEP 1
X = I + 1 ‘ Можно
I = 5 ‘ Нельзя
NEXT I
X = I + 1 ‘ Нельзя

Циклы не могут пересекаться – операторы цикла полностью изолируют тело цикла.
Выйти из «лабиринта» вложенных циклов можно только пройдя все итерации.
При невозможности досрочного выхода нужно создавать «ветви обхода».



















Однако…Информатика. 2 семестр. Тема 04. АлгоритмикаСтруктурный код «громоздок»Цикл со счетчиком предполагает доступ к переменной счетчика «только по

Слайд 17Другие :



Информатика. 2 семестр. Тема 04. Алгоритмика

Отображение:
Безусловный переход (Goto)
Можно

реализовать «пропускание» тела цикла, подпрограммы…
Обход тела цикла
loop1:
Statements
If (Condition) Then Goto

loop1

Ухудшается «читаемость» → «тарелка спагетти»
+ нет логичного повода сделать отступы









FOR I = 1 TO 5 STEP 1
If I > 3 Then GoTo FastNext1 ‘ Переход в конец
Statements
FastNext1:
NEXT I

…обработчики или циклы







п/п


«Подпрограмма»

Другие :Информатика. 2 семестр. Тема 04. АлгоритмикаОтображение:Безусловный переход (Goto) Можно реализовать «пропускание» тела цикла, подпрограммы…Обход тела циклаloop1:StatementsIf

Слайд 18Дополнительные конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

I = 1

«Незащищенная» инструкция
On Error Goto endcalc1 ‘ Переход при ошибке
Statements ‘ Что-то делаем «под защитой»
endcacl1: ‘ Метка для перехода
On Error Goto 0 ‘ Отключение «перехватчика»
Statements

Отображение:

Перехват исключений (on Error)

Реализуемы «обработчики» и «сбросы»

Условный блок «на исключение»


On Error



unsafe stat.

On Error Goto ErrorHandler1
Statements
Exit Sub
ErrorHandler1:
MsgBox(“Ошибка №” & Str( Err.Number ))
Resume 0


safe stat.


safe stat.


unsafe stat.


Error protect

On Error Resume Next ‘ Пропустить ошибку

On Error Resume 0 ‘ Повторить ошибочный оператор

Дополнительные конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаI = 1

Слайд 19Дополнительные конструкции:



Информатика. 2 семестр. Тема 04. Алгоритмика

Отображение:
Перебор коллекции
Модификация
For i =

1 To 5
Statements
If i > 3 Then Exit For
Next I
MsgBox(“Цикл

завершен”)

Exit For ‘ Прерывание цикла For (досрочный выход)

Exit Do ‘ Прерывание цикла Do

For Each Element In Group
Statements ‘ Обработка Element
NEXT Element

Прерывание исполнения блока

Exit Sub ‘ Досрочный выход из процедуры

End ‘ Завершение программы

Прерывание цикла









Дополнительные конструкции:Информатика. 2 семестр. Тема 04. АлгоритмикаОтображение:Перебор коллекцииМодификацияFor i = 1 To 5StatementsIf i > 3 Then

Слайд 20Университет машиностроения
Кафедра «Автоматика и процессы управления»
Блок дисциплин
Информатика и информационные технологии
Спасибо

за внимание !!!
Контакты:
mami.testolog.ru
timid@mami.ru
inform437@gmail.com
Информатика. 2 семестр. Тема 04. Алгоритмика

Далее:
Общие

вопросы проектирования
Обработка данных
Основные алгоритмические конструкции
Сложные типы данных. Работа со строками

Университет машиностроенияКафедра «Автоматика и процессы управления»Блок дисциплинИнформатика и информационные технологииСпасибо за внимание !!! Контакты:mami.testolog.rutimid@mami.ruinform437@gmail.comИнформатика. 2 семестр. Тема

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика