Студопедия — ЛАБОРАТОРНЫЙ ПРАКТИКУМ. Напомним, что циклические алгоритмы (или проще циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной
Студопедия Главная Случайная страница Обратная связь

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

ЛАБОРАТОРНЫЙ ПРАКТИКУМ. Напомним, что циклические алгоритмы (или проще циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной






Напомним, что циклические алгоритмы (или проще циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной. Такая переменная называется параметром цикла, а сами повторяющиеся вычисления составляют тело цикла.

Классификация циклов. Циклы можно условно разделить на две группы:

- циклы типа арифметической прогрессии;

- итерационные циклы.

 

Характерной чертой первой группы циклов является то, что количество повторений тела цикла можно определить до начала выполнения программы, реализующей цикл, т.е. априори. Классическим примером цикла типа арифметической прогрессии является цикл примера 3.

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

Пример 4.Вычислить значение x=, используя итерационную процедуру

xn=0.5(xn--1+a/xn-1), n=1, 2, 3,.., x0=a.

В качестве приближенного значения корня квадратного берется такое значение xn, которое удовлетворяет условию

,

где – заданная точность вычисления.

Видно, что задав исходные данные, например, a = 9, = 10-3, нельзя, не выполняя итерационные вычисления, определить количество повторений тела цикла.

 

Программирование цикла типа арифметической прогрессии. Для программирования таких циклов используется оператор цикла for. Для ввода такого оператора необходимо выполнить следующие действия:

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

- в поле ввода 1 введите имя параметра цикла;

- в поле ввода 2 ввести диапазон значений параметра цикла, используя для этого дискретный аргумент;

- в поле ввода 3 вводятся операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке “ add line ” в панели программирования и тогда слева от тела цикла появляется вертикальная черта.

 

Пример 5. Для x меняющего от -2 до 2 с шагом 0.5 вычислить значение f (x) = e - x. cos (2x) и сформировать из этих значений вектор y, т. е. y1 = f (-2), y2 = f (‑ 1.5) и т. д.

В этом примере количество повторений определяется по формуле

,

где xk, x0 – конечное и начальное значение параметра цикла, d – шаг его изменения.

Подставив значения, получаем (2 - (-2))/0.5+1=9.

 

Описание программы-функции имеет вид

 

В этом варианте описания программы-функции формальные параметры используются для задания диапазона изменения параметра цикла (переменная x). Для изменения индекса у элемента массива y вводится переменная i целого типа внутри программы-функции. Обращение к описанной программе-функции может иметь вид

z: = form _ tab (-2, 2, 0.5)

Замечание.Если значение индексов у элементов массива меняется начиная с 1 (как в этом примере), то начальное значение индекса необходимо установить равным 1 (для этого обратиться к пункту MATH команде Built-in Variables, а затем в поле ввода Origin ввести значение 1 (вместо установленного по умолчанию значения 0).

 

Программирование итерационных циклов. Для программирования таких циклов используется оператор цикла while. Для ввода этого оператора необходимо выполнить следующие действия:

- щелкнуть на кнопке while панели Программирования. На экране появляются элементы, показанные на рисунке

- в поле 1 ввести условие выполнения цикла;

- в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы делающие условие цикла ложным иначе цикл будет продолжаться бесконечно.

Оператор цикла while выполняется следующим образом: обнаружив оператор while, Mathcad проверяет указанное условие. Если оно истинно, то выполняется тело цикла и снова проверяется условие. Если оно ложно, то цикл заканчивается.

 

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

 

Как видно из текста программы-функции нет необходимости хранить в памяти все приближенные решения x0, x1, x2, ..., и т.д. Достаточно хранить предыдущее (“старое”) значение xc и последующее (“новое”) значение xn.

 

Обращение к описанной программе будет иметь вид

sqroot (9, 0.0001) = 3

sqroot (25, 0.0001) = 5

sqroot (123, 0.0001) = 11.091

К сожалению, организация итерационного цикла с помощью оператора while, без дополнительных средств контроля может привести к зацикливанию. Например, задав при обращении к программе eps < 0 получаем зацикливание.

Поэтому в Mathcad имеется специальный оператор break, который позволяет выйти из цикла или приостановить исполнение программы при выполнении заданного в операторе break условии. Для ввода оператора break необходимо щелкнуть на кнопке break панели Программирования (нельзя вводить этот оператор с клавиатуры по символам). Оператор break используется в левом поле ввода условного оператор if, а в правом размещается условие, при выполнении которого происходит прекращение работы цикла или программы, в нижнем поле – оператор, выполняемый если условие не выполнено. Поэтому первоначально вводится оператор if, а затем заполняются поля этого оператора.

Следующий пример показывает написание не зацикливающей программы с оператором break.

 

Задание

1. Составить программу – функцию, вычисляющую функцию f (x)

2. Пусть задана функция двух аргументов f (x, y). Найти область определения этой функции. Составить программу – функцию, вычисляющую функцию f (x, y), таким образом, чтобы значения x и y не выходили за пределы области определения функции f (x, y).

3. Построить графики функций f (x) и f (x, y).

 

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

1. Составить программу – функцию, вычисляющую функцию y (x).

2. Составить программу – функцию, вычисляющую функцию f (x, y), таким образом, чтобы значения x и y не выходили за пределы области определения функции f (x, y).

№ варианта Задание 1 Задание 2  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

 

Технология выполнения работы

В данной работе необходимо составить программы – функции, для вычисления значений функций y (x) и f (x, y), используя панель Programming, а так же применяя методики описанные выше.

 

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

1. Задание и цель работы.

2. Выполненные расчеты.

 

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

1. Как ввести программу-функцию в Mathcad?

2. Что такое формальные параметры программы - функции?

3. Каким образом происходит обращение к программе – функции в Mathcad?

4. Что такое условный оператор в Mathcad и как его использовать?

5. Что такое цикл типа арифметической прогрессии в Mathcad и как его использовать?

 

 


Библиографический список

1. Бобровский, С. Delphi 7. Учебный курс / С. Бобровский – СПб.: Питер, 2008. – 736 с.

2. Воскобойников Ю.Е. Основы работы в пакете MathCAD: учеб. пособие / Ю.Е. Воскобойников, А.Ф. Задорожный. – Новосибирск: НГАСУ (Сибстрин), 2006. – 138 с.

3. Гарнаев, А. Microsoft Office Excel 2010. Разработка приложений / А. Гарнаев, Л. Рудикова. – СПб.: БХВ-Петербург, 2011. – 514 с.

4. Дьяконов, В.П. Справочник по MathCAD 12 / В.П. Дьяконов. – М.: СК Пресс, 2006. – 336 с.

5. Дьяконов, В.П. MathCAD14 в математике, физике и в Internet / В.П. Дьяконов, И.В. Абраменкова. – М.: Изд-во Нолидж, 2008. – 352 с.

6. Информатика [Текст]: учеб. пособие. Ч. 3 / С.М. Горбенко, С.Ю. Кацко, Н.П. Артемьева, С.А. Егорова, Н.В. Деева, С.А. Вдовин; под общ. ред. С.Ю. Кацко. – Новосибирск: СГГА, 2011. – 168 с.

7. Кирьянов, Д. Mathcad 14 / Д. Кирьянов. – СПб.: БХВ-Петербург, 2007. –704 с.

8. Кузьменко, В.Г. Visual Basic 6 / В.Г. Кузьменко. – М.: Бином-Пресс, 2011. – 672 с.

9. Культин, Н. Delphi в задачах и примерах / Н. Культин. – СПб, 2007.

10. Могилев, А.В. Практикум по информатике [Текст] / А.В. Могилев, Н.И. Пак, Е.К. Хеннер. – М.: Академия, 2009. – 608 с.

11. Павловская, Т.А. С/С++. Структурное и объектно-ориентированное программирование. Практикум / Т.А. Павловская, Ю.А. Щупак. – СПб.: Питер, 2011. – 352 с.

12. Сайлер, Брайан. Использование Visual Basic 6. Классическое издание / Б. Сайлер, Дж. Споттс. – М.: Издательство «Вильямс», 2007. – 832 с.

13. Сырецкий Г.А. Информатика. Фундаментальный курс. Том II. Информационные технологии и системы / Г.А. Сырецкий. – СПб.: БХВ - Петербург, 2007. – 848 с.

14. Фаронов, В. Delphi. Программирование на языке высокого уровня / В. Фарафонов. – Санкт-Петербург, 2006.

15. Хомоненко, А. Delphi 7. Наиболее полное руководство / А. Хомоненко, В. Гофман, Е. Мещеряков, В. Никифоров. – СПб.: BHV – Санкт-Петербург, 2006. – 1216 с.

ЛАБОРАТОРНЫЙ ПРАКТИКУМ







Дата добавления: 2014-11-10; просмотров: 777. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

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

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия