2024(e)ko martxoaren 10(a), igandea

8. ASTEA | laborategi/mintegian egin dena

 8. astea (2024/03/13) laborategi/mintegian egindakoa

  • Zerrenda pasatu dugu, deitutakoen artean 7+1 etorri dira (zehaztapen gehiago eGela zerbitzuan)
  • Aurreko astean bidalitako autoebaluazio-ariketa honetatik abiatuta, Autoebaluazioa: menu bat azpiprogramaz ariketaren antzekoa programatu dugu eta menu bat nola egiten den ikasi dugu (garrantzitsua izango da hurrengo kontrolerako)
Program MenuaAzpiprogramaz;
uses
   crt;

{ Menuaren aukera erakutsi eta hautapena aukeratu }
function fncMenua: char;
var
   cHautapena: char;
begin
   writeln('=============MENUA=============');
   writeln(' A) alfabeto zatia diagonalean');
   writeln(' B) bi zenbakietatik txikiena');
   writeln;
   writeln(' I) irten');
   writeln('===============================');
   repeat
      write('    Zure aukera: '); 
      cHautapena := readkey;
      writeln(cHautapena);
      cHautapena := upcase(cHautapena);
   until (cHautapena = 'A') or (cHautapena = 'B') or (cHautapena = 'I');

   fncMenua := cHautapena;
end;

{ A-tik hasita alfabetoa diagonalki pantailaratu }
procedure DiagonalaPantailanIdatzi(cLetra: char);
var
   cKont: char;
   iNon: integer;
begin
   writeln;
   iNon := 5;
   for cKont:='A' to cLetra do
   begin
      writeln(cKont:iNon);
      iNon := iNon + 2;
   end;
end;

{ Bi zenbakiren artean balio txikiena itzuli }
function fniBiZenbakitikTxikiena(iZbk_1, iZbk_2: integer): integer;
begin
   if iZbk_1 < iZbk_2 then
      fniBiZenbakitikTxikiena := iZbk_1
   else
      fniBiZenbakitikTxikiena := iZbk_2;
end;


{--------------------------Programa Nagusia--------------------------}
var
   cAukera, cLetra: char;
   iZbk_1, iZbk_2: integer;
begin
   repeat
      clrscr;
      cAukera := fncMenua;
      writeln;
      
      case cAukera of 
         'A': begin
                 repeat
                    write('Azken letra eman: ');
                    cLetra := readkey;
                    writeln(cLetra);
                    cLetra := upcase(cLetra);
                 until (cLetra >= 'A') and (cLetra <= 'Z');
                 DiagonalaPantailanIdatzi(cLetra);
              end;
         'B': begin
                 write('   Lehen zenbakia eman: ');
                 readln(iZbk_1);
                 repeat
                    write('Bigarren zenbakia eman: ');
                    readln(iZbk_2); 
                 until iZbk_1 <> iZbk_2;
                 writeln;
                 writeln('Zenbakirik txikiena: ', fniBiZenbakitikTxikiena(iZbk_1, iZbk_2));
              end;
         'I': begin
                 writeln('Agur');
              end;     
      end; (* case-rena *)

      writeln;
      write('RETURN sakatu aurrera egiteko...');
      readln;

   until cAukera = 'I'; 
end.
  • Praktika saio honetan karaktere-kateen adibideak egin ditugu, ariketa hauek egiteko aukera izan dugu:
    • 8. astea | akronimoak ariketa bukatu dugu
    • 8. astea | esaldiaren hitzak ariketa bukatzeko ez dugu aukerarik izan, aurrekoaren antzekoa da. Non hitza pantailaratu ahal izateko, lehendik honela identifikatu behar dugun:

              sHitza := copy(sEsaldia, 1, iZuriuneaNon-1);

 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.