- Funtsezkoena une honetan: datorren asteko kontrola prestatzea. Hori dela eta, hauek begiratu:
- Proiektuan eskatzen dena (zure proiektua birpasa ezazu eta bermatu ondo kontrolatzen duzula)
- 15. asteko kontrola prestatzeko, proiektuaren 9. aukerako adibide hau ikus eta ikas ezazu 2023koProiektua9AukerarenAdibidea.zip (9. aukerako azken ariketaren helburua fitxategi bat ordenatzea da, dagokion "LiburutegiaSailkatu" prozedura ez ikasi).
Hona hemen proiektuaren 9. aukerako zereginak: - Gehiketa: liburu berri bat fitxategiaren bukaeran gorde
- Txerketa: posizio jakin batean liburu bat txertatu (array laguntzailea), txertaketaren posizioa ezaguna teklatuz irakurtzen delako
- Ezabaketa: liburu bat fitxategitik kendu (array laguntzailea), ezabaketaren posizioa ezaguna bilaketa bat egiten delako
- Ezabaketa: liburu bat fitxategitik kendu (fitxategi laguntzailea), ezabaketaren posizioa ezaguna bilaketa bat egiten delako
- Fitxategi bat banatu: liburutegik abiatuta lortu "maileguan" fitxategia eta "mailegugabeak" fitxategia
- Bi fitxategi batu: "maileguan" eta "mailegugabeak" fitxategietatik abiatuta fitxategi berrantolatu bakarra lortu
2023(e)ko maiatzaren 2(a), asteartea
14. ASTEA | etxerako lana
2023(e)ko apirilaren 25(a), asteartea
13. ASTEA | etxerako lana
- Funtsezkoena une honetan: Proiektuarekin jarrraitzea
- FILE datu-motarekin zerikusi zuzen-zuzena duten kontzeptu hauek ikusi proiekturako interesgarriak direlako:
- 13. astea | fitxategi beraren edukia modu desberdinez pantailaratzen [hau datorren asteko laborategian ikusiko dugu]
- Direktorioak: Non gaude? [hau datorren asteko laborategian ikusiko dugu]
2023(e)ko apirilaren 17(a), astelehena
12. ASTEA | etxerako lana
- Dagoeneko zuen izenak eta abizenak idatzi dituzue Proiektuaren taldekideak artikuluan aipatzen den taulan, norbait falta bada edo zeozer zuzendu behar bada e-posta bat idatz egidazue
- 12. ASTEA | laborategi/mintegian egin dena zuk zeuk etxean, zure ordenagailuan, errepika ezazu. Fitxategiaren ariketa hau izan da:
program ErregistroenFitxategiaSortuEtaIkusi;
const
sBIDEA = 'C:\NereKarpeta\';
type
tsKate249 = string[249]; { fitxategiaren izena luzea izan daitekeelako }
tsKate15 = string[15];
trdIkaslea = record
sNor: tsKate15;
rNota: real;
end;
tfrdIkasleak = file of trdIkaslea;
{ sFitxIzen katea ezaguna da programa nagusian eta prozedura honetan }
{ izena ez da aldatuko, horregatik sarrerako parametroa da prozeduran }
procedure FitxategiaSortuEtaBete(sFitxIzen: tsKate249);
var
f: tfrdIkasleak;
rdElem: trdIkaslea;
iKont: integer;
iZenbat: integer;
begin
assign(f, sFitxIzen); { fitxategia uztartu }
rewrite(f); { fitxategia sortu eta existitzekotan datuz hustu }
repeat
write('Zenbat ikasle dira? ');
readln(iZenbat);
until iZenbat > 0;
for iKont:=1 to iZenbat do
begin
write(iKont:10, '. ikaslearen izena eman: ');
readln(rdElem.sNor); { erregistroaren eremu bat teklatuz irakurri }
write(iKont:10, '. ikaslearen nota eman: ');
readln(rdElem.rNota); { erregistroaren eremu bat teklatuz irakurri }
write(f, rdElem); { elementu bat (erregistro bat) fitxategia idatzi }
end;
close(f); { fitxategia itxi }
end;
{ sFitxIzen katea ezaguna da programa nagusian eta prozedura honetan }
{ izena ez da aldatuko, horregatik sarrerako parametroa da prozeduran }
procedure FitxategiaIkusi(sFitxIzen: tsKate249);
var
f: tfrdIkasleak;
rdElem: trdIkaslea;
begin
assign(f, sFitxIzen); { fitxategia uztartu }
reset(f); { fitxategia existitzen bada ireki }
while not eof(f) do { fitxategiaren bukaeran ez gauden bitartean... }
begin
read(f, rdElem); { elementu bat (erregistro bat) fitxategitik irakurri }
{ erregistroaren eremu banaren edukia pantailaratu }
writeln(filepos(f):10, '. ikaslearen izena: ', rdElem.sNor);
writeln(filepos(f):10, '. ikaslearen nota: ', rdElem.rNota:0:2);
end;
close(f);
end;
{ sFitxIzen katea ezaguna da programa nagusian eta prozedura honetan }
{ izena ez da aldatuko, horregatik sarrerako parametroa da prozeduran }
function fnMediaKalkulatu(sFitxIzen: tsKate249): real;
var
f: tfrdIkasleak;
rdElem: trdIkaslea;
rMetatua: real;
begin
assign(f, sFitxIzen); { fitxategia uztartu }
reset(f); { fitxategia existitzen bada ireki }
rMetatua := 0.0;
while not eof(f) do { fitxategiaren bukaeran ez gauden bitartean... }
begin
read(f, rdElem); { elementu bat (erregistro bat) fitxategitik irakurri }
{ nota bat gehiago pilatu rMetatua batukarian }
rMetatua := rMetatua + rdElem.rNota;
end;
fnMediaKalkulatu := rMetatua / filesize(f);
close(f);
end;
{ Hiru fitxategien izenak ezagunak direlako programa nagusian eta }
{ prozedura honetan aldatzen ez direlako sarrerako parametroak dira }
procedure BiFitxategiBerriSortu( sFitxIzen: tsKate249;
sFitxIzenAprob: tsKate249;
sFitxIzenSuspn: tsKate249);
var
f, f_A, f_S: tfrdIkasleak;
rdElem: trdIkaslea;
begin
assign(f, sFitxIzen);
reset(f);
assign(f_A, sFitxIzenAprob);
rewrite(f_A);
assign(f_S, sFitxIzenSuspn);
rewrite(f_S);
while not eof(f) do
begin
read(f, rdElem);
if rdElem.rNota >= 5.0 then
write(f_A, rdElem)
else
write(f_S, rdElem)
end;
close(f);
close(f_A);
close(f_S);
end;
{=============Programa nagusia eta programa nagusiko aldagaiak=============}
var
sFitxIzen: tsKate249;
rBBA: real;
sFitxIzenAprob: tsKate249;
sFitxIzenSuspn: tsKate249;
begin
writeln;
write('Eman fitxategiaren izena, adibidez (31Taldea): ');
readln(sFitxIzen);
//sFitxIzen := sBIDEA + sFitxIzen + '.dat'; (* edo hurrengoa *)
sFitxIzen := concat(sBIDEA, sFitxIzen, '.dat'); (* edo aurrekoa *)
writeln('==>', sFitxIzen, '<== bidea eta luzapena programak gehituta');
writeln;
writeln('Fitxategiaren datuak jasotzen...');
FitxategiaSortuEtaBete(sFitxIzen);
writeln;
writeln('Fitxategi osoaren datuak:');
FitxategiaIkusi(sFitxIzen);
writeln;
rBBA := fnMediaKalkulatu(sFitxIzen);
write('Nota guztien batezbesteko aritmetikoa: ', rBBA:0:2, ' puntu');
writeln;
sFitxIzenAprob:= sBIDEA + 'Aprobatuak.dat';
sFitxIzenSuspn:= sBIDEA + 'Suspendituak.dat';
BiFitxategiBerriSortu(sFitxIzen, sFitxIzenAprob, sFitxIzenSuspn);
writeln;
writeln('Aprobatuen datuak:');
FitxategiaIkusi(sFitxIzenAprob);
writeln;
writeln('Suspendituen datuak:');
FitxategiaIkusi(sFitxIzenSuspn);
writeln;
writeln('=======================');
writeln('RETURN sakatu amaitzeko');
write ('=======================');
readln;
end.
- 12. ASTEA | laborategi/mintegian egin denaren haritik. Erregistroen fitxategi bat daukagula (bi eremu: sNor katea eta rNota zenbakia) ondoko hiru lan hauek laster burutu ahalko dituzu:
- Ikasle baten izena teklatuz eman eta bilatu; ikaslea aurkitu ondoren bere nota aldatu, nota berria nota guztien batezbesteko aritmetikoa izan dadin
- Nota maximoa eta nota minimoa zehaztu; nota maximoa eta nota minimoa elkar trukatu
- Bi fitxategi sortu: batezbestekoaren gainetik daudenen fitxategia eta batezbestekoaren azpitik daudenen fitxategia
- 12. ASTEA | laborategi/mintegian egin dena zuk zeuk etxean, zure ordenagailuan, errepika ezazu
- Proiektua: hobekuntzak aitortu (2023) zereginaren bitartez zuen proiektuaren menuak izango duen 4. aukera proposatu (Entregatze-data: 2023ko apirilaren 22an, 23:59tan, larunbata)
- Ondoko hau urrunago dago: Proiektua amaiturik (2023) zereginaren bitartez zuen proiektuaren menuak izango duen 4. aukera proposatu (Entregatze-data: 2023ko maiatzaren 1ean, 23:59tan, astelehena)
2023(e)ko apirilaren 1(a), larunbata
11. ASTEA | etxerako lana
- Proiektuaren taldekideak artikuluan aipatzen den taulan zuen izenak eta abizenak idatzi
- Gogoratu AUTOEBALUAZIO ariketa: 9. astea | izenak eta kalifikazioak izeneko programa planeaturik dagoela. Horretarako, arrayekin lan egiteko baliabideak birpasatu.
- 11. astea | erregistroen bi bektore nahastu bektore bakar batean ariketa dela eta, hona hemen bi bertsioen soluzio bana:
- ErregistroenBiArrayNahasten1.pas (programaren datuak ematean, erabiltzaileak hanka sartzeak izan ditzake)
- ErregistroenBiArrayNahasten2.pas (programa sendoagoa da erabiltzailearen esku sartzea mugatuagoa delako)
- Zure lana: Bi programa horiek goitik behera aztertzea eta ulertzea, arazorik baduzu galdetu gabe ez geratu. Bestela ezingo duzu aurrera joan
- Hauxe da HiruArrayParalelo ariketa non randomize prozedura estandarra programa nagusian kokatu dugun, ArrayaBete prozedura birritan deitu beharra dagoelako. ArrayaBete prozedurak random funtzio estandarrari dei egiten dio for-to-do barruan, eta normalean randomize prozedura estandarra for-to-do horren aurrean kokatzen da
{------------------------------------------------------------------------------
randomize non?
Normalean prozeduran doa, konkretuki for-to-do aurrean (ikusi gaurko beste
bi ariketak). Baina kasu honetan hobe programa nagusian.
-------------------------------------------------------------------------------}
program HiruArrayParalelo ;
uses
crt;
const
BEHEMUGA = 1;
GOIMUGA = 10;
type
taiZerrenda = array[BEHEMUGA..GOIMUGA] of integer;
procedure ArrayaBete(var aiZerrenda: taiZerrenda);
var
k: integer;
begin
//randomize;
for k:=BEHEMUGA to GOIMUGA do
begin
aiZerrenda[k] := random(10); (* 0 eta 9 arteko balio bat *)
end;
end;
procedure ArrayaErakutsi(const aiZerrenda: taiZerrenda);
var
k: integer;
begin
for k:=BEHEMUGA to GOIMUGA do
begin
writeln(k:2, '. elementua = ',aiZerrenda[k]:2);
end;
end;
procedure EmaitzaLortu(const aiZerrenda1: taiZerrenda;
const aiZerrenda2: taiZerrenda;
var aiZerrenda3: taiZerrenda);
var
k: integer;
begin
for k:=BEHEMUGA to GOIMUGA do
begin
if aiZerrenda1[k] > aiZerrenda2[k] then
aiZerrenda3[k] := 1;
if aiZerrenda1[k] = aiZerrenda2[k] then
aiZerrenda3[k] := 0;
if aiZerrenda1[k] < aiZerrenda2[k] then
aiZerrenda3[k] := -1;
end;
end;
(* ---------------------------------------------- *)
var
aiX, aiY, aiZ: taiZerrenda;
BEGIN
clrscr;
randomize;
ArrayaBete(aiX);
writeln('X bektorea:');
ArrayaErakutsi(aiX);
writeln;
ArrayaBete(aiY);
writeln('Y bektorea:');
ArrayaErakutsi(aiY);
writeln;
EmaitzaLortu(aiX, aiY, aiZ);
writeln('Z bektorea:');
ArrayaErakutsi(aiZ);
writeln ;
WriteLn ;
WriteLn ('=======================') ;
WriteLn ('RETURN sakatu amaitzeko') ;
Write ('=======================') ;
ReadLn ;
end.Proiektua dela eta, hirukoteak osoatu dituzue eta orain hau egizue:
- Azterketa bat, eredu bat enuntziatua astiro irakurri eta azpimarratu ulertzen ez dituzuen hitzak (adibidez fitxategi)
- Proiektuan eskatzen dena artikula astiro irakurri eta ondokoak egin:
- Proiektua kartepa eta Datuak karpeta sortu, zer gordetzen da bakoitzean?
- datu_mota.pas unitatea ireki eta bere INTERFACE atala irakurri, ikusi eta identifikatu erabiliko diren datu-motak
- biblioteka.pas unitatea ireki eta bere INTERFACE atala irakurri, ikusi eta identifikatu erabiliko diren azpiprogramak
- erabiltzaile.pas unitatea ireki eta bere INTERFACE atala irakurri, ikusi eta identifikatu erabiliko diren azpiprogramak
- top10.pas unitatea ireki eta bere INTERFACE atala irakurri, ikusi eta identifikatu erabiliko diren azpiprogramak
- LiburutegiProiektua.pas bezero-programa ireki, aztertu eta konpilatu LiburutegiProiektua.exe lortzeko
- LiburutegiProiektua.exe programa exekutatu, ondokoa ikusiz:
- Menuaren 1, 2, 3, 4 eta 5 aukerekin LIBURUAK.DAT eta ERRESERBAK.DAT fitxategiak erabiltzen dira
- Menuaren 6 eta 7 aukerekin BEZEROAK.DAT fitxategia erabiltzen da
- Menuaren 8 eta 9 aukerekin TOP10.DAT fitxategia erabiltzen da (eta beharbada zuek sortutako beste fitxategiren bat)
2023(e)ko martxoaren 30(a), osteguna
10. ASTEA | etxerako lana
- AUTOEBALUAZIO ariketa: 9. astea | izenak eta kalifikazioak izeneko programa kodetu. Horretarako, arrayekin lan egiteko baliabideak birpasatu.
- 01 Prozesaketa (osorik prozesaketu), arrayaren elementu guztiei prozesu jakin bat aplikatu (ikus 01_Prozesaketa.pas programa). Klasean adibide bat egin dugu: array bat datuz bete eta array horren edukia erakutsi
- 02 Bilaketa, arrayaren elementu guztien artean elementu jakin baten posizioa zehaztu (ikus 02a_BilaketaLineala.pas programa eta 02b_BilaketaLineala.pas programa)
- 03 Minimoa, arrayaren baliorik txikienaren posizioa zehaztu (ikus 03_Minimoa.pas programa)
- 04 Maximoa, arrayaren baliorik handienaren posizioa zehaztu (ikus 04_Maximoa.pas programa)
- 05 Txertaketa, arrayaren iNon posizio ezagun batean elementu berri bat txertatu (ikus 05_Txertaketa.pas programa)
- 06 Ezabaketa, arrayaren iNon posizio ezagun batean dagoen elementua ezabatu (ikus 06_Ezabaketa.pas programa)
- 06 Hainbat ezabaketa, arrayaren baldintza bat betetzen dituzten elementuak ezabatu. Bi algoritmo hauek ikusi, 06a gomendatzen da 06b zailagoa delako:
- 06a_HainbatEzabaketa.pas (array laguntzaile baten bitartez)
- 06b_HainbatEzabaketa.pas (elementuak banan-banan ezabatu) [hau ez ikasi]
ARRAYEKIN LAN EGITEKO BALIABIDEAK:
2023(e)ko martxoaren 14(a), asteartea
9. ASTEA | etxerako lana
Kontrola prestatzeko ariketa esanguratsuak:
- Oinarrizko geometria. Puntu bat (rPx, rPy). Zuzen bat (rMalda, rDesplazamendua). Zirkunferentzia bat (rZx, rZy, rR). Parabola bat (rA, rB, rC). Adibidez:
- 3. astea | triangeluaren azalera ariketa
- 5. astea | Newton-en metodoa bigarren graduko edozein parabolarekin ariketa
- 15. Ariketa: azpiprogramak (III) triangelu baten zirkunzentroaren ariketa
- Iterazioen kopurua ezaguna da:
- 5. astea | batukari bat kalkulatzen eta 5. astea | biderkari bat kalkulatzen bi ariketen lehen adibideak berdinak dira eta for-to-do kontrol-egitura baten bitartez programatzen dira
- 8. Ariketa: errepikapen kopuru ezaguna ariketa for-to-do kontrol-egituren bitartez programatzen da ere
- Iterazioen kopurua ezezaguna da:
- 5. astea | batukari bat kalkulatzen eta 5. astea | biderkari bat kalkulatzen bi ariketen bigarren adibideak berdinak dira, eta ezin daitezke programatu for-to-do kontrol-egitura baten bitartez
- 7. astea | Taylor azpiprogramaz (angelu txikiekin) ariketa batukari bat da repeat-until kontrol-egitura baten bitartez programatzen dena eta batugai bakoitzak beste prozesu errepikakor bat behar du
- for-to-do bat, beste for-to-do baten barruan:
- 4. astea | FOR-DO bat beste FOR-DO baten barruan ariketa (adibide hau asko errazten da funtzioak erabiltzen direnean)
- 4. astea | FOR-DO: Irudi geometrikoak marrazten ariketak (azkena izan ezik)
- Iterazio bateko emaitza, hurrengo iterazioaren datua da:
- 5. astea | Newton-en metodoa, erro karratua eta erro kuboa ariketan prozesu errepikakor bat behar da, iterazio batean lortzen dena jarraian datorren iterazioan erabiltzen da emaitza hobea lortzeko
- 6. astea | Fibonacciren zenbakiak azpiprogramaz ariketan funtzio bat eta prozedura bat erabiltzen dira, Fibonacci zenbaki bat aurreko bi zenbakien batura da
- 4. astea | Errusiar Biderketaren Metodoa programatzen ariketan, zenbat iterazio izango diren kalkulatu ondoren for-to-do bat da
- Karaktereak eta menuak:
- 4. astea | FOR-DO: Irudi geometrikoak marrazten ariketak (azkena izan ezik)
- 5. astea | zenbaki edo letra sorta baten maximoa ariketak
- 6. astea | letrarik hurbilena ariketa
- 7. astea | menu bat azpiprogramaz ariketan prozesu errepikakor bat exekutatzen da erabiltzaileak irtetea erabaki arte
- 14. Ariketa: azpiprogramak (II) ariketan programa nagusiaren itxura ikusi eta ikasi
- Karaktere-kateak, kate bakarra prozesatu eta kate baten hasieraketa. Adibidez:
- 8. astea | kate bat prozesatzen (I) ariketa, kate oso bat karaktereka aztertu
- 8. astea | kate bat prozesatzen (II) ariketaren lehen adibidea, kateari karaktere gehiago gehitu (kontuz 0 posizioa ez berritzeaz)
- 8. astea | izena, nota eta kalifikazioa ariketa, katea bi ataletan banatu
- 8. astea | kate baten hasieraketa ariketa
- 8. astea | zenbakiak teklatuz irakurtzen ariketa, zenbaki bat kate bezala teklatuz irakurri
- 8. astea | akronimoak ariketa
- Karaktere-kateak, hainbat kate prozesatzen duen programa (zenbaki bat adierazten duen katea). Adibidez:
- 8. astea | kate bat prozesatzen (II) ariketaren bigarren adibidea, kate bat hainbat aldiz irakurri ondoren, kateak barneratzen duen zenbakia eskuratu batezbestekoa aritmetikoa kalkulatzeko
- 8. astea | izena eta zenbakia ariketa; hiru aldiz errepikatuz, izen baten ostean dagoen zenbakia eskuratu
- 8. astea | esaldiaren hitzak ariketa
- 8. astea | palindromoak ariketa
2023(e)ko martxoaren 13(a), astelehena
8. ASTEA | etxerako lana
Aurreko astean eskatutako 7. astea | menu bat azpiprogramaz ariketa eredutzar harturik, antzekoa den beste hau egizu: Autoebaluazioa Azp-1: menu bat azpiprogramaz (kateak). Programa berria gidatzeko menu bat programatu beharra dago, aukerak hauek direla:
MENUA M Maiuskulak eta minuskulak D Katea pantailaratu diagonalki B Bi noten batezbestekoa aritmetikoa H Hainbat noten batezbestekoa aritmetikoa I Irten Zure aukera: __ |
Aukera guztiak azpiprograma banatan programatu, eta eskatzen diren aukera bakoitzaren kodea hemendik har daiteke 8. astea | kateen adibideak:
- M aukera prozedura batean programatu (
MaiuskuluakMinuskulak.pas) - D aukera prozedura batean programatu (
KateaPantailanDiagonalki.pas)
- B aukera funtzio batean programatu (
BiNotenBatezbestekoa.pas) - H aukera funtzio batean programatu (
HainbatNotenBatezbestekoa.pas)
- I aukera, programatik irten
2023(e)ko martxoaren 3(a), ostirala
7. ASTEA | etxerako lana
Teoriako ikasgelan 6. astea | zenbaki bat asmatzen ariketa eta den 6. astea | letra bat asmatzen ariketaren azaldu genituen astelehenean:
- 6. astea | zenbaki bat asmatzen ariketaren ZenbakiaAsmatu_hasiera.pas iturburu-programa abiapuntutzat harturik eskatzen den programa bukatu (ikasgelan egin dugu)
- 6. astea | letra bat asmatzen ariketaren LetraAsmatu_hasiera.pas iturburu-programa abiapuntutzat harturik eskatzen den programa bukatu
Etxean birpasatu laborategian ikusi dugun 7. astea | Taylor azpiprogramaz (angelu txikiekin) ariketa. Horretarako, bi programa hauek argi eduki:
- FaktorialaFuntzioa.pas programako funtzioa
- BerreturaFuntzioa.pas programako funtzioa
Taylor bitartez angelu txiki baten (1. koadrantekoa) kosinua kalkulatzen duen programa egina dagoenez, zuen lana litzateke 7. astea | Taylor azpiprogramaz (edozein angelurako) artikuluan eskatzen den ariketa programatzea.
Etxean birpasatu laborategian ikusi ditugun Azpiprogramak: Divide et Impera artikuluaren honako hauek:
- 1. Uneko parametroak eta parametro formalak
- 2. Sarrerako parametroak
- 3. Uneko parametro eta parametro formalen arteko bateragarritasuna
- 4. Irteerako parametroak
- 5. Aldagai orokorrak
- 6. Bertako aldagaiak
- 7. Funtzioak
- 8. Faktoriala kalkulatzen duen funtzio iteratiboa egin dugu (eta berredura kalkulatzen duena ere)
- 9. Errekurtsibitatea (ez)
- 10. Errekurtsibitateren adibidea (ezta ere)
Azpiprogramak erabat finkatzea da datorren asteko praktika saioaren helburua. Hori dela eta, hauxe da hurrengo autoebaluaziorako proposamena:
- 7. asteko autoebaluazioa: proiektuaren blogeko 15. Ariketa: azpiprogramak (III) artikuluan deskribatzen den programa (triangelu baten zirkunzentroa)
2023(e)ko otsailaren 27(a), astelehena
6. ASTEA | etxerako lana
5. astea | zenbaki edo letra sorta baten maximoa blog-artikuluko programetan oinarriturik, eskatzen diren programak:
- ZenbakiSortaBatenMinimoa_1.pas minimoa kalkulatzeko iZenbat irakurri, emaitza izango den iMinimoa hasieratu eta FOR batean iZenbat iterazio egin balio minimoa lortzeko
- ZenbakiSortaBatenMinimoa_2.pas minimoa kalkulatzeko iZenbat irakurri, FOR-etik kanpo emaitza izango den iMinimoa kalkulatu eta FOR batean iZenbat-1 iterazio egin balio minimoa lortzeko
- LetraSortaBatenMaximoa.pas maximoa kalkulatzeko iZenbat irakurri, emaitza izango den iMaximoa hasieratu eta FOR batean iZenbat iterazio egin balio maximoa lortzeko
Autoebaluazioa:
Autoebaluazioa: hainbat aukerako menu bat. Azken asteetako hiru ariketa hauek ondo menperatu ondoren, programa bakar batean bildu:- 6. astea | letrarik hurbilena ariketa programatu
- 6. astea | Fibonacci zenbakiak ariketa hau egiteko zenbaki osoak erabili
- 5. astea | Newton-en hurbilketa-metodoa ariketa garrantzitsua da beste ariketa batzuen oinarria delako: ax2+bx+c parabolaren erroak kalkulatu Newton-Raphsonen metodoari esker
Autoebaluazioa:
Autoebaluazioa: Fibonacciren zenbakiak azpiprogramaz. Programa bakarra izan arren programak bi zati izango ditu. Lehenengo zatian prozedura bat erabili eta bigarrenean funtzio bat.
2023(e)ko otsailaren 20(a), astelehena
5. ASTEA | etxerako lana
Ziurtatu aurreko astean egindako ariketak menperatzen dituzula:
- 4. astea | FOR-DO: Faktorialen batukariak ariketa
- 4. astea | FOR-DO: Berreturen batukariak ariketa
- 4. astea | FOR-DO: Irudi geometrikoak marrazten ariketa
- 4. astea | Errusiar Biderketaren Metodoa programatzen ariketa
- 4. astea | WHILE-DO eta REPEAT-UNTIL: Segida baten batukaria ariketa (eman diren bertsio guztiekin)
Ziurtatu aste honi dagozkion ariketa hauek menperatzen dituzula:
- 5. astea | batukari bat kalkulatzen ariketak (bat FOR bat da, baina bestea ez)
- 5. astea | biderkari bat kalkulatzen ariketak (bat FOR bat da, baina bestea ez)
- 5. astea | Newton-en metodoa bigarren graduko edozein parabolarekin ariketa laborategian egin da while-do bitartez, zuk repeat-until egitura erabiliz berprograma ezazu
- 5. astea | Newton-en metodoa, erro karratua eta erro kuboa ariketa (erro kuboaren programa AUTOEBALUAZIO ariketa bezala planteaturik dago eta aurrekoaren kasu berezi bat da, b=0 denean)
2023(e)ko otsailaren 14(a), asteartea
4. ASTEA | etxerako lana
Aste honen etxekolana, argi dago, hurrengo astearteko kontrola prestatzea da. Hori dela eta, proiektuaren Informatika ☆ 2022-23 | proiektua blogeko ariketa guztien soluzioak eskuragarri jarri ditut. Ondoko ariketak arretaz aztertu eta ikasi:
- Proiektua | 4. Ariketa: zenbaki errealetik kopuru osora (I) (ariketa hau emanda dagoen RadianPositiboak_GraduMinutuSegundo programa bezalakoa da)
- Proiektua | 5. Ariketa: zenbaki errealetik kopuru osora (II) (ariketa hau emanda dagoen RadianPositiboak_GraduMinutuSegundo programa bezalakoa da)
- Proiektua | 6. Ariketa: aukera anitzen arteko hautapena
- Proiektua | 7. Ariketa: zenbakien funtzio estandarrak (klasean ikusitakoak soilik)
- Proiektua | 8. Ariketa: errepikapen kopuru ezaguna
3. astetik dakarzkigun ariketak hauek dira:
- 3. astea | triangeluaren azalera izeneko ariketa mintegian hasi genuen eta jarraian aipatzen den hurrengo ariketaren oinarria da
- 3. astea | edozein triangeluaren azalera izeneko ariketaren entregatzea eskatu nizuen
- 3. astea | triangeluaren hirugarren erpina ariketa egitea erraza izango da, baldin eta aurrekoa ondo programatu bada (eskatzen zaizuen bakarra da enuntziatua irakurtzea eta algoritmoa ulertzea)
4. aste honi dagozkion berezko ariketak hauek dira:
- iZbk zenbaki osoa eta positiboa izanik, FOR-TO-DO bitartez liFaktoriala=iZbK! faktoriala kalkulatu
- 4. astea | FOR-DO: Faktorialen batukariak izeneko artikuluan ematen diren bi ariketak
- rX zenbaki erreala izanik eta iY zenbaki osoa izanik, FOR-TO-DO bitartez rXiY berretura kalkulatu
- 4. astea | FOR-DO: Berreturen batukariak izeneko artikuluan ematen diren bi ariketak
- AUTOEBALUAZIOA: Errusiar Biderketaren Metodoa programatzen eGelako zeregina (programa hori bideratuta dago 4. astea | Errusiar Biderketaren Metodoa prestatzen artikuluan)
2023(e)ko otsailaren 6(a), astelehena
3. ASTEA | etxerako lana
Proiektua dela eta, ondoko bi programa hauek eginak dituzue (edo eginak izan beharko zenituzke):
- Proiektua | 4. Ariketa: zenbaki errealetik kopuru osora (I)
- Proiektua | 5. Ariketa: zenbaki errealetik kopuru osora (II)
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:
- Gorago eman den radianak beti positiboak programa aberastu, radianak positiboak edo negatiboak onar ditzan. Zure bidalketa eGelako Autoebaluazioa: Radianak bihurtu gradu-minutu-segundo zereginean jasoko da
- Teoriako klasean ikusi dugun 3. astea | bigarren graduko ekuazioa artikuluan ematen diren programak azter, uler eta ikas itzazu
- Birpasa ezazu laborategian bukatu dugun 3. astea | angelua 1. koadrantera eraman ariketa (sarrerako angelua radianetan eta edozein koadrantekoa)
- 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 (hona hemen CASE_MenuaZenbakiz.exe programa exekutagarria), 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
2023(e)ko urtarrilaren 30(a), astelehena
2. ASTEA | etxerako lana
Aste honetako laborategitik irtetean (eta ostiraleko klasea eman ondoren) jarraian aipatzen diren ariketa guzti hauek programatuta eta ulertuta egon daitezela:
- 1. astea | pantailaren zabalera
- 1. astea | zeruertza kilometroetan
- 1. astea | erakarpen grabitatorioa
- 1. astea | segundoen kopuruak
- 2. astea | zenbakia pantailaren erdian
- 2. astea | kopuru handiegiak
- 2. astea | triangelu berezi baten azalera
- 2. astea | triangelu berezi baten azalera-perimetroa aurrekoaren aldaera bat da, behar diren datuak teklatuz jaso eta kalkulatutako emaitzak bi izan daitezela: azalera eta perimetroa
- 2. astea | kartesiar-polar ariketaren emaitzen artean angelua daukagu, eta laborategiko programan angelu hori radianetan laga dugu; programa hau etxean bukatu radianetan erdietsitako angelua gradu-minutu-segundo moduan pantailan erakusteko (teoriako klasean aipatutako Trunc() eta Frac() funtzio estandarrak erabili beharko dituzue)
Proiektuarekin lotutako bi programa hauek ere egin:
- Proiektua | 3. Ariketa: datuak teklatuz irakurri
- Proiektua | 4. Ariketa: zenbaki errealetik kopuru osora (I)
Zuk ikusi lana eta denbora nola banatzen dituzun, bai etxean zein laborategian. Baina aurrera egiteko programa hauek menperatu behar dira, hurrengo gaia baldintzazko aginduak delako eta gai berri hori kontzeptu hauen gainean eraikitzen delako.
2023(e)ko urtarrilaren 23(a), astelehena
1. ASTEA | etxerako lana
- Konpiladorea instalatu zuen etxeetako ordenagailuetan. Horretarako, joan eGela gela birtualera eta bi aukera izango dituzue programa hartzeko:
- Programa hauek ulertzen dituzula ziurtatu:
- 1. astea | pantailaren zabalera
- 1. astea | erakarpen grabitatorioa
- 1. astea | zeruertza kilometroetan edo 3. Ariketa: datuak teklatuz irakurri
- Proiektuaren https://informatika--2022-23--proiektua.blogspot.com/ blogari bisita egin eta konstanteak erabiliz ondoko bi ariketa hauek egiteko gai zara:
- 1. Ariketa: datuak pantailan idatzi (I)
- 2. Ariketa: datuak pantailan idatzi (II) (programa beraren bi bertsio)
- Aurreko adibideak begiratu gabe ondoko hau egin: Teoriako blogean argitaratutako Programa baten egitura izeneko artikulutik abiatura LaukizuzenarenAzalera programa egin dugu: zenbaki osoak lantzen dituen programa (bi zenbaki teklaturen bitartez irakurri, eta datu horiei dagokien emaitza kalkulatu ondoren bere balioa pantailan erakutsi). Programa horren baliokidea den TriangeluarenAzalera ariketa egizu (bi zenbaki teklaturen bitartez irakurri rOinarria eta rAltuera, eta datu horiei dagokien triangeluaren azalera pantailan erakutsi), baina zenbaki errealekin lan eginez
- Irakurgaia: Proiektuaren blogari bisita eginez Eratostenes eta Lurraren erradioa artikulua irakurri
15. ASTEA | laborategi/mintegian egin dena
15. astea (2023/05/09) laborategi/mintegian egindakoa 25 ikasleetatik 17 ikasleek kontrol-ariketaren bidalketa egin dute Hirugarren ko...
-
25 ikasle guztira ----------------- 1 Agirre Olaeta, Danel 2 Amorrortu Perez, Iraide 3 Aranguiz Tobajas, Alain 4 Arroitajauregui E...
-
Konpiladore baten lana itzultzailearena da, hots, guk idatzitako programa (goimailako lengoaian idatzitakoa) makinak ezagutzen duen lengoaia...
-
13. astea (2023/04/25) etxean egitekoa Funtsezkoena une honetan: Proiektuarekin jarrraitzea FILE datu-mota rekin zerikusi zuzen-zuze...


