Struktūrinis programavimas
Pamoka 1 / 11 Algoritmai ir įrankiai ~45 min
3 / 4 📖 Teorija

Pseudokodas → Go

Dabar — pažadėtas tiltas. Kairėje mintyse laikyk 1 žingsnio pseudokodą, dešinėje — tikras Go kodas:

package main

import "fmt"

func main() {
	numbers := []int{7, 42, 13, 8}

	biggest := numbers[0] // start from the FIRST value, not from 0
	for _, n := range numbers {
		if n > biggest {
			biggest = n
		}
	}
	fmt.Println("Largest:", biggest)
}

Sulygink eilutes su pseudokodu:

  • „Paimk pirmą skaičių" → biggest := numbers[0]
  • „Eik per likusius po vieną" → for _, n := range numbers
  • „Jei didesnis — pakeisk" → if n > biggest { biggest = n }
  • „Atsakymas" → fmt.Println("Largest:", biggest)

Naujos konstrukcijos ([]int, range, if) — dar ne šios pamokos tema; jas išsamiai nagrinėsim 5 ir 7 pamokose. Šiandien svarbu viena: kodas yra pseudokodo vertimas, ne magija.

Spąstai. Kodėl biggest := numbers[0], o ne biggest := 0? Jei sąraše visi skaičiai neigiami (pvz., {-7, -3, -12}), pradėjus nuo 0 atsakymas būtų 0 — skaičius, kurio sąraše nėra. Pradėk nuo pirmo tikro elemento, ir algoritmas teisingas visada.