Descarga la aplicación para disfrutar aún más
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;
Compartir