Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Цель работы: изучение методов работы с циклами различными методами.
Форма организации занятия фронтальная
Студент должен знать:
-способы организации циклов.
-методы работы с переменными.
Студент должен уметь:
-разрабатывать, отлаживать и тестировать программу на языке Object Pascal.
Вопросы для проверки готовности студентов к лабораторной работе:
Обеспеченность:
-данное методическое указание.
-компьютер с установленной средой автоматизированной разработки программ Borland Developer Studio 2006.
-интегрированное справочное руководство Borland Developer Studio 2006.
Задание к работе
Варианты заданий даны в .
табл. 2.. Варианты заданий
№ |
Задача 1 |
Задача 2 |
a = 2.8; x = 5.1; c = 1.8; b = 0.81 |
||
1 |
||
2 |
||
3 |
||
4 |
||
5 |
||
6 |
||
7 |
||
8 |
||
9 |
||
10 |
||
11 |
||
12 |
||
13 |
||
14 |
||
15 |
Пример выполнения
Задание 1
Вычислить
Блок-схема алгоритма задания представлена на .
рис. 2.. Блок-схема алгоритма задания 1
В блоке 1 вводится значение переменной х. Блок 2, задающий начальное значение суммы, стоит перед циклом, в котором она накапливается. Блок 3 - цикл с известным числом повторений. В его теле блок 4 вычисляет значение слагаемого x2/i и накапливает сумму. Результат представляет собой одно число, которое выводится блоком вывода 5. В блоке 6 организуется пауза, чтобы пользователь увидел результат.
Код программы:
program Prg_2_1;
{$APPTYPE CONSOLE} // Директива компилятора
uses SysUtils, MyNews; // Ссылка на модули
var
x,z: real;
i: integer;
begin
writeln(Rus('Введите х:')); // Ввод x
readln(x);
z:=0; // Обнуление суммы
for i:=1 to 20 do z:=z+(sqr(x)/i); // Накопление суммы
writeln;
writeln(Rus(Результат)); // Заголовок результата
writeln('x=', x:8:3, ' z=', z); // Вывод результата
readln // Ожидание нажатия клавиши Enter
end.
Задание 2
Вычислить
Блок-схема алгоритма задачи представлена на .
В блоке 2 присваивается начальное значение 1 произведению t. Блок 3 открывает цикл по переменной n для формирования произведения. В теле цикла готовится очередной сомножитель в виде суммы. Блок 4 обнуляет значение переменной s, в которой происходит накапливание суммы. Блок 5 открывает цикл для вычисления очередной суммы. Формирование произведения осуществляет блок 7. Блок 8 выводит итоговое значение произведения. В алгоритме для разнообразия один цикл реализован оператором for...to...do, а другой - оператором for...downto...do.
рис. 2.. Блок-схема алгоритма задания 2
Код программы:
program Prg_2_2;
{$APPTYPE CONSOLE} // Директива компилятора
uses
SysUtils, MyNews; // Ссылка на модули
var
x,s,t: real;
I,j: integer;
begin
writeln(Rus('Введите х:')); // Ввод x
readln(x);
t:=1; // Инициализация произведения
for i:=1 to 10 do // Цикл произведения
begin
s:=0; // Обнуление суммы
for j:=10 downto 1 do s:=s+Cos(i*j*x); // Цикл суммы
t:=t*s
end;
writeln;
writeln(Rus(Результат)); / Заголовок результата
writeln('x=', x:8:3, ' z=', z); // Вывод результата
readln // Ожидание нажатия клавиши Enter
end.
Выводы
Если в теле цикла используется много операций, то их нужно оформить, как составной оператор, с помощью операторных скобок begin…end.
Контрольные вопросы
Начало
Ввод x
= 0
z := z+x2/i
2
1
4
3
6
Для
1=1..20
с шагом 1
Вывод z
Конец
Ожидание
Enter
7
Начало
Ввод x
t = 1
s := 0
2
1
4
3
8
Для
n=1..10
с шагом 1
Вывод t
Конец
Для
a=10..1
с шагом -1
s := s+cos(na)
t := t*s
5
6
7