Notatki do wykładu - Notatki - Informatyka - Część 2, Notatki'z Informatyka. Opole University
Kowal_86
Kowal_868 March 2013

Notatki do wykładu - Notatki - Informatyka - Część 2, Notatki'z Informatyka. Opole University

PDF (325.1 KB)
5 strona
999Liczba odwiedzin
Opis
Notatki dotyczące tematów z dziedziny informatyki: wstep do programowania.
20punkty
Punkty pobierania niezbędne do pobrania
tego dokumentu
Pobierz dokument
Podgląd3 strony / 5
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.

Notatki do wykładu Wstęp do programowania

4

1 Kilka pętli Przykład 4a

Dany jest ciąg liczb dodatnich, zakończony liczbą zero. Sprawdzić, które z tych liczb są liczbami pierwszymi. Przypomnienie

Liczba naturalna (tzn. całkowita nieujemna) jest pierwsza, jeśli jej jedynymi dzielnikami są liczby 1 oraz ona sama: m ∈ PRIME ⇔ ∀d ∈ Z+d|m ⇒ (d = 1 ∨ d = m), gdzie PRIME oznacza zbiór liczb pierwszych. Obliczyć należy zatem funkcję charakterystyczną zbioru PRIME :

chPRIME(m) =

{ 1 jeśli m ∈ PRIME, 0 w przeciwnym przypadku.

Przyjmijmy, że liczba jeden nie jest liczbą pierwszą. Główna idea

Oczywiście, liczba 1 dzieli każdą liczbę; sprawdzić należy zatem, czy istnieje dzielnik d danej liczby m taki, że d > 1 oraz d 6= m. Postąpimy według następującej idei:

rozpoczynając od wartości 1 zmiennej d będziemy w kolejnych krokach zwiększać wartość d o 1, aż uzyskamy sytuację taką, że d|m (zawszy ten warunek zostanie osiągnięty, gdyż, w końcu m|m). Jeśli okaże się, że pewna liczba d mniejsza od m dzieli m, to m nie jest pierwsza.

Schemat blokowy przedstawia Rysunek 1.

1

docsity.com

Początek

Czytaj m

m<2?

d←1

N

d←d+1

d Ι m?

d=m?

Drukuj 1 Drukuj 0

T N

Koniec

T

T

N

m=0?

N

T

Rysunek 1: Schemat do przykładu 4b.

Oto mapa pamięci dla przykłąadu 4a. Zobacz kompletny program RAM. Mapa pamięci

0 1 m 2 d 3 ...

...

2

docsity.com

2 Adresowanie pośrednie Ostateczna postać argumentu:

a =

 e etykieta wskazuje na następny rozkaz do wykonania, i wtedy wartość argumentu v(a) = v(i) = r(i), = i wtedy wartość argumentu v(a) = v(= i) = i, ˆi wtedy wartość argumentu v(a) = v(ˆi) = r(r(i)).

Innymi słowy, wartością argumentu postaci ˆi jest zawartość rejestru rj, którego adres, j, znajduje się w rejestrze ri. Przykładowo, w przypadku:

Mapa pamięci 0 1 2 7 3 ...

... 7 45 ...

...

po wykonaniu rozkazu:

LOAD ˆ3

zawartość akumulatora będzie równa 45, albowiem v(ˆ3) = r(r(3)) = r(7) = 45.

Przykład 4b Dane jest słowo złożone z jedynek i dwójek, zakończone zerem. Wydrukować dane słowo

wspak. Przypomnienie

Słowem nazywamy ciąg liczb, przeważnie małych, które umownie nazywamy cyframi. Główna idea

Umieścimy kolejne cyfry danego słowa: c1, c2, . . . w kolejnych rejestrach pamięci: r10, r11, . . . . Następnie wydrukujemy je, rozpoczynając od ostatniej przeczytanej cyfry. Zatem zmierzamy uzyskać następującą sytuację:

Mapa pamięci 0 1 ...

... 10 c1 11 c2

... ...

?? c?

Znaki zapytania postawiliśmy, gdyż nie wiemy, z ilu cyfr składa się dane słowo.

3

docsity.com

Jeśli przez j oznaczymy adres rejestru, do którego czytana jest kolejna cyfra danego słowa, to czytanie całego słowa przebiegnie następująco:

1. j ← 10,

2. czytaj kolejną cyfrę c,

3. jeśli c = 0, to przejdź do drukowania,

4. rj ← c,

5. j ← j + 1.

Zwróćmy uwagę, że po przeczytaniu całego słowa zmienna j ma wartość ??+1, zatem pier- wsza drukowana cyfra znajdować się będzie w rejestrze rj−1.

Schemat blokowy przedstawia Rysunek 2. Oto mapa pamięci dla przykładu 4b. Zobacz kompletny program RAM.

Mapa pamięci 0 c 1 2 j ...

... 10 c1 11 c2

... ...

?? c?

4

docsity.com

Początek

Czytaj c

c = 0?

r(j) ← c

j ← j+1

j = 10?

T

j ← j-1

Drukuj r(j)

N

Koniec

T

j ← 10

Rysunek 2: Schemat do przykładu 4b.

5

docsity.com

komentarze (0)
Brak komentarzy
Bądź autorem pierwszego komentarza!
To jest jedynie podgląd.
Zobacz i pobierz cały dokument.
Docsity is not optimized for the browser you're using. In order to have a better experience we suggest you to use Internet Explorer 9+, Chrome, Firefox or Safari! Download Google Chrome