Beruflich Dokumente
Kultur Dokumente
Algoritmos 1
Vallejo
CONCEPTOS GENERALES
Computadora: Una mquina o aparato electrnico capaz de ejecutar operaciones repetitivas muy
complejas a altas velocidades. Algunos la conocen como ORDENADOR, especialmente los del pas de
Espaa.
Datos: Se refiere a la representacin de un hecho, concepto o entidad (los datos se pueden tomar de
diferentes formas: por palabra, escritas o habladas, etc)
Algoritmo: Conjunto de pasos que especifican la secuencia de operaciones a realizar, en orden para
resolver un sistema especfico o clase de problemas.
Software: conjuntos de programas que controlan el funcionamiento de una computadora. Parte lgica.
COMPONENTE PRINCIPALES
CPU: Unidad Central de Proceso (UCP). Es el conjunto de circuitos electrnicos capaces de ejecutar
algunos clculos sencillos. La potencia de una computadora depende completamente de la velocidad y
fiabilidad de la UCP.
Dispositivos de Almacenamiento Secundario (memoria auxiliar): tales como discos duros, cintas
magnticas, se usan para almacenar grandes cantidades de informacin.
ALGORITMOS
Un programador de computadoras es antes que nada una persona que resuelve problemas, por lo que para
llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y
sistemtico.
Resolucin de problemas
Los algoritmos son independientes del lenguaje de programacin en que se expresan. Cada problema se
puede expresar en un lenguaje diferente sin embargo el algoritmo sera siempre el mismo.
Caractersticas de un Algoritmo
En el caso de que un algoritmo debe ser bien definido, debe describir tres partes: entrada, proceso y
salida.
LENGUAJES DE PROGRAMACIN
1) Lenguaje Mquina: son aquellos que estn escritos en lenguajes directamente inteligibles por la
mquina ya que constan de 0 (ceros) y 1 (unos). Estos lenguajes dependan de la mquina en
donde se ejecutaba
2) Lenguaje Bajo Nivel: son fciles de utilizar que los lenguajes mquina, pero al igual que ellos
dependen de la mquina. Ac aparece un lenguaje de programacin por excelencia para este
nivel llamado ENSAMBLADOR (ASSEMBLY LANGUAGE)
3) Lenguaje Alto Nivel: son los ms utilizados por los programadores. Estn diseados para que
las personas escriban y entiendan los programas de una manera ms fcil. Estos tipos de
lenguajes son independiente de la mquina en donde se instalan.
Traductores de lenguaje
Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a cdigo mquina.
Los traductores se dividen en:
Compiladores
Intrpretes
Intrprete
Es un traductor que toma el programa fuente, lo traduce y a continuacin lo ejecuta lnea por lnea.
Compilador
Traduce los programas fuente a lenguaje mquina, estos programas traducidos se llaman programa objeto.
El compilador traduce sentencia por sentencia.
LOS DATOS
El manejo de toda computadora est dada por un elemento muy importante llamado DATO, si l la
computadora no hara nada, ya que para que la computadora realice algo tendr que necesitar siempre de
algn dato.
Tipos de Datos
a) Datos Simples: como ya se hizo mencin pueden ser numricos, lgicos y carcter.
2) Datos lgicos: tambin denominado booleano, es aquel dato que puede tomar dos valores:
verdadero (true) y falso (false). Este tipo de datos se utiliza en las alternativas (si/no) a
determinadas condiciones.
3) Datos Carcter: conjunto finito y ordenado de caracteres que la computadora reconoce. Existen
los siguientes tipos de carcter:
- alfabticos (A,B,C...Z) (a,b,c............z)
- numricos (1,2,....,9,0)
- especiales (+, - , * , / , < , >, ...)
Generalmente en los lenguajes de programacin se les conoce como STRING, van entre una
comilla (apstrofe) o doble comillas, segn el tipo de lenguaje, la longitud de una cadena de
caracteres es el numero de ellos comprendidos entre las comillas.
EXPRESIONES
Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres
de funciones especiales. Adems de debe tener en cuenta los siguientes trminos:
Operandos: son los valores de una expresin por ejemplo: 3, 2, 4, 10, etc
Resultado de una expresin: valor que da una expresin por ejemplo: 4 + 5 = 9, 9 sera Resultado de la
expresin.
Operadores: Smbolos necesarios para conseguir el resultado de una expresin. Por ejemplo: 5 + 6 = 11,
el smbolo +, sera un operador
Expresiones Aritmticas
Utilizan :
1) Smbolos Matemticos:
Prioridad
a) Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen parntesis
ms internos, stos se evalan primero.
( 4 + ( 4 + 7 - ( 10 + 5 ) + 3 ) 3 )
2) Funciones Especiales:
Abs(x) absoluto
Cos(x) coseno
Round(x) redondeo
Sen seno
Sqr(x) cuadrado de un nmero
Sqrt(x) raz cuadrada
Ejm:
5 x 7 se representa como 5 * 7
6
se representa como 6 / 4
4
37 se representa como 3 7
coseno de 45 se representa como cos (45)
raiz cuadrada de 20 se representan como sqrt (20)
cuadrado de 4 se representa como sqr (4)
Expresiones Lgicas
Su valor es siempre verdadero o falso. Las expresiones lgicas se forman combinando constantes lgicas,
variables lgicas y otras expresiones lgicas, utilizando los operadores lgicos NOT, AND, OR y los
operadores relacionales (=, >,<, >=, <=, <>)
Operadores de Relacin
Operador Significado
< Menor que
> Mayor que
= Igual que
<= Menor igual que
>= Mayor igual que
<> Diferente
Y
Expresin 1 Expresin 2 Resultado
V V V
V F F
F V F
F F F
O
Expresin 1 Expresin 2 Resultado
V V V
V F V
F V V
F F F
Ejm:
1) 5 ( x + y )
2) a2 + b2
x y
3) w
u
a
x
4) (z+w)
y
b b 2 4ac
5)
2a
m
6) +p
n
n
7) m +
pq
seno( x) cos eno( x)
8)
4a
mn
9)
pq
n
m
p
10)
r
q
5
1) 3 + 6 * 14
2) 8+7*+4*6
3) 4*7+2^3/45
4) 8+7*3+4*6
5) 2^3
6) (33 + 3 * 4) / 5
7) 2^2*3
8) 3 + 2 * (18 4 ^ 2)
9) 16 * 6 3 * 2
10) 7 * 10 50 mod 3 * 4 + 9
CONSTANTES Y VARIABLES
CONSTANTES
Constantes numricas son cualquier nmero por ejemplo: 10, 30, 10.5, 20.8, - 1, -9.4
Constante carcter, generalmente van entre comillas o apostrofes.
Constantes lgicas: solo existen verdadero (True) o falso (False)
VARIABLES:
Debe comenzar con una letra (A a Z, maysculas o minsculas) y no deben contener espacios en
blanco.
Letras, dgitos y caracteres como la subraya ( _ ) estn permitidos despus del primer carcter.
La longitud de identificadores puede ser de hasta 8 caracteres.
1. Por su contenido
1.1. Numricas
1.2. Lgicas
1.3. Carcter
Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es
decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal.
Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el
resultado de una comparacin entre otros datos.
Carcter: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales).
2. Por su uso
2.1. De trabajo
2.2. Contadores
2.3. Acumuladores
De trabajo: Variables que reciben el resultado de una operacin matemtica completa y que se usan
normalmente dentro de un programa. Ejemplo: Suma = a + b / c
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una
operacin o se cumple una condicin. Con los incrementos generalmente de uno en uno.
Ejm: N= N + 1
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una
serie de valores que se van leyendo o calculando progresivamente.
Ejm: S = S + N
1) V = 4 * 5
2) X = 3
Y=2
S=X^Y+Y
3) V = 5
X=3
V=V*X
4) IGV = 0.19
ST = 100
IGV = ST*0.19
Pago = ST + IGV
Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. Es
importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca
del todo no tiene mucho caso continuar con la siguiente etapa.
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de
entrada. Cual es la informacin que se desea producir (salida). Los mtodos y frmulas que se
necesitan para procesar los datos. Una recomendacin muy practica es el que nos pongamos en el
lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia
para producir los resultados esperados.
4) Codificacin
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a la lgica del
diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas, en un cdigo
reconocible por la computadora, la serie de instrucciones detalladas se le conoce como cdigo fuente,
el cual se escribe en un lenguaje de programacin o lenguaje de alto nivel.
5) Prueba y Depuracin
6) Documentacin
A menudo un programa escrito por una persona, es usado por otra. Por ello la documentacin sirve
para ayudar a comprender o usar un programa o para facilitar futuras modificaciones
(mantenimiento). La documentacin se divide en tres partes:
Documentacin Interna
Documentacin Externa
Manual del Usuario
a) Documentacin Interna: Son los comentarios o mensaje que se aaden al cdigo fuente para
hacer mas claro el entendimiento de un proceso.
b) Documentacin Externa: Se define en un documento escrito los siguientes puntos:
c) Manual del Usuario: Describe paso a paso la manera como funciona el programa, con el fin de
que el usuario obtenga el resultado deseado.
7) Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es necesario hacer algn
cambio, ajuste o complementacin al programa para que siga trabajando de manera correcta. Para
poder realizar este trabajo se requiere que el programa este correctamente documentado.
Algoritmos
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar
solucin a un problema especifico.
Tipos de Algoritmos
2) Cuantitativos: son aquellos en lo que se utilizan clculos numricos para definir los pasos del
proceso.
Lenguajes Algortmicos
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Los
lenguajes algortmicos pueden ser:
Formulacin de Algoritmos
1) Diagrama de Flujo
2) Pseudocdigo
3) Diagrama Estructurado NS Nassi Shneiderman
Diagrama de Flujo
SMBOLO SIGNIFICADO
Indica proceso (cualquier tipo de operacin que pueda originar cambio de valor,
generalmente se observa operaciones aritmticas.)
no
Decisin (indica operaciones lgicas o de comparacin, solo sigue uno de 2
caminos verdadero o falso; si no)
si
Indica una llamada a una subrutina (es un subprograma que realiza un determinado
proceso y retorna luego al programa principal).
SECUNDARIOS SIGNIFICADO
Estructuras de un Programa
1) Secuencial: Ocurre cuando un programa se inicio y termina una sola vez no sufre alteraciones
durante su ejecucin.
Inicio
Inicio
Inicio
Operacin 1
Oper 1 Operacin 1 Operacin 2
Operacin 3
Operacin 2 Fin
Oper 2
Operacin n
Oper n
Fin
Fin
2) Selectiva: Ocurre cuando en la ejecucin del programa existe el elemento de tomar una decisin.
Solo puede ser un camino de dos posibles (Verdadero o Falso / Si o No)
Selectiva Simple
Inicio
Inicio
Inicio
Oper Operacin
Oper.
Si <Cond> Entonces
S N Cond.
A S N
Con
d Si_no
B A B
A B
Fin_Si
Oper.
Operacin Fin
Fin
Oper
Fin
Selectiva Mltiple
Operacin
Fin Fin
3) Repetitivas: Son estructuras que permiten repetir ciertas operaciones hasta que se cumpla una
cierta condicin. Existen dos trminos que son utilizados comnmente durante la ejecucin de
un bucle repetitivo. Estos trminos son:
Contador: es aquella variable que esta compuesta por ella misma ms una constante (esta
constante puede ser para incrementar o disminuir). Generalmente sirve para ser analizada en
la condicin de la estructura repetitiva. Ejm:
N=N+1 N=N-1
Acumulador: es aquella variable que esta compuesta por ella misma ms otra variable (esta
variable puede ser incrementar o disminuir). Ejm:
S=S+N S=S-N
Entre las estructuras repetitivas tenemos:
Inicio Inicio
Operacin
Inicio
Oper
Mientras <Cond> Oper.
A
Fin_Mientras
Mientras. <Cond.>
N
Con
d Operacin
S
Oper Fin A
A
While.....End While Oper.
Fin
Fin
Segn sea el lenguaje de programacin hay lenguajes que acepta la estructura anterior
pero tambin lo siguiente:
Fin
- Esta estructura primero realiza alguna operacin y luego evala una condicin.
- El bucle se termina cuando la condicin sea Falsa.
- Esta estructura primero realiza las operaciones y luego evala una condicin.
- El bucle se termina cuando la condicin sea Verdadera.
Fin
Segn sea el lenguaje de programacin hay lenguajes que acepta la estructura anterior
pero tambin lo siguiente:
Inicio Inicio
Operacin Inicio
Oper Oper.
Hacer hasta <Cond>
Hacer hasta. <Cond.>
A
S Fin_Hacer
Con
d Operacin
N A
Oper Fin
A
Oper.
Do Until.....End Do
Fin
Fin
Inicio Inicio
Inicio
Operacin
Oper Oper.
Para i = vi hasta vf Para i = vi hasta vf
<inc dec> hacer <Inc dec> hacer
Para i = vi hasta S A
vf <Inc o dec> Fin_Para A
hacer
N Operacin Fin_Para
A
Fin Oper.
Oper
Fin
Cuando se encuentre frente a ejercicios de estructura secuencial, deber seguir los siguientes pasos:
1er PASO:
- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, para ello
deber seguir el siguiente cuadro:
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.
2do PASO:
- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.
Ejemplo:
Paso 1
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Base B Real
Altura H Real
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Area A Real
rea de un Tringulo
Base:
Altura:
Calcular Cerrar
rea:
Paso 2
N-S
A = (B * H) / 2
Inicio
Escribir A
Fin
Fin
14. Elabore un algoritmo que dado los datos enteros A, B, escriba el resultado de la siguiente expresin:
R = ((A + B)2) / 3
15. En una casa de cambio necesitan construir un programa tal que dado como dato una cantidad
expresado en dlares, convierta esa cantidad a nuevo soles.
16. Escriba un programa que obtenga tres nmeros luego calcule y muestre su suma y su promedio.
17. Escribir un subprograma que dados a y b devuelva el cociente y el resto de la divisin.
18. Calcular el tiempo transcurrido entre dos horas dadas de un mismo da (ingreso de horas y minutos).
19. Mostrar las horas, minutos y segundos de un tiempo ingresado slo en segundos.
20. Elabore un algoritmo que calcule el nmero de segundos, ingresando un nmero de das.
21. Dada la matrcula y 5 calificaciones de un alumno obtenidas a lo largo del semestre construya un
algoritmo que imprima el promedio de sus calificaciones.
22. Elabore un algoritmo que dado el radio de una esfera calcule e imprima su rea
A= 4 R2
23. Elabore un algoritmo que dado el radio de una esfera calcule e imprima su volumen
V = 4/3 R3
24. Hallar el rea de un tringulo dado sus lados:
AT = p ( p a )( p b)( p c ) Donde: P es permetro
P=(a+b+c)/2 a,b,c son los lados
31. Hallar el monto a devolver si presto un capital, a una tasa de inters, durante un tiempo o periodo
determinado.
Monto a devolver = c (1 + inters)tiempo o periodo
33. Hallar el valor en grados centesimales y radianes conocido los grados sexagesimales
10
Centesimales = ( sexagesimales ) Radianes = ( sexagesimales )
9 180
34. Hallar el valor en las 4 escalas de temperatura conociendo los grados Celsius:
9 9
FAHRENHEIT = (CELSIUS ) 32 KELVIN = CELSIUS + 273 RANKINE= (CELSIUS ) 492
5 5
35. Conociendo Fahrenheit, Kelvin y Rankine, hallar su valor en Celsius de cada uno.
36. Calcular rea de un trapecio
(basemayor basemenor ) * altura
Area =
2
37. Hallar las siguientes conversiones
Cuando se encuentre frente a ejercicios de estructura selectiva , deber seguir los siguientes pasos:
1er PASO:
- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema, para ello deber seguir el siguiente cuadro:
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
CONDICIONES
Informacin Variables Resultado
- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.
2do PASO:
- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.
Ejemplo
PASO 1
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Nota 1 N1 Real
Nota 2 N2 Real
Nota 3 N3 Real
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Promedio Prom Real
Condicin Condi String
CONDICIONES
Informacin Variable
Promedio>=10.5 Prom>=10.5 Aprobado
Promedio<10.5 Prom<10.5 Desaprobado
Nota 1:
Nota 2:
Nota 3:
Calcular Cerrar
Promedio:
Condicin:
Inicio
Declarar:
n1,n2,n3,prom: real
condi: string
Leer
n1,n2,n3
Prom = (n1+n2+n3)/3
S N
Prom<10.
5
Escribir
Condi
Fin
Pseudocodigo
Variables:
n1,n2,n3,prom : real
condi : string
Inicio
Leer n1,n2,n3
Prom = (n1+n2+n3)/3
Si prom<10.5 entonces
Condi = Desaprobado
Si_no
Condi = Aprobado
Fin_Si
Escribir Condi
Fin
N-S
Inicio
Leer n1,n2,n3
Prom = (n1+n2+n3)/3
Condi = Condi =
Desaprobado Aprobado
Escribir condi
Fin
1. Hacer un diagrama que permita ingresar un nmero y devuelva si es Positivo, negativo o cero.
2. Escriba un programa que obtenga tres nmeros, los almacene en variables y luego calcule y
muestre un reporte sobre su suma y su promedio. Si su promedio es menor a 10.5 que me muestre el
mensaje desaprobado en caso contrario aprobado
3. Dado un nmero entero decir si: ! Es par o impar
4. Si dos nmeros son positivos calcule su producto en caso contrario calcule su suma.
5. Dado un nmero entero decir si es mayor, menor o igual a cero
6. Dados tres nmeros hallar el mayor.
7. Dados tres nmeros hallar el menor.
8. Un nmero puede ser menor, igual o mayor que otro. Hacer un algoritmo que lea 2 nmeros y
determine como es uno respecto al otro.
9. Ingrese dos nmeros n y m y diga si n es mltiplo de m.
10. Lea 3 nmeros e indique cual es el valor intermedio.
11. Lea 3 nmeros q, r, s y determine si q es mltiplo de r y s.
12. Algoritmo sobre una ecuacin de primer grado. (ax + b = 0)
13. Encuentre el valor de la siguiente expresin:
( x 3)
y
( x 2 25)
14. Hacer un diagrama que permita ingresar los parmetros a,b,c de una ecuacin de 2do grado y se
devuelva las races.
B B 2 4 AC B B 2 4 AC
X1 = X2 =
2A 2A
16. Dado un nmero que representa un mes, escribir el nombre del mes correspondiente.
17. Dado 3 longitudes verificar si se puede formar un tringulo. Se conoce que en todo tringulo
cada lado es menor que la suma de los otros dos, pero mayor que su diferencia.
18. Dado 3 longitudes compruebe si se puede formar un tringulo y clasifique que tipo de tringulo
es. Se conoce lo siguiente
Tringulo Equiltero: todos lados iguales
Tringulo Issceles: 2 lados iguales
Tringulo escaleno: todos los lados diferentes
19. Dado un mes escribir la cantidad de das de dicho mes.
20. Dados 3 nmeros, mostrarlos por pantalla en orden creciente.
21. Dados 3 nmeros, mostrarlos por pantalla en orden decreciente.
22. Dada una fecha da, mes y ao (4 digitos), informar si es correcta o no.
23. Desde un dispositivo de e/s se leen tres nmeros. Indique cual de ellos es la suma de los otros
dos.
24. Un ao es bisiesto si es mltiplo de 4, pero no de 100, pero s de 400. (ejemplos: 1984 es
bisiesto, 2000 es bisiesto, 1800 no es bisiesto). Determine un algoritmo que permita determinar si un
ao introducido desde el teclado es bisiesto o no.
25. Un tienda vende dos productos. Realice un diagrama que permita ingresar las unidades vendidas
y sus respectivos precios y se devuelva: SubTotal, Descuento, IGV y Monto a pagar.
El descuento se har de la siguiente manera
Subtotal Descuento
1000 2000 5%
>2000 y <=3000 10%
>3000 15%
26. Los trabajadores de una empresa tienen 3 turnos: maana, tarde y noche. Desde luego un
trabajador solo pertenece a un turno. La tarifa de los turnos de maana y tarde son iguales y los de la
noche es 30% ms. Se deber saber el numero de horas trabajadas el costo por horas.
27. Trabajando con nmeros se encontr que 12 * 12 = 144 y que 21 * 21 = 441, as tambin, 13
* 13 = 169 y 31 * 31 = 961. Escribe un programa que permite ingresar un nmero de 2 dgitos y
colocar si cumple o no con dicha caractersticas.
28. Un nmero es un capica si su valor es el mismo tanto si es ledo de izquierda a derecha como
de derecha a izquierda. Por ejemplo: 353 es un capica. 354 no es un capica. Disea un algoritmo
que determine si un nmero de tres dgitos introducido es un capica o no.
29. Hacer un diagrama que permite ingresar un nmero (cantidad en soles) y devuelva Cul es el
menor N de billetes de 100, 50, 20, 10 y monedas de 5 y 1 son necesarias para reproducir la
cantidad. Ejem; 1488 100=14 50=1 20=1 10=1 5=1 1=3
30. Realizar un DF para un programa que indique la condicin de un alumno, dependiendo su
promedio, su condicin se basa en el siguiente cuadro
Promedio Condicin
>=18 y <=20 Excelente
>=15 y <=17 Muy Bueno
>=11 y <=14 Regular
>=6 y <= 10 Malo
>=0 y <= 5 Muy Malo
Categora Valor/Hora
(S/.)
Administrador 5
Tcnico 7
Profesional 9
Operario 3
- Horas extras son S/. 2.00 por cada hora extra sobre el sueldo base
- El porcentaje por antigedad es el siguiente:
Antigedad %
>=1 y <=3 5
>=4 y <=6 10
>=7 y <=10 15
>=11 y <=15 20
>=16 30
32. Si compramos al por mayor 100 o ms artculos nos descuentan el 40%, si compramos entre 25 y
100 nos descuentan un 20% y si compramos entre 10 y 25 un 10%. No hay descuento si adquirimos
menos de 10 artculos. Cunto se pagar al final.
Para el caso de las Selectivas Mltiples se desarrollan igual que las selectivas simples, pero con la
diferencia que esta estructura solo se deber usar para condiciones que deban cumplir que sea igual a un
carcter o dgito, solo para eso casos sirve la estructura de selectiva mltiple.
Ejemplo:
Ingresar un nmero y responder de que mes se trata. Por ejemplo si ingresa 3 que de cmo resultado
Marzo
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
Numero del mes Num Entero
DATOS DE SALIDA
Informacin Variables Tipo de Variable
CONDICIONES
Informacin Variables Resultado
Numero = 1 Num=1 Enero
Numero = 2 Num=2 Febrero
Numero = 3 Num=3 Marzo
Numero = 4 Num=4 Abril
Numero = 5 Num=5 Mayo
Numero = 6 Num=6 Junio
Numero = 7 Num=7 Julio
Numero = 8 Num=8 Agosto
Numero = 9 Num=9 Setiembre
Numero = 10 Num=10 Octubre
Numero = 11 Num=11 Noviembre
Numero = 12 Num=12 Diciembre
Nmero
del Mes
Calcular Cerrar
El Mes es:
Inicio
Dec:
Num: Entero
Leer
Num
nu
m 12
1 Escribir
Diciembr
11 e
Escribir 2 Escribir
Enero Noviembre
3
Escribir
10 Escribir
Febrero 4 9 Octubre
Escribir Escribir
Marzo 8 Setiembre
5
Escribir 7 Escribir
Abril 6 Agosto
Escribir Escribir
Mayo Julio
Escribir
Junio
Fin
8) Ingresar un numero y reporte el nombre del mes y los das que tiene ese mes.
9) Ingrese mes y ao y determine cuantos das tiene ese mes.
10) Lea un nmero menor a 4000 y convirtalo a nmeros romanos.
11) Un tienda tiene los siguiente descuentos de acuerdo al tipo cliente y al tipo de
articulo comprado
Adems los clientes E y B pueden pagar en Efectivo, Cheque o crdito. Los clientes R
solo en efectivo o cheque, y los clientes M solo se le permitir en efectivo. Dependiendo
el cliente se le deber aparecer los tipos de pago que le corresponda y realizar los
clculos respectivos para saber cuanto debe pagar el cliente.
Cuando se encuentre frente a ejercicios de estructura repetitiva Mientras, deber seguir los siguientes
pasos:
1er PASO:
- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los contadores y acumuladores, para ello
deber seguir el siguiente cuadro:
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
CONDICIONES
Informacin Variables Resultado
ACUMULADORES
CONTADORES
- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.
2do PASO:
- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.
Ejemplo
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Nmeros naturales Num Entero
Suma de nmeros naturales Sum entero
CONDICIONES
Informacin Variables Resultado
Restringe para los 10 primeros Num<=10 Repite hasta que llegue a 10.
nmeros
ACUMULADORES
Acumula la suma de los nmeros Sum = sum + num
naturales
CONTADORES
Genera el siguiente nmero Num = num + 1
natural
Cerrar
Inicio
Declarar
Diagrama de Flujo
num,sum:entero
num=1
sum=0
no
num<=10
si Escribir
sum = sum + num sum
Prof. Ing. Miguel Segura Rojas
num = num + 1 Fin
Universidad Csar
Algoritmos 45
Vallejo
Pseudocodigo
Variables:
num, sum : entero
Inicio
num = 1
sum = 0
Mientras (num<=10)
sum = sum + num
num = num + 1
Fin_Mientras
Escribir num
Fin
Diagrama N - S
Inicio
num=1
Sum=0
Mientras (num<=10)
Sum = sum +num
Num = num + 1
Prof. Ing. Miguel Segura Rojas
Escribir sum
Fin
Universidad Csar
Algoritmos 46
Vallejo
Cuando se encuentre frente a ejercicios de estructura repetitiva Hacer Mientras , deber seguir los
siguientes pasos:
1er PASO:
- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los acumuladores y contadores, para ello
deber seguir el siguiente cuadro:
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
CONDICIONES
Informacin Variables Resultado
ACUMULADORES
CONTADORES
- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.
2do PASO:
- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.
Ejemplo
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Nmeros naturales Num Entero
Suma de nmeros naturales Sum entero
CONDICIONES
Informacin Variables Resultado
Restringe para los 10 primeros Num<=10 Repite hasta que llegue a 10.
nmeros
ACUMULADORES
Acumula la suma de los nmeros Sum = sum + num
naturales
CONTADORES
Genera el siguiente nmero Num = num + 1
natural
Cerrar
Inicio
Declarar
num,sum:entero
Diagrama de Flujo
num=1
sum=0
num = num + 1
SI
num<=10
NO
Escribir
sum
Prof. Ing. Miguel Segura Rojas
Fin
Universidad Csar
Algoritmos 48
Vallejo
Pseudocodigo
Variables:
num, sum : entero
Inicio
num = 1
sum = 0
Hacer
sum = sum + num
num = num + 1
Mientras (num<=10)
Escribir num
Fin
Diagrama N - S
Inicio
num=1
Sum=0
Sum = sum +num
Num = num + 1
Mientras (num<=10)
Prof. Ing. Miguel Segura Rojas
Escribir sum
Fin
Universidad Csar
Algoritmos 49
Vallejo
Cuando se encuentre frente a ejercicios de estructura repetitiva para, deber seguir los siguientes pasos:
1er PASO:
- Ac deber sacar todos los datos del problema ya sean los de entrada como los de salida, adems de
todas las condiciones que tenga el problema y por ltimo los acumuladores, para ello deber seguir el
siguiente cuadro:
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
CONDICIONES
Informacin Variables Resultado
ACUMULADORES
- Si en caso fuera muy difcil la ubicacin de los datos para el llenado del cuadro anterior podr utilizar
la tcnica de diagramar un formulario, imaginando por anticipado como se ver la presentacin del
programa en el monitor de una computadora.
2do PASO:
- Disear el proceso del problema, esto podr realizarse con las siguientes herramientas: Diagrama de
Flujo, Pseudocodigo o N-S.
DATOS DE ENTRADA
Informacin Variables Tipo de Variable
DATOS DE SALIDA
Informacin Variables Tipo de Variable
Cerrar
Diagrama de Flujo
Inicio
Declarar
num,sum:entero
num=1
sum=0
Escribir
sum
Fin
Si se tiene dos nmeros se le tiene que sacar el residuo de la divisin entre los
mismos, despus si el residuo no es cero, el numero que estaba como divisor pasa a
ser dividendo y el residuo pasa a ser divisor, todo esto se repetir mientras que el
residuo no sea cero (0).
Ejemplo
N1 N2 Residuo
30 8 6
8 6 2
6 2 0
Trujillo Chimbote
15) Un programa que permita ingresar un numero y mostrar el termino que corresponda
a dicha posicin en la serie: -1/2, 1, -3/2, 2....... por ejem. Si ingresa 4 deber
mostrar 4/2.
16) Escribir los n primeros trminos de la serie fibonacci
0,1,1,2,3,5,8,13
17) Ingresar una posicin e imprimir el numero que pertenece en la serie
0,1,1,2,3,5,8,13
por ejemplo si ingresa 6 deber imprimir 5.
18) Hallar la tabla de multiplicar del 1 al 12.
19) Realiza la simplificacin de una fraccin. Por ejemplo si se ingresa 14/32 se
devolver 7/16
20) Encontrar si un numero es capicua o no
21) Un numero es perfecto cuando la suma de sus divisores es igual al nmero. Por
ejemplo 6 es perfecto ya que la suma de sus divisores 1+2+3 es igual a 6, otro
ejemplo es 28 sus divisores 1+2+4+7+14
22) Un numero es cubo perfecto cuando la suma de los cubos de sus dgitos da el mismo
numero. Por ejemplo 153 es cubo perfecto ya que 1 3 + 53 + 33 = 153. Ingresar un
numero y responder si es cubo perfecto o no.
23) Hallar el Mnimo Comn Mltiplo de 2 nmeros
24) Determine cuntos dgitos tiene un nmero ingresado.
25) Lea un numero entero y decir cual es el dgito mayor
26) Lea un numero entero y decir cual es el dgito menor
27) Lea un numero entero y que reporte cual digito es el mayor y cual el menor
PROCEDIMIENTOS Y FUNCIONES
Ejemplo de un procedimiento
Facto(a)
Inicio
Dec
Dec f,i
num
f=1
Leer
num
i=1, i<=a, i++
Facto(num)
f=f*i
Fin
Escribir
f
Fin
- En el programa principal o sea dentro del MAIN( ), solo tendr los ingresos, el
procedimiento desarrollar el cuerpo del problema y mostrar los resultados.
- Los argumentos de un procedimiento deber contener la misma cantidad de datos
ingresados. Por ejemplo en el factorial FACTO tiene un solo argumento que es el
nmero a quien se le sacara el factorial, si se hubiese ingresado dos nmeros el
procedimiento debera haber tenido dos argumentos.
Inicio facto(a)
Declarar Declarar
num,f:entero f,i : entero
Leer f=1
num
i=1; i<=a,i++
f = facto(num)
Escribir f=f*i
f
Fin
return f
Fin
- En el programa principal o sea dentro del MAIN( ), tendr los ingresos y mostrar
los resultados, la funcin desarrollar el cuerpo del problema.
ARRAYS
Son conjuntos de datos del mismo tipo, por ejemplo el conjuntos de nombres de
personas ser un array del tipo CHAR, el conjunto de notas de alumnos ser un array
del tipo INT. Los arrays se manejan por ndices por lo general el ndice comienza con
cero (0),
Por ejemplo si queremos un array de notas de 5 elementos lo tendremos que declarar de
la siguiente manera:
Notas [4] : Entero Inicio
Si queremos un array de nombres de 10
elementos lo tendremos que declarar
de la siguiente Declarar manera:
Nombres[9][60]
El 9 indica el nombres[4][60]: char numero de
elementos.....el 60 i : entero indica la cantidad de
caracteres que contendr cada nombre
por ejemplo Juan tiene 5 caracteres.
Escritura y
i=0,i<=4,i++ lectura de un Array
i=0,i<=4,i++
Escribir
nombres[i]
Tome que cada ndice de la matriz es una variable y cuando quiere referirse a ella
deber tomar en cuenta su indice por ejemplo cuando quiero leer lo que contiene el
elemento 3, tendr que colocar Nombres [2], mas aun si quiere que dicho valor del
elemento tres asignarlo a una variable tendr que hacer lo siguiente:
Nombre = nombres[2]
(Ac se esta asignando el contenido del elemento 3 a la variable Nombre, para el
ejemplo la variable ser igual a Jos)
Ejemplo
Llenar un array con 20 notas. Simular las notas con la funcin rand( ). Adems se debe
reportar si el alumno estuvo aprobado o desaprobado. A un alumno se le considera
aprobado si su nota es mayor o igual a 13.
Inicio
Dec
i, notas[19]: Entero
randomize()
i=0,i<=19,i++
notas[i]=rand()%21
i=0,i<=19,i++
notas[i]>=13
Escribir Escribir
notas[i] "Aprobado" notas[i] "Aprobado"
Fin