Guia#5 Pascal.

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

UNIVERSIDAD PEDAGOGICA NACIONAL

“FRANCISCO MORAZAN”
UPNFM/ sistema CUED

ASIGNATURA:
PROGRAMACION II

TEMA:
GUIA DE CADENA Y ARREGLOS.

CATEDRATICO:
LIC. MARIA LUISA CERRATO

ESTUDIANTE:
SAGRARIO SELENE ORTIZ MENDOZA

REGISTRO:
1503199100345

SEDE:
JUTICALPA

JULIO 2023
1. Cree un programa que muestre una cadena “La paciencia es la madre de todas las ciencias”, luego
debe

mostrar “la madre de todas las ciencias” y por último “la matemática es la madre de todas las ciencias”.

PROGRAM EJER_1;

VAR CAD1:string[150];

begin

CAD1:='La paciencia es la madre de todas las ciencias';

writeln('La frace es: ',CAD1);

readln;

delete(CAD1,1,16);

writeln('Ahora se lee asi: ',CAD1);

readln;

insert('la matematica es ',CAD1,0);

writeln('Ahora la frace es: ',CAD1);

readln;

end.

2. Cree un programa que contenga tres cadenas, que las una y que al final diga la siguiente frase: Las

matemáticas no mienten, lo que hay son muchos matemáticos mentirosos.

a. lo que hay son muchos matemáticos

b. mentirosos.

c. Las matemáticas no mienten,

PROGRAM EJER_2;

VAR

CAD1:string[100];

CAD2:string[100];

CAD3:string[100];
CAD4:string[100];

BEGIN

CAD1:='lo que hay son muchos matematicos ';

CAD2:='mentirosos.';

CAD3:='Las matematicas no mienten, ';

CAD4:=concat(CAD3,CAD1,CAD2);

WRITELN('La frace completa es: ',CAD4);

readln;

end.

3. Escriba un programa que tiene la siguiente cadena: "me gusta la clase de Programación"

y que muestre "mE guSta La clase de prograMACIÓN"

program Ejer_3;

var cadena:String[50];

begin

cadena:='me gusta la clase de Programación';

WriteLn(cadena);

readln;

delete(cadena,2,33);

insert('E guSta La clase de prograMACIÓN',cadena,2);

WriteLn('La nueva frase es: ',cadena);

readln;

end.

4. Escribir un programa en Pascal que llene un arreglo unidimensional con los

números enteros comprendidos entre 1 y 20.

PROGRAM Ejer_4;

Var arr_num: array [1..20] of integer;

var i:integer;
begin

writeln('Los numeros enteros entre 1 y 20 son:');

for i:=1 to 20 do

begin

arr_num[i]:=i;

end;

for i:=1 to 20 do

writeln(arr_num[i]);

readln;

end.

5. Escribir un programa en Pascal que llene un arreglo con los números impares

comprendidos entre 60 y 100.

Program Ejer_5;

Var arr_num: array [60..100] of integer;

var i:integer;

begin

i:=60;

writeln('Los numeros impares entre 60 y 100 son:');

while i<=100 do

begin

arr_num[i]:=i;

if (i mod 2 )<> 0 then

begin

writeln(arr_num[i]);

end;

i:=i+1;

end;

readln;
end.

6. Escribir un programa en Pascal que llene un arreglo con los números comprendidos entre 25 y 35
divididos por 3.

program ejer_6;

Var x,y: array [25..35] of real;

var i:integer;

begin

writeln('Los numeros comprendidos entres 25 y 35 divididos por 3:');

for i:=25 to 35 do

begin

x[i]:=i;

y[i]:=(x[i]) / (3);

end;

begin

for i:=25 to 35 do

writeln(y[i]:2:2);

readln;

end;

end.

7. Escribir un programa en Pascal que llene un arreglo con los números múltiplos de 5. El límite de los
números

debe ser dado por el usuario.

Program Ejer_7;

Var arr_num: array [5..1000] of integer;

var i,n:integer;

begin

write('Ingresa el valor de n: ');


readln(n);

for i:=5 to n do

begin

i:=5;

writeln('Los multiplos de 5 son:');

while i<=n do

begin

arr_num[i]:=i;

if i mod 5=0 then

begin

writeln(arr_num[i]);

end;

i:=i+1;

end;

readln;

end;

end.

8. Escribir un programa en Pascal que multiplique por cuatro los elementos de la siguiente matriz:

11 6 6

10 15 5

program Ejer_8;

const arr_num:array[1..2,1..3] of integer =( (11 , 6 , 6),

(10 , 15 , 5));

var m, i, j: integer;

begin
for i:=1 to 2 do

begin

FOR j:=1 TO 3 DO

begin

m:=(arr_num[i,j])*(4);

WRITE ('Multiplicando ',arr_num[i,j]:3,' por el numero ');

WRITELN (4,' es: ',m);

readln;

end;

end;

End.

9. Escribir un programa en Pascal que sume los datos de cada una de las filas de la siguiente matriz.

12 3 4 1

17 2 5 6

20 30 40 1

PROGRAM Ejer_9;

const arr_num:array[1..3,1..4] of integer =( (12 , 3 , 4, 1),

(17 , 2 , 5, 6),

(20 , 30, 40, 1));

var i, j,suma1,suma2,suma3: integer;

BEGIN

FOR i:=1 TO 3 DO

BEGIN

FOR j:=1 TO 4 DO

BEGIN

IF i=1 THEN suma1:= suma1 + arr_num[1,j];


IF i=2 THEN suma2:= suma2 + arr_num[2,j];

IF i=3 THEN suma3:= (suma3) + arr_num[3,j];

END;

END;

WRITELN ('La suma de la fila 1 es: ',suma1);

WRITELN ('La suma de la fila 2 es: ',suma2);

WRITELN ('La suma de la fila 3 es: ',suma3);

readln;

END.

10. Identifique el número que se encuentra en la posición 3,3 de la matriz anterior y multiplíquelo por
cada uno de

los números que se encuentran en la matriz.

PROGRAM Ejer_10;

const arr_num:array[1..3,1..4] of integer =( (12 , 3 , 4, 1),

(17 , 2 , 5, 6),

(20, 30 , 40 ,1));

var i, j: integer;

var m: integer;

begin

for i:=1 to 3 do

begin

FOR j:=1 TO 4 DO

begin

m:= (arr_num[i,j])*(arr_num[3,3]);

WRITE ('multiplicado ',arr_num[i,j],' por el numero ');

WRITELN (arr_num[3,3],': ',m);

readln;

end;
end;

End.

11. Investigar el método de ordenación por burbuja y ordenación por inserción y hacer lo siguiente:

a. Escribir el programa para cada uno de estos métodos

b. Escribir un breve análisis de cada método

c. Explicar diferencias entre cada uno de estos métodos.

a. Escribir el programa para cada uno de estos métodos

 Método de ordenación por burbuja:

Program Ordenar;
var
datos: array[1..6] of integer;
i,j: integer;
temporal: integer;
begin
datos[1] := 56;
datos[2] := 9;
datos[3] := 34;
datos[4] := 12;
datos[5] := 41;
datos[6] := 8;
{ Primero mostramos los datos }
writeLn('Los datos iniciales son: ');
for i := 1 to 6 do
write(datos[i], ' ');
writeLn;
{ Ahora ordenamos mediante burbuja }
for i := 6 downto 2 do
for j := 0 to i - 1 do
if datos[j] > datos[j + 1] then
begin
temporal := datos[j];
datos[j] := datos[j + 1];
datos[j + 1] := temporal;
end;
{ Y mostramos el resultado }
writeLn('Los datos tras ordenar son: ');
for i := 1 to 6 do
write(datos[i], ' ');
writeLn;
end.

 Método de ordenación por inserción:

PROCEDURE Inserciondirecta( var v:tvector);


{Efecto. Se ordena ‘v’ ascendentemente}
VAR
i, j:tIntervalo;
aux:telem;
BEGIN
for i:=2 to N do begin
aux:=v[i]
j:=i-1
while (j≥1) and (v[j]>aux) do begin
v[j+1]:=v[j];
j:=j-1
end; {while}
v[j+1]:=aux
end {for}
END;

b. Escribir un breve análisis de cada método

El método de ordenamiento por burbuja también llamado de intercambio, funciona revisando


cada elemento de la lista que va a ser ordenada con el siguiente elemento del mismo, realizando
intercambios si es requerido. Este método se utiliza para recorrer un array, comparar elementos y
corregir el orden si por algún motivo es incorrecto, y funciona desplazando el número menor al
inicio del array. En el caso del ejemplo anterior de este método los datos iniciales son: 56, 9, 34,
12, 41, 8 y después de ejecutar nuestro código tendremos los números ordenados de menor a
mayor: 8, 9, 12, 34, 41, 56.
El método de ordenamiento por inserción permite el ordenamiento de una lista. Consiste en el
recorrido por la lista seleccionando en cada iteración un valor como clave y compararlo con el
resto insertándolo en el lugar correspondiente. En el ejemplo podemos observar cómo recorre el
vector “v” insertando el elemento v[i] en su lugar correcto entre los ya ordenados.

c. Explicar diferencias entre cada uno de estos métodos.

 El método de ordenamiento por burbujas mueve sucesivamente hacia abajo el valor más
grande encontrado, intercambiándolo a través de valores sin clasificar al lugar correcto
junto con valores más grandes y ya ordenados al final de la matriz.
 El orden de inserción mueve sucesivamente cada valor hacia arriba, llevándolo a través
de valores ordenados hasta que alcanza el lugar correcto entre los valores ya ordenados
en la cabecera de la matriz.
 El método por burbujas mueve un valor por una serie de intercambios por pares. La
ordenación por inserción elimina otros valores, pero solo escribe un valor recién
ordenado en la sección ordenada una vez que sabe dónde se encuentra frente a otros
valores ordenados hasta ahora.

También podría gustarte