Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted by Ignacio Vacca ( 15 years ago )
program ejercioEntrega;

procedure sumaUnidades (num:integer; Var suma:integer);
begin
  suma:=suma + (num mod 10);
End;

procedure parIgualimpar (num:integer; var igual:boolean);
var
  n:integer;
  par:integer;
  impar:integer;
begin
  par:=0;
  impar:=0;
  while (num>0) do begin
    n:=num mod 10;
    num:=num div 10;
    if (n mod 2=0) then
      par:=par+1
    else
      impar:=impar+1;
  End;
  If (par=impar) then
    igual:=True
  else
    igual:=False;
End;

procedure A (num:integer; var numeros:integer; var sigo:boolean);
begin
  numeros:=0;
  while (num<>888) and (sigo) do begin
    parIgualimpar(num,sigo);
    If (sigo) then begin
      numeros:=numeros+1;
      read(num);
    End;
  End;
  if (numeros=0) then
    sigo:=false;
End;

procedure B (num,numeros:integer; sigo:boolean);
var
  cant,suma:integer;
Begin
cant:=0;
  while (num<>999)and(sigo)do begin
    read(num);
    cant:=cant+1;
    sumaUnidades(num,suma);
  End;
  If (cant=numeros) and (suma mod 2=0) then
    sigo:=TRUE
  else
    sigo:=False;
End;

Var
  seguir:boolean;
  numerosTot,num:integer;

Begin
seguir:=True;
Read(num);
A (num,numerosTot,seguir);
  if (seguir) then begin
    B (num,numerosTot,seguir);
    if (seguir) then
      writeln('cumple con el patron')
    else
      writeln('no cumple el patron B');
  end
  else
    writeln('no se cumple el patron A');
End.

 

Revise this Paste

Your Name: Code Language: