Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

asd / корзина / задания / Лабораторная работа _ 3

.doc
Скачиваний:
18
Добавлен:
09.03.2016
Размер:
1.63 Mб
Скачать

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

Сборник лабораторных работ по курсу «Алгоритмизация и программирование».

Лабораторная работа № 3

Программирование

циклических вычислительных процессов

Цель работы:

Получение навыков разработки алгоритмов и программ для циклических вычислительных процессов; практическая отработка приемов отладки программ, использующих циклы.

Краткая теория.

Цикл – краткая (компактная) запись многократно повторяющегося вычислительного процесса.

Циклы можно разбить на две группы: циклы с заданным числом повторений (пример 1) и итерационные циклы (пример 2).

Циклы первого типа реализуются с помощью оператора цикла с параметром FOR, который имеет следующую структуру

For <parameter>:=<start> To <finish> Do <оператор>;

или

For <parameter>:=<start> DownTo <finish> Do <operator>;

Здесь <parameter> - имя переменной цикла порядкового типа, <start> и <finish> - начальное и конечное значение переменной цикла. Шаг изменения переменной цикла равен 1 (для конструкции Do) или -1 (для конструкции DownTo); <оператор> - группа выполняемых операторов, так называемое «тело» цикла. Если тело цикла состоит из нескольких операторов, их следует заключать в операторные скобки: begin-end.

Итерационные циклы, где выход из цикла осуществляется по достижению некоторого условия, реализуется с помощью операторов While и Repeat.

Оператор цикла While называется циклом с предусловием и имеет следующую структуру:

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

где <оператор> - тело цикла, выполняется до тех пор, пока логическое выражение принимает значение True (истина). Не исключено, что при определенных соотношениях величин, составляющих логическое выражение, тело цикла не выполняется ни одного раза.

Оператор цикла Repeat называется циклом с постусловием и имеет следующую структуру:

Repeat

<тело цикла>

Until <логическое выражение>;

Тело цикла выполняется до тех пор, пока логическое выражение имеет значение False. В операторе Repeat тело цикла выполняется хотя бы один раз.

Пример 1.

Найти сумму первых натуральных нечетных чисел не превышающих n.

Блок-схема алгоритма решения задачи представлена на рис. 4, где S – искомая сумма, а k – текущее слагаемое, нечетное число натурального ряда.

Рис. 4. Блок-схема алгоритма решения задачи.

Пример 2.

Найти с заданной точностью  значение , пользуясь методом последовательных приближений по следующей схеме:

при этом x0 - начальное приближение, которое выбирается более или менее произвольно. Точность считается достигнутой, если выполняется неравенство |xn-xn+1| < , где xn и xn+1 соответственно предыдущее и последующее значения приближений.

Блок-схема алгоритма решения задачи представлена в двух вариантах: без контроля (рис. 5) и с контролем (рис. 6) числа повторений цикла с тем, чтобы его значение k не превосходило предварительно заданное число n. На блок-схеме соответствующие приближения обозначены через x и y.

Рис. 5. Циклический процесс без контроля числа циклов.

Преимущество второго варианта алгоритма состоит в том, что, если итерационный процесс не сходится, т.е. условие |x - y| < никогда не будет выполнено, цикл, тем не менее, будет завершен, как только k превысит значение n.

Содержание задания.

Разработать алгоритм и составить программу вычисления и вывода на печать значений заданной функции при изменении аргумента в интервале [ab] с шагом h.

Рис. 6. Циклический процесс с контролем числа циклов.

Варианты заданий.

  1. Вычислить:

где y = 0.7 и ; -0.6  t  2.2; h = 0.5

  1. Вычислить: ,

где ; -2  x  2; h = 0.8

  1. Вычислить: ,

где ; -0.1  x  1; h = 0.1

  1. Вычислить: ,

где ; -2  x  5; h = 0.5

  1. Вычислить: ,

где ; -3  x  3; h = 0.4

  1. Вычислить: ,

где a = 1.45; ; -1  x  2; h = 0.3

  1. Вычислить: ,

где ; -2  x  2; h=0.6

  1. Вычислить: ,

где ; -3  x  3; h = 0.5

  1. Вычислить: ,

где ; -2.2  x  2.5; h = 0.4

  1. Вычислить: ,

где ; -1  x  2; h = 0.2

  1. Вычислить: ,

где ; -5  z  5; h = 0.9

  1. Вычислить: , a = 0.35

где ; -4  x  4; h = 1

  1. Вычислить: ,

где ; -5  x  5; h = 2

  1. Вычислить: ,

где ; -1  x  2; h = 0.5

  1. Вычислить: ,

где ; -3  x  2; h = 0.5

  1. Вычислить: ,

где ; -2  x  2; h = 0.4

  1. Вычислить: ,

где ; -2  x  4; h = 0.5

  1. Вычислить: ;

где ; -1.5  x  2.9; h = 1.1

  1. Вычислить: ;

где ; -3  x  6; h = 1

  1. Вычислить: ;

где ; -1  x  3; h = 0.5

  1. Вычислить: ,

где x1 – больший корень, а x2 – меньший корень квадратного уравнения

и r меняется в интервале -2  r  2 с шагом h = 0.5

  1. Вычислить: ,

где x – меньший корень квадратного уравнения

,

если последнее имеет решение, и x=a, если действительных решений нет; a изменяется в интервале –1 a  1.8 с шагом h = 0.4; b = -2.3; c = 1.2

  1. Вычислить: ,

где w=-0.7, x – больший корень уравнения

,

если же уравнение не имеет вещественных корней, то x = c; переменная c меняется в интервале 2  c  4, с шагом h = 0.5; a = 2.1; b = 5.2

  1. Вычислить: ,

где x1 и x2 соответственно больший и меньший корни уравнения

,

где t меняется в интервале -3  t  3 с шагом h = 0.5

  1. Вычислить: ,

где - больший корень, а - меньший корень квадратного уравнения

,

- меняется в интервале с шагом .

  1. Вычислить: ,

где - больший корень, а - меньший корень квадратного уравнения

,

- меняется в интервале с шагом .

  1. Вычислить: ,

где - больший корень квадратного уравнения

,

если уравнение имеет решение и , если действительных корней нет; а - меняется в интервале с шагом .

  1. Вычислить: ,

где ; - меньший корень квадратного уравнения

.

Если уравнение не имеет вещественных корней, то ; с - меняется в интервале с шагом .

  1. Вычислить: ,

где ; - больший корень квадратного уравнения

.

Если уравнение не имеет вещественных корней, то ; b - меняется в интервале с шагом .

  1. Вычислить: ,

где z =0,52; - больший корень, а - меньший корень квадратного уравнения

,

k - меняется в интервале с шагом .

10