Лабораторна робота з інформатики на тему Функція програміста

Тема: Функції програміста.

Мета: сформувати у студентів навики розробки і використання функції програміста.

Задачі для самостійної підготовки:

  • Як записується заголовок функції;
  • Як записується звернення до функції;
  • Який вигляд має опис функції програміста в загальному вигляді;
  • Коли доцільно використовувати функцію програміста.
  • Приклад виконання роботи

Задача. Обчисліть різницю двох різних дробів: (a, b, c, d – натуральні числа). Результат отримати у вигляді простого нескоротного дробу <>. Числовий приклад

Nod=16

1.1.Пояснення алгоритму
Потрібно обчислити чисельник і знаменник за правилами обчислення дробів і скоротити їх на найбільший спільний дільник (НСД). Обчислити НСД двох чисел оформивши у вигляді програми – функції, використовуючи відомий в математиці алгоритм Евкліда

1.2.Введемо значення змінних.

A, B – чисельник і знаменник першого дробу, натуральне число;

C, D – чисельник і знаменник другого дробу, натуральне число;

E, F – чисельник і знаменник результату обчислення натуральне число;

M, N – формальні параметри функції для пошуку НСД двох натуральних чисел.

1.3. Опис програми.

  • Спочатку йде розділ оголошення змінних основної програми: A, B, C, D, E, F:integer;
  • Потім слідує опис функції програміста, який визначає НСД двох чисел
    • Заголовок:

    Function NOD(M, N: integer): integer; де M, N – формування параметру

    • Основний блок функції замикаються в оперативні дужки <begin … end; > , між якими запрограмований алгоритм Евкліда.

 

  • В блоці основної програми спочатку передбачений ввід чисельників <A, C > і знаменників <B, D > двох дробів. Потім запрограмовано обчислення чисельника <E > і знаменника<F > за правилам обчислення двох дробів. І, нарешті, підходить звернення до функції NOD двічі: для пошуку чисельника <E > і знаменника<F >. При цьому замість формальних параметрів <M > і<N > підставляються формальні параметри <abs(E) F>: NOD (abs (E), F).
  • Текст програми розв’язку задачі.

programa Sub;

Var

A, B, C, D, E, F:integer;

        { Опис функції}

    Function Nod (M, N: integer): integer

begin            { Обчислення НСД двох чисел}

        while M<>N do     { За алгоритмом Евкліда}

            if M>N

then M:=M-N

else N:=N-M;

NOD:=M;

    end;

Begin

    writeln(‘ Введіть чисельник і знаменник дробів ‘);

readln(A, B, C, D);

{основна програма обчислення дробів і скорочення результату}

E:=A*D-B*C;

F:=B*D;

{}

if E=0

        then writeln(E)

        else

            begin

                E:=E Div Nod (Abs(E), F);

F:= F Div Nod (Abs(E), F);

Writeln (‘відповідь:’, E, ‘ / ‘, F);

            end

end.

1.5. Тестування програми.

Введіть чисельники і знаменники дробів 3 4 1 12

Відповідь

Перевірка.

  • Контрольні запитання.

  • Які правила опису і використання функції?
  • Які параметри називаються фактичними, а які формальними?
  • Яким чином співвідносяться кількість та тип формальних і фактичних параметрів?
  • Як здійснюється передача результату обчислення функції в основну програму?
  • Як здійснюється виклик функції?
  • Чи можна в якості параметра функції знову використовувати виклик функції?
  • Наведіть свій приклад функції і її виклику в основній програмі та реалізуйте її.
  • Прокоментуйте роботу слідкуючої програми.

    Programa max_max ;

    Var

    a, b, c, M: integer;

        Function max (x, y: integer): integer

    begin

                if x>y then max:=x else max:=y;

    end;

    begin

    writeln(‘ Загадайте три числа’);

        readln(a, b, c);

    M:=max (max(a, b), c);

    writeln(‘ Максимальне з трьох заданих чисел:’, M);

    end.

  • Завдання для лабораторної роботи.

    3.1. Дано послідовність чисел, які закінчуються нулем. Розкладіть числа на прості множники.

    3.2. Найдіть всі звичайні числа від 1 до 100000. (число називається звичайним, якщо воно рівне сумі своїх дільників, включаючи 1, але виключає саме число ).

    3.3. Вихідні дані три числа, які задають дату в наступному вигляді: рік, місяць, число. Надрукуйте день тижня, який відповідає цій даті. Програма повинна вводити послідовність трьох чисел, ознака кінця – три нуля.

    3.4. Розмістивши числа від 1 до 100 на площині по спіралі, відмітьте зірочками прості числа.

    3.5. Надрукуйте задане число римськими цифрами. 0 – ознака закінчення вводу чисел.

    3.6. Для заданих <m> і <n> підрахуйте число комбінацій з <n> елементів <m> . Ознака кінця послідовність вихідних пар<m> і <n> –пара нулів.

    3.7. Введіть матрицю<m> і<n>, де і повинні бути задані в програмі константами. Найдіть в ній сідлову точку, тобто елемент, який більший за всі елементи в своїй стрічці і менший за всі другі елементи в своєму стовпці.

    3.8. Найдіть натуральне число від 1 до 1000 з максимальною сумою дільників.

    3.9. Введіть послідовність цілих чисел і надрукуйте їх в порядку зростання. 0 – ознака закінчення вводу чисел.

    3.10. Дано три натуральних числа. Знайдіть найбільший спільний їх дільник.

    3.11. Знайдіть найбільше спільне кратне трьох чисел.

    3.12. Дано послідовність чисел, які закінчуються на 0. Знайти максимальне число цієї послідовності.

    3.13. Напишіть програму обчислення суми факторіалів всіх непарних чисел від 1 до 9.

    3. 14. Обчислити площу правильного шестикутника зі стороною а, використовуючи функцію обчислення площі трикутника.

    3. 15. На площині задані своїми координатами <n> точок. Скласти програму, яка визначає між якими з пар точок найбільший проміжок. Координати точок занести в масив.

    3. 16. Дано натуральне число <n>. Скласти програму формування масиву, елементами якого є цифри числа <n>.

    3.17. Дано просте число. Складіть функцію, яка буде знаходити наступне за ним просте число.

    3. 18. Скласти функцію для знаходження найменшого непарного натурального дільника <k> (k≠1) будь-якого заданого натурального числа <n>.

    3.19. Скласти програму обчислення суми факторіалів всіх парних чисел від <n>.до <n>.

    3.20. Дано два дроби: і (A, B, C, D – натуральні числа). Складіть програму ділення дробу на дріб. Відповідь повинна бути нескороченим дробом.

    3.21. Дано числа X, Y, Z, T– довжина сторін чотирикутника. Обчислити його площу, якщо кут між сторонами довжиною X і Y – прямий.

    3. 22. Дано масив A(n).Сформувати масив B(m), елементами якого є більше з двох чисел, які поряд стоять в масиві А . ( Наприклад масив A(1, 3, 5, -2, 0, 4, 0), массив B(3, 5, 4)).

    3. 23. Дано масив A(n) (n – парне). Сформувати масив B(m), елементами якого є середнє арифметичне сусідніх пар чисел які поряд стоять в масиві А. (Наприклад, масив A(1, 3, 5, -2, 0, 4, 0, 3); масив B(2;1,5; 2; 1,5)).

    3. 24. Написати програму обчислення суми для заданного числа <n>. Результат подати в вигляді нескоротного дробу(p,q – натуральні).

    3.25. Замінити дане натуральне число на число, яке отримається в результаті запису його цифр в протилежному порядку (наприклад, дано число 156, потрібно отримати 651).

    Рекомендована література.

  1. Марченко А.И., Марченко Л.Д. Программирование в среде Turbo Pascal 7.0. – К.: Век+, Спб.: Корона принт, 2004. – 464с.
  2. Н.Б. Культин. Программирование в Turbo Pascal 7.0. и Delphi.– СПб:BHV, 1997. – 240с.
  3. Ставровский А.Б. Turbo Pascal 7.0. Ученик. – К.:ВНу, 2000 (с 42…).
  4. Бондарев и др. Основы программирования. – Харьков: Фомео, 1998. (с 35…)
  5. Turbo Pascal \С.А Немнюгин. – СПб.: Питер, 2001. (с 36…)
  6. Информатика. Задачник-практикум в 2 т./Под ред. И.Г. Семакина, Е.К.Хеннера: Том 1. – М.:ЛБЗ, 1999. (с. 275…)
  7. В.И. Пономаренко. Учебоне пособие по программированию на языке Turbo Pascal. – Симферополь, 1998. (с 91)

ЗАВАНТАЖИТИ

Для скачування файлів необхідно або Зареєструватись

Функція програміста+ (72.0 KiB, Завантажень: 0)

завантаження...
WordPress: 22.96MB | MySQL:26 | 0,347sec