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

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

.docx
Скачиваний:
0
Добавлен:
19.10.2022
Размер:
444.34 Кб
Скачать

Федеральное агентство связи

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

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

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

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

по теме: «Решение содержательных задач, основанных на программировании алгоритмов разветвляющихся структур»

Выполнила

Студентка 1 курса

Группа ЗРС 2001

Баланюк Е.С.

Вариант №3

Проверил:

Старший преподаватель

Юсков И.А.

Москва

2020

Оглавление

Общее задание 3

Формализация и уточнения задания 4

Доказательство правильности результата 8

Общее задание

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

  2. Выберите вариант задания из табл. 13.3-1.

  3. Выполните формализацию задачи, для которой необходимо:

  • нарисовать вручную рисунок;

  • выделить на рисунке заданную область;

  • для выделенной области определить и записать логическую условную функцию от двух переменных x и y (где [x,y] - координаты точки), т.е. функцию, принимающую логическое значение false (0) или true (1), в зависимости от попадания или непопадания точки с координатами x, y в выделенную область рисунка;

  1. Разработайте:

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

  • использующие стандартное разветвление и сложное логическое выражение;

  • использующие вложенные разветвления только с помощью операций отношения, без применения логических операций и сложных логических выражений;

  • программный код функции ввода исходных данных;

  • программный код функции вывода результатов.

  • программный код главной функции main(), которая вызывает описанные выше функции для решения поставленной задачи.

(Схемы алгоритмов должны быть разработаны средствами Visio, а программные коды функций согласно этим схемам - средствами С++).

  1. Создайте консольный проект, содержащий 3 раздельно откомпилированных файла:

  • файл, содержащий функцию ввода исходных данных и функцию вывода результатов;

  • файл с двумя разработанными согласно п.4. функциями;

  • файл с главной функцией, которая должна содержать только операторы вызова пользовательских функций (ввода, 2 функции решения задачи разными способами и вывода), причем обмен данными между функциями должен осуществляется через параметры, без использования глобальных переменных.

  1. Подготовьте тесты для контрольного решения задачи.

  2. Выполните проект и получите результаты.

  3. Докажите правильность полученных результатов на заранее разработанных нескольких тестах.

Индивидуальное задание (см.рис.1)

Рисунок 1 - Индивидуальное задание

Формализация и уточнения задания

Построена «вручную», описанная в индивидуальном задании фигура:

Определены уравнения, описывающие фигуру – уравнения прямых AB, BC, CD, DA и уравнение окружности x2 + y2 = 0.5

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

Разработка схемы алгоритмов 2-х процедур:

Рисунок 2 - Схема алгоритма функции, использующей стандартное разветвление и сложное логическое выражение

Рисунок 3 - Схема алгоритма функции, реализующей вложенные разветвления только с помощью операций отношения, без использования логических операций и сложных логических выражений

Программный коды (см.рис.4-6)

Рисунок 4 - функции ввода и вывода

Рисунок 5 - Главная функция main()

Рисунок 6 - функции вычисления

Результаты проекта (см.рис.7-8)

Рисунок 7 - Результаты выполнения проекта для тестовых данных точки, попадающей в заданную область

Рисунок 8 - Результат выполнения проекта для тестовых данных точки, не попадающей в заданную область

Доказательство правильности результата

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

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