Preskoči na glavno vsebino
ACM-moodle
  • Slovenščina ‎(sl)‎
    English ‎(en)‎ Slovenščina ‎(sl)‎
Trenutno uporabljate gostujoči dostop (Prijavite se)

ACM RTK - 2. skupina

  1. Domov
  2. Predmeti
  3. ACM RTK
  4. Leto 2010
  5. rtk2010-DrugaSkupina
  6. Topic 4
  7. Naloga

Naloga

Zahteve zaključka
Odprto: sobota, 27. marec 2010, 10.00
Rok za oddajo: sobota, 27. marec 2010, 13.15
Vsak bolj moderen avto ima vgrajene čuda veliko tehnike. Med drugim imajo marsikaj, da se ga ne razbije med parkiranjem, recimo ultrazvočne merilnike razdalje. Ko tak avto vozimo vzvratno, piska, ko zazna oviro na neki razdalji, in bližje ko smo,
bolj tečno piska.


Napiši program, ki meri razdaljo in primerno piska po spodaj opisanih navodilih.
  1. Dokler je ovira oddaljena več kot en meter, ne piska;
  2. ko je med 1m in 0,5m, piska s 400Hz;
  3. ko je med 0,5m in 0,25m, piska s 1000Hz;
  4. ko je bližje kot 0,25m, pa piska z 2000Hz.
Na voljo imaš naslednje sistemske funkcije/podprograme (zanje torej predpostavi, da že obstajajo in jih lahko tvoj podprogram pokliče, ko jih potrebuje):
  • void Zvocnik(int frekvenca), ki sproži piskanje s podano frekvenco; če je podana vrednost 0, ugasne piskanje;
  • long Cas(), ki pove trenutni sistemski čas v mikrosekundah od trenutka, ko se je prižgal računalnik v avtomobilu, na katerem teče tvoj program;
  • void Ping(unsigned char x), ki odda ultrazvočni pulz, namenjen meritvi. V pulz ta funkcija zakodira vrednost x (število od 0 do 255), funkcija Poslusaj pa zna to število izluščiti iz signala, ki pride nazaj po odboju.
  • int Poslusaj(), ki vrne -1, če v času od zadnjega klica ni slišala odboja nobenega ultrazvočnega merilnega pulza, oddanega s Ping; če pa je tak odboj slišala, vrne vrednost x, ki je bila ob pošiljanju tistega signala podana funkciji Ping.
Predpostaviš lahko, da je hitrost zvoka 340m/s.

Še deklaracije v drugih jezikih:

procedure Zvocnik(Frekvenca: integer); { v pascalu }
function Cas: integer;
procedure Ping(x: byte);
function Poslusaj: integer;

public static void zvocnik(int frekvenca); // v javi
public static long cas();
public static void ping(byte x);
public static int poslusaj();

def Zvocnik(frekvenca): ... # v pythonu
defCas(): ... \\
defPing(x): ... \\
defPoslusaj(): ...


  • rtk2010-0204.pdf rtk2010-0204.pdf
    10. november 2015, 10:40
◄ Naloga
Naloga ►

Bloki

Preskoči Ura

Ura

Server iconStrežniška ura:

Supplementary blocks

Trenutno uporabljate gostujoči dostop (Prijavite se)
rtk2010-DrugaSkupina
  • Slovenščina ‎(sl)‎
    • English ‎(en)‎
    • Slovenščina ‎(sl)‎
Povzetek hrambe podatkov