Logo Studenta

GUIA DE EXERCÍCIOS DE ALGORITMOS

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIVERSIDAD TECNOLÓGICA Escuela de Informática 
METROPOLITANA Ciencias de la Computación 
ESCUELA DE INFORMÁTICA Prof. Carlos Herrera G. 
Guía Algoritmos 
1.-Calular el promedio de N números ingresados por teclado. 
2.-Invertir los dígitos de un número entero. 
3.-Determinar si un número es palíndromo. 
4.-Calcular la sumatoria ( i2-3i ) 
5.-Ordenar 3 números ingresados por teclado 
6.-Invertir el contenido de un string 
7.-Determinar si un string es palíndromo. 
8.-Dado un numero entero convertirlo a string 
9.-Contar el numero de vocales de un string 
10.-Contar el numero de palabras de un string, se consideran palabras los grupos de caracteres que 
terminan con un espacio o punto 
11.-Determinar si un numero es primo 
12.-Determinar el máximo y mínimo numero, de un arreglo de largo N. 
13.-Determinar los dos máximos y dos mínimos numero, de un arreglo de largo N. 
14.-Crear un algoritmo que evalúe un polinomio almacenado en un string de la forma 
S=’3*X^2-2*X+3’, Dado (‘+’ = suma), (‘-‘= resta), (´*’= multiplicar), (‘/’= dividir) 
(‘X’= incógnita ). 
15.-Ordenar ascendentemente los elementos de un arreglo de largo N. 
16.-Calcular el promedio de los elementos de la diagonal superior de la matriz Mat[N,N] 
17.-Se define la función Fibonacii como: 
F(0)=0 
F(1)=1 
 
F(N)=F(N-2)+F(N-1); 
 Se Pide Llenar un Arreglo de largo 100 con los valores de Fibonacii. 
18.-Determinar el elemento más repetido de un arreglo de largo N 
19.-Dado las matrices A,B de tipo Mat[10][10] calcular : 
a) C =A+B 
b) C =A*B 
20.-Determinar los tres elementos mayores, de la matriz inferior de tipo Mat[N][N]. 
21.-Dado una matriz Mat [3][3] de caracteres, realizar un algoritmo que permita realizar jugadas 
interactivas del juego ´GATO ‘ y determinar que jugador gana o empata. 
Ejemplo : O X 
 O X 
 X O 
22.-Dado un Arreglo de String de largo N, el cual contiene palabras, determinar cuantas de estas 
palabras se encuentran dentro de una matriz MAT[M][M], pueden encontrarse en diagonal, vertical, 
horizontal, en cualquier dirección. 
Ejemplo : Arreglo = (Mouse, Logica, Linux, Buses, Bin, Falso, Rom, Leer, Lan). 
M L M E M O 
A O X B R X 
R G U U I R 
A I N S E N 
A C I E E A 
F A L S O L 
 
Soluciones : 
1) 
Inicio 
Cont, Suma, Num :Entero 
Prom :Real; 
Comenzar 
 Cont=0; 
Num=0; 
Mientras (Num<>-1) Hacer 
Comenzar 
Leer(Num); 
 Si (Num<>-1) Entonces 
Comenzar 
Suma = Suma + Num; 
Cont = Cont +1; 
Finalizar; 
Finalizar; 
Prom = Suma / Cont; 
Escribir (‘El Promedio es ‘,Prom); 
Finalizar . 
2) 
Inicio 
 Num, Res, Dig : Entero; 
Comenzar 
Res =0; 
 Leer(Num); 
Mientras (Num<>0) Hacer 
Comenzar 
Dig = Num Mod 10; //* mod = % */ 
Res = Res*10+Dig; 
Num = Num /10; 
Finalizar; 
Escribir(‘El resultado es ’,Res); 
Finalizar. 
7) 
Inicio 
 I, Largo: Entero; 
 Pal :Booleano; 
 St : String; 
Comenzar 
Pal = Verdadero; 
Leer(St); 
Largo = Strlen(St);
 
Para I = 1 hasta (Largo Div 2) Hacer //* Div = Division entera * 
Comenzar 
Si (St[I] <> St[Largo-I+1] ) 
Entonces Pal = Falso; 
Finalizar; 
Si (Pal=Verdadero) 
Entoces Escribir (´ Es Palindromo..´) 
Sino Escribir (´ No es Palindromo..´) ; 
Finalizar; 
8) 
Inicio 
 Num, Dig : Entero; 
St :String; 
Comenzar 
 Leer(Num); 
Mientras (Num<>0) Hacer 
Comenzar 
Dig = Num Mod 10; //* mod = % */ 
St= St+Chr(Dig+48); //* Chr Codificacion ASCII */ 
Num = Num /10; 
Finalizar; 
Escribir(‘El String es ’,St); 
Finalizar. 
11) 
Inicio 
 Num, Divisor : Entero; 
Primo :Booleano; 
Comenzar 
 Leer(Num); 
Divisor = 2; 
Primo = Verdadero; 
Mientras ((Primo = Verdadero) and (Divisor<Num )) Hacer 
Comenzar 
Si ((Num Mod Divisor)=0) Entonces Primo =Falso; 
Divisor =Divisor+1; 
Finalizar; 
Si (Primo=Verdadero) 
Entonces Escribir(Num,‘Es Primo ’) 
Sino Escribir(Num,‘No es Primo ’) ; 
Finalizar. 
12) 
Inicio 
 Vec : Arreglo[100] de Enteros; 
 Max, Min, I :Entero; 
Comenzar 
Max = -1; 
Min = MaxEntero;
 
//* MaxEntero = ~32335 */ 
Para I= 1 hasta 100 Hacer 
Comenzar 
Si (Vec[I]>Max) Entonces Max = Vec[I] 
Sino Si (Vec[I]<Min) Entonces Min = Vec[I] ; 
Finalizar; 
Escribir(‘El Máximo es ’, Max ) ; 
Escribir(‘El Mínimo es ’ , Min ) ; 
Finalizar; 
15) 
Inicio 
Vec: Arreglo[100]; 
I, Aux, N: Entero; 
Comenzar 
N=100; 
Para I =1 Hasta N Hacer 
Comenzar 
Max = Vec[I]; 
Para J= I+1 Hasta N Hacer 
Comenzar 
Si (Vec[J]>Max) Entonces 
Comenzar 
Aux = Max; 
Max = Vec[J]; 
Vec[J] =Aux; 
Finalizar; 
Finalizar; 
Vec[I]=Max; 
Finalizar; 
Finalizar;

Otros materiales

Materiales relacionados