- •Хранение данных
- •Восприятие информации
- •Изменение окружающей среды
- •Применение знаний
- •1.2.2. Процесс хранения данных.
- •1.2.3. Процесс передачи данных
- •Оконечное оборудование
- •1.2.4. Процесс обработки данных
- •2.1. Алгоритм и его свойства
- •2.2. Формы записи алгоритма
- •Последовательность подготовки и решения задачи на эвм
- •Var X,y,a11,a12,a21,a22,b1,b2,Dx,Dy,d : real;
- •Var m, n : integer;
- •3.3. Вывод данных на экран монитора
- •Writeln(a,b,c);
- •Writeln(a,' ',b,' ',c)
- •Var omega, q: real;
- •3.1. Оператор присваивания
- •Условные и составные операторы
- •If Логическое выражение then оператор 1 else оператор 2;
- •Var a, b, max: real;
- •If Логическое выражение then оператор 1;.
- •Var a, b : real;
- •Вложенная ветвящаяся структура
- •X, y, a, b : real;
- •Var X, a, z : real;
- •3.5. Оператор цикла с параметром
- •Var X, y, deltaX, a, b: real;
- •Var имя массива : array [тип индекса] of тип элементов;
- •Var имя массива : имя типа;
- •Имя массива [ индекс ]
- •Прикладное по
- •5.3. Текстовые процессоры
- •5.5. Табличные процессоры
- •5.6. Графические редакторы
- •1. Централизация хранения данных.
- •2. Общий интерфейс между пользователем и бд.
- •3. Концепция администратора бд.
- •7.2. Основные возможности internet
- •7.2.1. Передача файлов ( протокол ftp)
- •7.2.2. Глобальные гипертекстовые структуры (www)
- •7.3. Поиск информации в World Wide Web
2.2. Формы записи алгоритма
На практике наиболее распространены следующие формы представления алгоритмов:
словесная – запись на естественном (“человеческом”) языке;
графическая – изображение команд в виде графических символов;
программная – текст на языке программирования.
Словесный способ записи алгоритмов. Это <TBODY>описание последовательных этапов (шагов) обработки данных. Алгоритм задается в произвольном изложении на естественном языке. </TBODY>
Пример 2.1. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел.
Предлагается следующий алгоритм – алгоритм Евклида.
1. Задать два числа.
2. Если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма.
3. Заменить большее из чисел разностью большего и меньшего из чисел.
4. Повторить алгоритм с шага 2.
Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедимся в этом, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75:
1. m = 125, n = 75.
2. m > n, значит
3. Новое m = 125 – 75 = 50, n = 75. Возврат к 2.
2. n > m, значит
3. Новое n = 75 – 50 = 25, m = 50. Возврат к 2.
2. m > n, значит
3. Новое m = 50 – 25 = 25, n = 25. Возврат к 2.
2. m = n. Значит ОТВЕТ = 25.
Словесный способ не имеет широкого распространения по следующим причинам:
описания не формализованы (нет строгих правил);
страдают многословностью записей;
допускают неоднозначность толкования отдельных предписаний.
Графический способ записи алгоритмов. Графический способ представления алгоритмов является более наглядным по сравнению со словесным.
Таблица 2.1. | ||
<TBODY>Название символа |
Обозначение и пример заполнения |
Пояснение |
Процесс |
|
Вычислительное действие или последовательность действий |
Решение |
|
Проверка условий |
Модификация |
|
Начало цикла |
Ввод-вывод |
|
Ввод-вывод в общем виде |
Пуск-останов |
|
Начало или конец алгоритма |
<TBODY>При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.</TBODY> Такое представление называется блок-схемой алгоритма.
В блок-схеме каждому типу действий соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий.
В таблице 2.1. приведены наиболее часто употребляемые символы.
Блок "процесс" применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения указанных данных. Для улучшения наглядности схемы несколько отдельных действий по обработке можно объединять в один блок. Представление отдельных операций достаточно свободно.
Блок "решение" используется для обозначения изменения порядка действий в зависимости от некоторого условия. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.
Блок "модификация" используется для организации циклических конструкций. Слово модификация означает видоизменение, преобразование. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения. На рис. 2.1. приведена блок-схема алгоритма решения задачи примера 2.1.
Да
Нет
Да
Нет
Рис. 2.1. Блок-схема
алгоритма Евклида
комбинацией трех базовых (основных) структур: следование, ветвление, цикл.
1. Базовая структура “следование”. Образуется из последовательности действий, следующих строго одно за другим.
Например, требуется вычислить величину y по формуле y = ax2 + bx при произвольных a, b, x. Блок-схема соответствующего алгоритма имеет вид, приведенный на рис 2.2. В данном случае алгоритм состоит из простой последовательности действий (блоков). Значит, </TBODY>он соответствует структуре “следование”.
Рис. 2.2. Алгоритм
вычисления по формуле y
= ax2
+ bx
2. Базовая структура “ветвление” обеспечивает в зависимости от результата проверки выполнения некоторого условия (да или нет) выбор одного из альтернативных путей работы алгоритма.
Структура “ветвление” существует в двух основных вариантах:
если – то:
если – то – иначе.
В алгоритме примера 2.1 присутствуют оба варианта этой структуры. После блока “m = n ?” в случае положительного ответа выполняется действие “Вывести n”, а в случае отрицательного – работа алгоритма продолжается далее. Таким образом, реализована структура “если – то”. После блока “m > n ?” в случае положительного ответа выполняется действие “m = m – n”, а в случае отрицательного (т.е. иначе) – действие “n = n – m”,. Таким образом реализована структура “если – то – иначе”.</TBODY>
3. Базовая структура “цикл”. Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла.
Пример 2.2. Рассмотрим следующую задачу. Двум бойцам, посланным в разведку, надо перебраться через широкую реку. У берега в маленькой лодке удят рыбу два мальчика. Как бойцам с помощью этих детей перебраться на другой берег, если лодка выдерживает либо одного взрослого, либо двоих детей?
Пусть, для определенности, бойцам надо перебраться с правого берега на левый. Предлагается следующий алгоритм решения задачи.
1. Оба мальчика переправляются на левый берег.
2. Один мальчик возвращается на правый берег, второй – остается на левом.
3. Первый боец переправляется на левый берег, а первый мальчик остается на правом.
4. Второй мальчик переправляется на правый берег.
5. Оба мальчика переправляются на левый берег.
6. Один мальчик возвращается на правый берег, второй – остается на левом.
7. Второй боец переправляется на левый берег.
8. Второй мальчик переправляется на правый берег.
Заметим, что шаги 1 – 4 почти совпадают с шагами 5 – 8, разница только в номере переправляемого бойца. Очевидно, что с помощью подобного алгоритма можно переправить любое количество N бойцов, а не только двоих. Для этого надо выполнить следующий алгоритм.
1. Положить k = 1.
2. Оба мальчика переправляются на левый берег.
3. Один мальчик возвращается на правый берег, второй – остается на левом.
4. k-й боец переправляется на левый берег, а первый мальчик остается на правом.
5. Второй мальчик переправляется на правый берег.
6. Увеличить k на 1.
7. Если k = N, то СТОП, иначе перейти к 2.
Это будет циклический алгоритм, тело которого составляют шаги 2 – 7. Другой вариант циклической структуры дан в примере 2.1. В нем телом цикла являются шаги 2 – 4.
Вопрос №7