Студопедия — Примеры программ с циклами
Студопедия Главная Случайная страница Обратная связь

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

Примеры программ с циклами






Пример 1. Вычислить и вывести на печать значения функции y = x+ex sin x, если аргумент х изменяется от -1 до 2 с шагом 0, 1.

Составим схему алгоритма (рис. 1).

Она работает следующим образом: в блоке 2 аргументу х присваивается начальное значение, равное -1, в блоке 3 вычисляется значение функции у при х = -1, в блоке 4 значения у и х выводится на экран. В блоке 5 аргумент получает приращение, т.е. увеличивается на 0, 5, в блоке 6 выполняется проверка на достижения аргументом конечного значения, равного 2. Если аргумент х ещё не превысил конечное значение, то

управление передаётся блоку 3, в котором вычисляется новое значение функции у при новом значении х. Если значение х становится больше, чем 2, то вычисления прекращаются, конец программы.

По этому алгоритму можно составить четыре варианта программы.

Схема алгоритма:

 
 

 


 

Рисунок 1 Схема алгоритма

циклической программы

 

Программа, вариант 1

REM Цикл с оператором IF…THEN

CLS ' очистка экрана

х =-1 ' присвоение х начального значения

m: у =х + EXP(х)*SIN(х) ' вычисление у при хнач

PRINT " у ="; у, " х ="; х ' вывод на экран у и х

х =х + 0.1 ' увеличение х на шаг 0, 1

IF х < = 2 THEN m ' если х ещё меньше или равен хкон, то

END ' управление передаётся по метке m, если

' нет, то следующему оператору – END

В программе варианта 1 для организации цикла использован оператор условного перехода IF…THEN (что указано в комментарии – оператор REM).

Действие каждого оператора указано в комментариях под знаком апострофа (это невыполняемая часть программы, которая записывается только для программиста). Возврат в начало цикла организован передачей управления с помощью оператора условного перехода по метке m.

Вариант 2

REM Цикл с оператором FOR…NEXT

CLS ' очистка экрана

FOR х =-1 TO 2 STEP.2 ' задание параметров цикла: хнач, хкон, шага ∆ х

у =х + EXP(х)*SIN(х) ' вычисление у в цикле

PRINT " у ="; у, " х ="; х ' вывод на экран у и х

NEXT x ' возврат к началу цикла

END

Описание программы:

в операторе цикла FOR…задаётся первое значении х=-1, следующим оператором вычисляется значение функции у, затем оно распечатывается на экране (оператор PRINT) вместе со значением х, потом оператор NEXT x передаёт управление назад, оператору FOR…, где к величине х прибавляется шаг, т.е число 0, 2, новое значение х составляет -0, 8, в следующем операторе вычисляется значение у при х=-0, 8, распечатывается, вновь производится возврат в оператор FOR…, вновь увеличивается аргумент х на 0, 2 и становится равным 0, 6 и т.д. Последний раз цикл выполнится при х=2, а потом, т.к. заданный интервал х[-1; 2] уже просчитан, программа переходит к следующему оператору, т.е.END – конец программы.

Вариант 3

REM Цикл с оператором WHILE…WEND

CLS ' очистка экрана

х = -1 ' задание начального значения: хнач = -1

WHILE x < = 2 ' проверка условия: пока х ещё < = хкон = 2

у =х + EXP(х)*SIN(х) ' вычисление у в цикле

PRINT " у ="; у, " х ="; х ' вывод на экран у и х

х = х + 0.2 ' увеличение х на шаг 0.2

WEND ' возврат к началу цикла - WHILE…

END

Описание программы:

Начальное значение х = -1 задаётся до тела цикла WHILE…WEND,

затем в операторе WHILE проверяется достижение конца цикла х = 2. Поскольку х = -1 ещё меньше, чем 2, то программа переходит к следующему оператору, где вычисляется значение у при первом х = -1. затем оно и значение х распечатываются (на экране), потом значение х увеличивает-

ся на шаг (х = х + 0.1) и оператор WEND передаёт управление оператору WHILE, где снова проверяется, достигло ли новое значение х = -0, 8 значения 2. Т.к. -0, 8 ещё меньше 2, то вычисляется у при этом значении х = -0, 8, распечатывается вместе с х, снова х увеличивается на шаг 0, 2, затем WEND возвращает управление началу цикла, где WEND вновь проверяет х = -0, 6 на достижение хкон = 2 и т.д.

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

Вариант 4

REM Цикл с оператором DO…LOOP

CLS ' очистка экрана

х = -1 ' задание начального значения: хнач = -1

DO

у =х + EXP(х)*SIN(х) ' вычисление у в цикле

PRINT " у ="; у, " х ="; х ' вывод на экран у и х

х = х + 0.2 ' увеличение х на шаг 0.2

LOOP UNTIL x > 2 ' проверка превышения конца цикла х > 2

END

Описание программы:

До тела цикла вводится хнач= -1, потом следует оператор " Делать" – что именно: вычислять у, распечатывать его и аргумент х. Затем идёт проверка: делать петлю до того, как величина х станет больше хкон. В условии проверки должен стоять знак " > ", чтобы цикл был просчитан и при последнем значении х = хкон. Если записать LOOP UNTIL x = 2, то последним значением х, которое будет до х = 2, является х = 1, 8, т.е. при х = хкон= 2 цикл просчитан не будет. Если записать LOOP UNTIL x < 2, то все значения х окажутся меньше хкон и цикл просчитается только один раз, при х = хнач= -1, затем он увеличится на шаг и станет равным -0, 8, но это значение является значением до х = 2, поэтому " петля" на слово DO делаться не будет. Поэтому, для того, чтобы цикл был

просчитан и при конечном значении аргумента х, в условии LOOP UNTIL должен быть только знак " > ".

Структура программы такая же, как и для цикла WHILE…WEND, т.е. до тела цикла вводится начальное значение х = -1, а в теле цикла вычисляется и выводится у, а также задаётся приращение аргумента х = х + 0, 1, но:

· проверка достижения хкон выполняется в конце цикла, поэтому он обязательно будет просчитан хотя бы один раз (при х = хнач),

· в условии проверки достижения конечного значения должен стоять знак " > ", чтобы цикл был просчитан и при последнем значении аргумента.

Вариант 5

REM Цикл с оператором DO UNTIL…LOOP

CLS ' очистка экрана

х = -1 ' задание начального значения: хнач = -1

DO UNTIL x > 2 ' проверка превышения конца цикла х > 2

у =х + EXP(х)*SIN(х) ' вычисление у в цикле

PRINT " у ="; у, " х ="; х ' вывод на экран у и х

х = х + 0.2 ' увеличение х на шаг 0.2

LOOP

END

Работа программы происходит также, как и в варианте 4, но, поскольку проверка конца цикла производится в его начале, то он тоже может быть не выполнен ни разу (как и в цикле WHILE…WEND).

Пример 2 Вычислить с помощью оператора цикла и вывести на печать сумму всех значений у = sin3х, где х изменяется от 1 до 10 с шагом 0.1.

S =







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



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Тема 5. Организационная структура управления гостиницей 1. Виды организационно – управленческих структур. 2. Организационно – управленческая структура современного ТГК...

Методы прогнозирования национальной экономики, их особенности, классификация В настоящее время по оценке специалистов насчитывается свыше 150 различных методов прогнозирования, но на практике, в качестве основных используется около 20 методов...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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