2024(e)ko abenduaren 1(a), igandea

Ariketa 5 | Zeruertzaren urruntasuna kilometroetan

ZER DAKIDAN:
Badakit testuak eta konstanteen balioak pantailan idazten. scanf() funtzioarari esker, teklatuaren bitartez, balio bat aldagai batean gordetzen ikasi dut. Esleipena operazioaren bitartez aldagai batean balio jakin bat gordetzen ikasi dut.



ZER IKASIKO DUDAN:
Orain, sqrt() eta pow() funtzio estandarrak ikasiko ditut. Horretarako, math.h fitxategiaren sartzea egingo dut programaren hasieran #include <math.h> idatziz.




ADIBIDERAKO EMATEN DEN PROGRAMA

Demagun itsasoaren ondoan gaudela eta urrunera, zeruertzera, begiratzen dugula. Zenbat kilometrotara batzen dira zerua eta itsasoa?

Beste modu batez galdetuta: Zenbat kilometrotara dago ostertza edo zeruertza?

Irudia handiago ikusteko bere gainean klik egin

Datuak:

  • rAltuera aldagaia, metrotan emandako altuera
  • R konstantea, Lurraren erradioa 6370 Km

Ezezaguna:

  • rDistantzia aldagaia, lortu nahi den distantzia kilometroetan 

Ariketa-05_ZeruertzarenUrruntasuna.cbp proiektu horren irteera bat hau izan daiteke:

Azpimarratu beharra dago iAltuera aldagaiaren eta iOinarria aldagaiaren helbideak eman beharko
zaizkiola
scanf() funtzioari. Horretarako, aldagaiaren identifikadorearekin batera & sinboloa erabiliko da



Hona hemen Ariketa-05_ZeruertzarenUrruntasuna.cbp proiektuaren main() funtzioa gordetzen duen main.c fitxategiaren edukia:

/* Ariketa-05_ZeruertzarenUrruntasuna: datuak teklatutik hartzen */
// sqrt() eta pow() funtzioa matematikoak ikasiko ditugu,
// horiek erabiltzeko "math.h" fitxategia derrigorrezkoa da.
// Programa honetan parentesien beharra berretsiko dugu.

/*
   Demagun itsasoaren ondoan gaudela eta urrunera, zeruertzera, begiratzen dugula.
   Zenbat kilometrotara batzen dira zerua eta itsasoa?
   Beste modu batez galdetuta: Zenbat kilometrotara dago ostertza edo zeruertza?

   Datuak:
        fAltuera aldagaia, metrotan emandako altuera
        R konstantea, lurraren erradioa 6370 Km
   Ezezaguna:
        fDistantzia aldagaia, lortu nahi den distantzia kilometroetan
*/

#include <stdio.h>
#include <math.h>

#define R 6370   // Lurraren erradioa Kilometroetan

int main()
{
   float fAltuera, fDistantzia;

   printf("\n\n");
   printf("Eman behatokiaren altuera metroetan (adibidez \"Atxarre\" 312): ");
   scanf("%f", &fAltuera);

   fDistantzia = sqrt(pow(fAltuera, 2) + 2*fAltuera*(R*1000)) ;

   printf("\nZeruertzaren distantzia = %.2f m", fDistantzia);
   printf("\nZeruertzaren distantzia = %.2f Km", fDistantzia/1000);
   printf("\n\n");

   return 0;
}

  • Ariketa-05_ZeruertzarenUrruntasuna.cbp | main.c  



Eredu den aurreko programaren aldaera eskatzen da. Programak, exekuzio bakoitzeko, hiru mendiren datuak hartuko ditu scanf() funtzio bakarrean eta hiru altuera horiekin zeruertzaren distantziak pantailaratu.

Oraintxe dakigunarekin, sarrerako datuak Burgoa (451 m), Katillotxu (336 m) eta Atxarre (312 m) balira, programa bat idatzi beharko genuke; baina sarrerako datuak Gaztelugatxe (79 m), Aketz (105 m) eta Gorbeia (1482 m) balira, beste programa desberdin bat idatzi beharko genuke. Esate baterako, datutzat Aketz (105 m), Garbola (477 m) eta OgoƱo (305 m) emanik, programaren irteera honelako zerbait izango litzateke hiru scanf() eginez:

Mendien altuerak ezagutzeko www.mendikat.net webgunea bisitatu

Baina, esan bezala, scanf() bakarrean irakurri nahi dira hiru mendiren altuerak. Programaren irteera hau litzateke Aketz, Burgoa eta Garbola mendiekin adibidez:

scanf() funtzioak aldagai bat baino gehiago irakurriko duenean, derrigorrez
banatzaileren bat jarri beharko zaio formatu-zehaztatzaileen artean

 

iruzkinik ez:

Argitaratu iruzkina