Kurs maturalny z języka angielskiego!
kurs-maturalny-jezyk-angielski

PROGRAMOWANIE I ALGORYTMY

Zajęcia maturalne z informatyki
Olimpiada Informatyczna Juniorów
    Prowadzący: Marcin Kasprowicz
  • właściciel serwisu algorytm.edu.pl
  • wrzesień 2024 — start zajęć
  • czytaj więcej

Pseudokod


Kolejnym sposobem przedstawiania algorytmów jest pseudokod. Ten sposób zapisu algorytmu możesz zastosować na egzaminie maturalnym z informatyki w części pisemnej. Także w tej części spotkasz problemy algorytmiczne zapisane właśnie tą metodą.

pseudokod

Co to jest pseudokod?

Jest to nieformalny sposób zapisania algorytmu podobny do języka programowania. Słowa kluczowe oraz instrukcje są spolszczone. Bloki należące do instrukcji warunkowej, iteracyjnej czy funkcji oznaczamy odpowiednim wcięciem. Niektóre operatory, takie jak przypisanie, modulo czy dzielenie całkowite zastąpione zostały następującym zapisem:

Operator Pseudokod C++ Przykład
przypisania = a <- 10
reszta z dzielenia mod % a ← b mod c
dzielenie całkowite div / a ← b div c
operator porównania = == jeżeli a = b to
a różne b <> != jeżeli a <> b

Instrukcję warunkową możemy zapisać w następujący sposób:

Jeśli a > b to
	zamień(a, b)
	b ← a mod b
w przeciwnym razie
	b ← b div a

Instrukcję iteracyjną może wyglądać w taki sposób:

Dla i ← 1 do n powtarzaj
	wypisz(tab[i])

lub

i ← 1 
dopóki i < 10 wykonuj
	wypisz(tab[i])
	i ← i + 1

Przykłady algorytmów

Przykład 1

Wczytaj dwie liczby całkowite i wyznacz większą z nich.

wczytaj(a)
wczytaj(b)
Jeśli a > b to
	wypisz(a)
w przeciwnym razie
	wypisz(b)
Przykład 2

Dla podanej liczby naturalnej wypisz wszystkie jej naturalne dzielniki.

wczytaj(liczba)
i ← 1
dopóki i*i < liczba wykonuj
	jeżeli liczba mod i = 0 to
		wypisz(i)
		wypisz(liczba/i)
	i ← i + 1
jeżeli i*i = liczba to
	wypisz i
Przykład 3

Wykonaj sortowanie metodą bąbelkową n liczb całkowitych. Liczby wczytaj do tablicy oraz wypisz zbiór w formie uporządkowanej.

wczytaj(n)
inicjuj tab[1..n]
dla i ← 1 do n powtarzaj
	wczytaj tab[i]
dla i ← 1 do n powtarzaj
	dla j ← i + 1 do n powtarzaj
		jeżeli tab[j] < tab[j - 1] to
			pom ← tab[j]
			tab[j] ← tab[j - 1]
			tab[j - 1] ← pom
dla i ← 1 do n powtarzaj
	wypisz(tab[i])