Лабы по программированию / lab_rab_1_Vlozhen_tsikly
.doc
ЛАБОРАТОРНАЯ РАБОТА №1
ПРОГРАММИРОВАНИЕ УСЛОВНЫХ ОПЕРАТОРОВ, ПРОСТЫХ И ВЛОЖЕННЫХ ЦИКЛИЧЕСКИХ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ
Цель работы: освоение методов организации циклических программ сложной структуры.
Требования к выполнению работы:
-
Работа выполняется в три этапа.
-
На первом этапе рассмотреть решение задачи для однозначных значений исходных данных, используя условные операторы. В качестве численных значений выбрать нижние значения данных, заданных в таблице 1.1.
-
На втором этапе рассмотреть решение задачи для ряда значения второго исходного данного, используя циклы. Привести четыре варианта использования циклов –while, do ..while, for с шагом, отображающим количество вычислений и шагом, отображающим изменение параметра цикла.
-
На третьем этапе рассмотреть решение задачи, используя вложенные циклы, изменяя значения и первого и второго параметров. Вид циклов может быть произвольным, но различным.
-
На каждом этапе составить блок-схему алгоритма и программу.
-
Оформить вывод результатов таким образом, чтобы четко выделялись этапы решения задачи, значения первого изменяемого параметра (a или b) и при их конкретных значениях выводились в виде таблицы значения второго изменяемого параметра (x или y), а также результата (y, f, z, p).
-
Выполнить анализ полученных результатов
Теоретические положения
Условный оператор
Данный оператор предназначен для проверки заданного условия и выбора выполняемых действий (операторов) в зависимости от истинности (ложности) условия.
Имеется 2 формы записи условного оператора:
1. Полная форма записи:
if ( условие ) оператор 1;
else оператор 2;
Если условие имеет значение "истина" (true), то выполняется оператор 1, в противном случае во второй части оператора ( else ) - выполняется оператор 2.
2. Сокращенная форма записи:
if ( условие ) оператор 1;
Если условие имеет значение "истина" (true), то выполняется оператор 1, в противном случае - оператор 1 пропускается и выполняется следующий в программе оператор.
Оператор 1 и оператор 2 могут быть простыми или составными
if ( условие ) { оператор 1_1; оператор 1_2; }
else оператор 2;
Операторы цикла
Эти операторы предназначены для организации многократных повторений наборов действий (циклов) в программах. Имеется 3 вида операторов цикла:
-
цикл типа while;
-
цикл типа do…while;
-
цикл типа for.
Оператор цикла типа while
Форма записи:
while (условие) оператор;
где: (условие) – логическое выражение;
оператор – выполняемый в цикле оператор или тело цикла.
Схема работы такого цикла: пока условие является истинным (true), выполняется оператор и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу. Такой цикл называют циклом с предусловием. Если в теле цикла необходимо выполнять набор операторов, тогда этот набор операторов заключают в фигурные скобки и образуют составной оператор.
Оператор цикла типа do…while
Форма записи:
do оператор1;
while (условие);
Схема работы такого цикла: сначала выполняется оператор, потом проверяется условие, если условие является истинным (true), выполняется оператор и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу.
Такой цикл называют циклом с постусловием.
Оператор цикла типа for
Форма записи:
for ( выражение1; выражение2; выражение3 ) оператор;
где: выражение1 – задаёт начальное значение параметру цикла, а также начальные значения другим переменным;
выражение2 –выражение, которое задаёт условие работы цикла;
выражение3 – задаёт изменение параметру цикла, а также другим переменным.
Схема работы такого цикла: сначала выполняется выражение1, затем проверяется выражение2, если оно истинно, то выполняются оператор и выражение3, снова проверяется выражение2 и т.д.
Варианты индивидуальных заданий приведены в таблице 1.1.
Таблица 1.1
|
N |
Вид задания |
Исходные данные |
Данные, выводимые на печать |
||||
---|---|---|---|---|---|---|---|---|
|
1 |
|
a, x, z |
|||||
2 |
|
|
b, x, F |
|
||||
3 |
|
|
a, x, y |
|
||||
4 |
z=y+x/(0.5+x)
|
|
a, x, y, z |
|
||||
5 |
y=x+b*x2-x/(x+1)
|
|
b, x, y, z |
|
||||
6 |
y=sin2( a*x)+cos(a*x) |
|
a,x, z, y
|
|
||||
7 |
y=a*cos(x) |
|
a,x,z, y
|
|
||||
8 |
q=b*sin(x+x2) |
|
b, x, q, p
|
|
||||
9 |
|
a, x, t, z
|
|
|||||
10 |
|
b, x, y
|
|
|||||
11 |
|
b, t, z, |
|
|||||
12 |
y=sin2x+cosx |
a,x, z, y |
|
|||||
|
13 |
|
a, x, z |
|||||
14 |
|
|
b, x, f |
|
||||
15 |
|
|
a, x, y |
|
||||
16 |
|
a, x, f |
|
|||||
17 |
|
|
b, x, z |
|
||||
18 |
y=x+b*x2-x/(x+1)
|
|
b, x, y, f |
|
||||
19 |
y=sin2( a*x)+cos(a*x) |
|
a, x, y, z
|
|
||||
20 |
y=x+a2*cos(x) |
|
a, x, y, z
|
|
||||
21 |
|
b, x,f
|
|
|||||
22 |
|
b, x, z, |
|
|||||
23 |
|
|
b, x, f |
|
||||
24 |
|
|
a, x, y |
|
||||
25 |
|
a, x, f |
|
Контрольные вопросы и практические задания:
-
Что представляет собой структура программы ?
-
Какие типы данных используются в простых программах ?
-
Какие функции выполняют операторы в языке программирования?
-
Как работают операторы присваивания?
-
Что такое одноместные и двуместные операции?
-
Какие требованиям должны отвечать аргументы математических функций?
-
Что такое составной оператор, и какие функции он выполняет?
-
Как происходит работа условного оператора?
-
Какие существуют формы условных операторов?
-
Как работает оператор while?
-
Как работает оператор do ... while?
-
Как работает оператор for ?
-
Подчеркнуть в программе операторы, образующие цикл.
-
В чем заключается отличие операторов while и do ... while?
-
Заменить в программе один оператор цикла другим.