Разработка алгоритма решения задачи

На рис. 8 показан укрупненный алгоритм решения поставленной задачи. На рис. 9 - 12 показаны основные шаги поэтапной детализации основного алгоритма.

Разработка алгоритма решения задачи - student2.ru Разработка алгоритма решения задачи - student2.ru

Следует обратить внимание на нумерацию блоков в детализирующих блок-схемах. Число до первой точки является номером детализируемого блока в основной схеме. Число после первой точки является номером блока в схеме детализации первого уровня и т.д.

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

Значком & на рис. 11 обозначена логическая операция И.

Разработка алгоритма решения задачи - student2.ru Разработка алгоритма решения задачи - student2.ru

Разработка алгоритма решения задачи - student2.ru Разработка алгоритма решения задачи - student2.ru

Пример 3

Разработка алгоритма решения задачи - student2.ru
Поскольку тестирование вручную алгоритма решения задачи о шахматном коне было бы достаточно громоздким, рассмотрим технологию тестирования на примере алгоритма Евклида (рис. 14).

Для тестирования вручную следует оставить достаточно свободного места справа от блок-схемы. Контрольный пример не должен быть слишком сложным - это затрудняет тестирование, но и не быть тривиальным - это может привести к случайному совпадению с правильным решением. В первом столбце таблицы справа от блок-схемы, записываются переменные или условия, значения которых могут изменяться. Начиная со второго столбца сверху-вниз записываются результаты выполнения алгоритма. Начало нового цикла соответствует добавлению нового столбца таблицы. Исполнитель (разработчик алгоритма) должен выполнять команды формально, строго придерживаясь предписаний в блок-схеме.

Задание

Разработать алгоритм и программу решения задачи, Задачу выбрать в разделе «Варианты заданий к работе» согласно вашему варианту. Оформить отчет о работе.

Порядок выполнения

1) Внимательно ознакомиться с теоретическими сведениями, приведенными в лабораторной работе;

2) Выбрать задание из раздела «Варианты заданий к работе», с номером равным вашему варианту;

3) Последовательность решения задачи (оформляется в рукописном виде):

- Произвести словесную формулировку задачи;

Пример: Вычислить наибольший общий делитель (НОД) двух натуральных чисел A и B, используя алгоритм Евклида.

- Формализовать поставленную задачу, указав, что дано в задаче и что нужно найти;

Пример:

Дано: A, B.

Найти: НОД.

- Составить контрольный пример для тестирования задачи;

Пример: A = 35; B = 14; НОД = 7.

- Произвести словесное описание алгоритма;

Пример:

1. Ввод А и В;

2. Если А = В, то Переход к 7, иначе Переход к 3;

3. Если А > В, то Переход к 4, иначе Переход к 5;

4. А = А – В;

5. В = В – А;

6. Переход к 2;

7. Вывод «НОД=А».

- Нарисовать блок-схему алгоритма решения задачи;

Пример:

- Нарисовать таблицу с тестом алгоритма справа от блок-схемы Разработка алгоритма решения задачи - student2.ru
. Таблица составляется согласно следующим правилам:

а). Строки располагаются напротив соответствующих операций в блок-схеме;

б). Первый столбец должен содержать имена переменных или логическое условие, соответствующее операции в блок-схеме;

в). Остальные столбцы должны содержать значения переменных или результат логического выражения для каждой случая выполнения данной операции в блок-схеме;

Пример:

Разработка алгоритма решения задачи - student2.ru A B   A=B     A>B   B A     НОД   нет     да    
нет     да     нет     нет     да  

4) Продемонстрировать составленную последовательность решения задачи преподавателю, получить отметку о выполнении и оформить отчет в электронном виде;

Содержание отчета

1) Титульный лист, оформленный согласно применяемому ранее шаблону;

2) Цель лабораторной работы;

3) Ход работы с результатами выполнения пункта 3 раздела «Порядок выполнения».

Контрольные вопросы

1) Что такое программа?

2) Что понимают под исполнителем?

3) Что представляет собой машинный код?

4) Что такое транслятор? Перечислите типы трансляторов.

5) Как работает интерпретатор? В чем его достоинства?

6) В чем заключается достоинство компиляторов?

7) Какие компоненты необходимы для создания программ? Каково назначение каждого из этих компонентов?

8) Что называется интегрированной системой программирования?

9) Чем характеризуются системы визуального программирования?

10) Какие подходы по способу разработки программ можно выделить? Охарактеризуйте каждый подход.

11) Каковы основные системы программирования?

12) Перечислите основные этапы развития языков программирования.

13) Что понимают под алгоритмом?

14) Каковы способы записи алгоритмов?

15) В чем заключаются основные свойства алгоритма?

16) Перечислите основные алгоритмические структуры и опишите их.

17) Каковы основные принципы разработки алгоритмов?

18) Назовите основные этапы составления алгоритмов.

19) Приведите пример, реализующий этапы алгоритмизации.

20) Каковы основные этапы решения задач с помощью ЭВМ? Дайте характеристику каждому этапу.

Варианты заданий к работе

Задача 1

Вычислить выражение

Разработка алгоритма решения задачи - student2.ru

Задача 2

Элементы x иy вычисляются по формулам:

Разработка алгоритма решения задачи - student2.ru Разработка алгоритма решения задачи - student2.ru

при Разработка алгоритма решения задачи - student2.ru Вычислить Разработка алгоритма решения задачи - student2.ru .

Задача 3

Вычислить выражение

Разработка алгоритма решения задачи - student2.ru

Задача 4

Вычислить выражение:

Разработка алгоритма решения задачи - student2.ru

Задача 5

Вычислить выражение

Разработка алгоритма решения задачи - student2.ru

Задача 6

Значения членов числовой последовательности ai , bi вычисляются по формулам:

Разработка алгоритма решения задачи - student2.ru

Не применяя массивов, вычислить Разработка алгоритма решения задачи - student2.ru при а1 = b1 = 1.

Задача 7

Элементы последовательности xi, Разработка алгоритма решения задачи - student2.ru вычисляются по формуле

Разработка алгоритма решения задачи - student2.ru при x1 = 2 и x2 = 1. Вычислить Разработка алгоритма решения задачи - student2.ru .

Задача 8

Вычислить сумму

Разработка алгоритма решения задачи - student2.ru

Задача 9

Значения xi вычисляются циклически:

Разработка алгоритма решения задачи - student2.ru

Вычислить xk, не применяя массивов, если Разработка алгоритма решения задачи - student2.ru

Задача 10

Вычислить выражение:

Разработка алгоритма решения задачи - student2.ru

Задача 11

Вычислить выражение

Разработка алгоритма решения задачи - student2.ru

Задача 12

Вычислить произведение первых N сомножителей:

Разработка алгоритма решения задачи - student2.ru

Задача 13

Числовая последовательность задана формулой

Разработка алгоритма решения задачи - student2.ru

Вычислить Разработка алгоритма решения задачи - student2.ru , не применяя массивов, если Разработка алгоритма решения задачи - student2.ru

Задача 14

Вычислить выражение:

Разработка алгоритма решения задачи - student2.ru

Задача 15

Вычислить выражение

Разработка алгоритма решения задачи - student2.ru

Задача 16

Вычислить приближенное значение бесконечной суммы

Разработка алгоритма решения задачи - student2.ru

Нужное приближение считается полученным, если последнее слагаемое, вошедшее в сумму, оказалось меньше данного положительного Разработка алгоритма решения задачи - student2.ru .

Задача 17

Вычислить приближенно значение бесконечной суммы

Разработка алгоритма решения задачи - student2.ru

Нужное приближение считается полученным, если последнее слагаемое, вошедшее в сумму, оказалось меньше данного положительного Разработка алгоритма решения задачи - student2.ru .

Задача 18

Числовая последовательность задана формулой

Разработка алгоритма решения задачи - student2.ru

Определить, начиная с какого i, члены последовательности становятся меньше данного положительного числа Разработка алгоритма решения задачи - student2.ru .

Задача 19

Числовая последовательность задана формулой

Разработка алгоритма решения задачи - student2.ru

Определить минимальное количество членов k, для которых выполняется условие Разработка алгоритма решения задачи - student2.ru где R - заданное число, Разработка алгоритма решения задачи - student2.ru

Задача 20

Дано действительное b<0. Последовательность a1, a2, ... образуется по следующему закону:

Разработка алгоритма решения задачи - student2.ru

Не используя массивов, найти значение и номер первого неотрицательного члена последовательности.

Задача 21

Члены последовательности вычисляются по формуле

Разработка алгоритма решения задачи - student2.ru

Найти номер i, начиная с которого выполняется условие Разработка алгоритма решения задачи - student2.ru .

Задача 22

Сколько членов последовательности Разработка алгоритма решения задачи - student2.ru надо просуммировать, чтобы сумма превысила данное значение S>0?

Задача 23

Дана последовательность: Разработка алгоритма решения задачи - student2.ru Сколько членов этой последовательности, начиная с первого, и, далее по порядку, надо перемножить, чтобы произведение оказалось меньше данной положительной величины Разработка алгоритма решения задачи - student2.ru e?

Задача 24

Вычислить приближенное значение бесконечной суммы

Разработка алгоритма решения задачи - student2.ru

Нужное приближение считается полученным, если абсолютное значение последнего слагаемого, вошедшего в сумму, оказалось меньше данного положительного Разработка алгоритма решения задачи - student2.ru .

Задача 25

Среди чисел Разработка алгоритма решения задачи - student2.ru найти ближайшее меньшее, чем заданное число A.

Задача 26

Последовательность чисел формируется по следующему закону: Разработка алгоритма решения задачи - student2.ru Найти номер i (i³2) первого члена последовательности, для которого выполняется условие Разработка алгоритма решения задачи - student2.ru

Задача 27

Элементы последовательности xi, Разработка алгоритма решения задачи - student2.ru вычисляются по формуле Разработка алгоритма решения задачи - student2.ru при x1 = 2 и x2 = 1. Вычислить, не применяя массивов, начиная с какого i xi становится меньше заданного значения Z, (0<Z<1.3).

Задача 28

Значения членов числовой последовательности ai , bi вычисляются по формулам:

Разработка алгоритма решения задачи - student2.ru

где i = 2, 3, ...; а1 = b1 = 1.

Вычислить, не применяя массивов, начиная с какого i bi становится меньше заданного значения S>0.

Задача 29

Последовательность значений имеет вид:

Разработка алгоритма решения задачи - student2.ru

При каком минимальном n значение произведения членов последовательности от 1-го до n-го становится больше заданного P>0?

Задача 30

Последовательность значений имеет вид:

Разработка алгоритма решения задачи - student2.ru

При каком минимальном n значение произведения первых членов последовательности от 1-го до n-го становится меньше заданного 0<P<1?

Наши рекомендации