ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ Лекция 6 Блок-схемный метод
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ Лекция 6
Блок-схемный метод алгоритмизаци и (продолжение)
Блок-схемы алгоритмов
Основные типы блоков Название символа Обозначение Пояснение Пуск-останов Начало и конец начало алгоритма Ввод-вывод Блок ввода-вывода Ввод a, b Процесс Вычислительный блок X=(a+b)/2 Решение да нет Блок сравнения a>b (логический блок) Модификация i = 1, b, 1 Заголовок (начало) цикла Предопределенный расчет Вычисления по процесс параметров подпрограмме Документ Вывод на печать Печать x
Примеры блок-схем Линейный алгоритм начало Ввод a, b C=(a+b)^2 Печать с конец
Примеры блок-схем Ветвящийся алгоритм начало Ввод a, b C=b да нет a> b C=a Печать с конец
Примеры блок-схем Алгоритм с циклом Цикл – повторяющаяся ограниченное количество раз последовательность выполнения одних и тех же действий (набора операций). Массив – упорядоченная запись элементов некоторой структуры данных. Массивы бывают разных размерностей : одномерные, двумерные, трехмерные и т. д. Данные, содержащиеся в массивах могут иметь разный тип (числа, текст, даты и т. п. ) Следует различать «Имя» ячейки массива и содержимое данной ячейки
Примеры блок-схем Обозначения массивов A(N) – одномерный массив А, содержащий N элементов (строка из N элементов ) Номера элементов (адреса ячеек) 1 2 3 4 5 6 … … N-1 N 31 8 12 22 17 10 … … 5 21 Значения элементов (содержимое ячеек) Примеры записи: A(1) ; A(3) ; A(i) ; … A(N) - адреса ячеек A(1)=31 ; A(3)=12 ; A(N)=21 (значения i, N определены) содержимое ячеек
Примеры обозначения массивов Примеры записей в блок-схемах (программах): A(1)=31 - «элементу массива А(1) присвоить значение 31» А(3)=А(4) – в вычислительном блоке – «элементу массива А(3) присвоить значение элемента А(4)» ( в результате выполнения данной операции в ячейках А(3) и А(4) будет содержаться одно и то же значение, которое ранее было в ячейке А(4)) А(3)=А(4) - в логическом блоке – эквивалентно логическому выражению: «содержимые ячеек А(3) и А(4) равны» А(3)>А(4) - в логическом блоке эквивалентно логическому выражению: «содержимое ячейки А(3) больше содержимого ячейки А(4)»
Двумерный массив A(N, М) – двумерный массив А, состоящий из N строк и М столбцов (двумерная матрица) 1 2 3 … M-1 M 32 11 4 … 73 88 1 6 56 3 … 45 9 2 … … … … 5 98 70 … 34 20 N-1 76 3 35 … 23 13 N
Примеры обозначения массивов Примеры записей в блок-схемах (программах): A(1, 3) – адрес ячейки (элемента) двумерного массива: «элемент массива A, стоящий в 1 -ой строке и 3 -ем столбце» Имя массива Позиция номера строки A ( 1, 3) = 4 Значение элемента Позиция номера столбца
Примеры обозначения массивов Примеры записей в блок-схемах (программах): При использовании переменных в обозначениях строк и столбцов: A(i, j)=4 Значение Имя Номер строки Номер столбца элемента массива B(j, i)=9
Примеры обозначения массивов Примеры записей в блок-схемах (программах): A(1, 3)=4 - «элементу массива A, стоящему в 1 -ой строке и 3 -ем столбце (т. е. элементу А(1, 3)), присвоить значение 4» А(3, 1)=А(4, 2) – в вычислительном блоке – «элементу массива А(3, 1) присвоить значение элемента А(4, 2)» А(3, 1)=А(4, 2) - в логическом блоке – эквивалентно логическому выражению: «содержимые ячеек А(3, 1) и А(4, 2) равны» А(3, 1)>А(4, 2) - в логическом блоке эквивалентно логическому выражению: «содержимое ячейки А(3, 1) больше содержимого ячейки А(4, 2)»
Алгоритм с циклом Ввод значений одномерного массива начало Ввод N i=1 нет да i>N i> N i=1, N, 1 i
Алгоритм с циклом Общая схема цикла «со счетчиком» Вход в цикл Заголовок i=1 цикла i>N i = 1, N, 1 Выход из цикла i
Примеры блок-схем Алгоритм с циклом Пример. Задан одномерный массив целых чисел А(N), где N- количество элементов в массиве. Задание: Упорядочить элементы одномерного массива по убыванию. (метод «пузырька» ). Пусть N=7 i= 1 2 3 4 5 6 7 A(i) 8 6 1 3 2 5 4 Рассмотрим алгоритм упорядочения для одного «прохода» всех значений массива
Алгоритм для 1 -го «прохода» Указатель текущей ячейки 8 6 1 3 2 5 4 8 6 3 1 2 5 4 … 8 6 3 2 5 4 1
Алгоритм для 1 -го «прохода» i= 1 2 3 4 5 6 7 A(i) 8 6 1 3 2 5 4 1. Ввведем все элементы исходного массива A(i) 2. Первый элемент массива задаем текущим (i=1) 3. Сравним значение текущего элемента массива со следующим элементом ( A(i)>A(i+1) ) 4. Если 3. верно, то переходим к выполнению п. 6 5. Если 3. не верно, то меняем местами значения текущего элемента и следующего и переходим к выполнению п. 6 (BUF=A(i); A(i)=A(i+1); A(i+1)=BUF ) 6. Следующий элемент массива делаем текущим (i=i+1 ) 7. Повторяем выполнение пп. 3 -6 всего (N-2) раз
Блок схема для 1 «прохода» Считаем, что N и все элементы массива введены i = 1, N-1, 1 да нет A(i)>A(i+1) BUF=A(i)=A(i+1)=BUF Конец цикла i
Блок схема вариант 1 Считаем, что N и все элементы массива введены i = 1, N-1, 1 N=N-1 да нет A(i)>A(i+1) да нет N<3 BUF=A(i)=A(i+1) Вывод на печать A(i+1)=BUF упорядоченного массива конец Конец цикла i
Блок схема вариант 2 Считаем, что N и все элементы массива введены j = 0, N-3, 1 i = 1, N-1 -j, 1 да нет A(i)>A(i+1) BUF=A(i)=A(i+1)=BUF Вывод на печать упорядоченного Конец цикла i массива конец Конец цикла j
Языки программирова ния
ЭВМ Алгоритмические машины Тьюринга и Поста способны решать практически любую алгоритмическую задачу при наличии соответствующей конфигурации. С другой стороны: алгоритмические процессы – это процессы, которые может совершать подходяще устроенная машина. 1936 -1937 гг. А может ли существовать универсальная алгоритмическая машина, способная решать любую алгоритмическую задачу? В основу современных процессорных устройств обработки информации положены принципы Джона фон Неймана (амер. ), сформулированные в 1945 году.
Принципы фон Неймана 1. Информация кодируется в двоичном формате и разделяется на единицы (элементы) информации – слова. Слово обрабатывается как единое целое (машинный элемент информации). 2. Разнотипные слова хранятся в одной и той же памяти и различаются только по способу их использования (числа, команды и т. д. ). Все слова по своей сути одинаковы и неразличимы. Такое «однообразие» слов позволяет использовать одни и те же операции для обработки слов различной природы. 3. Слова информации размещаются в ячейках памяти машины и идентифицируются номерами ячеек (адресами). Основная память состоит из пронумерованных ячеек. Адрес ячейки используется для чтения или записи слов.
Принципы фон Неймана 4. Алгоритм представляется в виде последовательности управляющих слов (команд), которые определяют наименование операции и слова информации, участвующие в этой операции. Алгоритм, представленный в терминах машинных команд, называется программой. Четырехадресная команда: 1 0 0 1 1 1 … 0 0 1 1 … 0 1 1 0 … 0 1 … 1 1 КОП Адрес 1 -го Адрес 2 -го Адрес операнда результата следующей команды КОП – это Код Операции 5. Выполнение вычислений, предписанных алгоритмом, сводится к последовательному выполнению команд в порядке, однозначно определяемом программой.
Обобщенная структура ЭВМ Пять принципов фон Неймана предполагают, что основными составными частями ЭВМ должны быть: • АЛУ – арифметико-логическое устройство – для выполнения арифметических и логических операций • УУ – устройство управления – для организации выполнения программы • ЗУ – запоминающее устройство – память • ВУ – внешнее устройство – устройство ввода-вывода
Обобщенная структурная схема ЭВМ процессор память программы АЛУ ГТИ ПП данные УУ У У ввода вывода
Архитектура и структура ЭВМ Архитектура ЭВМ – это логическая организация вычислительного устройства, состав и назначение ее функциональных средств, принципы кодирования и т. п. , т. е. все, что определяет процесс обработки информации. Архитектура, построенная на принципах фон Неймана – классическая архитектура. Структура ЭВМ – это совокупность элементов компьютера и связей между ними. Структура ЭВМ – это «железо» , которое не будет «работать» без программ, задающих алгоритм обработки информации. Необходимость программного обеспечения (ПО).
Программное обеспечение
Программное обеспечение ЭВМ Программное обеспечение (ПО) делится на две группы: - Системное ПО (СПО) - Прикладное ПО (ППО) Системное ПО можно разделить на: - Базовое ПО (BIOS, операционные оболочки) - Сервисное ПО (диагностическое, обслуживающее, антивирусное …. ) Прикладное ПО (ППО): - Пакеты прикладных программ Подробности рассмотреть самостоятельно.
Языки программирова ния
Языки программирования Команда в памяти ЭВМ записана в виде машинного слова Для записи программ используются языки программирования Язык программирования (ЯП) – формализованный язык для описания алгоритмов решения задачи на вычислительной машине ЯП можно разделить: - ЯП низкого уровня (машинные коды, машинно- ориентированные – ассемблеры) - ЯП высокого уровня - алгоритмические (Pascal, Basic, CИ)
Языки программирования Для перевода программ с языка высокого уровня в машинные коды используются специальные программы – трансляторы. Трансляторы бывают двух типов: - Компилляторы - преобразуют всю программу целиком в исполняемый файл в машинных кодах; недостаток – сложности при отладке - Интерпретаторы – преобразуют программу построчно и сразу выполняют; недостаток – более медленное исполнение Объектно-ориентированные языки программирования (Visual Basic, Delphi, C++) – относятся к языкам высокого уровня, имеют свои особенности, используются для создания приложений.
Языки программирования Описание ЯП • Используемые символы – алфавит • Правила записи слов – синтаксис • Ограничения на использование слов Понятие переменной – задается именем (словом), изменяет свое значение по ходу выполнения программы Свойства переменных определяются их типом: - Числа С разным типом переменных - Строки можно производить различные - Символы действия - …
Языки программирования Типы переменных, занимаемый в памяти объем и операции с переменными – рассмотреть самостоятельно.
Пример блок-схемы и программы Блок-схема Программа начало Dim a, b, c As Integer Ввод a, b Input a Input b с=(a+b)^2 Печать с Print c End конец
Операторы BASIC Оператор объявления типа записывается в начале программы или процедуры в разделе объявлений (Declarations). Синтаксис записи: Dim Имя_переменной 1 [As тип 1][, ]… После слова Dim через запятую можно записывать несколько таких конструкций: Dim X As Single, Число. Элементов As Integer, Пи As Double, S As String. После String может стоять знак * и указано число символов в строке (длина строки).
Переменные и действия с переменными Задание переменных : Dim X As Intetger Dim E As String Dim A As Single Операции с переменными : - математические “ + ”, “ - ”, “ * ”, “ / ”, “ ^ ”, “ () ” - логические “AND”, “OR”, “NOT” - операции отношений “ = ”, “ > ”, “ < ”, “ >=”, “ <=”, “≠ ”
Операторы BASIC Оператор присваивания: Имя. Переменной = Значение. Переменной Совокупность данных одного типа, расположенных в памяти последовательно, может образовывать массив. Массив обозначается именем с указанием размерности и типа данных: Dim Имя. Массива(размерность1, размерность2, . . . ) As тип. Dim B(1, 9) As Integer. Обращение к элементу массива осуществляется указанием его имени и индекса. По умолчанию индекс массива начинается с нуля. Для явного указания границ массива применяется служебное слово To: Dim B(1 To 2, 1 To 10) As Integer.
Переменные и действия с переменными Примеры задания переменных : Dim X As Intetger X = 24 – «переменной Х присваивается значение 24» A=X – «переменной А присваивается значение переменной Х» Массивы Dim A(30) As Integer - одномерный массив Dim A(30, 30) As Integer - двумерный массив Константы Const Pi As Single = 3. 1428 В процессе вычислений константа изменяться не может
Операторы условия 1. Однострочная форма : If Условное. Выражение Then Оператор1 [Else Оператор2] 2. Многострочная форма : If Условное. Выражение Последовательность. Операторов 1 [Else Последовательность. Операторов 2] End If Примечание: операторы, заключенные в квадратные скобки, могут отсутствовать (не обязательны).
Операторы условия Использование однострочного оператора If начало Ввод a, b Dim a, b, c As Integer c=b Input a, b да нет a> b c=b If a>b Then c=a Print c End Печать с конец
Операторы условия (примеры) Использование многострочного оператора If начало Dim a, b, c As Integer Ввод a, b Input a, b c=b If a>b Then да нет a> b c=a Else c=a c=b End If Печать с Print c End конец
Операторы условия 3. С вложенными операторами : If Условное. Выражение 1 Then Else Последовательность. Операторов 1 If Условное. Выражение 2 Then Последовательность. Операторов 2 End If
Операторы условия (примеры) начало Dim a As Integer 5 Input a Ввод a If a>5 OR a<2 Then да нет a>5 OR a<2 GOTO 5 Else да нет If a>2 Then a>2 Print «зачет» Else «зачет» «не зачтено» Print «не зачтено» End If конец End GOTO 5 – оператор безусловного перехода (к метке 5)
Операторы условия 4. Использование оператора Else. If позволяет использовать другую запись подобной конструкции в программе, объединяя два операторных слова Else и If в одно и обойтись одним оператором End If вместо двух: If Условное. Выражение 1 Then Последовательность. Операторов 1 Else. If Условное. Выражение 2 Then Последовательность. Операторов 2 Else Последовательность. Операторов 3 End If
Операторы условия (примеры) начало Dim a As Integer 5 Input a Ввод a да нет If a>5 OR a<2 Then a>5 OR a<2 GOTO 5 Else. If a>2 Then да нет a>2 Print «зачет» «не зачтено» Else Print «не зачтено» End If конец End GOTO 5 – оператор безусловного перехода (к метке 5)
Информатика Лекция 6.ppt
- Количество слайдов: 47

