SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA
BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04)
EJERCICIOS DE ESTRUCTURAS ALTERNATIVAS :
1.- Haga el algoritmo en pseudo código que, dada una variable cuyo valor es leído desde teclado, imprima
por pantalla si el número es o no mayor que 0.
Algoritmo MayorQue0
Variable
Entero: n
Inicio
Escribe “Escribe un numero”
Leer n
Si (n > 0) entonces
Escribe “El número es mayor que 0 “
Sino
Escribe “El número no es mayor que 0 “
FinSi
Fin
2.- Haga el algoritmo en pseudo código que, dada una variable cuyo valor es leído desde teclado, imprima
por pantalla si el número es o no mayor que 0, y si el número es par o impar.
Algoritmo MayorQue0Par
Variable
Entero: n
Inicio
Escribe “Escribe un número”
Leer n;
Si (n > 0) entonces
Escribe “El número es mayor que 0 “
Sino
Escribe “El número no es mayor que 0 “
FinSi
Si (resto de (n/2) = 0) entonces
Escribe“y es un número par. “
Sino
Escribe “y es un número impar. “
FinSi
Fin
3.- Haga el algoritmo en pseudo código que, tras leer un carácter desde teclado, imprima por pantalla si la
letra es mayúscula o minúscula. Amplíe el algoritmo, indicando si el carácter es un dígito numérico.
(Nota: Dígito numérico (48,57); Mayúscula (65, 90); minúscula(97, 122))
Algoritmo MayusculaMinuscula
Variable
Entero: Car
Inicio
Escribe “Escribe una letra”
Leer Car
Si (Car >= 97) o (Car <= 122) entonces
Escribe“La letra es minúscula “
Sino
Si (Car >= 65) o (Car <= 90) entonces
Escribe“La letra es mayúscula “
Sino
Si (Car >= 48) o (Car <= 57) entonces
Escribe“Es un número“
FinSi
FinSi
FinSi
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
4.- Haga el algoritmo en pseudo código que, dada la calificación obtenida (en número), indique si
corresponde al “suspenso”, “aprobado”, “notable” o “sobresaliente”.
Algoritmo Nota
Variable
Entero: nota
Inicio
Escribe “Escribe la calificación del alumno”
Leer nota
Si (nota >= 9) entonces
Escribe“SOBRESALIENTE “
Sino
Si (nota >= 7) entonces
Escribe“NOTABLE “
Sino
Si (nota >= 5) entonces
Escribe“APROBADO“
Sino
Escribe“SUSPENSO“
FinSi
FinSi
FinSi
Fin
5.- Escriba un algoritmo que intercambie el valor de dos variables numéricas sólo si el valor de la primera es mayor
que el de la segunda.
Algoritmo Intercambio
Variable
Entero: numero1, numero2, auxiliar
Inicio
Escribe “Escribe el primer numero”
Leer numero1
Escribe “Escribe el segundo numero”
Leer numero2
Si (numero1 > numero2) entonces
auxiliar = numero1
numero1 = numero2
numero2 = auxiliar
FinSi
Fin
6.- Diseñe un algoritmo que calcule el valor absoluto de un número (tanto positivos como negativos):
Algoritmo ValorAbsoluto
Variable
Entero: numero, valor_absoluto
Inicio
Escribe “Escribe un numero”
Leer numero
Si (numero < 0) entonces
valor_absoluto = - numero
Sino
valor_absoluto = numero
FinSi
Escribe “El valor absoluto es: ”, valor_absoluto
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
7.- Calcular las posibles raíces para una ecuación de segundo grado: ax^2+bx+c=0
Algoritmo Raíces
Variable
Real: a,b,c,x,y
Inicio
Escribe "Introduzca los coeficientes de mayor a menor grado."
Leer a,b,c
Si ( b*b >= 4*a*c ) entonces
x = (-b + raiz( b*b - 4*a*c ) )/2*a
Escribe “Las raices reales son +/- :”, x
Sino
Escribe "No existen raíces reales."
FinSi
Fin
8.- Realice un programa que convierta los grados a radianes.
Algoritmo GradosARadianes
Constante
Real: PI = 3,14
Variable
Real: grados, rad
Inicio
Escribe “Introduce los grados”
Leer grados
Si (grados >= 360) entonces
grados = resto de (grados / 360)
FinSi
rad = (grados * PI) / 180
Escribe rad “radianes”
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
EJERCICIOS DE ESTRUCTURAS ITERATIVAS
1.- Se quiere hallar el producto de varios números positivos introducidos por teclado, de manera que el proceso
termina cuando se introduce un número negativo:
Algoritmo Producto
Variable
Entero: numero, producto
Inicio
producto = 0
Escribe “Escribe un numero”
Leer numero
Mientras (numero >= 0) hacer
producto = producto * numero
Escribe “Escribe un numero”
Leer numero
FinMientras
Escribe “El producto es: “, producto
Fin
2.- Escriba un algoritmo que, encuentre el primer divisor entero de un número que previamente se ha introducido por
el teclado. Utilice la estructura iterativa MIENTRAS.
Algoritmo PrimerDivisor
Variable
Entero: numero, divisor
Inicio
divisor = 2
Escribe “Escribe un numero”
Leer numero
Mientras (resto de (numero/divisor) <> 0) hacer
divisor = divisor +1
FinMientras
Escribe “El primer divisor es: “, divisor
Fin
3.- Escriba un algoritmo que calcule el factorial de un número introducido por teclado. Utilice la
estructura PARA.
Algoritmo Factorial
Variable
Entero: numero, exponente, i
Inicio
factorial = 1
Escribe “Escribe un numero”
Leer numero
Para i <- 2 hasta numero
Si ( i = 2 ) o (resto de (i/2) <> 0 ) entonces
Si (resto de (numero/i) = 0 ) entonces
Escribe i
numero = numero / i
exponente = 1
Mientras (resto de (numero/i) = 0 ) hacer
exponente = exponente + 1;
numero = numero / i
FinMientras
Escribe “*” exponente
FinSi
FinSi
FinPara
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
4.- Escriba un algoritmo que imprima cuáles y cuántos son los números primos comprendidos entre 1 y 1000.
Algoritmo NumerosPrimos
Constante
Primero=1
Limite=1000
Variable
Entero: cont, i, j
Booleano: primo
Inicio
cont = 0
Para i <- primero hasta limite hacer
primo = verdadero
j = 2
Mientras ( i>j ) y (primo = verdadero) hacer
Si (resto de (i/j) = 0) entonces
primo = falso
Sino
j = j + 1
FinSi
FinMientras
Si ( primo = verdadero ) entonces
Escribe i” “
cont = cont + 1
FinSi
FinPara
Escribe “Entre “primero” y “limite” hay “cont” nº primos”
Fin
5.- Escriba un algoritmo que calcule el máximo de números positivos introducidos por teclado, sabiendo que se
introducen números desde teclado hasta teclear uno negativo. El negativo no cuenta.
Algoritmo Maximo
Variable
Entero: num, max
Inicio
max = 0
Escribe “Introduzca nº positivos y para acabar introduzca uno
negativo”
Leer num
Mientras ( num >= 0 ) hacer
Si ( num >max ) entonces
max = num
FinSi
Leer num
FinMientras
Escribe “El mayor número es” max
Fin
6.- Escriba un algoritmo que determine cuales son los múltiplos de 5 comprendidos entre 1 y N.
Algoritmo Multiplos
Variable
Entero: i
Inicio
Para i<-1 hasta N hacer
Si (resto de (i/5) = 0) entonces
Escribe i
FinSi
FinPara
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
7.- Escriba un algoritmo que encuentre el alumno de primero con mejor nota media. Se sabe que este año entraron
150 alumnos y que en primero todos tienen 5 asignaturas. Dar el nombre y la nota media.
Algoritmo NotaMedia
Constante
Alumnos=150
Asignaturas=5
Variable
Cadena: nombre, mejor_alum
Real: nota, suma, media, acum
Entero: i, j
Inicio
acum = 0
Para i<-1 hasta alumnos hacer
suma = 0
Escribe “Introduzca el nombre del alumno”
Leer nombre
Para j<-1 hasta asignaturas hacer
Escribe “Introduzca la nota de la asignatura”
Leer nota
suma = suma + nota
FinPara
Media = suma / asignaturas
Si (media > acum) entonces
acum = media
mejor_alum = nombre
FinSi
FinPara
Escribe “El mejor alumno es “mejor_alum
Escribe “Su nota media es “acum
Fin
8.- Escriba un algoritmo que calcule la suma de los divisores de cada número introducido por teclado. Se
termina cuando el número es negativo o 0.
Algoritmo SumaDivisores
Variable
Entero: numero, i, suma
Inicio
Escribe “Introduce un número, y para acabar uno negativo”
Leer numero
Mientras (numero > 0) hacer
suma = 0
Para i<-1 hasta numero /2 hacer
Si (resto de (numero/i) = 0) entonces
suma = suma + i
FinSi
FinPara
Suma = suma + numero
Escribe “La suma de los divisores del número es “suma
Leer numero
FinMientras
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
9.- Dado un cápital c, a un interes i, durante m años, escriba un algoritmo que calcule en cuanto se habrá convertido
ese capital en m años, sabiendo que es acumulativo.
Algoritmo Interes
Variable
Entero: i, j, m
Real: c, temporal
Inicio
Repetir
Escribe “Introduce el capital, el interes y el tiempo”
Leer c, i, m
Hasta (c>0) y ((i>=0)y(i<=100)) y (m >=0)
Para j<-1 hasta m hacer
c = c * (1+i/100)
FinPara
Escribe “Tienes “c” de capital”
Fin
10.- Dada la siguiente fórmula:
Realice un algoritmo que calcule el valor de x pidiendo al usuario los valores de n, a, b.
Algoritmo Ecuacion
Variable
Entero: n, a, b, primer, según, i, j
Real: x
Inicio
primer = 0
segun = 1
Repetir
Escribe “Introduce el valor de n, a, b”
Leer n, a, b
Hasta (n>=0)
Para i<-1 hasta n hacer
primer = (((a-b)^i –3)+n)+primer
FinPara
Para j<-2 hasta n-1 hacer
segun = ((2+a*(i-1))*segun)
FinPara
x = primer / segun
Escribe x
Fin
∏
∑
−
=
=
−+
+−−
= 1
2
1
))1(*2(
)3)((
n
i
n
i
i
ia
nba
X
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
EJERCICIOS DE VECTORES :
1.- Escriba un algoritmo que devuelva el valor de la componente máxima de un vector.
Algoritmo MaximaComponenteVector
Variable
Entero: cont, temporal
Vector Entero: a
Inicio
cont = 0
temporal = a[cont] ¡inicializo al primer elemento del vector
Mientras (cont < numero de componentes del vector a) hacer
Si (a[cont]>temporal) entonces
temporal = a[cont]
FinSi
cont = cont +1
FinMientras
Escribe “el valor de la maxima componente es” temporal
Fin
2. Escriba un algoritmo que muestre por pantalla el contenido de un vector. Los valores de las componentes del
vector se introducen por teclado (hasta que introduzca el numero 0).
Algoritmo MostrarContenidoVector
Variable
Entero: i, num
Vector Entero: a
Inicio
i = 0
Escribe “Introduzca un valor de una componente del vector o 0
para finalizar”
Leer num
Mientras (num <> 0) hacer ¡Relleno el vector con los valores
leídos desde teclado
a[i] = num
i = i+1
FinMientras
i = i - 1
Mientras (i >= 0) hacer
Escribe a[i]
i = i-1
FinMientras
Fin
3. Realice un algoritmo que calcule el producto escalar de dos vectores de N componentes (N es una constante). El
algoritmo es sencillamente el siguiente:
Algoritmo ProductoEscalar
Constante
Entero: N
Variable
Entero: i, producto
Vector Entero: a, b
Inicio
producto = 0
Para i<-0 hasta N-1 hacer
producto = producto + a[i]*b[i]
FinPara
Escribir “El producto escalar es” producto
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
4. Considere una encriptación de mensajes muy antigua inventada por Julio Cesar, la cual se basa en que
a cada letra de un mensaje se le asocia un número (el orden en el abecedario), luego se suma al número de
cada letra otro número (la clave) y el resultado es una nueva letra, mira en el abecedario. Por ejemplo, el
mensaje “cruzad el rubicon”, se transformaría en “dsvabeUfmUsvcjdpo” si le sumo el número clave 1 a
cada letra (ya que la primera letra del mensaje cifrado, la ‘d’, es la que va tras la ‘c’, etc.). Note que la ch,
ll, ñ no existen, y que después de la ‘z’ va la ‘a’. Además los espacios en blanco se convierten en letras U
si la clave es 1, en V si es 2, etc.
Para ello, elabore en pseudo código un algoritmo que a partir de un texto (cadena de caracteres leída por
teclado) imprima texto cifrado con la clave entera, también leída desde teclado.
Pista: Dentro del bucle que debe recorrer todas las letras del texto, use la siguiente fórmula para encriptar:
Texto_encriptado[i] =(texto_original[i]-'a'+clave)%26+'a';
/*26 es el número de letras del alfabeto ASCII*/
Algoritmo Encriptación
Constante
Entero: LetrasASCII, N ¡N es la longitud del texto
Variable
Entero: i, clave
Vector Caracter: texto_encriptado, texto_original
Inicio
LetrasASCII = 26
Escribir “Leer el texto a encriptar:”
Para i<-0 hasta N-1 hacer
Lee texto_original[i]
FinPara
Para i<-0 hasta N-1 hacer
texto_encriptado[i] =(texto_original[i]-'a'+clave)%26+'a')
FinPara
Escribir “El texto encriptado es:”
Para i<-0 hasta N-1 hacer
Escribir texto_encriptado[i]
FinPara
Fin
Práctica INTRODUCCIÓN A LA ALGORITMICA
FUNDAMENTOS DE INFORMÁTICA
E.U.P. Universidad de Sevilla
5.- Dada una matriz a de M*N elementos, actualice la matriz de manera que la matriz resultante tenga divididos a los
elementos de la diagonal principal por la suma de los elementos que no forman parte de ella.
Algoritmo div_matriz
Constante
Entero: M, N, i,j
Variable
Vector Real: a
Real: suma
Inicio
¡leer elementos del array
Para i<-0 hasta M-1 hacer
Para j<-0 hasta N-1 hacer
Escribe “Introduce el elemento”i”,”j
Leer a[i,j]
FinPara
FinPara
¡Calcula la suma de los elementos del array que no
pertenecen a la diagonal principal
suma = 0
Para i<-0 hasta M-1 hacer
Para j<-0 hasta N-1 hacer
Si (i<>j) entonces
s = s + matriz [i,j]
FinSi
FinPara
FinPara
¡Escribe los elementos del array Para ello, los elementos que
pertenecen a la diagonal principal, los divide por la suma
Para i<-0 hasta M-1 hacer
Para j<-0 hasta N-1 hacer
Si i=j entonces
Escribe a[i,j]/s
Sino Escribe a[i,j]
FinSi
FinPara
FinPara
Fin

Más contenido relacionado

La actualidad más candente

02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacionCarlos G Mora
 
15diagramas de flujo
15diagramas de flujo15diagramas de flujo
15diagramas de flujoSilver John
 
Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control addaza0
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-whileDelvi Ramirez
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)Ender Melean
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosjhonshebax
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujojuanxviii
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeIntJerry
 
Introducción a JavaScript 1
Introducción a JavaScript 1Introducción a JavaScript 1
Introducción a JavaScript 1Lorenzo Alejo
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionalesJose Gonzalez
 

La actualidad más candente (18)

Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Trabajo final programacion
Trabajo final programacionTrabajo final programacion
Trabajo final programacion
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
15diagramas de flujo
15diagramas de flujo15diagramas de flujo
15diagramas de flujo
 
Estructuras de control
Estructuras de control Estructuras de control
Estructuras de control
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 
Algoritmia Ejemplos Y Ejercicios (2)
Algoritmia  Ejemplos Y Ejercicios (2)Algoritmia  Ejemplos Y Ejercicios (2)
Algoritmia Ejemplos Y Ejercicios (2)
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Algoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicarAlgoritmos, tablas de multiplicar
Algoritmos, tablas de multiplicar
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Tutorial p seint
Tutorial p seintTutorial p seint
Tutorial p seint
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Introducción a JavaScript 1
Introducción a JavaScript 1Introducción a JavaScript 1
Introducción a JavaScript 1
 
Algoritmos computacionales
Algoritmos computacionalesAlgoritmos computacionales
Algoritmos computacionales
 

Destacado

Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramasluis840
 
Manual de-java
Manual de-javaManual de-java
Manual de-javaeliseorm
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++tacubomx
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseintHEIVER CUESTA
 
Programas de computacion en Pseint
Programas de computacion en PseintProgramas de computacion en Pseint
Programas de computacion en Pseintchoqoferzh
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigoBrivé Soluciones
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)irvingsalazar2
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 

Destacado (10)

Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramas
 
Manual de-java
Manual de-javaManual de-java
Manual de-java
 
Trabajo de calculo numerico
Trabajo de calculo numericoTrabajo de calculo numerico
Trabajo de calculo numerico
 
Arreglos en c ++
Arreglos en c ++Arreglos en c ++
Arreglos en c ++
 
Arreglos vectores pseint
Arreglos vectores pseintArreglos vectores pseint
Arreglos vectores pseint
 
Programas de computacion en Pseint
Programas de computacion en PseintProgramas de computacion en Pseint
Programas de computacion en Pseint
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)Diagramas de Flujo y Algoritmos (Informática ll)
Diagramas de Flujo y Algoritmos (Informática ll)
 
Arreglos
ArreglosArreglos
Arreglos
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 

Similar a Algunos algoritmos1

Similar a Algunos algoritmos1 (20)

Algunos algoritmos1
Algunos algoritmos1Algunos algoritmos1
Algunos algoritmos1
 
Algunos algoritmos1
Algunos algoritmos1Algunos algoritmos1
Algunos algoritmos1
 
Prog unidad ii algunos ej.
Prog unidad ii algunos ej.Prog unidad ii algunos ej.
Prog unidad ii algunos ej.
 
Ejemplos de pseudocodigos
Ejemplos de pseudocodigosEjemplos de pseudocodigos
Ejemplos de pseudocodigos
 
1. algoritmos
1. algoritmos1. algoritmos
1. algoritmos
 
Guia de trabajo
Guia de trabajoGuia de trabajo
Guia de trabajo
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Taller de algoritmos
Taller  de algoritmosTaller  de algoritmos
Taller de algoritmos
 
Ejm repetitivas
Ejm repetitivasEjm repetitivas
Ejm repetitivas
 
9
99
9
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido1
Programacion ejercicio unidimensional-convertido1Programacion ejercicio unidimensional-convertido1
Programacion ejercicio unidimensional-convertido1
 
S
SS
S
 
Farinango
FarinangoFarinango
Farinango
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
Programacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertidoProgramacion ejercicio unidimensional-convertido
Programacion ejercicio unidimensional-convertido
 
10
1010
10
 

Algunos algoritmos1

  • 1. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04) EJERCICIOS DE ESTRUCTURAS ALTERNATIVAS : 1.- Haga el algoritmo en pseudo código que, dada una variable cuyo valor es leído desde teclado, imprima por pantalla si el número es o no mayor que 0. Algoritmo MayorQue0 Variable Entero: n Inicio Escribe “Escribe un numero” Leer n Si (n > 0) entonces Escribe “El número es mayor que 0 “ Sino Escribe “El número no es mayor que 0 “ FinSi Fin 2.- Haga el algoritmo en pseudo código que, dada una variable cuyo valor es leído desde teclado, imprima por pantalla si el número es o no mayor que 0, y si el número es par o impar. Algoritmo MayorQue0Par Variable Entero: n Inicio Escribe “Escribe un número” Leer n; Si (n > 0) entonces Escribe “El número es mayor que 0 “ Sino Escribe “El número no es mayor que 0 “ FinSi Si (resto de (n/2) = 0) entonces Escribe“y es un número par. “ Sino Escribe “y es un número impar. “ FinSi Fin 3.- Haga el algoritmo en pseudo código que, tras leer un carácter desde teclado, imprima por pantalla si la letra es mayúscula o minúscula. Amplíe el algoritmo, indicando si el carácter es un dígito numérico. (Nota: Dígito numérico (48,57); Mayúscula (65, 90); minúscula(97, 122)) Algoritmo MayusculaMinuscula Variable Entero: Car Inicio Escribe “Escribe una letra” Leer Car Si (Car >= 97) o (Car <= 122) entonces Escribe“La letra es minúscula “ Sino Si (Car >= 65) o (Car <= 90) entonces Escribe“La letra es mayúscula “ Sino Si (Car >= 48) o (Car <= 57) entonces Escribe“Es un número“ FinSi FinSi FinSi Fin
  • 2. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 4.- Haga el algoritmo en pseudo código que, dada la calificación obtenida (en número), indique si corresponde al “suspenso”, “aprobado”, “notable” o “sobresaliente”. Algoritmo Nota Variable Entero: nota Inicio Escribe “Escribe la calificación del alumno” Leer nota Si (nota >= 9) entonces Escribe“SOBRESALIENTE “ Sino Si (nota >= 7) entonces Escribe“NOTABLE “ Sino Si (nota >= 5) entonces Escribe“APROBADO“ Sino Escribe“SUSPENSO“ FinSi FinSi FinSi Fin 5.- Escriba un algoritmo que intercambie el valor de dos variables numéricas sólo si el valor de la primera es mayor que el de la segunda. Algoritmo Intercambio Variable Entero: numero1, numero2, auxiliar Inicio Escribe “Escribe el primer numero” Leer numero1 Escribe “Escribe el segundo numero” Leer numero2 Si (numero1 > numero2) entonces auxiliar = numero1 numero1 = numero2 numero2 = auxiliar FinSi Fin 6.- Diseñe un algoritmo que calcule el valor absoluto de un número (tanto positivos como negativos): Algoritmo ValorAbsoluto Variable Entero: numero, valor_absoluto Inicio Escribe “Escribe un numero” Leer numero Si (numero < 0) entonces valor_absoluto = - numero Sino valor_absoluto = numero FinSi Escribe “El valor absoluto es: ”, valor_absoluto Fin
  • 3. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 7.- Calcular las posibles raíces para una ecuación de segundo grado: ax^2+bx+c=0 Algoritmo Raíces Variable Real: a,b,c,x,y Inicio Escribe "Introduzca los coeficientes de mayor a menor grado." Leer a,b,c Si ( b*b >= 4*a*c ) entonces x = (-b + raiz( b*b - 4*a*c ) )/2*a Escribe “Las raices reales son +/- :”, x Sino Escribe "No existen raíces reales." FinSi Fin 8.- Realice un programa que convierta los grados a radianes. Algoritmo GradosARadianes Constante Real: PI = 3,14 Variable Real: grados, rad Inicio Escribe “Introduce los grados” Leer grados Si (grados >= 360) entonces grados = resto de (grados / 360) FinSi rad = (grados * PI) / 180 Escribe rad “radianes” Fin
  • 4. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla EJERCICIOS DE ESTRUCTURAS ITERATIVAS 1.- Se quiere hallar el producto de varios números positivos introducidos por teclado, de manera que el proceso termina cuando se introduce un número negativo: Algoritmo Producto Variable Entero: numero, producto Inicio producto = 0 Escribe “Escribe un numero” Leer numero Mientras (numero >= 0) hacer producto = producto * numero Escribe “Escribe un numero” Leer numero FinMientras Escribe “El producto es: “, producto Fin 2.- Escriba un algoritmo que, encuentre el primer divisor entero de un número que previamente se ha introducido por el teclado. Utilice la estructura iterativa MIENTRAS. Algoritmo PrimerDivisor Variable Entero: numero, divisor Inicio divisor = 2 Escribe “Escribe un numero” Leer numero Mientras (resto de (numero/divisor) <> 0) hacer divisor = divisor +1 FinMientras Escribe “El primer divisor es: “, divisor Fin 3.- Escriba un algoritmo que calcule el factorial de un número introducido por teclado. Utilice la estructura PARA. Algoritmo Factorial Variable Entero: numero, exponente, i Inicio factorial = 1 Escribe “Escribe un numero” Leer numero Para i <- 2 hasta numero Si ( i = 2 ) o (resto de (i/2) <> 0 ) entonces Si (resto de (numero/i) = 0 ) entonces Escribe i numero = numero / i exponente = 1 Mientras (resto de (numero/i) = 0 ) hacer exponente = exponente + 1; numero = numero / i FinMientras Escribe “*” exponente FinSi FinSi FinPara Fin
  • 5. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 4.- Escriba un algoritmo que imprima cuáles y cuántos son los números primos comprendidos entre 1 y 1000. Algoritmo NumerosPrimos Constante Primero=1 Limite=1000 Variable Entero: cont, i, j Booleano: primo Inicio cont = 0 Para i <- primero hasta limite hacer primo = verdadero j = 2 Mientras ( i>j ) y (primo = verdadero) hacer Si (resto de (i/j) = 0) entonces primo = falso Sino j = j + 1 FinSi FinMientras Si ( primo = verdadero ) entonces Escribe i” “ cont = cont + 1 FinSi FinPara Escribe “Entre “primero” y “limite” hay “cont” nº primos” Fin 5.- Escriba un algoritmo que calcule el máximo de números positivos introducidos por teclado, sabiendo que se introducen números desde teclado hasta teclear uno negativo. El negativo no cuenta. Algoritmo Maximo Variable Entero: num, max Inicio max = 0 Escribe “Introduzca nº positivos y para acabar introduzca uno negativo” Leer num Mientras ( num >= 0 ) hacer Si ( num >max ) entonces max = num FinSi Leer num FinMientras Escribe “El mayor número es” max Fin 6.- Escriba un algoritmo que determine cuales son los múltiplos de 5 comprendidos entre 1 y N. Algoritmo Multiplos Variable Entero: i Inicio Para i<-1 hasta N hacer Si (resto de (i/5) = 0) entonces Escribe i FinSi FinPara Fin
  • 6. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 7.- Escriba un algoritmo que encuentre el alumno de primero con mejor nota media. Se sabe que este año entraron 150 alumnos y que en primero todos tienen 5 asignaturas. Dar el nombre y la nota media. Algoritmo NotaMedia Constante Alumnos=150 Asignaturas=5 Variable Cadena: nombre, mejor_alum Real: nota, suma, media, acum Entero: i, j Inicio acum = 0 Para i<-1 hasta alumnos hacer suma = 0 Escribe “Introduzca el nombre del alumno” Leer nombre Para j<-1 hasta asignaturas hacer Escribe “Introduzca la nota de la asignatura” Leer nota suma = suma + nota FinPara Media = suma / asignaturas Si (media > acum) entonces acum = media mejor_alum = nombre FinSi FinPara Escribe “El mejor alumno es “mejor_alum Escribe “Su nota media es “acum Fin 8.- Escriba un algoritmo que calcule la suma de los divisores de cada número introducido por teclado. Se termina cuando el número es negativo o 0. Algoritmo SumaDivisores Variable Entero: numero, i, suma Inicio Escribe “Introduce un número, y para acabar uno negativo” Leer numero Mientras (numero > 0) hacer suma = 0 Para i<-1 hasta numero /2 hacer Si (resto de (numero/i) = 0) entonces suma = suma + i FinSi FinPara Suma = suma + numero Escribe “La suma de los divisores del número es “suma Leer numero FinMientras Fin
  • 7. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 9.- Dado un cápital c, a un interes i, durante m años, escriba un algoritmo que calcule en cuanto se habrá convertido ese capital en m años, sabiendo que es acumulativo. Algoritmo Interes Variable Entero: i, j, m Real: c, temporal Inicio Repetir Escribe “Introduce el capital, el interes y el tiempo” Leer c, i, m Hasta (c>0) y ((i>=0)y(i<=100)) y (m >=0) Para j<-1 hasta m hacer c = c * (1+i/100) FinPara Escribe “Tienes “c” de capital” Fin 10.- Dada la siguiente fórmula: Realice un algoritmo que calcule el valor de x pidiendo al usuario los valores de n, a, b. Algoritmo Ecuacion Variable Entero: n, a, b, primer, según, i, j Real: x Inicio primer = 0 segun = 1 Repetir Escribe “Introduce el valor de n, a, b” Leer n, a, b Hasta (n>=0) Para i<-1 hasta n hacer primer = (((a-b)^i –3)+n)+primer FinPara Para j<-2 hasta n-1 hacer segun = ((2+a*(i-1))*segun) FinPara x = primer / segun Escribe x Fin ∏ ∑ − = = −+ +−− = 1 2 1 ))1(*2( )3)(( n i n i i ia nba X
  • 8. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla EJERCICIOS DE VECTORES : 1.- Escriba un algoritmo que devuelva el valor de la componente máxima de un vector. Algoritmo MaximaComponenteVector Variable Entero: cont, temporal Vector Entero: a Inicio cont = 0 temporal = a[cont] ¡inicializo al primer elemento del vector Mientras (cont < numero de componentes del vector a) hacer Si (a[cont]>temporal) entonces temporal = a[cont] FinSi cont = cont +1 FinMientras Escribe “el valor de la maxima componente es” temporal Fin 2. Escriba un algoritmo que muestre por pantalla el contenido de un vector. Los valores de las componentes del vector se introducen por teclado (hasta que introduzca el numero 0). Algoritmo MostrarContenidoVector Variable Entero: i, num Vector Entero: a Inicio i = 0 Escribe “Introduzca un valor de una componente del vector o 0 para finalizar” Leer num Mientras (num <> 0) hacer ¡Relleno el vector con los valores leídos desde teclado a[i] = num i = i+1 FinMientras i = i - 1 Mientras (i >= 0) hacer Escribe a[i] i = i-1 FinMientras Fin 3. Realice un algoritmo que calcule el producto escalar de dos vectores de N componentes (N es una constante). El algoritmo es sencillamente el siguiente: Algoritmo ProductoEscalar Constante Entero: N Variable Entero: i, producto Vector Entero: a, b Inicio producto = 0 Para i<-0 hasta N-1 hacer producto = producto + a[i]*b[i] FinPara Escribir “El producto escalar es” producto Fin
  • 9. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 4. Considere una encriptación de mensajes muy antigua inventada por Julio Cesar, la cual se basa en que a cada letra de un mensaje se le asocia un número (el orden en el abecedario), luego se suma al número de cada letra otro número (la clave) y el resultado es una nueva letra, mira en el abecedario. Por ejemplo, el mensaje “cruzad el rubicon”, se transformaría en “dsvabeUfmUsvcjdpo” si le sumo el número clave 1 a cada letra (ya que la primera letra del mensaje cifrado, la ‘d’, es la que va tras la ‘c’, etc.). Note que la ch, ll, ñ no existen, y que después de la ‘z’ va la ‘a’. Además los espacios en blanco se convierten en letras U si la clave es 1, en V si es 2, etc. Para ello, elabore en pseudo código un algoritmo que a partir de un texto (cadena de caracteres leída por teclado) imprima texto cifrado con la clave entera, también leída desde teclado. Pista: Dentro del bucle que debe recorrer todas las letras del texto, use la siguiente fórmula para encriptar: Texto_encriptado[i] =(texto_original[i]-'a'+clave)%26+'a'; /*26 es el número de letras del alfabeto ASCII*/ Algoritmo Encriptación Constante Entero: LetrasASCII, N ¡N es la longitud del texto Variable Entero: i, clave Vector Caracter: texto_encriptado, texto_original Inicio LetrasASCII = 26 Escribir “Leer el texto a encriptar:” Para i<-0 hasta N-1 hacer Lee texto_original[i] FinPara Para i<-0 hasta N-1 hacer texto_encriptado[i] =(texto_original[i]-'a'+clave)%26+'a') FinPara Escribir “El texto encriptado es:” Para i<-0 hasta N-1 hacer Escribir texto_encriptado[i] FinPara Fin
  • 10. Práctica INTRODUCCIÓN A LA ALGORITMICA FUNDAMENTOS DE INFORMÁTICA E.U.P. Universidad de Sevilla 5.- Dada una matriz a de M*N elementos, actualice la matriz de manera que la matriz resultante tenga divididos a los elementos de la diagonal principal por la suma de los elementos que no forman parte de ella. Algoritmo div_matriz Constante Entero: M, N, i,j Variable Vector Real: a Real: suma Inicio ¡leer elementos del array Para i<-0 hasta M-1 hacer Para j<-0 hasta N-1 hacer Escribe “Introduce el elemento”i”,”j Leer a[i,j] FinPara FinPara ¡Calcula la suma de los elementos del array que no pertenecen a la diagonal principal suma = 0 Para i<-0 hasta M-1 hacer Para j<-0 hasta N-1 hacer Si (i<>j) entonces s = s + matriz [i,j] FinSi FinPara FinPara ¡Escribe los elementos del array Para ello, los elementos que pertenecen a la diagonal principal, los divide por la suma Para i<-0 hasta M-1 hacer Para j<-0 hasta N-1 hacer Si i=j entonces Escribe a[i,j]/s Sino Escribe a[i,j] FinSi FinPara FinPara Fin