Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Задание № 5. Использование операторов цикла

Читайте также:
  1. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  2. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  3. I.2 Операторы цикла с присваиванием.
  4. I.3. Оператор цикла с предусловием.
  5. I.ФУНДАМЕНТЫ, ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  6. IV. Дополнительное задание для ДУБОВИК АЛЕКСАНДРА.
  7. Turbo Pascal. Операторы цикла.

1. Разработайте консольную программу вычисления таблицы значений функций и на отрезке [ a, b ] в точках xi = a + ih, где h = (ba)/ m, m — заданное целое число. Значение шага h должно вычисляться один раз. Для этого:

· Введите вещественные переменные a,b,h,x,y,z и объявите их Real.

· Введите целые переменные m, i и объявите их Integer.

· Организуйте ввод с клавиатуры исходного значения m=20.

· Вычислите начальную и конечную точки отрезка: a=-p/2; b=p/2, используя стандартную функцию Pi.

· Вычислите шаг изменения аргумента по формуле h=(b–a)/m.

· Организуйте в цикле со счетчиком вычисление заданных функций и их выдачу на экран в виде таблицы.

· Не забудьте в теле цикла изменять значение аргумента x.

2. В эту же программу включите блок, вычисляющий сумму бесконечного ряда:

, где - факториал числа.

Вычисления прекратить, когда очередное значение an £ e, где e - заданная точность вычислений. Общий член ряда рассчитывается по формуле:

, n = 1, 2, 3, ….

Для определения суммы членов ряда следует использовать рекуррентную формулу, позволяющую находить текущий член ряда через ранее определенные:

, n = 1, 2, 3, …, причем a 0=1.

При составлении программы считать, что точность задана e=10-4 и определяется константой e.

3. Листинг программы должен иметь примерно следующий вид:

program Zadanie_9;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Const

e=1.0e-4; // Константа, определяющая точность

Var

a,b,h,x,y,z: real; // Переменные первой задачи

m,i: integer;

s,an: real; // Переменные второй задачи

n: integer;

Begin

{Первая задача}

writeln('Vvesdite znachenie m=');

readln(m); // Введите значения m и нажмите Enter

a:=-Pi/2; // Вычисление нижней границы интервала

b:=-a; // Вычисление верхней границы интервала

h:=(b-a)/m; // Вычисление шага изменения аргумента

x:=a; // Присвоение начального значения аргумента

for i:=1 to m+1 do // Цикл со счетчиком

Begin

y:=1+x*sqr(cos(x))+sqr(sin(x))*sin(x); // Вычисление функций

z:=sqrt(abs(y));

writeln('x=',x:7:4,' y=', y:7:4,' z=',z:7:4);

x:=x+h; // Переход к следующему значению аргумента

end;

writeln;

{Вторая задача}

s:=0; // Обнуление суммы

an:=1; // Вычисление первого члена суммы

n:=1; // Начальное значение переменной цикла

while an>e do // Цикл с предусловием

Begin

s:=s+an; // Накопление суммы

n:=n+1; // Изменение переменной цикла

an:=an*(exp(n*(ln(n/(n+1))))); // Вычисление очередного члена суммы

end;

writeln('Summa ',n,' elementov ravna =',s:9:6);

readln

End.

 

4. Откомпилируйте и выполните программу. При наличии ошибок, исправьте их.

5. При отсутствии ошибок вы должны получить результат, представленный на рис. 4.

6. Сохраните проект программы в папке \Мои документы\ЛЗ-21\Задание-05 под именем Zadanie_9.

7. Посмотрите, как изменятся результаты, если задать значения m=10 и e=1.0e-8.

8. Самостоятельно составьте программу решения второй задачи, но используя оператор цикла с постусловием (repeat... until).

 


Контрольные вопросы

1. Как операции в языке Object Pascal разделяются по приоритетам? Каким образом можно изменить приоритет выполнения операций?

2. Какие типы выражений существуют? Чем определяется тип выражения?

3. Объясните, как выполняются операции div и mod. Какой результат при этом получается?

4. Объясните, как выполняются логические операции и операции сдвига над целыми числами.

5. Объясните действие условных операторов.

6. Как работают операторы цикла? В чем заключается различие между оператором цикла с предусловием и постусловием?

7. Какими средствами можно устранить эффект «зацикливания»?

8. Какие средства используются для принудительного выхода из цикла?

9. Объясните действие процедур ввода данных с клавиатуры и вывода данных на экран.

10. Каким образом задаются поля вывода в процедурах write и writeln?


Дата добавления: 2015-07-08; просмотров: 151 | Нарушение авторских прав


Читайте в этой же книге: Not, and, or, xor, shl, shr | Задание № 1. Запись выражений | Использование функций и операторов | Задание № 3. Использование стандартных функций |
<== предыдущая страница | следующая страница ==>
Задание № 4. Использование условных операторов| Иметь веру и страх

mybiblioteka.su - 2015-2024 год. (0.008 сек.)