sobota, 11 marca 2017

Algorytm sprawdzający czy ciąg jest rosnący

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.