Algorytm sprawdzający czy ciąg jest rosnący
Algorytm sprawdza, czy wyraz następny jest większy od poprzedniego. Jeżeli kolejny element ciągu jest większy od poprzedniego, to ciąg jest rosnący.
List kroków
K01 Wczytaj n, szukana, T[0…n-1],
K02 Licznik pętli przyjmuje wartość 0,
K03 Dla i < n-1 wykonaj krok od K04 do K06
K04 Sprawdź czy T[i] >= T[i+1],
K05 Jeśli tak to napisz „NIE”, w przeciwnym razie
K06 Jeśli nie to i = i+1, Wypisz „TAK”.
Schemat blokowy
Rozwiązanie w C++
#include <iostream>
using namespace std;
int main()
{
int n; //liczba elementów ciągu
cout << "Podaj liczbe elementow: "; cin >> n;
int t[n]; //tablica t - jednowymiarowa, n-elementowa
// wprowadzenie elementów ciągu do tablicy
for (int i=0; i<n; ++i)
{
cout << "Podaj element nr " << (i+1) << ": ";
cin >> t[i];
}
// sprawdzanie, czy elementy w tablicy t są posortowane rosnąco
bool rosnace = true;
for (int i=1; i<n; ++i) if (t[i-1] >= t[i]) rosnace = false;
// wypisanie wyniku
if (rosnace) cout << "Tablica jest rosnaca!" << endl;
else cout<<"Ciag nie jest rosnacy "<<endl;
}
Rozwiązanie w arkuszu kalkulacyjnym EXCEL
Aby rozwiązać algorytm sprawdzający czy ciąg jest rosnący zaprojektowano arkusz, w którym użytkownik musi wprowadzić wartości 5 dowolnych elementów ciągu (do komórek leżących w zakresie B8:B12).
Następnie w kolumnie C wprowadzono formułę wykorzystującą funkcję logiczną JEŻELI, która sprawdza czy element n+1 jest większy ni jego poprzednik n.
=JEŻELI(B9>B8;"rosnący";"nie rosnący")
W kolumnie D sprawdzana jest wartość ciągu znaków z kolumny C. Ponownie wykorzystano funkcję logiczną Jeżeli:
=JEŻELI(C8="rosnący";0;1)
W komórce I7 wprowadzono formułę obliczającą sumę wartości w kolumny D
=SUMA(D8:D12)
Ostateczny wynik, który podaje informacje czy ciąg jest rosnący wyświetlany jest w komórce D15
=JEŻELI(I7=0;"CIĄG LICZB JEST ROSNĄCY";"CIĄG LICZB NIE JEST ROSNĄCY")
Opracowała: Ada Sz.