Рефераты. Выражения и условный оператор IF. Операторы циклов. Массивы и подпрограммы

Выражения и условный оператор IF. Операторы циклов. Массивы и подпрограммы

Томский межвузовский центр дистанционного образования

Томский государственный университет систем управления и радиоэлектроники (ТУСУР)

Кафедра экономика

Контрольная работа №1

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

автор пособия Тимченко С.В., Сметанин С.И.

вариант №1

Выполнила

Студентка гр.З-828-Б

Специальности 080105

Афонина Юлия Владимировна

Г. Нефтеюганск

2009 г.

Задание №1. «Выражения и условный оператор IF»

1. Вычислить значение функции f в точке x.

Решение:

Program prog1;

Var

f,x: real;

Begin

writeln('Расчет значения функции в заданной точке');

write(' Введите число x: ');

readln(x);

if x<0 then f:=SQR(x+3) else

begin

if x<4 then f:=sin(x-2)/(SQR(x)-16)

else f:=SQRT(x-4);

end;

writeln(' Значение f(',x:0:8,') = ',f:0:8);

readln;

end.

Тестирование программы:

1. X=-1 (выполнено первое условие, x<0):

Расчет значения функции в заданной точке

Введите число x: -1

Значение f(-1.00000000) = 4.00000000

2. X=3 (выполнено второе условие, 0<=x<4):

Расчет значения функции в заданной точке

Введите число x: 3

Значение f(3.00000000) = -0.12021014

3. X=5 (выполнено третье условие, x>=4):

Расчет значения функции в заданной точке

Введите число x: 5

Значение f(5.00000000) = 1.00000000

Программа дает верные результаты, отладка завершена.

2. Какие типы использовались при описании переменных в программе?

При описании данной программы использовались переменные вещественного типа.

3. Чем определяется выбор того, или иного типа?

Типом данных называется множество допустимых значений этих данных, а также совокупность операций над ними. Типы делятся на следующие группы: простые, структурированные, указатели, процедурные, объекты. Есть стандартные (предопределенные) и определяемые программистами в разделе, начинающемся со слова Type. Простые типы определяют упорядоченное множество значений элементов и делятся на вещественные, целые, символьный, логический, перечисляемый и тип-диапазон. Вещественные типы определяют дробные числа и представлены 5 стандартными типами: real, single, double, extended, comp. Целые типы определяют целые числа и представлены 5 стандартными типами: integer, longint, shortint, byte, word, стандартный символьный тип char определяет полный набор допустимых символов. Стандартный логический тип Boolean представляет собой тип данных, каждый элемент которого может принимать 1 из 2-х значений: False (ложь), True (правда). Перечисляемый тип не является стандартным и определяется набором идентификаторов, к которым может совпадать значение элемента данных.

В данной программе выбор типа real для переменной x обусловлен тем, что функции sqrt(x), sin(x) и sqr(x) допускают аргументы такого типа. А так как значение функции sin(x) имеет тип real для аргумента типа real, то для переменной f необходимо также выбрать тип real.

Задание №2. «Операторы циклов»

1. Задание:

Вычислить сумму s значений функции f в точках xi которые берутся с заданного интервала [a;b] через равные отрезки длиной h. Длина отрезка рассчитывается по формуле . Здесь i=1,2,3…n - номер точки; n - задаваемое количество точек; a - начло и b - конец интервала изменения x. Вывести на экран результаты вычислений, полученные при помощи следующих циклов:

- While логическое_выражение Do тело_цикла;

- Repeat тело_цикла Until логическое_выражение;

- For параметр:=мин._значение To макс. Do тело_цикла;

- For параметр:=макс._значение DownTo мин. Do тело_цикла;

При выполнении задания сначала в программе требуется задать значение исходных данных: границы интервала a и b, количество точек n. Это можно сделать, описав соответствующие константы в разделе объявления констант Const.

Затем при помощи операторов циклов, записываемых в программе последовательно друг за другом в любом порядке следования, необходимо в каждом из циклов вычислить сумму s и вывести ее на экран, т.е. в одной программе решить задачу 4-мя способами. Таким образом, в результате выполнения программе на экране должны быть 4 значения s, совпадающие между собой.

Решение:

Program prog2;

const

a=3;

b=10;

n=10;

var

s,x,h:real;

i:integer;

begin

writeln('Вычисление суммы значений функции');

h:=(b-a)/(n-1);

writeln(' a = ',a);

writeln(' b = ',b);

writeln(' n = ',n);

writeln(' h = ',h:0:8);

writeln;

{цикл "while"}

writeln('1. Цикл "while"');

x:=a;

s:=0;

i:=1;

while i<=10 do

begin

s:=s+sin(x+3)/exp(2/5*ln(x+3));

x:=x+h;

i:=i+1;

end;

write(' Значение s: ');

writeln(s:0:8);

{цикл "repeat"}

writeln('2. Цикл "repeat"');

x:=a;

s:=0;

i:=1;

repeat

s:=s+sin(x+3)/exp(2/5*ln(x+3));

x:=x+h;

i:=i+1;

until i>10;

write(' Значение s: ');

writeln(s:0:8);

{цикл "for ... to ... do"}

writeln('3. Цикл "for ... to ... do"');

x:=a;

s:=0;

for i:=1 to 10 do

begin

s:=s+sin(x+3)/exp(2/5*ln(x+3));

x:=x+h;

end;

write(' Значение s: ');

writeln(s:0:8);

{цикл "for ... downto ... do"}

writeln('4. Цикл "for ... downto ... do"');

x:=a;

s:=0;

for i:=10 downto 1 do

begin

s:=s+sin(x+3)/exp(2/5*ln(x+3));

x:=x+h;

end;

write(' Значение s: ');

writeln(s:0:8);

readln;

End.

Тестирование программы:

Переменные a, b, h заданы в разделе констант в программе:

const

a=3;

b=10;

n=10;

Результат работы программы:

Вычисление суммы значений функции

a = 3

b = 10

n = 10

h = 0.77777778

Результаты вычислений, полученные при помощи различных циклов:

1. Цикл While:

1. Цикл "while"

Значение s: 0.15809431

2. Цикл repeat:

2. Цикл "repeat"

Значение s: 0.15809431

3. Цикл For … To … Do:

3. Цикл "for ... to ... do"

Значение s: 0.15809431

4. Цикл For … DownTo … Do:

4. Цикл "for ... downto ... do"

Значение s: 0.15809431

Программа дает одинаковые результаты для всех циклов, отладка завершена.

2. Опишите оператор While.

Оператор While имеет следующую структуру:

While логическое выражение do оператор;

Работает этот оператор очень просто. Вычисляется значение логического выражения. Если получается истина (True), то выполняется оператор, а затем снова вычисляется значение логического выражения. Если снова получается истина, то опять выполняется оператор, и т.д. Так продолжается до тех пор, пока при вычислении логического выражения не получится ложь (False). После этого оператор While заканчивает свою работу и передает действие следующему оператору.

В частности, если в самом начале работы While при вычислении логического выражения получается ложь, то оператор не выполнится ни разу. Как обычно, в качестве оператора может выступать некоторый составной оператор. Может показаться странным, что оператор While вообще когда-нибудь заканчивает свою работу. В самом деле, почему одно и то же логическое выражение сначала было истинным, а потом, после нескольких выполнений оператора, стало ложным? Логическое выражение зависит от нескольких переменных, значение которых меняется во время выполнения оператора, что влечет за собой изменения значения логического выражения. В принципе, это вовсе не означает, что каждый оператор While когда-нибудь заканчивает работу. То есть, не исключена ситуация, когда логическое выражение всегда будет истинным, и оператор While будет работать вечно. Такая ситуация называется зацикливанием. Таким образом, при использовании оператора While и вообще других циклических операторов нужно быть аккуратным и стараться избегать зацикливаний. Это значит, что при программировании любого цикла нужно стараться всегда объяснить самому себе, почему этот цикл не будет вечным, а когда-нибудь закончит свою работу.

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.