3. astea (2023/02/08) etxean egitekoa
Proiektua dela eta, ondoko bi programa hauek eginak dituzue (edo eginak izan beharko zenituzke):
oraintxe bertan ikasiko dugu:
Proiektuaren aurreko bi ariketa horien kodeak programa honen antzekoak dira:
{------------------------------------------------------------------------------
Angelu positiboa radianetan --> angelu positiboa gradu, minutu, segundotan
------------------------------------------------------------------------------}
program RadianPositiboak_GraduMinutuSegundo;
var
rRadianak: real;
rGraduak: real;
rAldeOsoa: real;
rAldeDezimala: real;
iGraduak: integer;
rMinutuak: real;
iMinutuak: integer;
rSegundoak: real;
begin
writeln;
writeln;
writeln('------------------------------------------------------------------------------');
writeln(' Angelu positiboa (radianetan) --> Angelu positiboa (gradu-minutu-segundotan)');
writeln('------------------------------------------------------------------------------');
writeln;
repeat
write('0.0 eta +40.0 arteko radianak eman: ');
readln(rRadianak);
until (rRadianak >= 0.0) and (rRadianak <= 40.0);
rGraduak := rRadianak*360/(2*PI);
writeln(rRadianak:0:5, ' radian = ', rGraduak:0:5, ' gradu');
writeln;
writeln('rGraduak = ', rGraduak:0:5, ' gradu');
rAldeOsoa := int(rGraduak);
rAldeDezimala := frac(rGraduak);
writeln('GRADUAK--> ', rAldeOsoa:0:5, ' gradu + ', rAldeDezimala:0:5, ' gradu');
writeln;
writeln('rGraduak/360 = ', rGraduak/360:0:5, ' itzuli');
writeln('ITZULIAK--> ', int(rGraduak/360):0:5, ' itzuli + ', frac(rGraduak/360):0:5, ' itzuli');
writeln('GRADUAK---> ', 360*int(rGraduak/360):0:5, ' gradu + ', 360*frac(rGraduak/360):0:5, ' gradu');
rGraduak := 360*frac(rGraduak/360);
writeln('rGraduak = ', rGraduak:0:5, ' gradu (angelu efektiboa)');
writeln;
rAldeOsoa := int(rGraduak);
rAldeDezimala := frac(rGraduak);
writeln('GRADUAK---> ', rAldeOsoa:0:5, ' gradu + ', rAldeDezimala:0:5, ' gradu');
iGraduak := trunc(rAldeOsoa);
writeln('iGraduak = ', iGraduak, ' gradu');
rMinutuak := rAldeDezimala*60;
writeln('rMinutuak = ', rMinutuak:0:5, ' minutu');
rAldeOsoa := int(rMinutuak);
rAldeDezimala := frac(rMinutuak);
writeln('MINUTUAK--> ', rAldeOsoa:0:5, ' minutu + ', rAldeDezimala:0:5, ' minutu');
iMinutuak := trunc(rAldeOsoa);
writeln('iMinutuak = ', iMinutuak, ' minutu');
rSegundoak := rAldeDezimala*60;
writeln('rSegundoak = ', rSegundoak:0:5, ' segundo');
writeln;
writeln(rRadianak:0:5, ' radian = ', iGraduak, ' gradu ', iMinutuak, ' minutu ', rSegundoak:0:4, ' segundo');
writeln;
writeln ('=======================');
writeln ('RETURN sakatu amaitzeko');
write ('=======================');
readln;
end. { PROGRAMAREN BUKAERA }
Goiko adibide-programa hori enuntziatu honi dagokio, zure lana da exekutatzea eta bere irteera aztertzea (programak zer egiten duen ondo ulertzeko arreta berezia jarri emaitzen unitateetan). Ondoren, beste programa bat egizu rRadianak angelu-datua positiboa edo negatiboa denerako.
Aste honetan etxean egingo dituzuen ariketak hauek dira:
- Ostiralean, ikasgelan, azalduko den 3. astea | CASE-OF aginduaren adibidea eta kontradibidea artikuluan Case1.pas iturburu-programa eta Case2.pas iturburu-programa ematen dira, CASE-OF egitura erabiliz CASE_MenuaZenbakiz.pas programa idatzi non menu baten bitartez hiru ariketa hauen artean bat hautatzeko aukera ematen den:
Hasita daukagun
3. astea | triangeluaren azalera ariketa honi aurre egingo diozue aste honetan, ariketa garrantzitsua da honako arrazoi hauengatik:
- Ezagutzen ditugun beste ariketa batzuetan oinarritzen delako
- Gainera, eGela bitartez bidaltzea eskatuko dizuedalako: guztiz orokorra ez den ariketa hau abiapuntuz harturik, bere hedapena den 3. astea | edozein triangeluren azalera ariketa eskatuko dudalako. Programaren entrega egiteko Etxekolana: Edozein triangeluren azalera zeregina sortu dut