Паскаль: точка повернення, підстановка аргументів, зберігання змінних, Детальна інформація

Паскаль: точка повернення, підстановка аргументів, зберігання змінних
Тип документу: Реферат
Сторінок: 7
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 19.3
Скачувань: 890
var t : integer;

begin

write('Задайте ціле від 0 до ', m-1, '>'); readln(t);

Rand1 := t

end;

function NextRand;

begin

if First then

begin First := false; V := Rand1 end

else V := ( a*V+ c ) mod m;

NextRand := V

end;

Begin First := true

End.

Як бачимо, змінні V та First стали глобальними в модулі і доступними в його підпрограмах, але за його межами їх "не видно". Можна сказати, що їх означення локалізовані в модулі.

Задачі

2. Переробити модуль Randoms так, щоб він задавав породження псевдовипадкової послідовності

а) дійсних чисел з проміжку [0; 1]; б) дійсних чисел з проміжку [c; d].

3. Переробити модуль Randoms так, щоб зовні його можна було використовувати функцію Rand1. Написати програму обчислення середнього арифметичного значення M та дисперсії D псевдовипадкової послідовності дійсних чисел {Xi} з проміжку [0;1]. Дисперсія – це середнє арифметичне квадратів різниць між числами та M:

D = ( ( X1 - M )2 + … + ( XN - M )2 )/N,

де N – загальна кількість елементів. Добрий генератор має давати значення M і D, близькі до 1/2 та 1/12 відповідно. Але не всякий генератор, що дає такі середнє значення та дисперсію, є добрим.

4. Площу S двовимірної геометричної фігури обмежених розмірів можна обчислити в такий спосіб. Розташувати фігуру всередині іншої, площа S2 якої обчислюється досить просто за формулами. Нею, як правило, є прямокутник у декартовій системі координат. Вибрати довільно N точок із другої фігури, указуючи їхні координати, та обчислити кількість K тих із них, що належать першій фігурі. Відношення K/N буде наближенням до S/S2. Координати точок обчислюються за допомогою випадкових чисел, тому цей спосіб називається методом Монте-Карло – за назвою курорту, де грали в рулетку.

Написати програму обчислення за методом Монте-Карло наближення до площі кола, заданого координатами центру та радіусом.

5. Реалізувати генератор псевдовипадкових чисел, оснований на рекурентному співвідношенні Vi=(a*Vi-1+b*Vi-2+c) mod m. Перші два значення V1 і V2 задаються випадково. Параметри підібрати самостійно. Використати генератор в задачах 8.3–8.4.

7. Підпрограми як параметри

У мові Паскаль параметрами підпрограм можуть бути не тільки змінні, але й підпрограми.

Розглянемо приклад. Нам потрібно надрукувати три таблиці значень трьох математичних функцій на заданому відрізку [a; b], де a>0, у точках, розташованих із заданим кроком h. Функції такі:

sh(x) = (ex-e-x)/2, ch(x) = (ex+e-x)/2,

th(x) = (ex-e-x)/(ex+e-x) = (e2x-1)/(e2x+1) .

У програмі можна записати функції з іменами sh, ch і th, що задають необхідні обчислення, та означити змінні a, b, h, n, k, x. Тоді оператори тіла програми можуть мати такий вигляд:

The online video editor trusted by teams to make professional video in minutes