Post on 06-Aug-2015
EJEMPLOS DE ALGORITMOS – Prof. Nayibe Ruíz Chagüi
1. Cierta universidad para liquidar el pago de matrícula de un estudiante le exige los siguientes datos:
Número de inscripción, Nombres, Patrimonio y Estrato social. La universidad cobra un valor fijo a cada
estudiante de $1‟500.000. Si el patrimonio es mayor de $2‟000.000 y el estrato superior a 4, se le incrementa la
matrícula en un 3% sobre el patrimonio. Hacer un algoritmo que muestre: Número de inscripción, Nombres,
nuevo valor de la matrícula.
ANALISIS – Modelaje
CONSTANTES
IDENTIFICADOR TIPO VALOR DESCRIPCION
PAGMAT flotante 1500000 ó 15E5 Valor inicial de la matricula
ENTRADA
IDENTIFICADOR TIPO DESCRIPCION
ni Entero Numero de inscripción
nom String o Cadena Nombre del estudiante
pat flotante Patrimonio
e Entero Estrato Social
PROCESO
Comparar pat y e. Calcular el nuevo valor de la matricula NMAT (Flotante) teniendo en cuenta el incremento.
SALIDA
ni, nom, NMAT, Mensaje
Diagrama de Flujo Pseudocódigo
INICIO
PAGMAT=1500000
“Teclee número de inscripción,
nombre, patrimonio y estrato
social del estudiante”
ni, nom, pat, e
pat > 2000000
AND e>4NO SI
NMAT = PAGMAT + pat* 0.03
FIN
NMAT = PAGMAT
“Estudiante con N° de
inscripción: ”, ni, “ y nombre: ”,
nom, “ debe pagar $”, NMAT
1. INICIO
2. PAGMAT= 1500000
3. IMPRIMIR “Teclee Número de inscripción, nombres,
patrimonio y estrato social del estudiante”
4. LEA ni, nom, pat, e
5. SI (pat>2000000 AND e>4) ENTONCES
NMAT=PAGMAT+ pat * 0.03
SINO NMAT=PAGMAT
FIN SI
6. IMPRIMIR “Estudiante con N° de inscripción: ”, ni, “
y nombre: ”, nom, “ debe pagar $”, NMAT
7. FIN
2. Pedir los tres lados de un triangulo. Imprimir si es isósceles, escaleno o equilátero. Asuma que se puede
construir el triangulo.
ANALISIS – Modelaje
ENTRADA
IDENTIFICADOR TIPO DESCRIPCION
L1, L2, L3 flotantes Lados del triangulo
PROCESO
Comparar L1, L2 y L3 entre sí.
SALIDA
Mensaje
Diagrama de Flujo Pseudocódigo
INICIO
“Teclee los tres lados de un
triangulo”
L1, L2, L3
L1!=L2 AND
L1!=L3 AND
L2!=L3
NO SI
“Triangulo
Escaleno”L1=L2 AND L1=L3NO SI
“Triangulo
Isosceles”
“Triangulo
Equilatero”
FIN
1. INICIO
2. IMPRIMIR “Teclee los tres lados de un triangulo”
3. LEA L1, L2, L3
5. SI (L1!=L2 AND L1!=L3 AND L2!=L3) ENTONCES
IMPRIMIR “Triangulo Escaleno”
SINO SI (L1=L2 AND L1=L3)
IMPRIMIR “Triangulo Equilátero”
SINO IMPRIMIR “Triangulo Isósceles”
FIN SI
FINSI
6. FIN
EJERCICIO RESUELTO
Se busca un entrenador para el nuevo gimnasio de
la Universidad, para ello se realiza un test de
calificación. Si el candidato tiene una altura por
debajo o igual a 1,60 mts, se califica con 2 puntos,
si mide más de 1,60 y menos de 1,80, se califica
con 5 puntos, si tiene una altura superior o igual a
1,80 se le califica con 10 puntos. Si tiene menos de
3 años de experiencia como instructor se le dan 5
puntos, de lo contrario se le dan 7 puntos. Si el
subtotal de puntos asignados (por la altura y la
experiencia) es inferior o igual a 7 puntos se le
asignan 2 puntos adicionales, si es superior a 7
puntos e inferior a 10 puntos, se le asignan 4
puntos adicionales, de lo contrario se le asignan 6
puntos. El programa debe imprimir por pantalla el
total de puntos obtenidos por el aspirante.
ANALISIS
ENTRADA
Identificador Tipo Descripción
A
E
flotante
Entero
Altura del aspirante
Años de experiencia
PROCESO
- Comparar A con los rangos y dependiendo de
los valores se asignan los puntos por altura (Pa)
de tipo entero.
- Comparar E con los rangos y dependiendo de los
valores se asignan los puntos por experiencia
(Pe) de tipo entero.
- Se suman los dos puntajes, para hallar el total
de puntos en (Tp) de tipo entero.
- Se compara Tp con los rangos y se hacen los
respectivos incrementos.
SALIDA
Mensaje
Tp
Diagrama de Flujo
INICIO
“Digite la altura y años de
experiencia”
A,E
A<=1.60NO SI
A<1.80NO SIPa = 2
Pa=5Pa=10
E<3NO SI
Pe=5Pe=7
Tp= Pa + Pe
Tp <= 7NO SI
Tp < 10NO SITp = Tp + 2
Tp = Tp + 4Tp = Tp + 6
“El puntaje del aspirante es ”,
Tp, ” puntos”
FIN
Pseudocódigo INICIO Imprimir “Digite la altura y años de experiencia del entrenador” Lea A, E Si (A<=1.60) entonces Pa=2 Sino Si (A<1.80) entonces Pa=5 Sino Pa=10 Finsi Finsi Si (E<3) entonces Pe=5 Sino Pe=7 Finsi Tp=Pa+Pe; Si (Tp<7) entonces Tp=Tp+2; Sino Si (Tp<10) entonces Tp=Tp+4 Sino Tp=Tp+6 Finsi Finsi Imprimir "El puntaje del aspirante es ",Tp," puntos" FIN
Programa en C++ #include<iostream.h>
int main() { short E, Pa, Pe, Tp; float A; cout<<"Digite la altura y años de experiencia del entrenador: "; cin>>A>>E; //Empieza el primer condicional de selección múltiple if(A<=1.60) Pa=2; else if(A<1.80) Pa=5; else Pa=10; //Condicional simple if(E<3) Pe=5; else Pe=7; //Se totalizan los puntos obtenidos por altura y experiencia Tp=Pa+Pe; if(Tp<7) Tp+=2;//Operador de asignación compuesta Tp=Tp+2 else if(Tp<10) Tp+=4; else Tp+=6;
cout<<"El puntaje del aspirante es "<<Tp<<" puntos"; system(“pause”); }
EJERCICIOS PROPUESTOS
1. Pedir tres números enteros e imprimirlos en orden
descendente. 2. Pedir los tres coeficientes de una ecuación
cuadrática, de la forma aX2+bX+C=0 e imprimir las
posibles soluciones, real y en caso de ser imaginaria un mensaje.
3. Dados dos números y un signo, imprimir la respectiva operación entre dichos números y su
resultado. En caso de dar un signo erróneo, debe sacar un mensaje. Las operaciones permitidas son
suma (+), resta (-), multiplicación (*) y división (/).
Ejemplo.
Dada la siguiente entrada de datos: 5, 3, „+‟.
El programa debe sacar en pantalla 5 + 3 = 8
Si la entrada es 8, 3, „?‟. El programa debe sacar el mensaje “Carácter incorrecto”
4. Dado el siguiente pseudocódigo, decir cuál será la
salida y realizar el diagrama de flujo
correspondiente.
1. INICIO 2. A= 5, B=3
3. si (A> B) entonces
A= A*2 sino B=B*2
finsi 4. T = A+B
5. si (T>8) entonces Imprimir “El valor es “, B
sino Imprimir “El valor es “, A
finsi 6. FIN
5. Pedir un número entero e imprimir si es múltiplo de
3 y 5 simultáneamente. Ejemplo 15, 45. Pero 9 no
cumple ya que es solo múltiplo de 3 pero no de 5.
Si una persona es
perseverante, aunque sea
dura de entendimiento, se
hará inteligente; y aunque
sea débil se transformará en
fuerte”
Leonardo Da Vinci.