Przerwania w pętli

Instrukcje przerwania pętli to instrukcja continue oraz break. Przy pomocy tych instrukcji można zaniechać wykonania pojedynczego kroku iteracji w pętli lub przerwać wykonanie pętli zanim zostanie spełniony warunek końca powtórzeń pętli.

Działanie instrukcji continue:

Działanie instrukcji break powoduje przerwanie wykonywania pętli i skok do pierwszej instrukcji poza pętlą

Do wykonani poniższych ćwiczeń będzie potrzebny generator liczb losowych. W języku C# wywołanie generator liczb losowych jest bardzo proste. W pierwszym kroku deklarujemy zmienną losową, w drugim kroku wywołujemy instrukcję losowania wartości liczbowej. Losowanie może być nieograniczone przedziałem- wtedy nie podajemy żadnego argumentu do funkcji Next.

Wskazówka:


Random los = new Random();
int i=los.Next();

Podanie jednego argumentu powoduje, że losowane są wartości mniejsze niż podany zakres.

Wskazówka:


Random los = new Random();
int i=los.Next(100);

Podanie dwóch argumentów powoduje, że losowane są wartości nie mniejsze niż wartość pierwszego argumentu i mniejsze niż wartość drugiego argumentu

Wskazówka:


Random los = new Random();
int i=los.Next(50,100);

Zad. 1

Napisz program, który z wylosowanych liczb obliczy sumę liczb podzielnych przez 3 oraz wyświetli kolejne wartości sumowane. Zastosuj dowolną pętlę z wykorzystaniem instrukcji continue

Proponowany układ kontrolek

przerwanie pętli. Visual studio C#

Uwaga: Kontrolki textBox4 oraz textBox5 pracują w trybie Multiline z włączoną opcją przewijania w pionie (ScrollBars = Vertical)

Poniżej kod odpowiedzialny za losowanie

Wskazówka:


private void button1_Click(object sender, EventArgs e)
{
	Random los = new Random();
	int zakres = Convert.ToInt16(textBox2.Text);
	int n=Convert.ToInt16(textBox3.Text);
	textBox4.Text = null;
	for(int j = 0; j < n; j++)
	{
		int i = los.Next(zakres);
		textBox4.AppendText(i.ToString()+Environment.NewLine); 
	}
}

Skompiluj program i sprawdź efekt działania. Prawidłowo działający program zwraca wylosowane liczby całkowite. Sumowanie liczb podzielnych przez 3 z wykorzystaniem pętli i instrukcji continue przedstawia poniższy schemat blokowy

schemat blokowy przerwanie pętli continue. Visual studio C#

Wykonujemy sumowanie wylosowanych liczb podzielnych przez 3. Zwróć uwagę w jaki sposób określono w pętli granicę iteracji, czyli jak się odczytuje ilość linii w kontrolce TextBox pracującej w trybie Multiline (j < textBox4.Lines.Count()-1)

Wskazówka:


private void button2_Click(object sender, EventArgs e)
{
	textBox5.Text = null;
	int suma = 0;
	for (int j = 0; j < textBox4.Lines.Count()-1; j++)
	{
		int i = Convert.ToInt16(textBox4.Lines[j].ToString());
		if (i % 3 != 0) continue;
		textBox5.AppendText(suma.ToString()+"+"+i.ToString());
		suma += i;
		textBox5.AppendText(" = " + suma.ToString()+Environment.NewLine);
	}
}

Sprawdź działanie programu. Poniżej widok na prawidłowo działający program

przerwanie pętli continue. Visual studio C#

Zad. 2

Napisz program, który po wylosowaniu dowolnych liczb całkowitych przerwie ich sumowanie w przypadku gdy wartość sumy osiągnie lub przekroczy zadaną wartość. Zastosuj dowolną pętlę, którą przerwiesz instrukcją break;

Proponowany układ kontrolek

przerwanie pętli break. Visual studio C#

Losowanie wartości liczbowych to praktycznie przekopiowany kod z zadania 1, różnice to odwołania do kontrolek typu TextBox. Losowanie podpinamy do zdarzenia Click kontrolki button4

Wskazówka:


private void button4_Click(object sender, EventArgs e)
{
	Random los = new Random();
	int zakres = Convert.ToInt16(textBox10.Text);
	int n = Convert.ToInt16(textBox9.Text);
	textBox8.Text = null;
	for (int j = 0; j < n; j++)
	{
		int i = los.Next(zakres);
		textBox8.AppendText(i.ToString() + Environment.NewLine);
	}
}

Schemat blokowy proponowanego rozwiązania z wykorzystaniem instrukcji break

schemat blokowy przerwanie pętli instrukcja break. Visual studio C#

Rozwiązanie zadnia przedstawia poniższy kod

Wskazówka:


private void button3_Click(object sender, EventArgs e)
{
	int granica= Convert.ToInt16(textBox11.Text);
	textBox7.Text = null;
	int suma = 0;
	for (int j = 0; j < textBox8.Lines.Count() - 1; j++)
	{
		int i = Convert.ToInt16(textBox8.Lines[j].ToString());
		textBox7.AppendText(suma.ToString() + "+" + i.ToString());
		suma += i;
		textBox7.AppendText(" = " + suma.ToString() + Environment.NewLine);
		if (suma >= granica) break;
	}
}

Skompiluj program i sprawdź efekt działania

przerwanie pętli instrukcja break, Visual studio C#
Alkomat- wirtualny test

Alkomat- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
Olinowanie stałe- kalkulator średnic

Olinowanie stałe- darmowa aplikacja na Androida

Pobierz ze sklepu Google Play
przepis na gogfry

Przepis na gofry

zobacz
przepis na bitą śmietanę

Przepis na bitą śmietanę

zobacz