3. astea | triangeluaren azalera ariketa gogoratu eta osatu: XOY lehen koadranteko triangelu bat bere ABC erpinen bitartez definiturik dator (erpinen koordenatuak zenbaki errealak dira). A puntua eta B puntua lotzen dituen AB lerroa edozein izan daiteke: bertikala, horizontala edo zeiharra.
A, B eta C sarrerako datuek bete behar dituzten baldintza bakarrak hiru dira:
- A, B eta C puntuak lehen koadrantean kokaturik daude
- A eta B puntuak ez direla bat
- C puntua ez dagoela kokaturik AB segmentuaren zuzenean
- Emanik A puntua eta B puntua, AB zuzena lortu eta bere izaeraren arabera (bertikala, horizontala edo zeiharra) erabaki hurrengo urratsak nola burutuko diren
- Emanik C puntua, AB zuzenari dagokion lerro perpendikularra C puntuan lortu
- AB zuzena eta bere perpendikularra C puntuan ditugula, lerro biren ebakidura kalkulatu (P puntua lortu)
- Erpinen arteko AB distantzia eta puntuen arteko CP distantzia kalkulatu ondoren azalera zehaztu
Programaren barne-antolaketa
Emanik A puntua eta B puntua, programak hiru atal izago ditu. Honako hiru atal hauek:
begin ... repeat readln(rAx) ; { A puntua lehen koadrantekoa izan behar da } readln(rAy) ; until ___ ; repeat readln(rBx) ; { B puntua lehen koadrantekoa izan behar da eta } readln(rBy) ; { B puntuak ez du bat egingo A puntuarekin } until ___ ; if rAx = rBx then { AB segmentua bertikala denean } begin ... 1. ATALA repeat readln(rCx) ; (* C puntua lehen koadrantekoa izango da eta } readln(rCy) ; (* ez da egongo AB segmentuari dagokion zuzenean } until ___ ; end else { AB segmentua bertikala EZ denean } begin if rAy = rBy then { AB segmentua horizontala denean } begin ... 2. ATALA repeat readln(rCx) ; { C puntua lehen koadrantekoa izango da eta } readln(rCy) ; { ez da egongo AB segmentuari dagokion zuzenean } until ___ ; ... end else { AB segmentua zeiharra denean, ez bertikala ez horizontala } begin ... 3. ATALA repeat readln(rCx) ; { C puntua lehen koadrantekoa izango da eta } readln(rCy) ; { ez da egongo AB segmentuari dagokion zuzenean } until ___ ; ... end ; end ; ... end. |
Programaren zenbait exekuzio
Hauxe izan daiteke programaren balizko exekuzio bat, AB segmentua bertikala denenan:
Hau izan daiteke programaren balizko exekuzio bat, AB segmentua horizontala denenan:
Eta hauxe izan daiteke programaren balizko beste exekuzio bat, AB segmentua zeiharra denenan:
AB eta CP bi segmentuen luzera ezagutzean, triangeluaren azalera berehala lor daiteke. Ariketa osatuago honen programa exekutagarria Triangelu_5.exe hartu eta hura exekutatuz programaren logika zein den ulertu.
Iturburu-programa
Autoebaluazioa dela eta, edozein triangeluaren azalera kalkulatzeko ariketan, hauxe da...
...lau urratseko goiko algoritmoari dagokion iturburu-programa: Triangelu_5.pas.
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.