Реализация алгоритмов в электронных таблицах

Разделы: Информатика


Реализацию алгоритма вычислительной задачи в электронных таблицах Excel возможно, так как они выполняют необходимые требования, предъявляемые к среде реализации алгоритма [Глущенко Ю. В. Обоснование использования языка программирования в учебном процессе (в печати)].

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

  1. Составление спецификаций переменных заданного алгоритма в виде таблицы, в столбцах которой будут Имя переменной в алгоритме, назначение, тип, диапазон, адрес в Excel, вид реализации.
  2. Разработка таблиц ВводаИнформации.
  3. Разработка таблицы подзадачи ОбработкаИнформации.
  4. Разработка таблицы ВыводаРезультата.
  5. Тестирование построенных таблиц.

Линейные алгоритмы

ЗАДАЧА. Задан алгоритм в виде:

НАЧАЛО_АЛГОРИТМА

  1. Ввести значения сторон треугольника а, в, с.
  2. Вычислить значение полупериметра р = (а+в+с)/2
  3. Вычислить площадь треугольника S=(p*(p-а)*(р-в)*(р-с)).
  4. Вывести значение S.

КОНЕЦ_АЛГОРИТМА

Реализовать вычисления по заданному алгоритму в Excel.

РЕШЕНИЕ.

1. Спецификация переменных исходного алгоритма:

№ п/п.

Имя перем. в алгоритме

Назначение

Тип

Диапазон

Адрес

Вид реализации

Переменные входного потока

1 А Сторона тр-ка Вещ 0, + B3 <число>
2 В Сторона тр-ка Вещ 0, + B4 <число>
3 С Сторона тр-ка Вещ 0, + В5 <число>

Переменные блока обработки информации

4 Р полупериметр Вещ 0, + Е3 <формула>
5 S Площадь тр-ка Вещ 0, + Е4 <формула>

Переменные выходного потока.

6 S Площадь тр-ка Вещ 0, + Н3 <формула>

2. Разработка таблицы ВводаИнформации

Таблица ВводаИнформации должна содержать значения переменных входного потока. Ее реализация показана на Рис. 1.

3. Разработка таблицы подзадачи ОбработкаИнформации

В данной таблице необходимо провести вычисления полупериметра и площади. Оба эти параметра вводятся с помощью формул в соответствующие ячейки. Реализация данной таблицы приведено на Рис. 1.

4. Разработка таблицы ВыводаРезультатов

Таблица ВыводаРезультатов должна содержать значения переменных выходного потока. Ее реализация показана на Рис. 1.

5. Тестирование разработанных таблиц

Для тестирования полученных таблиц строим таблицу теста по следующему шаблону:

№ п/п. Имя Назначение Значение/результат
1 А Входной поток 1 3 1    
2 В 1 4 1    
3 С 4 5 2    
4 Р Промежуточные 3 6 2    
5 S Выходной поток Ошибка 6 0    

ЗАДАЧА РЕШЕНА.

Задачи для самостоятельной работы можно найти в Приложении 1.

Алгоритм ветвления

ЗАДАЧА. Задан алгоритм в виде:

НАЧАЛО_АЛГОРИТМА

  1. Ввести значение переменной Х.
  2. ЕСЛИ Х не больше 0, ТО          Y:=Х*Х, ИНАЧЕ Y:=Х+1.
  3. Вывести значение переменной Y.

КОНЕЦ_АЛГОРИТМА

Реализовать вычисления по заданному алгоритму в Excel.

РЕШЕНИЕ.

1. Спецификация переменных исходного алгоритма:

№ п/п. Имя переменной в алгоритме. Назна-чение Тип Диа-пазон Адрес Реализация
Переменные входного потока
1 Х Входной поток вещ ± B3 <число>
Переменные блока обработки информации
2 Y вычисление вещ ± Е3 <формула>
Переменные выходного потока.
2 Y Выходной поток вещ ± Е3 <формула>

2. Разработка таблицы ВводаИнформации

Таблица ВводаИнформации должна содержать значения переменных входного потока. В нашем случае значение X. Ее реализация показана на Рис. 2.

3, 4. Разработка таблицы подзадачи ОбработкаИнформации.

В данной задаче можно (и нужно) объединить задачи ОбработкиИнфориации и ВыводаРезультатов, построив только таблицу ВыводаРезультатов. Ее реализация показана на Рис. 2.

5. Тестирование разработанной таблицы.

Для тестирования полученной таблицы необходимо взять минимум три значения Х:

  • слева от ветвления,
  • в точке ветвления,
  • справа от точки ветвления.

Значения берутся так, чтобы просто было проверить результат. Поэтому построим таблицу тестирования в виде:

Имя переменной ЗНАЧЕНИЕ/РЕЗУЛЬТАТ
Слева от точки ветвления В точке ветвления Справа от точки ветвления
X -5 0 2
Y 25 0 3

ЗАДАЧА РЕШЕНА.

Задачи для самостоятельной работы можно найти в Приложении 2.

Циклические алгоритмы

ЗАДАЧА. Задан алгоритм в виде:

НАЧАЛО_АЛГОРИТМА

  • Ввести значение целочисленной переменной 1<=N<=10.
  • S:= 0        {Начальное значение сумматора равно нулю}.
  • I:= 0         {Начальное значение индекса цикла равно нулю}.
  • I:=I+1      {Текущее значение индекса цикла}.
  • S:=S+I                                         {накопление суммы}.
  • ЕСЛИ N>I то идти на п.4        {конец цикла с постусловием}
  • Вывести значение S                 {Вывод результата}.

КОНЕЦ_АЛГОРИТМА

Реализовать вычисления по заданному алгоритму в Excel.

РЕШЕНИЕ.

1. Спецификация переменных исходного алгоритма:

№ п/п. Имя переменной в алгоритме. Назначение Тип Диапазон Адрес Реализация
Переменные входного потока
1 N ПВхП ц 1..10 B3 <число>
Индекс цикла
1 i индекс ц 1..N А10:A50 <массив>
5 S ПВхдП ц <=55 B10:B50 <формула>
Переменные выходного потока.
5 S ПВхдП ц <=55 Е3 <формула>

2. Разработка таблицы ВводаИнформации

Таблица ВводаИнформации должна содержать значения переменных входного потока. В нашем случае значение N. Ее реализация показана на Рис. 3.

3. Разработка таблицы подзадачи ОбработкаИнформации

Реализация обработки информации возможна лишь с использованием циклического алгоритма.
В случае с Excel данную задачу необходимо разбить на три:

  • Построение столбца индексов цикла.
  • Построение столбца элементов массива.

ЗАДАЧА №1 ПОСТРОЕНИЕ СТОЛБЦА ИНДЕКСА ЦИКЛА.

Данную задачу сформулируем в виде:

Построить столбец значений индекса цикла в интервале [1..N (задано)]. При этом с изменением значения N в ячейке В3 должно изменяться и количество значений индекса цикла в расчетной таблице.
Эта задача решается в столбце А начиная со строки №10.

Важно отметить, что протяжку можно вести до любого номера строки лишь бы при всех изменениях N протяжка формулы захватывала все строки изменения значения индекса цикла. Необходимо только помнить, что при протяжке увеличивается объем файла, то есть чем глубже протянем формулу, тем большим будет объем полученного файла и, возможно, медленнее будет работать Excel с этим файлом.

Рис. 3.

ПЕРВАЯ ЗАДАЧА РЕШЕНА

ЗАДАЧА №2. ПОСТРОЕНИЕ СТОЛБЦА ЭЛЕМЕНТОВ ЦИКЛА.

Здесь под элементом цикла будем понимать текущее значение S, зависящее от значения индекса цикла.
Сформулируем задачу в следующем виде:
Для каждого значения индекса цикла определить текущее значение S.
Столбец В дает нам текущие значения S=f(<индекс цикла>), при этом протяжка формулы в столбце В должна быть не меньше протяжки в столбце А.

Рис. 3.

ВТОРАЯ ЗАДАЧА РЕШЕНА.

4. Разработка таблицы подзадачи ВыводРезультатов

Для решения данной задачи следует понять, что выходным значением S будет наибольшее из значений в ячейках В [10…]. Конечное значение интервала в В определяется протяжкой формул в задачах №№1, 2. Пусть формулы протянули до строки №50. Естественно, наибольшим S будет для наибольшего значения индекса цикла, так как на каждом шаге прибавляется число большее 1.
Следовательно, в ячейку Е3 необходимо ввести формулу

Е3 =>[=МАКС(b10:b50)]

Рис. 3.

И если помнить, что значение пустой ячейки Excel воспринимает как «0», то…

ТРЕТЬЯ ЗАДАЧА РЕШЕНА.

5. Тестирование полученных таблиц

Для тестирования полученной таблицы строим таблицу теста по следующему шаблону:

№ п/п. Имя назначение Значение/результат
1 N Вход 1 5 7 9 10
2 S Выход 1 15 28 45 55

ЗАДАЧА РЕШЕНА.

Задачи для самостоятельной работы можно найти в Приложении 3.