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

Metodichka_5_-_PF_Informatika

.pdf
Скачиваний:
16
Добавлен:
12.04.2015
Размер:
342.81 Кб
Скачать

Федеральное агентство по рыболовству Федеральное государственное образовательное учреждение

высшего профессионального образования «Астраханский государственный технический университет»

Образовательная деятельность в сфере высшего и дополнительного профессионального образования сертифицирована DQS по ISO 9001

Кафедра «Информатика»

МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ И ПРАКТИЧЕСКИЕ ЗАДАНИЯ

по курсу «Информатика»

для студентов подготовительного факультета ФГБОУ ВПО «АГТУ»

Тема:

Алгоритмизация. Линейные, разветвляющиеся и циклические алгоритмы.

Астрахань 2012 г.

2

Алгоритмизация

Алгоритм – понятное и точное предписание исполнителю выполнить конечную последовательность команд, приводящую от исходных данных к конечному результату.

Свойства алгоритма: понятность, дискретность, массовость, результативность, определенность.

1.Понятность, т.е. исполнитель алгоритма должен знать, как его выполнять.

2.Дискретность, т.е. алгоритм должен представлять процесс решения задачи как последовательное

выполнение простых шагов.

3.Массовость, т.е. возможность применять многократно один и тот же алгоритм.

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

5.Определенность, т.е. на каждом шаге алгоритма у исполнителя должно быть достаточно

информации, чтобы его выполнить.

На практике наиболее распространены следующие формы представления алгоритмов:

1.словесная (записи на естественном языке);

2.графическая (изображения из графических символов);

3.псевдокоды (полуформализованные описания алгоритмов на условном алгоритмическом языке, включающие в себя как элементы языка программирования, так и фразы естественного языка, общепринятые математические обозначения и др.);

4.программная (тексты на языках программирования).

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

Такое графическое представление называется схемой алгоритма или блок-схемой.

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

Схема алгоритма (в программировании) — графическое представление программы или алгоритма с

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

Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.

Часто употребляемые символы

Блок «ПРОЦЕСС» применяется для обозначения действия или последовательности действий, изменяющих значение, форму представления или размещения данных. Для улучшения наглядности схемы несколько отдельных блоков обработки можно объединять в один блок. Представление отдельных операций достаточно свободно.

Блок «РЕШЕНИЕ» используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.

Блок «МОДИФИКАЦИЯ» используется для организации циклических конструкций. (Слово модификация означает видоизменение, преобразование). Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого

повторения.

Блок «ПРЕДОПРЕДЕЛЕННЫЙ ПРОЦЕСС» используется для указания обращений к вспомогательным алгоритмам, существующим автономно в виде некоторых самостоятельных модулей, и для обращений к библиотечным подпрограммам.

3

Рисунок 9. Основные элементы

Правила построения алгоритмов на языке блок-схем

1.Блок-схема строится сверху вниз.

2.В любой блок-схеме имеется только один элемент, соответствующий началу алгоритма, и один элемент, соответствующий концу алгоритма.

3.Должен быть хотя бы один путь из начала блок-схемы к любому элементу.

4.Должен быть хотя бы один путь от каждого элемента блок-схемы в конец блок-схемы.

Линейные алгоритмы – последовательность блоков, каждый из которых имеет по одному входу и одному

выходу, и выполняется в программе один раз.

Разветвляющийся алгоритм – алгоритм, в котором в зависимости от значений некоторого признака производится выбор одного из нескольких направлений, называемых ветвями.

Структура ветвление существует в четырех основных вариантах:

1.если-то;

2.если-то-иначе;

3.выбор;

4.выбор-иначе.

«ЕСЛИ-ТО», когда, если условие выполняется (истина), то выполняется действие, а иначе, если условие не выполняется (ложно), то действие не производится и сразу следует выход из структуры на дальнейшее выполнение вычислительного процесса, либо выполнение алгоритма завершается.

«ЕСЛИ-ТО-ИНАЧЕ», когда, если условие выполняется (истина), то выполняется действие первое, а иначе, если условие не выполняется (ложно), то выполняется действие второе, после чего также возможно окончание вычислительного процесса, например, вторая операция – это сообщение об ошибке, после которого процесс

завершается.

«ВЫБОР», когда проверяется последовательно множество условий и, если какое-либо условие выполняется (истина), то выполняется соответствующее этому условию действие, а иначе, если ни одно

условие не выполнилось, то сразу следует выход из структуры или останов (конец алгоритма).

«ВЫБОР-ИНАЧЕ», когда проверяется последовательно множество условий и, если какое-либо условие выполняется (истина), то

выполняется соответствующее этому условию действие, а иначе, если ни одно условие не выполнилось, то

выполняется также определенное действие.

 

 

 

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

который обеспечивает

многократное выполнение некоторой

последовательности действий.

 

 

 

Структура цикл существует в трех основных вариантах:

 

 

Цикл

типа

«ПОКА».

Предписывает

выполнять тело цикла до

тех пор,

пока выполняется

4

условие, записанное после слова пока. Условие может проверяться до вычисления операторов цикла (предусловие) или после вычисления операторов цикла (постусловие).

Цикл типа «ДЛЯ». Предписывает выполнять тело цикла для всех

значений некоторой переменной (параметра цикла) в заданном диапазоне.

Цикл типа «делать – пока». Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Условие проверяется после выполнения тела цикла.

Алфавит – набор символов, используемый для кодирования информации.

Данные – информация, представленная в определённой форме. Исходные данные – данные подлежащие обработке.

Выходными данные – новые данные, полученные в результате обработки и подлежащие выводу. Переменные – величины в процессе выполнения программы, изменяющие своё значение.

Примеры блок-схем

Задача №1.

Даны два вещественных числа, являющихся величинами катетов некоторого прямоугольного треугольника. Вычислить длину гипотенузы этого треугольника.

Решение.

Анализ задачи

1.Формулы. Будем вычислять гипотенузу по формуле Пифагора Z = X 2 + Y 2 .

2.Входные данные. Из формулы следует, что входными данными являются длины катетов X и Y.

Рисунок 10. Вычисление гипотенузы по катетам: а) главный алгоритм; б) функция

3. Результат. Результатом работы алгоритма является вычисленное значение гипотенузы Z. Зададим входные данные. Пусть катет X = 3, а катет Y = 4. Тогда, по формуле Пифагора, гипотенуза такого

прямоугольного треугольника должна быть Z = 5.

Ответ: Z = 5

Задача №2.

Дано квадратное уравнение AX 2 + BX + C = 0 . Вычислить корни уравнения.

Решение.

Анализ задачи

1.Формулы. Будем вычислять Дискриминант D = B 2 − 4 * A * C.

2.Входные данные. Из уравнения следует, что входными данными являются переменные А, В, С. 3.Условие. Будем сравнивать с нулем значение дискриминанта.

5

Рисунок 11. Вычисление корней квадратного уравнения 4. Результат. Результатом работы алгоритма является вычисленное значение корней

уравнения

X 1,2 = B 2 ± D , если D>0;

2 * A

X 1,2 = B 2 , если D=0;

2 * A

X 1,2 =" Действительных корней нет" , если D<0.

Зададим входные данные. Пусть A = 2, а B=1, С=-3. Тогда, по формуле Дискриминанта (D=5), а он

положительный D>0, у уравнения два корня: X 1

= −

3

= −1,5 и X 2 = 1 .

 

 

 

 

 

2

 

Ответ: X 1

= −

3

= −1,5 и X 2 = 1 .

 

 

 

 

 

 

 

 

2

 

 

 

 

Задача №3.

Найти сумму первых n натуральных чисел.

Решение.

Анализ задачи.

1.Формулы. Нужно найти сумму n чисел 1 + 2 + 3 + … + n.

2.Входные данные. Из суммы чисел следует, что входным данным является количество первых натуральных чисел n.

3.Детализируем общую блок-схему:

1)напишем входные данные в явном виде;

2)выведем сообщение о величине суммы;

3)алгоритм вычисления суммы S первых n натуральных чисел выделим в отдельный модуль. В этом модуле используем цикл для накопления суммы в сумматоре S.

6

Рисунок 12. Вычисление суммы первых n натуральных чисел:

Для этого заметим, что текущее слагаемое суммы имеет вид i. Тогда сумму можно накопить в сумматоре,

если:

1)присвоить ему начальное значение S = 0;

2)прибавлять к сумматору в цикле переменную i, изменяя ее от 1 до n. 4.Результат. Результатом работы алгоритма является вывод суммы S. Зададим количество суммируемых первых натуральных чисел n = 5.

Мы должны получить значение суммы первых пяти натуральных чисел S = 15.

Ответ: S=15.

Практическая работа «Построение алгоритмов»

Задание №1. Построить линейный алгоритм.

 

 

 

 

 

 

 

1.

Вычислить a и b, если а =

2 y 2 + 1

, b = 1 +

z 2

+ 3

 

 

,

 

 

 

| z 2

+ 1

|

 

 

 

 

cos(x)

 

 

при x=0,4; y= -1,2; z=3,5.

2 + 1

 

 

 

 

 

 

 

 

 

 

 

 

Вычислить t и s, если t =

2x

, s =

 

 

 

,

 

2.

a 2

+ 2 * b3

 

 

 

 

 

8

* a

 

 

 

 

 

 

 

при a=0,9; b= 0,07; x=0,8.

 

 

 

 

 

 

 

 

 

 

 

 

3.

Вычислить a и b, если а =

2x 2 + 4 у

, b = ( y x)

 

 

 

y z

,

 

 

+ ( y x) 2

 

 

 

 

2x + y

 

1

 

при x=1,6; y= 1,2; z= -3,7.

4.Даны три вещественных числа, являющихся величинами сторон некоторого треугольника. Вычислить площадь этого треугольника.

5.Вычислите периметр и площадь прямоугольного треугольника по длинам двух его катетов.

6.Вычислите длину окружности, площадь круга и объём шара одного и того же заданного радиуса.

Задание №2. Построить разветвляющийся алгоритм.

x 2

,

если

x > 4,

 

 

 

 

 

 

x = 4,

1. Вычислить y = x3 ,

если

 

 

4

,

 

 

x < 4.

x

 

если

x 2

+ 1,

если

x > 5,

 

 

 

+ 2,

 

 

x = 5,

2.Вычислить y = x

3

если

 

4

+ 3,

 

 

x < 5.

x

 

 

если

7

 

2x 2

,

если

x > 2,

3.Вычислить y =

 

3 ,

 

x = 2,

 

если

3x

 

 

4

,

 

x < 2.

 

4x

 

если

4.Даны три вещественных числа, являющихся длинами сторон треугольника. Определить, является ли треугольник прямоугольным.

Задание №3. Построить циклический алгоритм.

1.Вычислить сумму первых 20 четных чисел.

2.Вычислить сумму первых 20 нечетных чисел.

3.Вычислить сумму S=-2+4-6+8-10+…+(-1) n*2n

4.Вычислить сумму S=-3+6-9+12-15+…+(-1) n*3n

5.Вычислить сумму квадратов первых n натуральных чисел.

6.Вычислить сумму квадратов первых n четных чисел.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]