- •Содержание
- •Введение
- •1 Рабочая программа по дисциплине «информатика»
- •Раздел 2. Алгоритмизация и программирование
- •2 Основы алгоритмизации
- •2.1 Основные этапы подготовки и решения задачи на компьютере
- •2.2 Постановка задачи. Разработка математической модели
- •2.3 Алгоритм и его свойства
- •2.4 Форма записи алгоритма на естественном языке
- •2.5 Графическая форма записи алгоритма
- •2.6 Типовые вычислительные процессы и структуры алгоритмов
- •2.6.1 Линейный вычислительный процесс
- •2.6.2 Разветвляющийся вычислительный процесс
- •2.6.3 Циклический вычислительный процесс
- •2.6.4 Алгоритмы обработки одномерных информационных массивов
- •2.6.5 Алгоритмы обработки двумерных информационных массивов
- •3 Язык программирования vba
- •3.1 Элементы языка
- •3.2 Программирование алгоритмов линейной структуры
- •3.3 Программирование алгоритмов разветвленной структуры
- •3.4 Программирование алгоритмов циклической структуры
- •3.5 Организация программ обработки одномерных массивов
- •3.6 Организация программ обработки двумерных массивов
- •4 Контрольная работа и методические указания по её выполнению
- •4.1 Выбор варианта
- •4.2 Задание 1. Варианты задач
- •4.3 Задание 2. Варианты задач
- •4.4 Задание 3. Теоретический вопрос
- •4.5 Методические указания по выполнению контрольной работы
- •4.5.1 Пример выполнения задания 1
- •4.5.2 Пример выполнения задания 2
- •4.5.3 Пример выполнения задания 3
- •Вопросы для подготовки к экзамену
- •Программирование алгоритмов циклической структуры.
- •Литература
- •Указатель
- •650992, Г. Кемерово, пр. Кузнецкий, 39. Тел. 25-75-00.
2.6 Типовые вычислительные процессы и структуры алгоритмов
2.6.1 Линейный вычислительный процесс
Линейный вычислительный процесс – это процесс с естественным и единственным порядком выполнения действий алгоритма, реализует расчеты по явным формулам. В практике этот процесс самостоятельно встречается редко, но в качестве отдельных участков (структура следования) он есть практически во всех алгоритмах.
Таблица 2 – Блоки (геометрические фигуры), используемые в блок-схемах алгоритмов
Блок |
Описание блока |
|
Начало, конец и остановка вычислений. Внутри блока записываются слова «начало», «конец» или «остановка» |
|
Ввод исходных данных и вывод полученных результатов. Внутри блока записываются слова «ввод» или «вывод», а рядом перечисляются переменные, которые необходимо задать или распечатать |
|
Вычислительная операция или последовательность вычислительных операций (присваиваний). Внутри блока записывается содержание операции или следующих друг за другом операций. |
Да Нет |
Выбор решения. Внутри блока записывается условие. Условием предусматривается два варианта продолжения выполнения программы. Если условие истинно, то осуществляется переход к операции по стрелке «да». Если условие ложно, то выполняется операция по стрелке «нет» |
|
Организация цикла (блок модификации). Внутри блока записывается целочисленная переменная-счётчик с указанием её начального, конечного значения и шага изменения. Стрелка вниз – переход к телу цикла, левая стрелка показывает переход на продолжение цикла, правая – выход после завершения цикла |
|
Соединитель. Разрыв линии, связывающей блоки |
В пункте 2.2 были построены математические модели функциональной и вычислительной задачи, блок-схемы их алгоритмов имеют линейную структуру, как показано на рис. 2 и 3.
Рис. 2 Блок-схема к примеру 1 Рис. 3 Блок-схема к примеру 2
2.6.2 Разветвляющийся вычислительный процесс
Вычислительный процесс, в котором естественный порядок выполнения действий нарушается в результате проверки некоторого условия и образования двух ветвей дальнейших действий, называется разветвляющимся.
Участок алгоритма, состоящий из блока выбора решения и связанных с ним блоков по направлениям «да» и «нет», будем называть разветвленным.
Выполним построение математической модели и алгоритма решения функциональной задачи начисления заработной платы.
Пример 3. Рассчитать недельную заработную плату рабочего, если известно количество отработанных им часов и стоимость одного часа. Рабочая неделя длится 40 часов, если рабочий отработал больше 40 часов, то его сверхурочные рассчитываются по двойному тарифу.
а) Введем обозначения переменных:
k – количество отработанных часов в неделю;
t – стоимость одного часа (тариф);
zp – недельная заработная плата рабочего.
б) Тип переменных:
k – простая переменная целого типа;
t, zp – простые переменные вещественного типа.
в) Классификация по группам: исходные данные: k, t; результат: zp.
г) Расчетные формулы в последовательности их выполнения:
Если количество отработанных часов k ≥ 40, то zp=40t+(k-40)2t, иначе zp=40t
Представим алгоритм начисления заработной платы в виде блок-схемы (рис.4):
Рис. 4 Блок-схема к примеру 3
Выполним построение математической модели и алгоритма решения задачи вычислительного характера.
Пример 4. Предусмотреть исключение всех случаев возникновения неопределенности при вычислении функции по формуле:
a, b, c, x заданы.
а) Введем новые переменные для повторяющихся выражений:
t=ax-b, p=2.5bx;
б) a, b, c, x, t, p, y - простые переменные вещественного типа;
в) исходные данные: a, b, c, x;
результат: y; промежуточные результаты: t, p;
г) расчетные формулы в последовательности их выполнения:
t=ax-b;
p=2.5bx;
Если знаменатель дробного выражения p = 0, то выводится сообщение "Y не определена", иначе
Если логарифмическое выражение t ≤ 0, то выводится сообщение "Y не определена", иначе выводится значение
Представим алгоритм исключения неопределённости функции в виде блок-схемы (рис.5):
Рис. 5 Блок-схема к примеру 4