Sprawdzanie monotoniczności ciągu liczbowego
Ciąg jest monotoniczny, jeśli każda para kolejnych wyrazów tego ciągu spełnia określone warunki dotyczące uporządkowania
Typ ciągu monotonicznego | Warunek | Przykład ciągu liczbowego |
rosnący | ai<ai+1 (czyli ai+1-ai>0) | (a6)=(1, 2, 7, 9, 11, 15) |
malejący | ai>ai+1 (czyli ai+1-ai<0) | (a7)=(8, 7, 6, 4, 3, 1, 0) |
nierosnący | ai≥ai+1 (czyli ai+1-ai≤0) | (a8)=(11, 7, 7, 6, 5, 4, 4, 2) |
niemalejący | ai≤ai+1 (czyli ai+1-ai≥0) | (a9)=(2, 3, 3, 4, 5, 7, 7, 7, 8) |
Przykładowy algorytm sprawdzający, czy n- wyrazowy ciąg liczb całkowitych jest ciągiem rosnącym
Specyfikacja
Dane:
Liczba naturalna: n>1 (liczba elementów tablicy T)
n- elementowa tablica jednowymiarowa zawierająca liczby całkowite T[0,..,n-1]
Wynik:
Komunikat informujący, czy ciąg zapisany w tablicy T jest rosnący
Źródło: Informatyka Europejczyka Wyd. Helion
Przykładowa funkcja sprawdzająca czy ciąg jest rosnący
Funkcja zwraca komunikat w formie łańcucha znaków typu string
Wskazówka:
string CzyRosnacy(int[] t)
{
for(int i=0;i<t.GetLength(0)-1; i++)
if (t[i] >= t[i+1])
return "CIĄG NIE JEST ROSNĄCY";
return "CIĄG JEST ROSNĄCY"; ;
}
Projekt aplikacji desktopowej
Pełny kod rozwiązania
Wskazówka:
using System;
using System.Windows.Forms;
namespace monotonicznosc_ciagu
{
public partial class Form1 : Form
{
int[] t;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string[] lancuchy = textBox1.Text.Split(' ');
//rozmiar tablict odpowiada rozmiarowi tablicy lancychy
int n = lancuchy.GetLength(0);
t = new int[n];
//wczytaj dane do tablicy
for (int i = 0; i < n; i++)
t[i] = Convert.ToInt32(lancuchy[i]);
Text = "Rozmiar tablicy zbioru " + n.ToString();
MessageBox.Show(CzyRosnacy(t),
"Komunikat",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
string CzyRosnacy(int[] t)
{
for(int i=0;i<t.GetLength(0)-1; i++)
if (t[i] >= t[i+1])
return "CIĄG NIE JEST ROSNĄCY";
return "CIĄG JEST ROSNĄCY"; ;
}
}
}
ZADANIA
1. Rozbuduj podaną aplikację o możliwość sprawdzania, czy podany ciąg jest malejący, nierosnący, niemalejący
2. Zadanie 1 przedstaw jako aplikację konsolową