Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
algoritm.doc
Скачиваний:
42
Добавлен:
13.02.2015
Размер:
923.14 Кб
Скачать

Задание 1

Составьте программу для вычисления следующих выражений. Программа должна обеспечить ввод значений Х, расчет и вывод значений Y.

1.

y=5x2

y=x2-2x

y=tg(2x)

y=lg(x)

при x < -10

при –10  x < 0

при 0  x  2

при x > 2

6.

y=5x2

y=x2-2x

y=tg(2x)

y=lg(x)

при x < -5

при –5  x < 0

при 0  x  2

при x > 2

2.

y=0,5x2

y=x2-4x

y=tg(x)

y=lg(x)

при x < -20

при –20  x < 0

при 0  x < 2

при x  2

7

y=1,5x2

y=x2-4x

y=tg(x)-sin(x)

y=lg(x)+ln(x)

при x < -10

при –10  x < 0

при 0  x < 2

при x  2

3.

y=0,5x2

y=x3-4x

y=tg(0,1x+3)

y=lg(12x)

при x < -25

при –25  x < 0

при 0  x < 20

при x  20

8.

y=0,5x2

y=1,2x3-4x

y=tg(0,1x)

y=lg(12x)

при x < -25

при –25  x < 0

при 0  x < 20

при x  20

4.

y=0,5x4

y=x2-4x

y=tg(x2)

y=lg(x-0,5)

при x < -10

при –10  x < 0

при 0  x < 2

при x  2

9.

y=0,5x4

y=x2-4x

y=tg(x2)

y=lg(x-0,5)

при x < -100

при –100  x < 0

при 0  x < 1,2

при x  1,2

5.

y=x2+x

y=x3

y=tg2(x)

y=lg(5x)

при x < -20

при –20  x < 0

при 0  x < 3

при x  3

10.

y=x2+3x

y=x3-4

y=tg2(x)

y=lg(5x)-x

при x < -20

при –20  x < 0

при 0  x < 3

при x  3

Задание 2

Составьте программу, которая бы выводила на экран сообщение о количестве занятий, в зависимости от дня недели (понедельник = 1, вторник = 2 и т.д.), цифровое обозначение которого ввести с клавиатуры, с применением оператора case.

Тема 7 Циклические алгоритмы с известным числом повторений

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

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

for i:=m1tо m2 do s;

Здесь i– параметр цикла целого или другого перечислимого типа,m1иm2 – начальное и конечное значения параметра цикла,s– тело цикла из одного или нескольких операторов. Если тело цикла состоит из нескольких операторов (т.е. является составным оператором), то их объединяют операторными скобкамиbeginиend. При выполнении оператораforповторяется тело цикла. Параметр цикла увеличивается на 1 при каждом повторе. При первом повтореiравноm1, при последнем повтореiравноm2. В теле оператора не следует применять операторы, меняющие значение параметра цикла. Наиболее часто этот оператор используется для выполнения операций с массивами.

Возможна следующая запись оператора: for i:=m1 downto m2 do s;

При этом параметр цикла уменьшается на 1 при каждом повторе.

Количество повторов цикла в операторе forбудет следующим:

Оператор

m1 <m2

m1 =m2

m1 >m2

for … to

m 2m1+1 раз

1 раз

Не выполняется

for…downto

Не выполняется

1 раз

m 1m2+1 раз

Пример.Вычислить 9 раз значения функциипри измененииaот –1 с шагом 0,5. Вывести на экран значения аргумента и значения функции в виде таблицы.

Решение.В программе перед циклом задается начальное значение аргумента, равное минус 1. Внутри цикла проверяется возможность вычисления функции. Если вычислить функцию невозможно, на экран выводится соответствующее сообщение. В противном случае вычисляется значение функции и выводится на экран вместе со значением аргумента. В конце цикла значение аргумента увеличивается на величину шага, и таким образом при следующем выполнении цикла все действия повторяются при новом значении аргумента. Когда будет выполнено девять повторений, произойдет выход из цикла. Ниже приведён текст программы:

Uses Crt; {подключение модуля Crt}

Var {описание переменных}

a,b:real;

i:integer;

Begin {начало головной программы}

Clrscr; {очистка экрана}

Writeln('Таблица функции b=f(a)'); {вывод шапки таблицы}

Writeln('--------------------');

Writeln(' № a b ');

Writeln('--------------------');

a:=-1; {начальное значение аргумента}

for i:=1 to 9 do {начало цикла}

begin

{проверка возможности вычисления функции}

if sqr(a)-0.3<0 then {вывод сообщения}

writeln('При a = ',a:8:2,' функция не определена')

else

begin

b:=sqrt(sqr(a)-0.3); {вычисление функции}

{вывод номера точки, аргумента и функции на экран}

Writeln(i:2,' ',a:8:2, ' ',b:8:2);

end;

a:=a+0.5; {пошаговое увеличение аргумента}

end; {окончание цикла}

Writeln('--------------------'); {вывод подвала таблицы}

Readln; {ждём нажатия ENTER}

End. {окончание программы}

В теле оператора forмогут находиться другие операторыfor. Это позволяет строить циклы, содержащие внутренние циклы, которые называютсявложенными. Ниже приведён текст программы, выводящей на экран таблицу умножения.

Uses Crt;

Var i,j:integer;

Begin

Clrscr;

Writeln('Таблицаумножения'); Write(' |');

for i:=1 to 9 do write(i:6); Writeln;

for i:=1 to 60 do write('-'); Writeln;

for i:=1 to 9 do {начало цикла i}

begin

Write(i:4,' |');

For j:=1 to 9 do Write(i*j:6); { цикл j}

Writeln;

end; {конец цикла i}

Readln;

End.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]