• Nie Znaleziono Wyników

5 Zagnieżdżone instrukcje for

N/A
N/A
Protected

Academic year: 2021

Share "5 Zagnieżdżone instrukcje for"

Copied!
2
0
0

Pełen tekst

(1)

Laboratorium z informatyki sem.II/ćw.5 Wydział Transportu PW 2020/21

Materiały do użytku wewnętrznego strona 1

M

ATERIAŁY POMOCNICZE DO ĆWICZENIA

5 Zagnieżdżone instrukcje for

Instrukcje for można zagnieżdżać, czyli w pętli zewnętrznej można umieszczać pętle wewnętrzne na wielu poziomach zagnieżdżenia, W czasie każdej kolejnej iteracji pętli zewnętrznej, pętla wewnętrzna będzie wykonana pełną liczbę razy. Wykorzystując pętle zagnieżdżone można przeglądać tablice dwu- i wielowymiarowe. W pętli wewnętrznej nie można deklarować zmiennej sterującej o tej samej nazwie co zmienna sterująca pętlą zewnętrzną. W programie do przeglądania dwuwymiarowej tablicy w wierszami zastosowaliśmy zagnieżdżone instrukcje for:

for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { // operacje dla elementu w[i][j]

} }

Konwersja typów liczbowych

W przypadku gdy zmiennej typu double przypisujemy wartość całkowitą, zamiana tej wartości całkowitej na typ rzeczywisty jest dokonywana automatycznie. W przypadku przeciwnym, gdy zmiennej typu całkowitego chcemy przypisać wartość wyrażenia, która jest liczbą rzeczywistą, konieczna jest jawna konwersja typu (rzutowanie). Operacja ta wymaga umieszczenia przed wyrażeniem nazwy typu docelowego w nawiasach okrągłych. Na przykład, aby

wygenerować i wpisać do tablicy w typu int całkowitą liczbę losową zastosowaliśmy instrukcję:

w[i][j] = (int)(30*Math.random()-15);

W wyniku takiej konwersji typu double na typ int zawsze jest obcinana część dziesiętna liczby rzeczywistej. Jeśli wartość rzeczywista ma być zaokrąglona do najbliższej liczby całkowitej, można oprócz rzutowania zastosować metodę

round() klasy Math. Na przykład, konwersję zmiennej d typu double na typ int z zaokrągleniem, można zapisać:

int x = (int) Math.round( d );

Instrukcja wyboru switch

Instrukcja switch umożliwia wybór i wykonanie jednej z kilku zawartych w niej instrukcji, zależnie od wartości wyrażenia. Instrukcja switch ma postać:

switch (wyrażenie) { case wartość1 : Instrukcja1; break;

case wartość2 : Instrukcja2; break;

...

default Instrukcja;

}

Jeśli wyrażenie sterujące wyborem ma jedną z wymienionych w case wartości, to wykonywana jest odpowiednia instrukcja. Jeżeli nie zostanie odnaleziona żadna klauzula case odpowiadająca wartości wyrażenia, wówczas

wykonywane są instrukcje zawarte w klauzuli default, która jest opcjonalna i może być pominięta. Na końcu każdej klauzuli case należy umieścić polecenie break, które przerwie wykonywanie bloku switch.

Znaki specjalne

W typie char oprócz znaków ASCII (np ‘a’) występują znaki specjalne, zbudowane jako sekwencja znaków tzw. escape sequence, rozpoczynająca się od znaku \ (backslash).

Sekwencja Znaczenie

\t Znak tabulacji

\n Znak nowej linii

\r Powrót karetki

\f Znak nowej strony

\b Cofnięcie o jeden znak

\' Apostrof

\" Cudzysłów

\\ Lewy ukośnik

\udddd znak Unicode o podanym kodzie (d – cyfra szesnastkowa)

Znaków specjalnych można używać w literałach łańcuchowych. Literałem łańcuchowym jest ciąg znaków

zapisany bezpośrednio w programie, w cudzysłowach w jednym wierszu. Na przykład w ćwiczeniu

zastosowaliśmy sekwencją znaków specjalnych

"\r\n"reprezentującą powrót karetki i znak nowego wiersza.

(2)

Laboratorium z informatyki sem.II/ćw.5 Wydział Transportu PW 2020/21

Materiały do użytku wewnętrznego strona 2

Wykorzystaliśmy też

znak specjalny (Unicode) aby wyświetlić symbol ♥ .

UNICODE jest standardem kodowania znaków na dwu bajtach, pozwalającym na zdefiniowanie 65536 znaków, W poniższej tabeli zestawiono przykłady znaków Unicode:

Litera Kod Unicode Litera Kod Unicode

Ą 0104 Ó 00D3

ą 0105 ó 00F3

Ć 0106 Ś 015A

ć 0107 ś 015B

Ę 0118 Ź 0179

ę 0119 ź 017A

Ł 0141 Ż 017B

ł 0142 ż 017C

220F 2665

263A 2666

2211 2663

2

( kwadrat)

00B2

Cytaty

Powiązane dokumenty

Krawędzi, które łączą wierzchołki należące do różnych kawałków, jest dokładnie n k − 1, a ponieważ poddrzewa połączone takimi krawędziami składają się z

take measures aiming at restoration of Carpathian watercourses. For narrow streams 

• Pami¦tajmy, dªugo±¢ stringu to jest ilo±¢ jego znaków, a rozmiar stringu (jako tablicy) jest zawsze o 1 wi¦kszy.... • Je»eli string inicjalizujemy od razu w momencie

Założenie: najefektywniejsze rozwiązanie stosu za pomocą tablicy – szczyt stosu to ostatni element wstawiony tablicy począwszy od miejsca o indeksie 0 (jeśli liczba elementów

Pokaż przebieg algorytmów wyszukiwania sekwencyjnego (indeks), binarnego z powtórzeniami (kolejne przedziały) oraz bez powtórzeń (kolejne przedziały) przy

To i następne zadania nie rozpisujemy już

Wybór zadań: Grzegorz Graczyk 483033 Copyright © Gdańskie

W przypadku gdy zmiennej typu double przypisujemy wartość całkowitą, zamiana tej wartości całkowitej na typ rzeczywisty jest dokonywana automatycznie.. W przypadku przeciwnym,