Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Разработка алгоритма решения.




Лабораторная работа 7

Операторы цикла в языке С

Цель работы

Целью лабораторной работы является получение практических навыков в работе с операторами цикла языка C.

Темы для предварительной проработки

  • Операторы цикла языка C. Вложенные циклы.
  • Условный оператор языка C.

Задание для выполнения

Для функции Y = f(X), график которой приведен в Вашем индивидуальном задании, вывести на экран значения Y для Х = 0, 0.25, 0.5, ... 19.75. Необязательное для выполнения дополнительное требование - получить на экране график функции средствами текстового режима.

Варианты индивидуальных заданий

Вариант 1

Вариант 2

Вариант 3

Вариант 4

Вариант 5

Вариант 6

Вариант 7

Вариант 8

Вариант 9

Вариант 10

Вариант 11

Вариант 12

Вариант 13

Вариант 14

Вариант 15

Вариант 16

Вариант 17

Вариант 18

Вариант 19

Вариант 20

Вариант 21

Вариант 22

Вариант 23

Вариант 24

Вариант 25

Вариант 26

Вариант 27

Вариант 28

Вариант 29

Вариант 30

Пример решения задачи (вариант 30)

Разработка алгоритма решения.

5.1.1. Общий метод решения
Из приведенного в индивидуальном задании графика функции видно, что функция является периодической, с периодом 4. В заданный интервал вкладываются 5 периодов функции. Так что, программа может содержать в себе цикл, в котором 5 раз будут выполняться одни и те же вычисления. В каждой итерации этого цикла должны перебираться значения x от 0 до 3.75 с шагом 0.25, т.е., должен быть вложенный цикл. В каждой итерации вложенного цикла вычисляется значение y для текущего x и выводятся результаты.
Анализ приведенного графика показывает, что каждый период его состоит из трех частей: на отрезке 0<=x<=1 график является прямой, на отрезке 1<=x<=3 - дугой, а на отрезке 3<=x<=4 - другой прямой. Следовательно, во вложенном цикле должно быть разветвление, в котором определяется текущее значение x и обеспечиваются вычисления для первого, второго или третьего случая.

5.1.2. Вычисление функции на отрезке 0 - 1
На этом отрезке функция является функцией прямой. Формула прямой: y=ax+b. Для этого случая a=2, b=-1. Итак, окончательная формула для отрезка 0<=x<=1 такая:
y=2x-1

5.1.3. Вычисление функции на отрезке 1 - 3
На этом отрезке функция является частью окружности. Формула окружности: (x-x0)2+(y-y0)2=R2, где (x0, y0) - координаты центра окружности, а R - радиус. Отсюда y можно определить как: . В нашем случае R=1, а координаты центра - (2, 1). Извлечение квадратного корня дает два значения - положительное и отрицательное, в нашем случае используется только нижняя полуокружность, так что следует брать только отрицательное значение. Окончательная формула для отрезка 1<=x<=3 такая:
y=2-((1-(x-2)2)

5.1.4. Вычисление функции на отрезке 3 - 4
Для прямой на этом отрезке a=-2, b=7, окончательная формула:
y=7-2x

5.1.5. Алгоритм вывода результатов в псевдографической форме
В каждой итерации внутреннего цикла мы получает одну ординату графика. Следовательно, для представления результата в псевдографической форме будет удобно развернуть график на 90о и в каждой строке экрана отображать значения x, y и символ, который изображает одну точку графика, смещение этого символа в строке будет пропорционально значению ординаты. Для отображения этого символа с необходимым смещением нужно преобразовать ординату в целое число (с масштабированием к размеру строки), это число будет количеством пробелов, которое нужно вывести в строке перед символом-"точкой".
В каждый период функции вкладывается 16 итераций внутреннего цикла, т.е. на экран будет выведено 16 строк на период. Целесообразно после вывода каждого периоду (который целиком помещается на экране) делать остановку в программе до команды оператора на продолжение.

5.1.6. Схема алгоритма
Схема алгоритма показана на рисунке ниже.










Последнее изменение этой страницы: 2018-05-10; просмотров: 450.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...