Реферат по предмету "Астрономия"


Функція та її виклики

Реферат на тему:
Функція та її виклики
Розглянемо задачу: обчислити мінімальну з відстаней між точками площини A(x1; y1), B(x2; y2) і C(1;2). Алгоритм розв'язання цієї задачі очевидний:
1) обчислити відстані d1=AB, d2=AC, d3=BC;
2) обчислити m= min{d1, d2, d3}.
Відстань між точками з довільними координатами (x; y), (x'; y') виражається формулою d=/>, і для обчислення відстаней нам необхідно тричі написати «Паскалівський» варіант цієї формули з різними наборами координат: x1, y1, x2, y2, потім x1, y1, 1, 2, потім x2, y2, 1, 2. Ці вирази досить громіздкі й задають по суті ті самі обчислення, тільки з різними наборами значень. Все це можна записати інакше.
Мова Паскаль дозволяє описати повторювані обчислення один раз, дати цьому опису ім'я і далі не описувати самі обчислення, а тільки позначати їх цим ім'ям.
Отже, у мові Паскаль є описиобчислень і є їх позначення. Опис обчислень, як правило, є параметризованим, подібно до алгоритму обчислення коренів квадратного рівняння, де параметрами були коефіцієнти рівняння. Конкретні значення, з якими треба зробити обчислення, вказуються в позначенні обчислень разом із ім'ям цього опису й називаються аргументами. Опис обчислень деякого значення називається функцією, а їх позначення – викликомфункції.
У даному випадку параметрами будуть чотири координати двох точок. Назвемо їх a1, b1, a2, b2. Опис обчислень задається у вигляді функції, якій ми дамо ім'я dd:
functiondd(a1, b1, a2, b2: real):real;
begin
dd:=sqrt( sqr(a1-a2)+sqr(b1-b2) )
end;
Цей опис є означенням імені dd, тому поміщається серед інших означень програми. Позначення цієї функції, тобто виклики її з конкретними аргументами записуються в тілі програми:
programminimdis(input, output);
varx1, y1, x2, y2, d1, d2, d3, m: real;
functiondd(a1, b1, a2, b2: real):real;
begin
dd:=sqrt( sqr(a1-a2)+sqr(b1-b2) )
end;
begin
writeln('введіть координати двох точок:');
readln(x1, y1, x2, y2);
d1:=dd(x1, y1, x2, y2);
d2:=dd(x1, y1, 1, 2);
d3:=dd(x2, y2, 1, 2);
ifd1thenm:=d1 elsem:=d2;
ifd3thenm:=d3;
writeln('найменша відстань: ', m)
end.
При виконанні цієї програми після читання значень змінних виконується виклик функції dd: значення змінних x1, y1, x2, y2 присвоюються відповідним параметрам a1, b1, a2, b2 як звичайним зміннимі потім обчислюється значення dd. Воно і є значенням виразу dd(x1, y1, x2, y2), що присвоюється змінній d1.
Так само, тільки з іншими аргументами, виконуються другий і третій виклики функції, і інші значення присвоюються змінним d2 і d3.
Отже, ми бачимо, що мова Паскаль дозволяє не тільки користуватися викликами «стандартних» функцій, наприклад, odd або sin, але й створювати свої власні.
Функція має такий загальний вигляд:
functionім'я(означення параметрів): ім'я типу;
означення
begin
послідовністьоператорів
end;
У першому рядку функції записано заголовок, де вказано її ім'я й означенняпараметрів. Наприкінці заголовка обов'язково записується ім'я типу значень, що обчислюються в результаті виконання викликів функції. Ці значення називаються такими, що повертаються.
Параметрів у функції може не бути, тоді й дужки відсутні, а виклик такої функції є просто її ім'ям.
Після заголовка структура функції повторює структуру програми за винятком лише точки в кінці. У функції можна визначати свої змінні, сталі та функції. Проте функція істотно відрізняється від програми тим, що:
1) функція записується серед означень програми;
2) ім'я самої програми ніде в програмі не вказується, тоді як серед операторів функції обов'язково повинні бути оператори присвоювання з ім'ям функції в лівій частині, причому при виконанні виклику функції хоча б один із них повинен бути виконаним.
Виклик функції є виразом того типу, який указано в її заголовку. І він, як усякий вираз, може бути частиною складнішого виразу. Наприклад, за необхідності ми могли б написати d1:=sqr(dd(x1, y1, 1, 2)+1).
Повернемося до прикладу. Нескладно написати функцію обчислення меншого з двох значень:
functionmin(x1, x2: real):real;
begin
if x1then min:=x1
elsemin:=x2
end;
і помістити її слідом за функцією dd у програмі minimdis. З її використанням обчислення мінімального зі значень змінних d1, d2, d3 можна в тілі програми задати так:
m:=min(d1, d2); m:=min(m, d3)
або навіть так:
m:=min(min(d1, d2), d3)
При обчисленні останнього виразу спочатку виконується «внутрішній» виклик min(d1, d2). Значення, обчислене при його виконанні, стає аргументом у «зовнішньому» виклику.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Прокурорский надзор в исполнительном производстве
Реферат Стилевые традиции Державина в произведениях И.А. Бунина «Иерихон», «Роза Иерихона»: образ Святой земли
Реферат Изучение соединений резисторов и проверка законов Ома и Кирхгофа
Реферат Under The Moon Lit Night Essay Research
Реферат Исследование технического состояния аварийных участков набережных р. Иртыш и Омь и методы их реконструкции
Реферат Особо охраняемы природные территории и их классификация
Реферат Разработка солнечных часов
Реферат Втілення досягнень педагогічної науки в шкільну практику
Реферат Structure Of Hagia Sophia Essay Research Paper
Реферат Аліментарна реабілітація хворих що перенесли інфаркт міокарда в санаторно-курортних закладах
Реферат Православное воспитание
Реферат 1 "Проблемы глубокой переработки остатков сернистых и высокосернистых нефтей и сернистых газовых конденсатов"
Реферат Причины возникновения государства и права
Реферат Расчет амплитуд цифровых сигналов яркости и цветности при передаче элементов белого и желтого цвета
Реферат Производительность труда на предприятиях торговли анализ состояния и резервы роста