Hrvatsko društvo za robotiku - Uvod u robotiku - vježbe

Ispis

Cilj

Cilj vježbe je ispis programa na ekran mobitela ili računala.

print

void RobotLine::loop() {
	print("Bok");
	end();
}
Smjer komunikacije mi - robot smo već isprobali: meni naredba "x", npr. Mi ju utipkamo, naredba putuje do robota USB kablom ili putem radio valova, robot izvrši našu želju.

Drugi je smjer robot - mi. Robot nije tako bahat da izdaje naredbe nama, ali može slati obavijesti putem tekstualnih poruka. Funkcija koja to čini se zove "print".

Uvijek je u programiranju važno strogo se držati propisanog oblika instrukcije. Za slanje tekstualne poruke oblik instrukcije je kao u programu lijevo, s tim da je dio unutar navodnika tekst koji slobodno formiramo. Rezultat programa će biti ispis "Bok" na ekranu.

Zadnja naredba je "end", budući da ne želimo da se "Bok" ispisuje beskonačno puta, nego samo jednom.

Rezultat

×
Izvršimo program. Kao i prije, pritisnimo desnu strelicu.

Nakon što se pojavi meni, upišimo "loo" pa pritisnimo tipku "Enter".

Rezultat će biti kratak, jedan red, ali u njemu će ispravno pisati "Bok".

Ispis broja

void RobotLine::loop() {
	print(17);
	end();
}
Dosad smo Vas uspješno štitili od ružnijih dijelova C++ jezika za mikrokontrolere. Došao je čas da se suočite s istinom: nisu svi dijelovi lijepi.

Nakon što smo naučili ispisati tekst, kako ispisati cijeli broj? Naivni pokušaj je s lijeve strane.

Ako ga probate kompajlirati, rezultat će biti nerazumljiva poruka greške. Nažalost, neće to ići tako. Kako bi se uštedio prostor u memoriji mikrokontrolera, C++ za mikrokontrolere je okljaštren. Zato nema ugodnog načina za ispis brojeva.

Odluka da se taj dio izbaci je potpuno razumna. Mikrokontroleri mogu imati vrlo malo memorije. ESP32, s raskošnih 16 MB, nije takav, ali svejedno će nam prostor dobro doći za druge stvari.

void RobotLine::loop() {
	print("%i", 17);
	end();
}
Lijevo je novi pokušaj. Stvarno, ovaj put radi. Proučimo i naučimo pojedine dijelove:
  • "%i" - značenje je: "na ovo mjesto će ići cijeli broj" ("i" - integer),
  • 17 - cijeli broj koji se ispisuje.

Princ na bijelom konju

×
Trebamo li naučiti napamet "%i"? Ne! U bajkama u ovom času nailazi princ na bijelom konju i spašava princezu. U našoj okolini nema konja ni pričeva, ali odlična zamjena će biti Intellisense!

Tipkajmo "print(". Nakon otvorene zagrade će Intellisense ispisati pomoć u kojoj su navedena slova za formatiranje.

Zadatak

Ispišite tekst "Ovo je bilo jednom."

Primjedbe



Projekt "Uvod u robotiku" sufinanciran je iz Europskog socijalnog fonda, poziv "Jačanje kapaciteta organizacija civilnoga društva za popularizaciju STEM-a". Relevantne stranice: Sadržaj vježbe za virtualne radionice isključiva je odgovornost Hrvatskog društva za robotiku.