![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование циклических алгоритмов с заданнымСодержание книги
Поиск на нашем сайте
Числом повторений Первая форма счетного оператора цикла позволяет наращивать параметр цикла на единицу (+ 1): FOR <параметр цикла>:= <min значение> TO <max значение> DO <оператор>; (Для) (увеличивая к) (выполнять) где <параметр цикла> - это переменная целого либо любого порядкового типа; <min, max значения> - это начальное и конечное значения параметра цикла (выражения того же типа, что и параметр цикла). Вторая форма позволяет уменьшать значение параметра цикла на единицу (- 1): FOR <параметр цикла>:= <max знач.> DOWNTO <min знач.> DO <оператор>; (Для) (уменьшая к) (делать) Пример 1. Вычислить сумму элементов s=1+1/4+1/9+1/16+.... На основе анализа изменения параметра знаменателя определим алгоритм решения задачи и напишем программу: PROGRAM suma; VAR s, r: REAL; i, N: INTEGER; BEGIN s:=0; WRITELN('введите N'); READ(N); FOR I:=1 TO N DO begin r:=1/sqr(i); s:=s+r; end; WRITELN('Сумма=',s:6:2); END. Пример 2. Вычислить значения двух функций F1(x)=tg(x) и F2(x)=sin(x) в n точках, равномерно распределенных на интервале a ≤ x ≤ b, где a=-π/4, b=π.
Для реализации данной задачи разработана следующая программа:
Program Lab3; Const а = -pi/4; b = pi; Var F1, F2, x, dx: real; {dx - шаг изменения х} i, n: integer; {i - пеpеменная цикла} Begin writeln ('введите число точек N'); read(n); dx: = abs(b-a)/(n-1); x:=a; writeln (' _____________________________'); writeln ('| I | X | F1 | F2 |'); writeln ('|---|--------------|------------|------------|'); for i:=1 to n do {опеpатоp цикла} begin F2:=sin(x); F1:=F2/cos(x); {вычисление: tg x} writeln('|', i:3,' |', x:8:3,'|', f1:8:4,' |', f2:8:4,' |'); x:=x+dx; end; writeln('|________________________|); End. Задание 2 (программа 3_2) Вычислить значения двух функций в n равномерно распределенных в диапазо-
не а≤x≤b точках. Результаты оформить в виде таблицы.
Лабораторная работа 4 Программирование циклических алгоритмов с предусловием Цель работы: научиться разрабатывать и отлаживать программы с неразветвленными и разветвленными циклами, управляемыми условиями. Структура оператора цикла с предусловием (с предварительной проверкой условия): WHILE <условие _ выполнения> DO <оператор>;
пока делать где <условие> - это любое логическое выражение, <оператор> - это произвольный оператор Турбо Паскаля, в том числе и составной. Пример. Для трех значений а = 0.1, 0.2,0.3 протабулировать функцию y=a.tg(x/4) при изменении аргумента x на интервале [0.5,0.9] с шагом, равным a. Program a4_1; var a,x,y:real; Begin writeln('-------------------------'); writeln(' a | x | y |'); writeln('-------------------------'); a:=0.1; while a<=0.31 do begin writeln(a:5:2); x:=0.5; while x<=0.91 do begin y:=a*sin(x/4)/cos(x/4); writeln(x:12:2,' | ', y:10:2); x:=x+a; end; writeln('-------------------------'); a:=a+0.1 end; End. Задание 2 (программа 4_2) Модифицировать (изменить) программу 3_2 для вычисления функций F1(x) и F2(x) с применением вместо счетного цикла оператора цикла с предусловием. Выполнить ее и сравнить результаты с полученными в предыдущей работе.
Лабораторная работа 5 Программирование циклических алгоритмов С постусловием
Стpуктуpа оператора цикла с постусловием REPEAT <оператор 1>; (повторять) <оператор 2>; ... <оператор N> UNTIL <условие окончания цикла>; (до тех поp, пока) Пример. Вычислить 15 значений функций y1(x) = tg(x); и y2(x) = ctg(x) при a ≤ x ≤ b, a=0.6*Pi, b=0.7*Pi. Для вычислений разработана следующая программа: Program Lab5; Const n = 14; a = 0.6*Pi; b = 0.7*Pi; Var x, y1, y2, dx: real; Begin dx:=abs((a-b)/n); x:=a; Repeat y1:=sin(x)/cos(x); y2:=1/y1; writeln('x=', x:6:4,' y1= ', y1:7:4,' y2=', y2:7:4); x:=x+dx Until x>b; End. Пример 2. Вычислить сумму элементов s = 1+1/4+1/9+1/16+... c точностью до E = 0.00001
PROGRAM sum; CONST E=0.00001; {точность} VAR s,r: REAL; {s - сумма, r – слагаемое} i:INTEGER; {i - счетчик слагаемых} BEGIN s:=0; i:=1; REPEAT r:=1/sqr(i); {вычисление слагаемого} s:=s+r; i:=i+1 {счет слагаемых} UNTIL r<E; {сравнение слагаемого с Е} WRITELN ('Сумма=',s:9:5); {вывод суммы} END.
Задание 1 (программа 5_1) Модифицировать программу 3_2 для вычисления функций F1(x) и F2 (x) с применением оператора цикла с постусловием. Выполнить ее и сравнить результа-ты с полученными ранее.
Лабораторная работа 6
|
||||||||||||||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 246; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.98.198 (0.006 с.) |