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

Задание 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.

Лабораторная работа № 5 Программирование циклических алгоритмов с известным числом повторений

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

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

for i:=m1 tо 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.