Red de conocimiento informático - Aprendizaje de programación - Habilidades del programa de lectura NOIP (Pascal)

Habilidades del programa de lectura NOIP (Pascal)

Creo que hacer más es la mejor técnica, y te daré 30 consejos

1. Escriba la fórmula de cálculo representada por el siguiente segmento del programa (suponiendo que el valor de 10 DO

BEGIN

A:=A*X/N;

E:=E A;

ENDFOR;

Escribe la fórmula representada.

2. Lea el siguiente segmento del programa y escriba el valor de la variable X después de ejecutar el segmento del programa.

100 X1=3

COMENZAR la estructura del bucle, aplicar el método de rotación de datos, encontrar

X: = (X1 X2) * 2; 2 veces la suma de los dos números.

X1:=X2; Lea el siguiente segmento del programa y escriba los valores en los elementos de la matriz A1, A2,...,A11 después de ejecutar el programa.

A[1]: =1;

A[2]: =1; K: =1; A[K 2]:=1;

FOR I:=K 1 DOWNTO 2 DO

A[I]:=A[I] A[I-1];

K:=K 1;

HASTA Kgt;=10;

4. programa exp1 (entrada, salida);

var i, s, max: entero

a: matriz [1..10] de entero

comenzar

para i:=1 a 10 hacer read(a[i]);

max:=a[1]; >

para i:=2 a 10

comenzar

si slt;0 entonces s:=0;

s:=s a[i ];

if sgt; max entonces max:=s

end

writeln('max=', max)

fin

Entrada: -2 13 -1 4 7 8 -1 -18 24 6

Salida: max=

Entrada: 8 9 -1 24. 6 5 11 15 -28 9

Salida: max=

5. programa exp2 (entrada, salida);

const n=5;

var i, j, k: entero

a: matriz[1.. 2*n, 1..2*n] de entero;

comenzar

k:=1

para i:=1 a 2*n; -1 hacer

si ilt; =n entonces

si es impar(i) entonces para j: =i hasta 1 comenzar a[i-j 1, j]: =k; :=k 1 fin

else for j: =1 para empezar a[i-j 1, j]:=k; k:=k 1; (i) luego para j:=n hasta i-n 1

comenzar a[i-j 1,j]:=k; k:=k 1; terminar

else para j: =i-n 1 a n hacer

comenzar a[i-j 1, j]:=k; k:=k 1; finalizar;

for i:=1 to n do

comenzar

for j:=1 to n escribir(a[i, j]:3

writeln

end

end.

6. programa exp3 (entrada, salida);

const n=10;

var s, i: entero

función co(i1: entero): entero; ;

var j1, s1: entero;

comenzar

s1:=n para j1:=(n-1) abajo a (n-i1 1; ) hacer s1:=s1*j1 div (n-j1 1

co:=s1

fin

comenzar

s:=n 1; para i:=2 a n hacer s:=s co(i);

writeln('s=', s;

fin.

7. programa exp4(entrada, salida);

const n=3;

var i, j, s, x: entero

p: matriz [0] ..n 1] de número entero;

g: matriz [0..100] de número entero

comenzar

para i := 0 a 100 g[i]:=0;

p[0]:=0; p[n 1]:=100; para i:= 1 an leer (p[i]);

para i:= 0 a n hacer

para j:= i 1 a n 1 hacer g[abs(p[j]-p[i])]:=g [abs(p[j]-p[i])] 1;

s:=0; para i:=0 a 100 hazlo si g[i]gt; :4); s:=s 1; fin;

escribirln('s=', s); escribirln('datos de entrada:'); p> writeln(g[x])

end.

Entrada: 10 20 65

datos de entrada: 10

Salida:

8. programa excpl;

var x, y, y1, jk, j1, g, e: integcr;

a: matriz [l..20] de 0..9;

comenzar

x:=346

5; y:=264; jk:=20; para j1:=1 a 20 haga a[j1]:=0;

mientras que <>0 haga

comenzar

y1:=y mod 10; y:=y div 10;

mientras que y1<>0

comienza

g: =x;

para e:=jk downto 1 comenzar g:=g a[e]; a[e]:=g mod 10; g:=g div 10 end;

y1:=y1-1

fin;

jk:=jk-1

fin;

j1:=1 ; mientras que a[j1]=0 haz j1:=j1 1;

para jk:=j1 a 20 escribe(a[jk]:4);

9. programa excp2

var i, j: entero;

a: matriz [1..14] de entero

procedimiento sw(i1, j1: entero;

var k1: entero;

comenzar

para k1:=1 a (j1-i1 1) div 2 do

comenzar

a[i1+k1-1]:=a[i1+k1-1]+a[j1-k1 1]

a[j1-k1+1]:=a; [i1+k1- 1]-a[j1-k1 1];

a[i1 k1-1]:=a[i1-k1 1]-a[j1-k1 1];

fin;

fin;

comienzo

j:=211; para i:=1 a 14 comienza a[i]: =i; j: =j-i fin;

sw(1,4); sw(5,10); sw(11,14); > para i: = 1 a 14 comience si j mod i=1 luego escriba (a[i]:3); j:=j-a[i]; end;

writeln

fin.

10. programa noi_002;

var i, j, l, n, k, s, t: entero

b: matriz [1..10] de 0..9; /p>

comenzar

readln(l, n); s:=l; k:=1; t:=l;

mientras que n comienza k :=k 1;t:=t*l;

:=s t end;

s:=s-t; n:=n-s-1; para i:=1 a 10 hacer b[i]:=0;

j:= 11; mientras que ngt; 0 comienza j:=j-1; b[j]:=n mod l; n:=n div l end;

for i:=10-k 1 a 10 escribir(chr(ord('a') b[i]));

end.

Entrada: 4 167

Salida:

11. programa noi_004;

var i, j, j1, j2, p, q: entero

p1: booleano

b, c: matriz [1] ..100] de entero;

comenzar

readln(q, p); j:=1; p1:=true; 0;

while (qgt; 0) y p1 hacen

comenzar

j1:=j1 1; ; q:=q*10-c[j1]*p;

si qgt; entonces comienza

j2:=1; q) y (j2lt;=j) hacen j2:=j2 1;

si b[j2]=q

entonces comienza

p1:=false ; escribir('0.');

para i:=1 a j2-1 escribir(c[i]:1

escribir('{');

para i:=j2 a j1 escribir(c[i]:1

writeln('}')

end

else start j:=j 1; b[j]:=q end

end

end;

si q=0 entonces comienza

write('0.');

para i:=1 a j1 escriba(c[i]:1);

writeln

end;

readln

end.

Entrada① 1 8 Salida

Entrada② 2 7 Salida

12. programa chu7_1;

función divertida(x: entero): entero;

comenzar

si (x=0) o (x=1) luego diversión:=3

else diversión:=x-fun(x-2)

fin;

comenzar

writeln(fun(9));

readln;

fin.

13.program chu7_2

var i; , j, f: entero;

a: matriz [1..8] de entero

comenzar

para i: =1 a 8 hacer

comenzar

f:=i mod 2;

si f=0 entonces a[i]:=0

si no a[ i]:=1;

for j:=1 que hago

si f=0 entonces a[i]:=a[i] j

else a[i]:=a[i]*j

end;

for i:=1 a 8 escribe(a[i]:5); p>

fin.

14.program chu7_3;

var p, q, s, t: entero

comienzo

<; p> readln(p);

para q:=p 1 a 2*p hacer

comenzar

t:=0; *q)mod(q-p);

si s=0 entonces comienza t:=p q (p*q)div(q-p); write(t: 4 end;

fin;

readln

fin.

Entrada: 12

Salida:

15. ;

var n, k, i: entero;

a: matriz [1..40] de entero

procedimiento buscar(x: entero) ;

var s, i1, j1: entero;

p: booleano

comenzar

i1:=0; =true;

mientras p do

comienza

i1:=i1 1;

f

o j1:=1 to n hazlo si a[j1]gt;a[i1]entonces s:=s 1;

si(s=x-1)entonces comienza a escribirln(a[i1]) ; p: = fin falso;

fin

fin

comienzo

readln(n, k);

para i:=1 a n hacer read(a[i]);

buscar(k); buscar

fin.

Entrada: 10 4

12 34 5 65 67 87 7 90 120 13

Salida:

16.program exp1;

var i, j, k, n,, l0, l1, lk: entero

a: matriz [0..20] de entero

comienzo

readln(n, k);

para i:=0 a n-1 hacer a[i]:=i 1

a[n]:=a; [n-1]; l0:=n-1; lk:=n-1;

para i:=1 a n-1

comenzar

l1:=l0-k; si (l1lt; 0) entonces l1:=l1 n;

si (l1=lk) entonces comienza a[l0]:=a[n]; =lk-1; a[n]:=a[lk]; l0:=lk fin;

si no comienza a[l0]:=a[l1]; /p>

end;

a[l0]:=a[n]; para i:=0 a n-1 escriba(a[i]:40); p> p>

fin.

Entrada: 10 4

Salida:

17.program exp2;

var n , jr , jw, jb: entero;

ch1: char;

ch: matriz [1..20] de char

comenzar

readln(n); para i:=1 an hacer read(ch[i]); jr:=1; jb:=n;:

while ( jrlt; =jw)

comenzar

si (ch[jw]='R')

entonces comenzar

ch1: =ch[jr]; ch[jr]:=ch[jw]; ch[jw]:=ch1; jr:=jr 13

fin

si no ]= 'W' entonces jw:=jw-1

si no comienza

c

h1:=ch[jw]; ch[jw]:=ch[jb]; ch[jb]:=ch1;

jw:=jw-1; p>

p>

fin

fin

para i:=1 an escribir(ch[i]); writeln;

end.

Entrada: 10

RBRBWWRBBR

Salida:

18.pmgram exp3;

var i, j, p, n, q, s: entero;

a: matriz [1..20] de entero

comenzar<; /p>

readln(p, n, q); j: = 21;

mientras (ngt; 0) comienza j: = j-1; 10; n: = n div 10; fin;

s:=0; para i:=j t0 20 hacer s:=s*p a[i]; ;

mientras (sgt; o)comienza j:=j-1; a[j]:=s mod q; s:=s div q; fin;

para i:=j a 20 escribir(a[i]); readln;

end.

Entrada: 7 3051 8

Salida:

19 . programa programal;

var a, x, y, okl, ok2: entero;

comenzar

a: =100; =20; okl:=5; ok2:=0;

si ((xgt;y) o ((ylt;gt;20) y (okl=0)) y (ok2lt;gt;0 )) entonces a:=1

más si ((okllt;gt;0) y (ok2=、0)) entonces a:=-1 más a:=0;

writeln(a);

fin.

20. programa Programa2;

var a, t: cadena;

i, j: entero

comenzar

a:=mañana; j:=l; para i:=2 a 7 hazlo si (a[j]lt;a[i]) entonces j:=i;

j:=j-1; para i:= 1 a j escribir(a[i]);

end.

21. programa programa3;

var a, b, c, d, suma: entero largo

comenzar

leer (a, b, c, d); /p>

a:=a mod 23; b:=b mod 28; c:=c mod 33; suma:=a*5544 b* 14421 c*1288-d;

suma: = suma 21252; suma: = suma mod 21252; si (suma = 0) entonces suma: = 21252;

writeln(suma);

Entrada: 283 102 23 320

Salida:

22. programa programa4;

var a: matriz [0..5] de entero

suma, n, max, i, j, k: entero

portada: matriz [0..22000] de booleano;

comenzar

leer(a[5], a[4], a[3], a[2], a[1], a[0]);

si ((a[5]=0) y (a[3]=0) y (a[1]=0))

luego comienza a[5]:=a[4]; a[4]:=a[2]; a[3]:=a[0]; ]:=0; fin;

para i:=0 a 5 haz si (a[i]gt;10) entonces a[i]:=10 (a[i] mod 2);

suma:=0;

para i:=0 a 5 hacer suma:=sum a[i]*(6-i); (sum mod 2)lt; gt; 0) luego comience writeln('No se puede dividir.'); fin; 0]:=True;

para i:=1 para sumar*2 hacer cover[i]:=False;

para i:=0 para 5 hacer;

comenzar

j:=0

mientras (jlt; a[i]) hacer

comenzar

para k:=max hasta 0 hacer

comenzar si (cover[k]) luego cubrir[k 6-i]:=True; end;

max:=max 6-I ; j:=j 1;

fin

fin

if (cover[sum]) then writeln('Se puede dividir.')

else writeln('no se puede dividir.');

end.

Entrada: 4 7 9 20 56 48 Entrada: 1000 7 101 20 55 1 Entrada: 2000 5 l 1 0 0

Salida: Salida: Salida:

23. programa programa1;

var

a, b, c, d, e: entero;

p>

comenzar

a:=79; b:=34; c:=57; e:=-1;

if (alt; c) o (bgt; c) entonces d:=d e

else if (d 10lt; e) then d:=e 10

else d:=e-a;

escrito(d);

fin.

24. programa programa2;

var

i, j: entero

str1, str2: cadena

comenzar

str1:='cerdo-es-estúpido'; str2:='inteligente';

str1[1]:='d'; str1[2]:='o'; 8;

para j:=1 a 6 comience str1[i]:=str2[j]; inc(i);

writeln(str1); p>

fin.

25. programa programa3;

var u: matriz [0..3] de entero

a, b, c, x, y, z: entero

comenzar

leer(u[0], u[1], u[2], u[3]); a:=u[0] u[1] u[2] u[3); ]-5;

b:=u[0]*(u[1]-u[2] div u[3] 8); u[2]*u[3];

x:=(a b 2)*3-u[(c 3) mod 4]; (u[b mod 3]*5);

si((x y) mod 2=0) entonces z:=(a b c x y) div 2;

z:=(a b c –x-y)*2; writeln(x y-z);

end.

Entrada: 2 5 7 4

Salida: .

26. programa programa4;

var c: matriz [1..3] de cadena[200];

s: matriz [1..10] de número entero;

m, n, i: entero;

procedimiento numara;

var cod: booleano;

i, j, nr: entero

comenzar

para j:=1 a n comenzar

nr:=0; cod:=true;

para i:=1 to m do

if c[i, j]='1'

entonces comience si no cod

entonces comience cod:=true; [nr]); nr:=0; fin

fin

si no comienza

si cod entonces comienza nr:=1;

else inc(nr);

fin;

si no es bacalao entonces inc(s[nr]);

fin;

comenzar

readln(m, n); para i:=1 a m hacer readln(c[i]); >

numara; para i:=1 to m hazlo si s[i]lt;gt;0 entonces escribe(i,'',s[i],'');

end.

Entrada: 3 10

1110000111

1100001111

1000000011

Salida: .

27. programa cup_1;

var n, i, j, k, di, dj: entero

a: matriz [1..20, 1..20] de entero; /p>

comenzar

n:=7;i:=1;j:=n;k:=1;di:=1;dj:=1;

mientras (klt;=n*n)

comenzar

a[i, j]:=k; =j dj;

si (i=n 1)

entonces comienza i:=n;j:=j-2;di:=-1;dj:=-1 fin

si no (j=n 1)

entonces comience j:=n;di:=-1;dj:=-1 fin

si no si (j=0)

entonces comienza i:=i 2;j:=1;di:=1;dj:=1 final

si no (i=0) comenzar j:=1;di:=1;dj:=1 finalizar

finalizar;

para j:=1 hasta n escribir(a[n div 2,j] :4);

escribir

fin.

28. programa cup_2;

var s: cadena; i, j, m, w: entero; c: char

a: matriz [0..127] de entero; p> p>

comenzar

para i:=0 a 127 hacer

comenzar

c:=chr(i);

if (('0'lt;=c) and (clt;='9'))

entonces a[i]:=1

else

if ((('A'lt;=c) y (clt;='Z')) o (('a'lt;=c) y (clt;='z')))

entonces a[i]:=2

else a[i]:=0

end

readln(s); := longitud(s);

for i:=1 to m do

comenzar

j:=ord(s[i]);

if (a[j]gt; 0) entonces comienza a escribir(s[i]); a[j]:=a[j]-1 end

end;

escribir

fin.

Entrada: 123 1234a 12abc-aaABB*ABC

Salida:

29. programa copa_3;

<

p> función f(m, n, k: entero): entero;

comenzar

si ((m=0) y (n=0) y (k=0) )

entonces f:=1

si no ((0lt;=m) y (mlt;=n) y (nlt;=k))

entonces f:=f(m-1,n,k) f(m,n-1,k) f(m,n,k-1)

más f:=0;

fin;

comienzo

writeln(f(3, 3, 3));

fin.

30. programa cup_4;

var s: cadena; wc, lcs, i: entero

comenzar

readln(s); 1;

para i:=1 a longitud(es) hacer

si ((lcs=0) y ((s[i]='') o (s[i ]=chr(9))))

entonces lcs:=1

else if ((lcs=0) y (s[i]lt;gt;'') y (s[i]lt; gt; chr(9)))

luego comienza wc:=wc 1;lcs:=0 end;

writeln(wc); p>

end

Entrada: ¡Este es un programa de prueba!

Salida: