INTRODUCCION A LA COMPUTACIÓN – 2014

Anuncio
INTRODUCCION A LA COMPUTACIÓN – 2014
Licenciatura y Profesorado en Ciencias de la Computación
Práctico Nº 5: Lenguaje de Diseño de Algoritmos - Repetición
Importante: En todos los casos que se pida el desarrollo de un algoritmo esto implica:

Especificar el ambiente del algoritmo.

Para verificar el funcionamiento de los algoritmos desarrollados ejecútelos con al menos dos grupos de datos de entrada.

Use la estructura de selección y de repetición que considere más conveniente, luego justifique.
Responda las siguientes preguntas teóricas:
[1]
[2]
Construya el diagrama de flujo correspondiente a la estructura de control de repetición Mientras y
explique su funcionamiento.
¿Cuántas veces se ejecutará el cuerpo de la siguiente repetición?
i <- 1;
j <- 0;
Mientras i <= 10 Hacer
j <- j + 1;
i <- i + 2;
FinMientras
[3]
[4]
[5]
¿Cuál es el número mínimo de veces que se evalúa la condición en una estructura de control de
repetición Mientras?
Construya el diagrama de flujo de la estructura de control Repetir y explique su funcionamiento.
¿Cuántas veces se ejecutará el cuerpo de la siguiente repetición?
Repetir
Leer cantidad;
Hasta Que cantidad > 0
[6]
Explique cómo funciona la estructura de control Para … FinPara, empleado como ayuda el siguiente
código:
Para i <- 1 Hasta 3 Con Paso 2 Hacer
Escribir "HOLA MUNDO";
FinPara
Ejercicio 1: Dado el siguiente algoritmo, ejecútelo con los siguientes datos de entrada: 7 y -5
Proceso Algoritmo1
Definir n, i, j Como Entero;
Leer n;
i <- 1;
j <- 0;
Mientras i <= n Hacer
Si i % 3=0 Entonces
j <- j + 1;
FinSi
i <- i + 1;
FinMientras
Escribir j;
FinProceso
A partir del análisis del código ¿puede inferir que hace el Proceso Algoritmo1?
Ejercicio 2: Dado el siguiente algoritmo, construya la tabla de ejecución y ejecútelo con los siguientes datos
de entrada: 5 9 -4 3 0 8 1 -4
Proceso Algoritmo2
Definir suma, x Como Entero;
Escribir “Para salir ingrese 0”;
suma <- 0;
Leer x;
Repetir
Si x <> 0 Entonces
suma <- suma + x;
Leer x;
FinSi
Hasta Que x = 0
Escribir suma;
FinProceso
Ejercicio 3: Dado el siguiente algoritmo, ejecútelo con el siguiente dato de entrada: 20
Proceso Algoritmo3
Definir n, i Como Entero;
Leer n;
Para i <- n Hasta 1 Con Paso -2 Hacer
Si i % 3=0 Entonces
Escribir i;
FinSi
FinPara
FinProceso
Ejercicio 4: Dado el siguiente algoritmo:
Proceso Tarea
Definir area, radio Como Real ;
Definir finalizar Como Caracter ;
Repetir
Escribir “Ingrese radio” ;
Leer radio ;
area <- 3.14159 * radio ˆ 2;
Escribir “El área es: ” area;
Escribir “Desea calcular otra área: ”;
Leer finalizar;
Hasta Que finalizar = “N” | finalizar = “n”
FinProceso
Se pide:
 Indicar qué realiza el algoritmo.
 Ejecutarlo con la siguiente secuencia de datos de entrada:
7.10 Y 2.29 K 1.15 n
Ejercicio 5: Desarrollar los algoritmos en Lenguaje de Diseño correspondientes a los siguientes problemas:
a) Dadas 30 letras ingresadas por el usuario, mostrar por pantalla el porcentaje de vocales. Resuelva este
problema utilizando la estructura de repetición Mientras y luego utilizando la estructura de repetición
Para.
b) Se ingresan los sueldos de 180 empleados, mostrar por pantalla cuántos empleados ganan más de $7200.
c) Dados 1000 caracteres ingresados por el usuario, mostrar por pantalla la cantidad de mayúsculas, la
cantidad de minúsculas y la cantidad de dígitos ingresados.
d) Determine si un número introducido por teclado es o no perfecto. Un número se dice que es perfecto
cuando es igual a la suma de todos sus divisores (incluido el 1) excluido él mismo. Por ejemplo,
28=1+2+4+7+14, luego es un número perfecto
Ejercicio 6: Escribir un algoritmo que pida un número (n) y dos límites (i y s) y muestre la tabla de
multiplicar correspondiente al número n entre i y s (n, i y s son números enteros positivos). Por ejemplo, si el
n ingresado es 3 e i y s son 4 y 14 respectivamente, se deberá mostrar el resultado de: 3*4, 3*5, 3*6,…,
3*14. Mostrar, además, cuántos de los elementos de esta tabla de multiplicar son impares.
Ejercicio 7: Escriba un algoritmo en Lenguaje de Diseño que extraiga el valor mínimo y máximo de una
secuencia de M números ingresada por el usuario.
Ejercicio 8: Ejecute el siguiente algoritmo con diferentes números (por ejemplo: -1, 5, 2569 y 569712) y
especifique qué hace.
Proceso Cuántos
Definir
N, C Como Entero;
C <- 0;
Leer N;
Mientras N >= 10 Hacer
N <- N / 10;
C <- C + 1;
FinMientras
C <- C + 1;
Escribir “la cantidad es: ” C
FinProceso
Ejercicio 9: Escribir un algoritmo en Lenguaje de Diseño que implemente una calculadora que realice las
operaciones según la opción del usuario: op1 = sumar, op2 = restar, op3 = multiplicar, op4 = dividir. El
algoritmo debe solicitar al usuario: la opción de la operación deseada, los valores de los operandos (que
involucra hacer los controles necesarios sobre éstos para evitar errores en el cálculo de la operación) y luego
de mostrar el resultado por pantalla solicitar una opción adicional para indicar si se desea realizar otro
cálculo o no.
Ejercicio 10: Escribir un algoritmo en Lenguaje de Diseño que para una cierta cantidad de usuarios C, el
mismo debe solicitar a cada usuario la edad para discriminar el costo de la entrada al cine y los posibles
descuentos de la siguiente forma: para menores de 5 años el costo de la entrada es de $20, para los niños
entre 5 y 12 años el costo de la entrada es de $25, para los mayores de 12 años el costo de la entrada es el
costo general de $40 y finalmente para los mayores de 60 años se hace un descuento especial del 15% del
costo de entrada general. Calcular la ganancia de las entradas y mostrarla por pantalla.
Ejercicio 11: Un colegio ha solicitado a una encuestadora, estadísticas sobre el conocimiento general de los
alumnos. Para ello la encuestadora debe llamar telefónicamente a 1500 alumnos y realizarle a cada uno 10
preguntas de temas generales. El departamento de sistemas de la encuestadora diseñó un algoritmo para
llevar a cabo esta tarea, el cual funciona de la siguiente manera:
 El empleado de la encuestadora llama a cada alumno, al cual se le efectúa el cuestionario de 10
preguntas una por una. Por cada respuesta que emite el alumno, el empleado ingresa un
VERDADERO si el alumno respondió correctamente ó FALSO si la respuesta fue incorrecta.
 El algoritmo contabiliza la cantidad de aciertos que tuvo ese alumno, muestra esa cantidad por
pantalla y acumula esa cantidad.
 Para finalizar, el algoritmo muestra la cantidad de respuestas correctas que emitieron todos los
alumnos encuestados (cantidad acumulada).
¿Cómo escribiría este algoritmo en Lenguaje de Diseño?
Ejercicio 12: Una compañía telefónica cobra las llamadas de forma diferenciada utilizando una política
peculiar. Los primeros minutos siempre son más caros que los siguientes, de acuerdo al siguiente criterio:
- Los primeros 10 minutos - $2 por minuto
- Luego de pasados los 10 minutos, $1 el minuto.
Escriba un algoritmo que permita calcular el total de la boleta telefónica de 10 clientes. No se sabe cuántas
llamadas realizó cada cliente, pero sí se conoce la duración de cada llamada efectuada.
Por ejemplo, si un cliente efectuó 5 llamadas, con duración 4, 16, 40, 5, 20, el total de la boleta debería ser
124, pues es el resultado de sumar el costo de las 5 llamadas que se hicieron:
8 + 26 + 50 + 10 + 30.
Determine el modo más apropiado de indicar la finalización de la entrada de datos.
Descargar