Построение алгоритмов различными методами

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 83. Практическая работа по теме Построение алгоритмов различными методами.doc

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

Тема: Построение алгоритмов различными методами

Цель: Закрепление навыков разработки алгоритмов для конкретных задач различными методами.

Вид работы: индивидуальный.

Время выполнения: 4 часа.

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

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

Таблица 1

Условные обозначения блоков схем алгоритмов

Наименование

0бозначенне

Функции

Процесс

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

Ввод-вывод

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

Решение

Выбор направления выполнения алгоритма в зависимости от некоторых переменных условии.

Предопределенный процесс

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

Документ

Вывод данных на бумажный носитель.

Магнитный диск

Ввод-вывод данных, носителем которых служит магнитный диск.

Пуск-останов
 

Начало, конец, прерывание процесса обработки данных.

Соединитель
 

Указание связи между прерванными линиями, соединяющими блоки.

Межстраничный соединитель

Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах.

Комментарий

Связь между элементом схемы и пояснением.

Словесно-формульный способ

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

Пусть, например, необходимо найти значение следующего выражения:
у=2а-(х+6).

Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде:

1.Ввести значения а и х.

2.Сложить х и 6.

3.Умножить а на 2.

4.Вычесть из 2а сумму (х+6).

5.Вывести у, как результат вычисления выражения.

 

Алгоритмический язык

Алгоритм < название >

Начало< последовательность действий >

Конец

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

Структура Развилка обеспечивает выбор одной из двух альтернатив:

если < условие > то

< действие 1 >

иначе

< действие 2 >

все

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

если < условие > то

< действие >

все

Обобщением структуры Развилка является Множественный выбор:

если Var = Const1 то < действие 1 >

если Var = Const2 то < действие 2 >

. . .

если Var = Constn то < действие n >

все

В зависимости от значения переменной Var выполняется одно из указанных действий, например, если Var = Const3, то выполняется <действие3>.

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

- цикл "от до"

- цикл "пока"

- цикл "до"

Цикл "от до" управление внутри цикла осуществляется с помощью переменной цикла:

цикл от I := N1 до N2

< действие >

кц {конец цикла}

Здесь I - переменная цикла, N1, N2 - начальное и конечное значения переменной цикла, вычисляются один раз при входе в цикл. Переменная цикла пробегает все следующие друг за другом в порядке возрастания значения от начального до конечного. Изменение значения переменной цикла происходит автоматически после каждого выполнения действия, указанного внутри цикла. В зависимости от соотношения N1 и N2 цикл может не выполниться ни разу (N1 > N2) или выполниться ( N2 - N1 + 1 ) раз.

В цикле "пока" управление внутри цикла осуществляется с помощью логического условия:

цикл пока < условие >

< действие >

кц {конец цикла}

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

Третий тип структуры цикл "до" имеет вид:

цикл < действие > до < условие >

Пример 1

Пусть заданы длины сторон треугольника. Необходимо вычислить высоты этого треугольника. Разработку алгоритма полезно начинать с постановки задачи:

Таблица №2

Постановка задачи

Исходные данные:

A, B, C - длины сторон треугольника

Результат:

Ha, Hb, Hc - высоты треугольника.

Метод решения:

,

Запишем алгоритм на псевдокоде, используя дополнительно две служебные переменные P и X, уменьшающие время вычислений.

Алгоритм Линейная структура (высоты треугольника)

Начало

ввод (A, B, C)

вывод (Ha, Hb, Hc)

Конец

 

Пример 2

Вычислить значение функции:

Здесь 

Таблица №3

Постановка задачи

Исходные данные:

H

Результат:

F - значение функции

Метод решения:

проверка условия и вычисление соответствующего значения

 

Алгоритм Структура_с_ветвлением  -  вычисление функции

Начало

Ввод (H)

A := sin(2H)

B := cos(2H)

если(A > B) и (B > 0) то

F := A / B

иначе

если (A < B) и (B <= 0) то

F := A · B

иначе

F := abs(A - B) {абсолютная величина}

все

все

вывод (F)

Конец


Ход работы:

1. Для первой задачи составить алгоритм словесно-формульным способом.

2. Для второй задачи составить алгоритм с помощью блок-схемы.

3. Для третьей задачи составить алгоритм с помощью алгоритмического языка.

Задания:

Вариант №1.     

1.      Определить, поместится ли круг данного радиуса в квадрат с данной стороной?

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

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

Вариант №2.     

1.      Определить, чётно ли вводимое число?

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

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

Вариант №3.     

1.      Даны три стороны. Определить, является ли треугольник равнобедренным?

2.      Вычислить значение y, применить форматный вывод:

X вводится с клавиатуры.

3.      Организовать вывод на экран чисел вида 5*3*, где вместо символа * ставятся все возможные цифры. Подсчитайте количество этих чисел.


Вариант №4.     

1.      Определить, поместится ли квадрат с данной стороной в круг данного радиуса?

2.      Вычислить значение y, для вывода примените формат:

X вводится с клавиатуры.

3.      Организовать вывод на экран чисел вида 1**1, где вместо символа * ставятся все возможные цифры. Подсчитать сумму этих чисел.

Вариант №5.     

1.      Найти наибольшее из трёх чисел a, b, c.

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Найти сумму двузначных чисел, сумма цифр которых чётна (например, 11, 13, …, 99).

Вариант №6.     

1.      Найти сумму чисел 1, 2, …, n

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Найти количество двузначных чисел, в которых хотя бы одна из цифр была кратна трём (например, 13, 16, …, 99).

Вариант №7.     

1.      Билет в кино стоит M рублей. Определить, хватит ли денег? Какая будет сдача?

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Подсчитать количество чисел, сумма цифр которых равна 5, и вывести их на экран.


Вариант №8.     

1.      Найти наименьшее из трёх чисел а, b, с.

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Подсчитать сумму чисел, сумма цифр которых кратна трём, и вывести их на экран.

Вариант №9.     

1.      Заданы площади круга и квадрата. Определить, поместится ли круг в квадрат?

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Дан товар в ящиках по 18 и 15 кг. Определить, какое количество ящиков различного веса необходимо взять, чтобы получить 185 кг товара (ящики не вскрываются)?

Вариант №10.

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

2.      Вычислить значение y, использовать форматный вывод:

X вводится с клавиатуры.

3.      Осуществить вывод на экран только тех двузначных чисел, обе цифры которых либо чётны, либо нечётны.

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

1)     Перечислите способы составления алгоритмов.

2)     Перечислите основные алгоритмические структуры.

3)     Какую структуру имеет алгоритм, составленный с помощью словесного способа?

4)     Какую структуру имеет линейный алгоритм, составленный с помощью блок-схемы?

5)     Какую структуру имеет алгоритм ветвления, составленный с помощью блок-схемы?

6)     Какую структуру имеет циклический алгоритм, составленный с помощью алгоритмического языка?


Скачано с www.znanio.ru