Главная страница
Навигация по странице:

  • Введение 3 1.ХОД ВЫПОЛНЕНИЯ ЗАДАНИЯ 4 1.1Задание 1 4 1.2Задание 2 5 1.3Задание 3 6 1.4Задание 4 8

  • Условие 1

  • Отчёт по лр5. Простые алгоритмы


    Скачать 229.76 Kb.
    НазваниеПростые алгоритмы
    АнкорОтчёт по лр5
    Дата02.03.2021
    Размер229.76 Kb.
    Формат файлаdocx
    Имя файлаOtchyot_po_laboratornoy_rabote_5_-_Samolyov.docx
    ТипОтчет
    #181231

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

    высшего образования

    «Петербургский государственный университет

    путей сообщения Императора Александра I»

    Кафедра «Информатика и информационная безопасность»

    отчет по лабораторной работе №4

    по дисциплине «Информатика»

    на тему: Простые алгоритмы



    Выполнил:

    студент факультета АИТ

    группы КИБ-012

    Самойлов-Журавлёв Вячеслав

    Проверил: Корниенко С. В.





    Санкт-Петербург

    2020

    Содержание


    Введение 3

    1.ХОД ВЫПОЛНЕНИЯ ЗАДАНИЯ 4

    1.1Задание 1 4

    1.2Задание 2 5

    1.3Задание 3 6

    1.4Задание 4 8

    1.5Задание 5 9

    1.5.1ПЕРВЫЙ СПОСОБ РЕШЕНИЯ 10

    1.5.2ВТОРОЙ СПОСОБ РЕШЕНИЯ 10

    2.Заключение 12

    3.список использованных источникОВ 13


    Введение


    Изучение принципов построения и тестирования простых алгоритмов.
    1. ХОД ВЫПОЛНЕНИЯ ЗАДАНИЯ

      1. Задание 1


    Последовательно вводятся N заданных чисел. Сосчитать, сколько из них совпадают с первым числом.
    Входные данные: число N, далее N чисел

    Выходные данные: число K, хранящее количество совпадений среди всех чисел (кроме первого) с первым числом.
    Для решения данной задачи была составлена блок-схема, представленная на рисунке 1.1 и само решение представлено в таблице 1.


    Рисунок 1.1 - Блок-схема задания 1


    шага


    Команда алгоритма


    N


    a


    b

    I

    K


    Условие

    1

    Ввод N

    5
















    2

    Ввод первого числа a




    1













    3

    Определение начальных значений

    5

    1




    2

    0




    4

    Запуск цикла

    5

    1




    2

    0

    I <= N

    5

    Ввод b

    5

    1

    1

    2

    0




    6

    Условие

    5

    1

    1

    2

    0

    b = a

    7

    Обновление K

    5

    1

    1

    2

    1




    8

    Обновление I

    5

    1

    1

    3

    1




    9

    Ввод b

    5

    1

    2

    3

    1




    10

    Условие

    5

    1

    2

    3

    1

    b = a

    11

    Обновление I

    5

    1

    2

    4

    1




    12

    Ввод b

    5

    1

    3

    4

    1




    13

    Условие

    5

    1

    3

    4

    1

    b = a

    14

    Обновление I

    5

    1

    3

    5

    1




    15

    Ввод b

    5

    1

    -1

    5

    1




    16

    Условие

    5

    1

    -1

    5

    1

    b = a

    17

    Обновление I

    5

    1

    -1

    6

    1




    18

    Конец цикла



















    19

    Вывод K













    1




    Таблица 1- Трассировочная таблица задания 1
      1. Задание 2


    Определить, какая из точек 1; b1) и2; b2) находится ближе к началу координат, к оси абцисс, к оси ординат.
    Входные данные: координаты точек x1, y1, x2, y2

    Выходные данные: текстовые сообщения о положениях точек

    Для решения данной задачи была составлена блок-схема, представленная на рисунке 1.2 и само решение представлено в таблице 2.



    Рисунок 1.2 - Блок-схема задания 2



    шага


    Команда алгоритма


    a1


    b1


    a2


    b2


    D1


    D2


    Условие

    1

    Ввод x1,y1,x2,y2

    2

    2

    3

    3










    2

    D1=(x1*x1+y1*y1)^(0.5)

    2

    2

    3

    3

    2,82







    3

    D2=(x2*x2+y2*y2)^(0.5)

    2

    2

    3

    3

    2,82

    4,24




    4

    Ветвление

    2

    2

    3

    3

    2,82

    4,24

    |x1| < |x2|

    5

    Вывод: первая точка ближе к оси ординат

    2

    2

    3

    3

    2,82

    4,24




    6

    Ветвление

    2

    2

    3

    3

    2,82

    4,24

    |y1| < |y2|

    7

    Вывод: первая точка ближе к оси абсцисс

    2

    2

    3

    3

    2,82

    4,24




    8

    Ветвление

    2

    2

    3

    3

    2,82

    4,24

    |x1| < |x2|

    9

    Вывод: первая точка ближе к началу координат

    2

    2

    3

    3

    2,82

    4,24










    Таблица 2 - Трассировочная таблица задания 2
      1. Задание 3


    Для записи римскими цифрами используются символы I, V. X, L, C, D. M, обозначающие числа 1, 5, 10, 50, 100, 500, 1000 соответственно. Написать алгоритм перевода любого данного числа, меньшего 3999, из арабской системы счисления в римскую.

    Входными данными к задаче является целое число, меньшее 3999.

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

    Для решения данной задачи была составлена блок-схема, представленная на рисунке 1.3 и само решение представлено в таблице 3.



    Рисунок 1.3 - Блок-схема задания 3

    Шага

    Команда алгоритма

    C

    n

    val

    res

    Условие

    1

    Присвоение начальных значений С

    M','CM','D','CD','C','XC','L','XL','X','IX','V','IV','I'













    2

    Ввод n




    1000,900, 500,400,100,90,50,40,10,9,5,4,1










    3

    Ввод val







    123







    4

    Начало цикла













    i 1 to 13

    5

    Ветвление













    val >= n[i]

    6

    Обновление res, val







    123 -> 23

    С




    7

    Обновление res, val







    23->13

    CX




    8

    Обновление res, val







    13->3

    CXX




    9

    Обновление res, val







    3->0

    CXXIII




    10

    Конец цикла
















    11

    Вывод res










    CXXIII




    Таблица 3 - Трассировочная таблица задания 3
      1. Задание 4




    Задача не имеет входных данных, поскольку все исходные данные уже записаны и определены в условии задачи.

    Выходные данные: значение суммы членов ряда aN, больших eps.

    Для решения данной задачи была составлена блок-схема, представленная на рисунке 1.4 и само решение представлено в таблице 4.



    Рисунок 1.4 - Блок-схема задания 4

    Шага

    Команда алгоритма

    S

    ch

    i

    Условие

    1

    Присвоение начальных значений S, ch, i

    0

    1

    1

     

    2

    Начало цикла - условие

     

     

     

    |ch| > eps

    3

    Обновление ch

     

    1,5

     

     

    4

    Обновление i

     

     

    2

     

    5

    Обновление s

    1,5

     

     

     

    6

    Обновление ch

     

    0,75

     

     

    7

    Обновление i

     

     

    3

     

    8

    Обновление s

    2,25

     

     

     

    9

    Обновление ch

     

    0,225

     

     

    10

    Обновление i

     

     

    4

     

    11

    Обновление s

    2,475

     

     

     

    12

    Обновление ch

     

    0,048214

     

     

    13

    Обновление i

     

     

    5

     

    14

    Обновление s

    2,5232143

     

     

     

    15

    Обновление ch

     

    0,008036

     

     

    16

    Обновление i

     

     

    6

     

    17

    Обновление s

    2,53125

     

     

     

    18

    Обновление ch

     

    0,001096

     

     

    19

    Обновление i

     

     

    7

     

    20

    Обновление s

    2,5323458

     

     

     

    21

    Обновление ch

     

    0,000126

     

     

    22

    Обновление i

     

     

    8

     

    23

    Обновление s

    2,5324722

     

     

     

    24

    Конец цикла













    25

    Вывод s

    2,5324722

     

     

     

    Таблица 3 - Трассировочная таблица задания 3
      1. Задание 5




    Рисунок 1.5 – Задание 5

    Задание надо решить двумя способами, с использованием цикла с параметром и с использованием цикла с предусловием/постусловием. Для решения данной задачи были составлены блок-схемы, представленные на рисунках 1.5, 1.6 и само решение представлено в таблицах 5 и 6.

    Входными данными к задаче является число n.

    Выходными данными является произведение Y, равное произведению всех четных чисел от 2 до 2*n.
        1. ПЕРВЫЙ СПОСОБ РЕШЕНИЯ


    Смысл приведенного способа: использование цикла с предусловием. Задав начальное значение для счётчика I = 2 (первое четное число) и условие для выполнения цикла – пока I меньше или равно 2*n (по условию задачи), в теле цикла мы рассчитываем произведение в Y.



    Рисунок 1.5 - Блок-схема задания 5, первый способ

    Шага

    Команда алгоритма

    n

    Y

    i

    Условие

    1

    Присвоение начальных значений S, ch, i

    3

    1

    2




    2

    Начало цикла с условием










    I <= 2n

    3

    Обновление Y




    2







    4

    Обновление i







    4




    5

    Обновление Y




    8







    6

    Обновление i







    6




    7

    Обновление Y




    48







    8

    Обновление i







    8




    9

    Конец цикла













    10

    Вывод Y




    48







    Таблица 5 - Трассировочная таблица задания 5, первый способ
        1. ВТОРОЙ СПОСОБ РЕШЕНИЯ


    Смысл приведенного способа: использование цикла с постусловием. Задав начальное значение для счётчика I = 2 (первое четное число) и условие для выполнения цикла –в теле цикла мы рассчитываем произведение в Y, пока I меньше или равно 2*n. Разница от предыдущего решения в том, что условие I <= 2n проверяется после выполнения тела цикла.



    Рисунок 1.6 - Блок-схема задания 5, второй способ

    Шага

    Команда алгоритма

    n

    Y

    i

    Условие

    1

    Присвоение начальных значений S, ch, i

    3

    1

    2

     

    2

    Обновление Y

     

    2

     

     

    3

    Обновление i

     

     

    4

     

    4

    Начало цикла

     

     

     




    5

    Обновление Y

     

    8

     

     

    6

    Обновление i

     

     

    6

     

    7

    Обновление Y

     

    48

     

     

    8

    Обновление i

     

     

    8

     

    9

    Проверка условия цикла










    I <= 2n

    10

    Конец цикла













    11

    Вывод Y

     

    48

     

     

    Таблица 6 - Трассировочная таблица задания 5, второй способ
    1. Заключение


    Данная лабораторная работа показывает алгоритмы разных типов для разных задач.
    1. список использованных источникОВ


    1) «ЛР 5 Структурированные алгоритмы»

    2) «Оформление студенческих научных работ (лабораторные, курсовые, дипломные) методические указания»

    3) Лекция 2.2



    написать администратору сайта