Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1c / Лабораторная работа_1

.doc
Скачиваний:
37
Добавлен:
14.05.2015
Размер:
143.87 Кб
Скачать

Лабораторная работа №1

Тема: Составление блок-схем алгоритмов.

Цель: Получить практические навыки составления блок-схем алгоритмов.

Задание: на основе полученного задания составить словесно-формульное описание алгоритма задачи, описание на псевдокоде и графическое описание алгоритма. Лабораторная работа состоит из 3 заданий.

В тетради для практических работ для:

  1. Задания из блока 1 и блока 2 привести номер, текст задания, псевдокод и графическое описание алгоритма.

Таблица распределения заданий по вариантам

Номер по списку

Задание

Номер по списку

Задание

1.

3, 5

13.

3, 5

2.

4, 6

14.

4, 6

3.

5, 7

15.

5, 7

4.

6, 8

16.

6, 8

5.

7, 9

17.

7, 9

6.

8, 10

18.

8, 10

7.

9, 11

19.

9, 11

8.

10, 12

20.

10, 12

9.

11, 1

21.

11, 1

10.

12, 2

22.

12, 2

11.

1, 3

23.

1, 3

12.

2, 4

24.

2, 4

Дополнительная информация

Базовые конструкции структурного программирования

Существует несколько способов описания алгоритмов:

- словесно-формульное описание алгоритма, т. е. описание алгоритма с помощью слов и формул;

- графическое описание алгоритма, т. е. описание с помо­щью специальных графических схем алгоритмов – блок-схемы;

- способ, использующий псевдокоды. Псевдокоды – это интерпретация шагов алгоритма на обычном языке, кото­рая описывает действие команды. Псевдокод используется в листингах, чтобы показать общую структуру програм­мы, не применяя реальных операторов языка программи­рования;

- запись алгоритма на одном из языков программирова­ния (Basic, С++, Pascal, и т. п.).

1. Типы алгоритмов

В зависимости от особенностей своего построения алгоритмы делятся на три основные группы:

  • линейные;

  • разветвляющиеся;

  • циклические.

Разнообразие алгоритмов определятся тем, что любой алгоритм распадается на части, фрагменты и каждый фрагмент представляет собой алгоритм одного из трех указанных. Поэтому важно знать структуру каждого из алгоритмов и принципы их составления.

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

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.

То есть линейный алгоритм выполняется в естественном порядке его написания и не содержит разветвлений и повторений. Структура такого алгоритма показана на рис. 4.

Рис. 4 Линейный алгоритм

Псевдокод

нач ввод переменные

действие

вывод

кн

Алгоритмы ветвящейся структуры

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

Каждый подобный путь называется ветвью алгоритма.

Признаком разветвляющегося алгоритма является нали­чие операций условного перехода, когда происходит проверка истинности некоторого логического выражения (проверяемое условие) и в зависимости от истинности или ложности проверяе­мого условия для выполнения выбирается та или иная ветвь ал­горитма. Алгоритм предполагает выполнение Действия 1, если записанное условие истинно (выполняется), и выполнение Дей­ствия 2, если условие ложно (не выполняется).

Рис. 5 Алгоритм ветвящейся структуры

В частном случае может отсутствовать один из блоков — «Действие 1» или «Действие 2».

Псевдокод

если условие

то действие 1

иначе действие 2

кв

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

Реализует повторение некоторых действий. Иными словами циклические алгоритмы включают в себя циклы.

Циклом называется последовательность действий, выполняе­мых многократно, каждый раз при новых значениях параметров.

Примером циклических алгоритмов может служить алго­ритм покраски забора. Действительно, рассмотрим этот алгоритм в словесно-формульном виде:

Шаг I. Подготовить исходные данные (забор, краску, кисть).

Шаг II. Подойти к забору.

Шаг III. Обмакнуть кисть в краску.

Шаг IV. Нанести краску кистью на поверхность забора.

Шаг V. Если забор еще не весь окрашен, то повторить алгоритм начиная с пункта (шаг III).

Существует несколько видов циклических инструкций, с по­мощью которых можно организовать циклы:

1. Инструкция «Цикл с параметром» (цикл с заданным количеством повторений).

Рис. 6 Инструкция «Цикл с параметром»

2. Инструкция «Цикл с предусловием» (цикл — «пока»).

Рис. 7 Инструкция «Цикл с предусловием»

Псевдокод

пока условие, повторять

нц

действие

кц

  1. Инструкция «Цикл с постусловием» (цикл — «до»).

Рис. 8 Инструкция «Цикл с постусловием»

Псевдокод

повторять

действие

до условие

Задания

Блок 1

  1. Алгоритм поиска суммы минимального и максимального из трех введенных чисел.

  2. Даны два числа. Меньшее заменить их полусуммой, а большее - удвоенным произведением. Составить алгоритм.

  3. Найти меньшее из двух целых чисел.

  4. Найти большее из двух целых чисел.

  5. Каждая бактерия делится на две в течение одной минуты. В начальный момент времени имеется одна бактерия. Составить алгоритм нахождения числа бактерий на 10 минуте.

  6. Даны a, b, . Найти площадь треугольника, две стороны которого равны a и b, а угол между этими сторонами равен .

  7. Дана сторона квадрата a. Найти его периметр P = 4·a.

  8. Дана сторона квадрата a. Найти его площадь S = a2.

  9. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и периметр P = 2·(a + b).

  10. Дана длина ребра куба a. Найти объем куба V = a3 и площадь его поверхности S = 6·a2.

  11. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

  12. Даны переменные A, B, C. Изменить их значения, переместив содержимое A в B, B — в C, C — в A, и вывести новые значения переменных A, B, C.

Блок 2

Пример 1. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.

Псевдокод:

алг Среднее арифметическое

цел а, b

вещ. SA

нач ввод a,b

SA=(a+b)/2

вывод SA

кон

Блок схема

Пример 1.

алг

цел x

вещ f

ввод х

если х<=3

то f=–х2+3*х+9

иначе если (х2+1)=0

вывод “ДЕЛЕНИЕ НА 0”

иначе f=(х/(x2+1))

кв

кон

Блок схема