Лабораторная работа №8.
Алгоритмизация и программирование

Время выполнения

4 часа

Цель работы

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

Задачи лабораторной работы

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

Перечень обеспечивающих средств

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

Общие теоретические сведения

Решение любой задачи на ЭВМ можно разбить на следующие этапы: разработка алгоритма решения задачи, составление программы решения задачи на алгоритмическом языке, ввод программы в ЭВМ, отладка программы (исправление ошибок), выполнение программы на ПК, анализ полученных результатов.
Первый этап решения задачи состоит в разработке алгоритма.
Алгоритм – это точная конечная система правил, определяющая содержание и порядок действий исполнителя над некоторыми объектами (исходными и промежуточными данными) для получения после конечного числа шагов искомого результата.
Алгоритм может быть описан одним из трех способов:
  • словесным (пример в начале раздела);
  • графическим (виде специальной блок-схемы);
  • с помощью специальных языков программирования.
Блок-схема – распространенный тип схем, описывающий алгоритмы или процессы, изображая шаги в виде блоков различной формы, соединенных между собой стрелками.
  1. Линейный алгоритм – это такой алгоритм, в котором все операции выполняются последовательно одна за другой.
  2. Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.
  3. Алгоритмы циклической структуры.
Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла
Циклические алгоритмы подразделяют на алгоритмы с предусловием, постусловием и алгоритмы с конечным числом повторов. В алгоритмах с предусловием сначала выполняется проверка условия окончания цикла и затем, в зависимости от результата проверки, выполняется (или не выполняется) так называемое тело цикла.

Задание 1. Определить площадь трапеции по введенным значениям оснований (a и b) и высоты (h).
Запись решения задачи на алгоритмическом языке:
алг трапеция
вещ a,b,h,s
нач
ввод a,b,h
                s:=((a+b)/2)*h
        вывод s
кон 

Запись алгоритма в виде блок-схемы (рис. 1):
Рисунок 1. Блок-схема линейного алгоритма

Задание 2. Определить среднее арифметическое двух чисел, если a положительное и частное (a/b) в противном случае.
Запись решения задачи на алгоритмическом языке:
алг числа
    вещ a,b,c
нач
    ввод a,b
    если a>0
        то       с:=(a+b)/2
        иначе с:=a/b
    все
    вывод с
кон

Запись алгоритма в виде блок-схемы (рис. 2):
Рисунок 2. Блок-схема алгоритма с ветвлением

Задание 3. Составить алгоритм нахождения суммы целых чисел в диапазоне от 1 до 10.
Запись решения задачи на алгоритмическом языке:
алг сумма
    вещ a,s
нач
    S:=0;
    A:=1;
    нц
        пока a<=10 
        S:=S+a;
        A:=a+1;
    кц
    вывод S
кон

Запись алгоритма в виде блок-схемы (рис. 3):
 Рисунок 3. Циклический алгоритм с предусловием

В алгоритме с постусловием сначала выполняется тело цикла, а затем проверяется условие окончания цикла. Решение задачи нахождения суммы первых десяти целых чисел в данном случае будет выглядеть следующим образом:
алг сумма
    вещ a,s
нач
    S:=0;
    A:=1;
    нц
        S:=S+a;
        A:=a+1;
        пока a<=10 
    кц
    вывод S
кон

Запись алгоритма в виде блок-схемы (рис. 4):
 Рисунок 4. Циклический алгоритм с постусловием

Варианты задания

Технология выполнения работы
В рамках выполнения работы необходимо составить алгоритм решения задачи в виде блок-схемы и с помощью языка псевдокода.

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

  1. Цель работы и задание.
  2. Условие задачи.
  3. Алгоритм, написанный с помощью псевдокода и блок- схемы.

Вопросы для защиты работы

  1. Что такое алгоритм?
  2. Свойства алгоритма.
  3. Способы записи алгоритма.
  4. Основные элементы блок-схемы.
  5. Виды алгоритмов.
  6. Отличительные особенности алгоритмов с предусловием и постусловием.