Ejemplos de Algoritmos

4
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 $1500.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>4 NO 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

Transcript of Ejemplos de Algoritmos

Page 1: Ejemplos de Algoritmos

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

Page 2: Ejemplos de Algoritmos

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

Page 3: Ejemplos de Algoritmos

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

Page 4: Ejemplos de Algoritmos

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.