Algunos_ejemplos

Anuncio
ALGUNOS EJEMPLOS
Estructuras condicionales
Ejemplo 1
Se tienen tres esferas (A, B, C) de diferente peso, elaborar un algoritmo que determine cuál es
la esfera de mayor peso.
Diagrama de flujo
Pseudocódigo
Algoritmo esferas
real: A,B,C;
INICIO
ESCRIBA(“Digite el peso de la primera esfera: ”);
LEA(A);
ESCRIBA(“Digite el peso de la segunda esfera: ”);
LEA(B);
ESCRIBA(“Digite el peso de la tercera esfera: ”);
LEA(C);
SI (A > B) ENTONCES
SI (A > C) ENTONCES
ESCRIBA(“La esfera más pesada es la primera”);
SINO
ESCRIBA(“La esfera más pesada es la tercera”);
FIN_SI
SINO
SI (B > C) ENTONCES
ESCRIBA(“La esfera más pesada es la segunda”);
SINO
ESCRIBA(“La esfera más pesada es la tercera”);
FIN_SI
FIN_SI
FIN
Fin(esferas)
Tarea: Realizar la codificación en C de este algoritmo.
Ejercicios sobre estructuras condicionales
1. Pulir el ejercicio anterior.
2. Hacer un algoritmo que determine cuál es el mayor de un grupo de 4 números diferentes.
3. Hacer un algoritmo que determine la suma del valor mayor y menor en un grupo de 4
datos.
4. Un almacén de escritorios hace los siguientes descuentos: Si el cliente compra menos de 5
unidades se le da un descuento del 10% sobre la compra; si el número de unidades es
mayor o igual a cinco pero menos que 10 se le otorga un 20% y, si son 10 o más se le da un
40%. Hacer un algoritmo que determine cuanto debe pagar un cliente si el valor de cada
escritorio es de $800000.
5. Cierta universidad tiene un programa para estimular a los estudiantes con un buen
promedio académico. Si el promedio es de 4.5 o más y el alumno es de pregrado, entonces
cursara 28 créditos y se le hará un 25% de descuento. Si el promedio es mayor o igual a 4.0
pero menor que 4.5 y el alumno es de pregrado, entonces cursara 25 créditos y se le hará
un 10% de descuento. Si el promedio es mayor que 3.5 menor que 4.0 y es de pregrado,
cursara 20 créditos y no tendrá ningún descuento. Si el promedio es mayor o igual a 2.5 y
menor que 3.5 y es de pregrado, cursara 15 créditos y no tendrá ningún descuento. Si el
promedio es menor de 2.5 y es de pregrado, no podrá matricularse. Si el promedio es
mayor o igual a 4.5 y es de postgrado, cursara 20 créditos y se le hará un 20% de
descuento. Si el promedio es menor de 4.5 y es de postgrado cursara 10 créditos y no
tendrá descuento.
Hacer un algoritmo que determine cuanto deberá pagar el estudiante y cuantos créditos
registrara si el valor de cada crédito es de $50000 para el pregrado y $300000 para el
postgrado.
Estructuras repetitivas
Ciclo Mientras


¿Cómo funciona?
Hablar por encima de este (PseudoCodigo, Diagrama de flujo, C).
Ejemplo 2
Hacer un algoritmo que vaya incrementando una variable que empieza en cero y termina en 9
mostrando cada incremento.
Algoritmo incremento
entero: i  0;
INICIO
MIENTRAS (i<10) HAGA
i  i + 1;
ESCRIBA(“i va en”,i);
FIN_MIENTRAS
FIN
Fin(incremento)
Tarea: Realizar la codificación en C.
Variables tipo contador
La variable i es un ejemplo de este tipo de variables. El contador es una variable que se
incrementa o disminuye en un valor constante cada que ocurre una acción o suceso. Un
contador tiene la siguiente forma:
contador = contador + <valor constante>
Ejemplos:
i = i + 1;
j = j – 3;
Ejemplo 3
Modifique el ejemplo 1 de tal manera que se realice la suma de los 10 primeros números,
muestre el resultado parcial de la suma y al final muestre el resultado.
Pseudocódigo
Algoritmo acumulador
entero: i  0, suma  0;
INICIO
MIENTRAS (i<10) HAGA
i  i + 1;
suma  suma + i;
ESCRIBA(“En la iteración ”,i,” el valor de la suma va en ”,suma);
FIN_MIENTRAS
ESCRIBA(“El valor de la suma de los 10 primeros numeros”,suma);
FIN
Fin(acumulador)
Preguntas:
 ¿Qué sucede si se cambia el orden de las expresiones i  i + 1 con suma  suma + i?, ¿El
resultado a la salida es el mismo?, ¿Qué se puede hacer para lograr que e reultado sea el
optimo?
Tarea: Realizar la codificación en C del ejemplo anterior
Variables tipo acumulador
La variable suma en el ejemplo anterior es un ejemplo típico de un acumulador. Un
acumulador o totalizador es un variable cuya misión es almacenar cantidades variables
resultantes de procesos sucesivos. La diferencia con el contador radica en el incremento o
disminución de cada suma es variable en lugar de constante, como en el caso del contador. La
forma general de un acumulador es la siguiente:
acumulador = acumulador + <expresión>
Ejemplos:
acum = acum + i;
suma = suma + algo;
resta = resta – algo;
Ciclo Para (For)


¿Cómo funciona?
Hablar por encima de este (PseudoCodigo, Diagrama de flujo, C).
Un ciclo for es como un ciclo mientras solo que a diferencia de este, el ciclo para maneja la
inicialización e incremento de manera automática.
Ejemplo 4
Hacer el ejemplo 3 usando el ciclo para.
Ejemplo 5
Hacer el ejemplo 4 usando el ciclo para.
Ejercicios
Los del libro de Efraín Oviedo sobre estructuras repetitivas.
Descargar