programación pascal
tabla de programa;
procedimiento tran(fen:integer);
var temp:char;
w,L:integer;
primero:booleano;
comenzar
w:=0;L:=0;
primero:=verdadero; p> p>
leer(temp);
mientras temp<>'E' comienza
si temp='W' entonces
w := w+1
si no temp='L' entonces
L:=L+1;
si ((w>=fen) o (L >=fen)) y (abs(w-L)>=2) luego comience
writeln(w,':',l);
w:=0;L := 0;
primero:=falso;
fin;
lectura(temp);
fin;
writeln(w,':',L);
fin;
comenzar
tran(11);
writeln;
tran(21);
end.
programa maxmu;
const maxn=40;maxk=6;
escriba arr=matriz[1..50] de número entero;
arr1=matriz[1..maxn,0..maxk,1..50] de número entero; p>
var f:arr1;
s:string;
a:arr;
n,k,i,j,p,q ,k1 :integer;
x,y,temp:arr;
procedimiento mul(var z:arr;y:arr);
var x: arr; m,n,nx,ny,c:integer;
comenzar
para m:=1 a 50 hacer x[m]:=z[m]; p>
nx:=50;mientras (nx>0) y (x[nx]=0) hacen nx:=nx-1;
ny:=50;mientras (ny>0 ) y (y[ny]=0) hacer ny:=ny-1;
fillchar(z,sizeof(z),0);
c:=0;
para m:=1 a nx comenzar
para n:=1 a ny comenzar
z[m+n-1]:=z[ m+ n-1]+c+x[m]*y[n];
c:=z[m+n-1] div 10;
z[m+ n -1]:=z[m+n-1] mod 10;
end;
n:=ny+m;
mientras c>0 comienza z[n]:=c mod 10;c:=c div 10;n:=n +1;fin;
fin;
fin;
procedimiento max(var x:arr;y:arr);
var nx,ny,i:integer;
comenzar
nx:=50;mientras (nx>0) y (x[nx]=0) hacen nx:=nx- 1;
ny:=50;mientras (ny>0) y (y[ny]=0) hacen ny:=ny-1;
si nx si no, si ny=nx entonces comienza while (nx>0) y (x[nx] =y[nx]) haz nx:=nx-1; si (nx>0) y (y[nx]>x[nx]) entonces para i:=nx hasta 1 haz x[ i]:=y[i]; fin; fin; comienzo readln(n,k);readln (s); fillchar(a,sizeof(a),0); fillchar(f,sizeof(f),0); para i:=1 para n hacer a[i]:=ord(s[i])-ord('0'); para i:=1 para n hacer para p:=1 a hago f[i,0,p]:=ord(s[i+1-p])-ord('0'); para i:=2 a n comenzar si (i-1)>k entonces k1:=k else k1:=i-1; para j:=1 a k1 comenzar para q:=1 a 50 haga temp[q]:=f[i,j,q]; para p:=j a i-1 comience para q:=1 a 50 hacer x[q]:=f[p,j-1,q]; fillchar(y,sizeof(y),0); para q:=1 a i-p hacer y[q]:=a[i+1-q]; mul(x,y); max(temp ,x); end; para q:=1 a 50 haga f[i,j,q]:=temp[q]; fin; fin; q:=50; mientras (f[n,k,q]=0) y (q>0) hacer q:=q-1; si q<1 entonces writeln('Error') else mientras q>0 comience a escribir (f[n,k,q]);q:=q-1;end; writeln; end. Debido a esto ¡Están bien!