2024(e)ko martxoaren 8(a), ostirala

8. astea | esaldiaren edukia erakutsi







sKatea aldagaian esaldi bat gorde ondoren, bere edukia erakusten da pantailan bi modutan:

  1. Modurik arruntena eta errazena writeln(sKatea) eginez, hots, katea osorik eta batbatean pantailaratzen
  2. Modu alternatiboa, behartuta aurkituko garenean writeln(sKatea[iKont]) eginez prozesu errepikakor baten barruan
{---------------------------------------------------
    Esaldi bat hartu eta bere edukia pantailartu
----------------------------------------------------}
program KateaErakustenDuenPrograma;
uses
   crt;
const
   iMAX = 25;
type
   tsKatea = string[iMAX];

procedure KateaKarakterekaErakutsi(sKat : tsKatea);
var
   iKont: integer;
begin
   for iKont:=1 to length(sKat) do
   begin
      if iKont = length(sKat) then
         write(sKat[iKont], '.')
      else
         write(sKat[iKont], ', ');
   end;
   writeln;
end;
 
{ ------------------------Programa Nagusia------------------------}
 
var
   sKatea: tsKatea;
begin
   clrscr;
   writeln('Esaldi bat idatzi: ');
   writeln;
   readln(sKatea);
   
   writeln;
   writeln('-----------------------------------');
   writeln;
   
   writeln('Emandako esaldia hau da:');
   writeln;
   writeln('|', sKatea, '|');
   
   writeln;
   writeln('-----------------------------------');
   writeln;
   
   writeln('Esaldi bera karaktereka hau da:');
   writeln;
   KateaKarakterekaErakutsi(sKatea);
   
   writeln;
   writeln('-----------------------------------');
   writeln;
   
   writeln('Amaitzeko sakatu edozein tekla');
   repeat until keypressed;
end. 








sKatea aldagaian esaldi bat gorde ondoren, bere edukia erakusten da pantailan. Esaldia erakustean bere osagaiak banatzeko karaktere grafikoak erabiliko dira, horrela esaldiaren edukia hobeto ikusiko da.

sKatea aldagaiaren zero posizioko karakterea sKatea[0] izanik, bere edukia kopuru bat da baina karaktere baten bitartez adierazita, zero posizioaren edukia zzenbaki bezala ere ikus daiteke. Hona hemen programa nola dabilen:

Eta hona hemen iturburu-programa:
{---------------------------------------------------
    Esaldi bat hartu eta bere edukia pantailartu
----------------------------------------------------}
program KateaErakustenDuenPrograma;
uses
   crt;
const
   iMAX = 35;
type
   tsKatea = string[iMAX];


procedure BenetakoZeroposizioa(sKat : tsKatea);
begin
   writeln('  ', chr(201), chr(205), chr(187));
   writeln('  ', chr(186), sKat[0], chr(186));
   writeln('  ', chr(200), chr(205), chr(188));
end;


procedure KateaErakutsi(sKat : tsKatea);
var
  i : integer;
begin
   write(0:4);
   for i:=1 to length(sKat) do
      if i mod 10 = 0 then
         write(i div 10:2)
      else
         write ('  ');
   writeln;

   write(0:4);
   for i:=1 to length(sKat) do
      write(i mod 10:2);
   writeln;

   write(chr(218), '---');
   for i:=1 to length(sKat) do
      write(chr(194), '-');
   writeln(chr(191));

   write('|', ord(sKat[0]):3);
   for i:=1 to length(sKat) do
      write('|', sKat[i]);
   writeln('|');

   write(chr(192), '---');
   for i:=1 to length(sKat) do
      write(chr(193), '-');
   writeln(chr(217));

   writeln;
   BenetakoZeroposizioa(sKat);
end;

{ ------------------------Programa Nagusia------------------------}

var
   sKatea : tsKatea;
   k : integer;
begin
   clrscr;
   writeln('Esaldi bat idatzi: ');
   writeln;
   readln(sKatea);
   writeln;
   KateaErakutsi(sKatea);

   writeln;
   for k:=1 to length(sKatea)*2 + 5 do
      write(chr(177));
   writeln;
  
   repeat until keypressed;
end. 


Programa ondo ulertzeko gogoratu ASCII taula bi zatitan banaturik ematen dela: ASCII estandar eta ASCII hedatua taulak.

Hona hemen ASCII estandar taulari dagokion irudi bat:

Ikusi zenbakien (0, 1, 2, ..., 9) kokapena zein den. Berdin alfabetoa letra larrietan emanik eta alfabetoa minuskuletan emanik.

Hauxe da ASCII hedatua taulari dagokion irudi bat:

Ikusi ñ eta Ñ karaktereak non dauden. Berdin zenbait karaktere grafiko edo alfabeto grekoaren zenbait karaktere. Ikusi ere sinbolo bereziak ere biltzen direla.

 

iruzkinik ez:

Argitaratu iruzkina

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