Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Приклади алгоритмів ⇐ ПредыдущаяСтр 4 из 4
Приклад 3.1. Обчислення функції з умовою Початкові дані: h Результат: у Обчислити: де а = sin 2ph, b = cos 2ph
Алгоритм Обчислення_функції_з_умовою Почало введення (h, p) а: = sin 2phb: = cos 2ph якщо а > b і b > 0 те у: = а / b інакше якщо а < b і b < = 0 то у: = ab інакше все все Кінець
Приклад 3.2. Визначення квадранта Початкові дані: X, Y - координати крапок Результат: A - номер квадранта Обчислити: номер квадранта, якому належить крапка із заданими координатами
Алгоритм Номер_квадранта Почало введення (X, Y) A: = 1 інакше якщо X < 0 і Y > = 0 то A: = 2 інакше якщо X < = 0 і Y < 0 то A: = 3 інакше A: = 4 все все все Кінець
Приклад 3.3. Пошук максимального елементу масиву і його номера Обчислити максимальний елемент в масиві A[1: n] і його номер. Початкові дані: n, A[1: n] Результат: Max, Nmax
Алгоритм Пошук_максимума Почало введення(n, A[1: n]) Max: = A1Nmax: = 1 цикл від i: =2 до n якщо Ai > Max то Max: = AiNmax: = i все кц Кінець
Приклад 3.4. Пошук максимального і мінімального елементів масиву і їх номерів Організувати одночасний пошук максимального і мінімального елементів масиву і їх номера. Початкові дані: n, A[1: n] Результат: Min, Max, Nmin, Nmax
Алгоритм Найбільший_і_найменший Початок введення (n, A[1: n]) Max: = -10Min: = 10 цикл від i: =1 до n якщо Ai > Max то Max: = ANmax: = i все Min: = AiNmin: = i все кц Кінець
Приклад 3.5. Сума натурального ряду Обчислити суму n - членів натурального ряду: Sum = 1+2+3+...+ n Початкові дані: n Результат: Sum
Алгоритм Сума_натурального_ряду Початок введення (n) Sum: =0 цикл від i: =1 до n Sum: =Sum+i кц Кінець
Приклад 3.6. Факторіал Обчислити факторіал будь-якого цілого числа n: f = n! Початкові дані: n Результат: f
Алгоритм Факторіал Початок введення (n) f: =1 цикл від i: =1 до n f: =f*i кц Кінець
Приклад 3.7. Обчислення середнього арифметичного Обчислити середнє арифметичне позитивних елементів масиву А[1: n] Початкові дані: n, A[1: n] Результат: SrPol чи ні позитивних елементів"
Алгоритм Середнє Арифметичне Початок введення (n, A[1: n]) Sum: = 0npol: = 0 цикл від i: =1 до n якщо Ai > 0 то Sum: = Sum + Ainpol: = npol + 1 все кц SrPol: = Sum / npolвивід (SrPol) інакше вивід(" немає позитивний елементів") все Кінець
Приклад 3.8. Табуляція Обчислити значення функції: для x, змінного від 0 до 3 з кроком h. Надрукувати для кожного значення x відповідне значення(x) Початкові дані: а, h Результат: набір x і у
Алгоритм Табуляція Початок введення (а, h) x: = 0 цикл поки x < = 3 y: =a3/(a2+x2) кц Кінець
Приклад 3.9. Видалення елементів в масиві Видалити з масиву A[1: k] всі елементи, що задовольняють умові l < = Ai < = h шляхом зрушення (тобто без формування нового масиву). Початкові дані: до, A[1: k], h, l Результат: n, A[1: n] або повідомлення про відсутність видалення або повідомлення про повне видалення
Алгоритм Видалення Початок введення (до, A[1: k], h, l) n: = 0 цикл від i: =1 до до якщо і (Ai < = h) то n: = n + 1An: = Ai все кц вивід ('повне видалення') інакше якщо n=k то вивід ('видалення немає') інакше вивід (n, A[1: n]) все все Кінець
Приклад 3.10. Формування масиву Сформувати масив, елементи якого обчислюються таким чином: Початкові дані: n, A[1: n] Результат: C[1: n], тобто в новому масиві стільки ж елементів, скільки в початковому масиві
Алгоритм Формування_масиву Початок введення (n, A[1: n])цикл від i: =1 до n якщо Ai < 0 то Ci: =-1 інакше якщо Ai < = 10 то Ci: = 0 інакше Ci: = 1 все все кц Кінець
Приклад 3.11. Формування масиву з невідомим числом елементів Обчислити масив, що містить від’ємні елементи заданого масиву A[1: n], що задовольняють умові: Початкові дані: n, A[1: n], з Результат: j, B[1: j] Алгоритм Формування_масиву Початок введення (з, n, A[1: n]) j: = 0 { номер элементв в масиві В} цикл від i: =1 до n якщо (Ai < 0) то якщо ln |Ai| > з то j: =j+1 все все вивід(j, B[1: j]) інакше вивід ('масив B порожній') все Кінець Приклад 3.11. Формування двох масивів Обчислити два масиви. Перший містить елементи Yi такі, що Yi-1 < Yi < Yi+1, другий, - решта елементи. Початкові дані: до, Y[1: k] Результат: n, A[1: n], m, B[1: m] Алгоритм Формування_двух_масивів Початок введення (до, Y[1: k]) n: = 0 { число елементів в масиві A }m: = 1 { число елементів в масиві B, оскільки перший елемент початкового масиву Y завжди буде в другому масиві } цикл від i: =2 до до - 1 якщо Yi-1 < Yi і Yi < Yi+1 те n: =n+1 інакше m: =m+1 Bm: =Yi все кц m: = m + 1Bm: = Yk все вивід (n, A[1: n]) все Кінець
Приклад 3.12. Видалення елементів масиву між першим мінімальним і першим максимальним елементами. У заданому одновимірному масиві X[1: n] видалити всі елементи, що знаходяться між першим мінімальним і першим максимальним елементами, не використовуючи додаткові масиви. Розробимо укрупнений алгоритм рішення задачі, а потім детальний. Алгоритм Видалення_елементів_масиву (укрупнений) - знайти номер першого мінімального елементу (Nmin); - знайти номер першого максимального елементу (Nmax)- упорядкувати їх так, щоб в Nmin був менший з двох номерів номер: якщо Nmax < Nmin то tmp: = Nmax; Nmax: =Nmin; Nmin: = tmp все { видалення зрушенням} все Кінець XNmin + i - Nmax +1: = Xi кц Алгоритм Видалення_елементів_масиву (детальний) Початок введення(n, x[1: n]) { визначення Nmin, Nmax }Nmin: =1Nmax: =1 цикл від i: = 2 до n якщо Xi < XNmin то Nmin: = i все Nmax: = i все кц tmp: = Nmax; Nmax: = Nmin; Nmin: = tmp все цикл від i: = Nmax до n XNmin + i - Nmax +1: = Xi кц n: = n - (Nmax - Nmin) + 1 все вивід(n, X[1: n]) Кінець
Приклад 3.13. Вставка елементів в масив Дано два масиви A[1: n] і B[1: m]. Потрібно вставити елементи масиву B в масив A після його мінімального елементу. Алгоритм Вставка_елементу_в_масив (укрупнений) пошук номера мінімального елементу Nmin в масиві A; зрушення елементів масиву A, розташованих правіше мінімального (звільнення місця для елементів, що вставляються); вставка елементів масиву B в масив A; Кінець
Алгоритм Вставка_елементу_в_масив (детальний) Початок введення(n, A[1: n], m, B[1: m])) { визначення Nmin, Nmax }Nmin: =1 цикл від i: = 2 до n якщо Ai < ANmin те Nmin: = i все кц An+m-i+1: = An-i+1 кц ANmin+i: = Bi кц Кінець Відмітимо, що якщо мінімальний елемент виявиться останнім в початковому масиві, то зрушення елементів в масиві A не відбувається, а відразу виконується вставка елементів, яка по суті буде дописуванням елементів масиву B після останнього елементу масиву A, адже в цьому випадку Nmin рівне n. Приклад 3.14. Достроковий вихід з циклу Дане n, A[1: n], X. Обчислити суму елементів масиву, наступних за першим елементом, який рівний деякій величині X. Алгоритм Достроковий_вихід_з_циклу Початок введення(X, n, A[1: n]) Flag: = 0i: = 1 Пошук першого елементу рівного X } цикл поки Flag=0 і i < n якщо Ai = X то до: = i + 1Flag: = 1 інакше i: = i + 1 все кц { обчислення суми }Sum: = 0 цикл від i: = до до n Sum: = Sum + Ai кц інакше вивід (елемент рівний ', X, 'незнайдений') все Кінець
|