Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 237; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.148.130 (0.009 с.) |