Студопедия

Главная страница Случайная страница

Разделы сайта

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






Приклади алгоритмів






 

Приклад 3.1. Обчислення функції з умовою

Початкові дані: h

Результат: у

Обчислити:

де а = sin 2ph, b = cos 2ph

 

Алгоритм Обчислення_функції_з_умовою

Почало

введення (h, p) а: = sin 2phb: = cos 2ph якщо а > b і b > 0 те

у: = а / b

інакше

якщо а < b і b < = 0 то

у: = ab

інакше

все

все
вивід (y)

Кінець

 

Приклад 3.2. Визначення квадранта

Початкові дані: X, Y - координати крапок

Результат: A - номер квадранта

Обчислити: номер квадранта, якому належить крапка із заданими координатами

 

Алгоритм Номер_квадранта

Почало

введення (X, Y)
якщо X > = 0 і Y > = 0 то

A: = 1

інакше

якщо X < 0 і Y > = 0 то

A: = 2

інакше

якщо X < = 0 і Y < 0 то

A: = 3

інакше

A: = 4

все

все

все
вивід (A)

Кінець

 

Приклад 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

все

кц
вивід (Max, Nmax)

Кінець

 

Приклад 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

все
якщо Ai < Min те

Min: = AiNmin: = i

все

кц
вивід (Max, Min, Nmax, Nmin)

Кінець

 

Приклад 3.5. Сума натурального ряду

Обчислити суму n - членів натурального ряду: Sum = 1+2+3+...+ n

Початкові дані: n

Результат: Sum

 

Алгоритм Сума_натурального_ряду

Початок

введення (n) Sum: =0 цикл від i: =1 до n

Sum: =Sum+i

кц
вивід (Sum)

Кінець

 

Приклад 3.6. Факторіал

Обчислити факторіал будь-якого цілого числа n: f = n!

Початкові дані: n

Результат: f

 

Алгоритм Факторіал

Початок

введення (n) f: =1 цикл від i: =1 до n

f: =f*i

кц
вивід (f)

Кінець

 

Приклад 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

все

кц
якщо npol < > 0 те

SrPol: = Sum / npolвивід (SrPol)

інакше

вивід(" немає позитивний елементів")

все

Кінець

 

Приклад 3.8. Табуляція

Обчислити значення функції:

для x, змінного від 0 до 3 з кроком h. Надрукувати для кожного значення x відповідне значення(x)

Початкові дані: а, h

Результат: набір x і у

 

Алгоритм Табуляція

Початок

введення (а, h) x: = 0 цикл поки x < = 3

y: =a3/(a2+x2)
виведення (x, у) x: = x + h

кц

Кінець

 

Приклад 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=0 те

вивід ('повне видалення')

інакше

якщо 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

все

все

кц
вивід(C[1: n]))

Кінець

 

Приклад 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
Bj: =Ai

все

все
кц
якщо j < > 0 те

вивід(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
An: =Yi

інакше

m: =m+1 Bm: =Yi

все

кц
якщо до < > 1 те { останній елемент Y завжди буде в другому масиві}

m: = m + 1Bm: = Yk

все
якщо n < > 0 то

вивід (n, A[1: n])

все
вивід(B[1: m])

Кінець

 

Приклад 3.12. Видалення елементів масиву між першим мінімальним і першим максимальним елементами.

У заданому одновимірному масиві X[1: n] видалити всі елементи, що знаходяться між першим мінімальним і першим максимальним елементами, не використовуючи додаткові масиви.

Розробимо укрупнений алгоритм рішення задачі, а потім детальний.

Алгоритм Видалення_елементів_масиву (укрупнений)

- знайти номер першого мінімального елементу (Nmin); - знайти номер першого максимального елементу (Nmax)- упорядкувати їх так, щоб в Nmin був менший з двох номерів номер: якщо Nmax < Nmin то

tmp: = Nmax; Nmax: =Nmin; Nmin: = tmp

все
- дослідження можливості видалення: якщо Nmax-Nmin > 1, тобто максимальний і мінімальний елементи не сусідні то

{ видалення зрушенням}

все

Кінець
- видалення зрушенням: цикл від i: = Nmax до n

XNmin + i - Nmax +1: = Xi

кц
- зменшення кількості елементів в масиві: n: = n - (Nmax - Nmin) + 1

Алгоритм Видалення_елементів_масиву (детальний)

Початок

введення(n, x[1: n]) { визначення Nmin, Nmax }Nmin: =1Nmax: =1 цикл від i: = 2 до n

якщо Xi < XNmin то

Nmin: = i

все
якщо Xi > XNmax то

Nmax: = i

все

кц
{ впорядковування Nmin і Nmax } якщо Nmax < Nmin то

tmp: = Nmax; Nmax: = Nmin; Nmin: = tmp

все
{ перевірка умови видалення } якщо (Nmax - Nmin) > 1 то

цикл від 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

все

кц
{ зрушення елементів масиву A управо на M позицій } цикл від i: = 1 до n - Nmin

An+m-i+1: = An-i+1

кц
{ вставка елементів масиву B } цикл від i: = 1 до m

ANmin+i: = Bi

кц
вивід (n+m, A[1: (n+m)])

Кінець

Відмітимо, що якщо мінімальний елемент виявиться останнім в початковому масиві, то зрушення елементів в масиві 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

все

кц
якщо Flag = 1 то

{ обчислення суми }Sum: = 0 цикл від i: = до до n

Sum: = Sum + Ai

кц
вивід(S)

інакше

вивід (елемент рівний ', X, 'незнайдений')

все

Кінець






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.