Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы компьютерных наук. Ч.1. Учебное пособие
.pdf
Начало / Конец
Действие
Ввод / Вывод
6. Практическая часть
Практическая часть выполняется в письменном виде или на
персональном компьютере в среде Microsoft Visio (по указанию
преподавателя).
6.1. Практическое занятие № 1. Основные принципы
алгоритмизации
– Найти и записать в таблицу основные типы блоков алгоритма
и соединительных линий.
– Изучить и записать основные принципы алгоритмизации.
– Изучить ГОСТ 19.701-90 Схемы алгоритмов, программ,
данных и систем.
6.2. Практическое занятие № 2.Задачи на простые
алгоритмы
Цель занятия — научиться строить линейные алгоритмы,
составлять их словесное описание и блок-схему.
Линейный алгоритм – это тип алгоритма, в котором
последовательность действий не меняется в его процессе выполнения.
В нем отсутствуют ветвления, циклы и прочие структуры,
увеличивающие сложность алгоритма (табл. 2).
Таблица 2. Элементы блок-схемы для практического занятия № 2
Существуют общие правила построения алгоритма задачи
(основные принципы алгоритмизации).
1. Выявить исходные данные, результаты, назначить им имя.
2. Выбрать метод (порядок) решения задачи.
3. Разбить метод решения задачи на этапы (с учётом возможностей
ПК) для графического представления алгоритма.
41

2
22
2cos
6
1.
0,5 sin
3
5
x
x
z
yy
,xy
2cos ;
6
ax
2
0,5 sin ;by
2
2
1.
3
5
x
cy
.
a
zc
b
4. Изобразить каждый этап в виде соответствующего блока схемы
алгоритма и указать линиями связи и порядок их выполнения.
5. В полученной схеме при любом варианте вычисления:
1) предусмотреть выдачу результатов или сообщений об их
отсутствии;
2) обеспечить возможность после выполнения любой операции
так или иначе перейти к блоку «Конец».
Данные правила позволяют разделить процесс построения
алгоритма на отдельные шаги, что делает процесс построения
понятным и простым.
Пример
Необходимо построить алгоритм (дать словесное описание и
построить блок-схему) для вычисления по следующей формуле:
Решение.
1. Исходные данные -
. Результат - z.
2. Для решения поставленной задачи необходимо построить
линейный алгоритм.
3. Для большей наглядности решения введем обозначения:
формула примет вид:
4. На рис. 13 приведены 3 варианта блок-схемы данного алгоритма:
подробная блок-схема, в которой для каждого действия
предусмотрен отдельный блок;
блок-схема, в которой предварительные вычисления
объединены в один блок. Данная блок-схема по смыслу
ничем не отличается от предыдущей, но позволяет более
компактно изобразить алгоритм вычисления;
блок-схема, в которой не используются введенные ранее
обозначения, а вычисления происходят за одно действие.
Подобное представление удобно при решении простых задач,
однако для более сложных вычислений лучше избегать
Тогда исходная
42

,xy
2cos ;
6
ax
2
0,5 sin ;by
2
2
1;
3
5
x
cy
;
a
zc
b
подобного варианта построения алгоритма, ибо в нем
теряется наглядность, что повышает риск возникновения
ошибки при вычислении.
5. Из рис. 13 видно, что:
предусмотрен блок выдачи результатов вычисления;
после выполнения вычислений осуществляется переход к
блоку «Конец».
Таким образом, был построен алгоритм вычисления по формуле
на основе принципов алгоритмизации. На рис. 13 приведена блоксхема данного алгоритма. Словесно он описывается следующим
образом:
1) начало выполнения алгоритма;
2) ввод исходных данных — значений
;
3) вычисление значения
4) вычисление значения
5) вычисление значения
6) вычисление значения
7) вывод результатов вычислений — значения ;z
8) завершение выполнения алгоритма.
линейного алгоритма для вычисления по заданной формуле. Была
построена блок-схема полученного алгоритма и дано его словесное
описание.
вычисления по формуле (построить блок-схему и дать словесное
описание). Блок-схему привести подробную (по аналогии с рис. 13,а).
Вывод — в данном примере было рассмотрено построение
Задачи для самостоятельного выполнения (табл. 3)
Задание: построить на основе приведенного примера алгоритм
43

№ вар.
Формула
1
2
42
2
3
34
sin
4
6
2
x
xe
z
y
y
2
2
1
7
12
sin cos
2
4
xy x
y
x
xy
z
ey
3
23
4
cos
6
xy
y
x
z e y
4
2
7
2
4
4
4
x
ey
z tg y
xy
5
2
42
3
sin 3
2
7
3
cos
32
y
x
z x y
y
6
24
22
7
7
4
3
4
xy
xy
y
z ctg x e
7
2
7
4
sin 7
cos 7
4
xy
xy
z xy
e
8
2
2 3 7
3
2
sin 2
4
cos 2
2
xy
x x y
z
xe
9
3
2
22
4
22
4
x
y
yx
z tg e
xy
Таблица 3. Варианты заданий для практического занятия № 2
44

10
2
4
4
1
sin
2
cos
2
y
x
z xy
e
Таблица 3. Окончание
Рис. 13. Блок-схема алгоритма вычисления по формуле: а – полная
запись, б – сокращенная запись, в – короткая запись
6.3. Практическое занятие № 3.Задачи на условия
Цель занятия — научиться пользоваться условными
операторами и оформлять разветвляющиеся схемы алгоритма.
Разветвляющимся является алгоритм, если
последовательность выполнения шагов решения задачи изменяется в
зависимости от некоторых условий. Условие – это логическое
выражение, принимающее одно из двух значений: «Да», если условие
верно, и «Нет», если условие неверно, и которое может содержать
логические операции и знаки отношений (табл. 4).
45

Начало / Конец
Действие
Ввод / Вывод
Условие
Форма записи
Структура оператора
Краткая
if (условие) { операторы-Да }
Полная
if (условие) { операторы-Да; } else { операторыНет}
y
x
x
y
x,y
Таблица 4. Элементы блок-схемы для практического занятия № 3
Разветвляющиеся алгоритмы оформляются операторами полной
или укороченной формы (табл. 5).
Таблица 5. Формы записи разветвляющихся алгоритмов
В условном операторе выполняется всегда одна из веток («Да»
при истинном условии или «Нет», если оно ложно) и никогда не
выполняются обе вместе.
Пример
Даны два числа - x и
данных двух чисел, если
положительное, и частное
противном случае.
Решение.
1. Исходные данные -
. Результат - z.
2. Для решения поставленной задачи необходимо построить
разветвляющийся алгоритм.
3. Из условия задачи видно, что результат рассчитывается в каждом
случае по определенной формуле:
. Найти среднее арифметическое
в
46

2
x + y
z=
0x>
x
z=
y
0x
x,y
0x>
0x>
z
, если
;
4. Блок-схема алгоритма вычисления по формуле из данного задания
приведена на рис. 14.
5. Из рис. 14 видно, что:
предусмотрен блок выдачи результатов вычисления;
после выполнения вычислений осуществляется переход к
, если
блоку «Конец».
.
Рис. 14. Блок-схема разветвляющегося алгоритма
Таким образом, был построен алгоритм вычисления по формуле
на основе перечисленных ранее принципов алгоритмизации. На рис. 14
приведена блок-схема данного алгоритма. Словесно он описывается
следующим образом:
1) начало выполнения алгоритма;
2) ввод исходных данных — значений
3) проверка условия
1) если условие
:
выполняется, то вычисление значения
;
47

2
x + y
z=
0x>
z
x
z=
y
№
вар.
Задача
1
Дано целое число
a
. Узнать, четное ли оно
2
Определить, является ли число aделителем числа
b
3
Определить, является ли треугольник со сторонами
a,b,c
прямоугольным
4
Вывести на экран большее из двух данных чисел
5
Дано число a. Составить алгоритм, который меняет его на
противоположное, если оно отрицательное
6
Дано целое числоa. Определить, является ли число
a
трехзначным
7
Даны неравные числа a и
b
. Составить алгоритм, который
увеличивает вдвое меньшее из чисел, а большее оставляет без
изменений
8
Даны числа
a
и
b
. Составить алгоритм, который уменьшает
в пять раз то число, которое меньше другого по модулю
9
Даны числа
a, b
и
c
. Составить алгоритм вычисления
выражения:
3max a+b+c;a b c +
10
Даны числа
a, b
и
c
. Составить алгоритм вычисления
выражения:
2 2 2 2
4min a +b ;b +c
по формуле
2) если условие
по формуле
4) вывод результатов вычислений — значения z;
5) завершение выполнения алгоритма.
Вывод — в данном примере было рассмотрено построение
разветвляющегося алгоритма для вычисления по заданной формуле.
Была построена блок-схема полученного алгоритма и дано его
словесное описание.
Задачи для самостоятельного выполнения
Задание: по аналогии с приведенным примером решить задачу:
построить блок-схему, дать словесное описание построенного
алгоритма (табл. 6).
Таблица 6. Варианты заданий для практического занятия № 3
;
не выполняется, то вычисление значения
;
48

0i=
10i<
1i= i +
6.4. Практическое занятие № 4. Задачи на циклы
с параметром
Цель занятия — изучить структуру оператора цикла с
параметром. Научиться составлять циклические алгоритмы с заданным
числом повторений.
Циклический алгоритм – описание действий, которые должны
повторяться указанное число раз или пока не выполнено заданное
условие. Перечень повторяющихся действий называют телом цикла.
Циклические алгоритмы бывают двух типов:
1) циклы со счетчиком, в которых какие-то действия выполняются
определенное число раз;
2) циклы с условием, в которых тело цикла выполняется в
зависимости от какого-либо условия. Различают циклы с
предусловием и постусловием.
Циклы со счетчиком используют, когда заранее известно, какое
число повторений тела цикла необходимо выполнить. Для счетчика от
начального значения до конечного значения выполнить действие. При
составлении циклических алгоритмов важно думать о том, чтобы цикл
был конечным. Ситуация, при которой выполнение цикла никогда не
заканчивается, называется зацикливанием.
Разветвляющимся является алгоритм, если последовательность
выполнения шагов решения задачи изменяется в зависимости от
некоторых условий. Условие – это логическое выражение,
принимающее одно из двух значений: «Да», если условие верно, и
«Нет», если условие неверно, и которое может содержать логические
операции и знаки отношений (табл. 7).
При использовании цикла for обязательно задаются следующие
параметры:
начальное значение счетчика (например,
условие, которое проверяется на каждой итерации цикла
(например,
шаг счетчика (например,
);
).
Синтаксис данного оператора в различных языках
программирования может различаться, но имеет схожую структуру.
Для случая, приведенного в скобках, начало цикла с параметром будет
выглядеть следующим образом:
);
49

0 10 1for i = ; i < ; i= i +
Начало / Конец
Действие
Ввод / Вывод
Начало цикла
23
1 ...
23
N
+ + + +
! ! N!
11
1
11
==
!
22
2
2 1 2
==
!
33
3
3 1 2 3
==
!
1 2 ...
NN
=
N! N
i
.
Таблица 7. Элементы блок-схемы для практического занятия № 4
Пример
Дано целое число N. Вычислить значение выражения
.
Решение.
1. Исходные данные - N. Результат - S.
2. Для решения поставленной задачи необходимо построить
циклический алгоритм с параметром.
3. Значение выражения рассчитывается поэтапно:
1) к значению S прибавляется значение
2) к значению S прибавляется значение
3) к значению S прибавляется значение
и так далее. На последнем, N-м шаге к значению S прибавляется
значение
Так как для вычислений используется цикл с параметром, то
введем промежуточную переменную
50
;
;
;
- счетчик цикла. Начальное
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
