3314419 Cisco Ccna1 Version 4 Examenes

38
Tecnologías de Información (TIC) Introducción a la programación MODULO O1: INTRODUCCIÓN AL DESARROLLO DE ALGORITMOS ELABORADO POR PROFESORA: Ing. Gloriana Peña Ramírez I, Cuatrimestre 2013

Transcript of 3314419 Cisco Ccna1 Version 4 Examenes

Page 1: 3314419 Cisco Ccna1 Version 4 Examenes

Tecnologías de Información (TIC)

Introducción a la programación

MODULO O1:

IINNTTRROODDUUCCCCIIÓÓNN AALL DDEESSAARRRROOLLLLOO DDEE AALLGGOORRIITTMMOOSS

ELABORADO POR PROFESORA:

Ing. Gloriana Peña Ramírez

I, Cuatrimestre 2013

Page 2: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

2

CONTENIDO

Introducción 3 Introducción al desarrollo de algoritmos 4

Concepto de algoritmo 4 Características de un algoritmo 4 Fases para la resolución de un problema informático

Definición del problema 4 Análisis del problema 4 Diseño de la solución 5 Codificación 5 Compilación y ejecución 5 Verificación y pruebas 5 Depuración 5 Documentación 5 Capacitación 5 Implantación o implementación del sistema 6 Mantenimiento 6

Componentes de un algoritmo Tipos de datos 6 Constantes 6 Expresiones 7 Operadores aritméticos 7 Operadores relacionales 7 Operadores lógicos 8 Prioridad de operadores 8 Sentencias de asignación 9 Identificadores 9 Variables 9

Pseudocódigo 10 Ejemplo del uso del pseudocódigo 10

Diagramas de flujo Características y ventajas del diagrama de flujo 10 Reglas para dibujar un diagrama de flujo 11 ¿Qué es DFD? 11 Objetos en DFD 12

Ejemplos y práctica de diagramas de flujos secuenciales 15 La estructura de selección if 19 La estructura de selección if/else 19 Las estructuras if/else anidadas 20 Ejemplos y práctica de diagramas de flujos con estructuras de selección

if, if/else, if/else anidadas 21 La estructura de repetición while 24 La estructura de repetición for 25 La estructura de repetición do/while 29 Ejemplos y práctica de diagramas de flujo compuestos 30 Ejercicios extras de diagramas de flujos 36 Bibliografía 38

Page 3: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

3

MÓDULO I: INTRODUCCIÓN AL DESARROLLO DE ALGORITMOS ALGORITMO

Un algoritmo es un método para resolver un problema, debe presentarse como una secuencia ordenada de instrucciones que siempre se ejecutan en un tiempo finito y con una cantidad de esfuerzo también finito. En un algoritmo siempre debe haber un punto de inicio y un punto de terminación, estos deben ser únicos y deben ser fácilmente identificables. Características de un algoritmo Todo algoritmo debe cumplir las siguientes características: Debe ser Preciso; Esto es, debe especificar sin ambigüedad el orden en que se deben ejecutar las instrucciones. Debe estar Definido; Esto es, cada vez que se ejecute bajo las mismas condiciones, la secuencia de ejecución deberá ser la misma proporcionándonos el mismo resultado. Debe ser Finito; Esto es, siempre que sea adecuado se realizarán un número finito de instrucciones, en un tiempo finito y requiriendo una cantidad finita de esfuerzo. Fases para la resolución de un problema informático 1. Definición del problema

Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle. 2. Análisis del problema

El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria. Para poder definir con precisión el problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con detalles.

Entrada, son todos los datos que hay que ingresar para la resolución del problema. Proceso, son los diferentes procedimientos en los cuales usara los datos proporcionados por

el usuario en el paso anterior para resolver el problema. Salida, la resolución del problema.

Una buena definición del problema, junto con una descripción detallada de las

especificaciones de entrada y salida, son los requisitos más importantes para llegar a una solución eficaz.

El análisis del problema exige una lectura previa del problema a fin de obtener una idea general de lo que se solicita. La segunda lectura deberá servir para responder a las preguntas: ¿Qué información debe proporcionar la resolución del problema? ¿Qué datos se necesitan para resolver el problema?

La respuesta a la primera pregunta indicara los resultados deseados o las salidas del problema. La respuesta a la segunda pregunta indicara que datos proporcionan o las entradas del problema. En esta fase debemos aprender a analizar la documentación de la empresa, investigar, observar todo lo que rodea el problema.

Page 4: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

4

3. Diseño de la solución Una computadora no tiene la capacidad para solucionar más que cuanto se le

proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo. La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida. Los problemas complejos se pueden resolver más eficazmente con la computadora cuando se rompen en sub-problemas que sean más fáciles de solucionar que el original. La descomposición del problema original en sub-problemas más simples y a continuación dividir estos sub-problemas en otros más simples que puedan ser implementados para su solución en la computadora de denomina diseño descendente (top - down design). Es preciso representar el algoritmo mediante una determinada herramienta de programación: diagramas de flujo o pseudocódigo. 4. Codificación

Es el algoritmo traspasado a la computadora a través de un lenguaje de programación, debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del mismo. Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje de programación se le llama código fuente. 5. Compilación y ejecución

Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código fuente.

Ejecución, ejecutar el programa después del ser compilado. 6. Verificación y pruebas

Revisar que el programa de los resultados que el usuario quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica o ejecución. 7. Depuración

Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere. 8. Documentación

Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la solución.

a. documentación interna, es el encabezado, descripción, declaración del problema, son todos los comentarios que puedan llegar a servir dentro del código fuente.

b. documentación externa, son los manuales que se hacen para una mejor ejecución del programa, ahí se explicara cómo usar el programa.

9. Capacitación

Una vez que tenemos lo manuales viene la capacitación de usuarios, como no a todos les interesa los mismo porque hay diferentes tipos de usuarios, se tienen que dividir de acuerdo a sus conveniencias.

Page 5: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

5

10. Implantación o implementación del sistema Hay diferentes formas de implementar el sistema:

Depende del tamaño del sistema. Si existiera un sistema se tiene que poner el nuevo y quitar el que ya estaba. Trabajar primero con el sistema viejo (si existe), y después empezar a trabajar con el nuevo. Sistemas implantados por regiones. Trabajar con el sistema viejo (si existe) y con el sistema nuevo simultáneamente después quitar el sistema viejo. Ir quitando el sistema viejo (si existe) poco a poco e ir implantando el sistema nuevo. 11. Mantenimiento

El mantenimiento preventivo es que hagamos lo posible por no caer en errores, la actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los pasos anteriores revisando que todas la condiciones sean favorables alrededor del sistema. COMPONENTES DE UN ALGORITMO Tipos de datos

El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.

Entero: Subconjunto finito de los números enteros, cuyo rango o tamaño dependerá del lenguaje en el que posteriormente se codifique el algoritmo y de la computadora.

Real: Subconjunto de los números reales limitado no sólo en cuanto al tamaño, sino también en cuanto a la precisión. Lógico: Conjunto formado por los valores Verdadero y Falso.

Carácter: Conjunto finito y ordenado de los caracteres que la computadora reconoce.

Cadena: Los datos (objetos) de este tipo, contendrán una serie finita de caracteres, que podrán ser directamente traídos o enviados a/desde consola

Los tipos: entero, real, lógico, carácter y cadena, son tipo predefinidos en la mayoría de los

lenguajes de programación. Constantes

Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

Se puede hacer una división de las constantes en dos clases: constantes literales (sin nombre) constantes declaradas (con nombre)

Page 6: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

6

Constantes declaradas con nombre Las constantes simbólicas o con nombre, se identifican por su nombre y el valor asignado. Ejemplos: Ejemplo:

Pi = 3.141592 Min = 0 Max = 99 Saludo = “Hola”;

Constantes Literales Una constante literal es un valor de cualquier tipo que se utiliza como tal.

• Numéricas enteras:

En el rango de los enteros. Compuestas por el signo (+, -), seguido por una serie de dígitos (0..9).

Ej.: Cont Cont + 1

• Numéricas reales: Compuestas por el signo (+, -), seguido por una serie de dígitos (0..9) y un punto decimal (.).

Ej.: Cont Cont + 5.351 • Lógicas: Sólo existen dos constantes lógicas: verdadero y falsa

Ej.: Bandera Verdadero • Carácter:

Cualquier carácter del juego de caracteres utilizado, colocado entre comillas simples o apóstrofes. Los caracteres que reconoce la computadora son: dígitos, caracteres alfabéticos, tanto mayúsculas como minúsculas, y caracteres especiales.

Ej.: Letra ‘C’

• Cadena: Serie de caracteres válidos, encerrados entre comillas simples o apóstrofes.

Ej.: Nombre ‘Carolina’ Expresiones Una expresión es una combinación de operadores y operandos. Los operandos podrán ser constantes, variables y otras expresiones y los operadores de cadena, aritméticos, relacionales o lógicos.

Expresiones Numéricas Los operandos que intervienen en ellas son numéricos, el resultado es también de tipo numérico y se construyen mediante los operadores aritméticos. Se pueden considerar análogas a las fórmulas matemáticas.

Constante literal

Constante literal

Constante literal

Constante literal

Constante literal

Page 7: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

7

Operadores aritméticos: Operador Descripción Ejemplo

Exponenciación 2 ^ 3 = 8

+ Suma 54 + 10 = 64

- Resta 25 – 10 = 15

/ División real 25 / 5 = 5.0

* Multiplicación 2 * 32 = 64

div Cociente de la división entera 5 div 2 = 2

mod Residuo de la división entera 5 mod 2 = 1

Expresiones Booleanas Su resultado será Verdadero o falso. Se construyen mediante los operadores relacionales y lógicos. Operadores relacionales: Operador Significado

> Mayor que

< Menor que

= Igual que

>= Mayor o igual que

<= Menor o igual que

¡= Diferente de

Operadores lógicos:

- y () : Multiplicación lógica

- o () : Suma lógica

- no () : Negación lógica Tabla de verdad para operadores lógicos A B NO A A Y B A O B

falso falso verdadero falso falso

falso verdadero verdadero falso verdadero

verdadero falso falso falso verdadero

verdadero verdadero falso verdadero verdadero

Prioridad de operadores Operadores con la misma prioridad se evalúan de izquierda a derecha.

Prioridad Operador

1 ^

2 ( )

3 No

4 *, /, div, mod y

5 o, +, -

6 <, >, >=, <=, =, !=

Page 8: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

8

Sentencia de asignación

Se utiliza para asignar valores a las variables, se denota con el símbolo “”. • Ejemplos:

suma 1 + 3

a b * b * b

band j > 0

cadena ‘Hola’

carácter ‘c’ Identificadores Identificadores son los nombres que se dan a las constantes simbólicas, variables, u otros objetos que manipula un algoritmo. Reglas para la construcción de Identificadores

• Debe resultar significativo, sugiriendo lo que representa. • No podrá coincidir con palabras reservadas, propias del lenguaje algorítmico. • Se admitirá un máximo de 32 caracteres. • Comenzará siempre por un carácter alfabético y los siguientes podrán ser letras, dígitos o el

símbolo subrayado. • Podrá ser utilizado indistintamente en mayúscula y minúscula.

Variables Concepto: Son un espacio en memoria que se reserva para almacenar información. Son definidas por el programador y además se les asigna un nombre (como una especie de apodo) para poder recordarlas y accesarlas con mayor facilidad. Se puede comparar una variable con un recipiente que tiene un nombre fuera y un valor (una palabra, número o una lista) adentro. Cuando se crea una variable, al mismo tiempo se crea un recipiente y se le adjudica un valor.

Tipos básicos de variables - Contador:

Variable valor se incrementa o se decrementa en un valor constante cada vez que se produce una determinada acción. Por ejemplo: contar de uno en uno los alumnos de la clase.

Ej.: contador contador + 1 - Acumulador:

Variable cuyo valor va almacenando una cantidad variable. Por ejemplo: guardar en una alcancía los vueltos.

Ej.: dineroAlcancia dineroAlcancia + vuelto

- Bandera, interruptor o switch : Variable que sólo puede tomar dos valores, verdadero o falso (1 ó 0).

Ej.: bandera verdadero

edad

12

altura

77.7

nombre

'Keysha'

Page 9: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

9

PSEUDOCÓDIGO El pseudocódigo es un lenguaje artificial e informal que auxilia a los programadores a

desarrollar los algoritmos. El pseudocódigo es similar al español coloquial, es cómodo y amigable, aunque no se trate de un lenguaje verdadero de programación de computadoras.

De hecho, los programas en pseudocódigo no son ejecutados sobre computadoras. Más bien, sólo ayudan al programador “a pensar” un programa antes de intentar escribirlo en un lenguaje de programación.

El pseudocódigo consiste solo de caracteres, por lo que los programadores pueden de forma cómoda escribir los programas en pseudocódigo en una computadora, utilizando un programa de edición.

Ejemplos del uso del pseudocódigo 1. Genere un algoritmo que solicite dos números enteros y muestre el resultado de la suma

1. Inicio 2. num1<-0; 3. num2<-0; 4. resultado<-0; 5. Escribir "Ingrese el valor 1"; 6. Leer num1; 7. Escribir "Ingrese el valor 2; 8. Leer num2; 9. resultado<-num1 + num2; 10. Escribir "El resultado de la suma es: ", resultado; 11. Fin

2. Genere un algoritmo que determine el área y perímetro de un cuadrado. 1. Inicio 2. lado<-0; 3. area<-0; 4. perimetro<-0; 1. Escribir "Ingrese el valor del lado"; 5. Leer lado; 6. area<-lado^2; 7. perimetro<-lado*4; 8. Escribir "El area del cuadrado es: ",area; 9. Escribir "El perimetro del cuadrado es: ",perimetro; 10. Fin

3. Genere un algoritmo que calcule la cantidad de segundos que hay en una cantidad

determinada de horas.

4. Genere un algoritmo que calcule el área y perímetro de un círculo.

5. Construya un algoritmo que calcule la cantidad de días de nacido que tiene una persona.

6. Construya un algoritmo tal que dado los datos A y B, escriba el resultado de la siguiente expresión:

3

2BA

R

Page 10: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

10

DIAGRAMAS DE FLUJO Un diagrama de flujo de datos es una descripción gráfica de un procedimiento para la resolución de un problema. Son frecuentemente usados para describir algoritmos y programas de computador. Los diagramas de flujo de datos están conformados por figuras conectadas con flechas. Para ejecutar un proceso descrito por un diagrama de flujo de datos se comienza por el INICIO y se siguen las flechas de figura a figura, ejecutándose las acciones indicadas por cada figura; el tipo de figura indica el tipo de paso que representa. Los diagramas de flujo son frecuentemente usados debido a que pueden suprimir detalles innecesarios y tener un significado preciso, si son usados correctamente.

El diagrama de flujo tiene las siguientes características y ventajas:

Es una representación gráfica de las secuencias de un proceso, presenta información clara, ordenada y concisa.

Permite visualizar las frecuencias y relaciones entre las etapas indicadas.

Se pueden detectar problemas, desconexiones, pasos de escaso valor añadido etc.

Compara y contrasta el flujo actual del proceso contra el flujo ideal, para identificar oportunidades de mejora.

Identifica los lugares y posiciones donde los datos adicionales pueden ser recopilados e investigados.

Ayuda a entender el proceso completo.

Permite comprender de forma rápida y amena los procesos.

Reglas para la creación de Diagramas 1 Los Diagramas de flujo deben escribirse de arriba hacia abajo, y/o de izquierda a derecha. 2 Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la

dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo horizontal o verticales (nunca diagonales).

3 Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo se van a utilizar conectores cuando sea estrictamente necesario.

4 No deben quedar líneas de flujo sin conectar 5 Todo texto escrito dentro de un símbolo debe ser legible, preciso, evitando el uso de

muchas palabras. 6 Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo

final. 7 Solo los símbolos de decisión pueden y deben tener más de una línea de flujo de salida. 8 Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin

embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos.

¿Qué es Dfd? (FreeDFD 1.1. http://freedfd.freaks-unidos.net/

Dfd es un software diseñado para construir y analizar algoritmos. Usted puede crear diagramas

de flujo de datos para la representación de algoritmos de programación estructurada a partir

de las herramientas de edición que para éste propósito suministra el programa. Después de

haber ingresado el algoritmo representado por el diagrama, podrá ejecutarlo, analizarlo y

Page 11: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

11

depurarlo en un entorno interactivo diseñado para éste fin. La interfaz gráfica de Dfd, facilita en

gran medida el trabajo con diagramas ya que simula la representación estándar de diagramas

de flujo en hojas de papel.

Objetos en DFD Objeto Descripción

Objeto Inicio

Es el primer objeto a ejecutar en cualquier algoritmo. Al ser ejecutado, el objeto Inicio transfiere el control al siguiente objeto. El cuadro de dialogo del objeto Inicio contiene un espacio para la descripción o comentarios acerca del algoritmo.

OBJETO DESCRIPCIÓN

Page 12: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

12

Objeto Asignación:

El objeto Asignación asigna valores a campos variables. Al ser ejecutado, puede realizar hasta tres asignaciones.

El cuadro de dialogo del objeto Asignación contiene espacio para tres asignaciones, cada asignación consta de un espacio para el campo variable situado siempre a la izquierda, el símbolo de asignación y un espacio para la expresión situada siempre a la derecha. Esto indica que al campo variable se le asigna el resultado de la evaluación de la expresión. Debe realizarse por lo menos una asignación.

Objeto Lectura:

El objeto Lectura permite la entrada de valores constantes desde el teclado y se los asigna a campos variables. Podrá ser leída cualquier cantidad de variables utilizando un objeto Lectura. Al ejecutarse, el objeto despliega un cuadro de diálogo por cada variable presente en la lista, este cuadro de diálogo espera que el usuario introduzca un valor constante que será asignado a la respectiva variable.

El cuadro de diálogo para la edición del objeto contiene un espacio para ingresar una lista de variables separadas por comas. Debe existir por lo menos una variable.

Objeto Salida:

El objeto Salida muestra valores por pantalla. Puede ser visualizada cualquier cantidad de valores utilizando un objeto Salida. Al ejecutarse, este objeto evalúa cada una de las expresiones que contiene y despliega un cuadro de diálogo que muestra el valor obtenido en cada una de las expresiones en su respectivo orden. El cuadro de diálogo para la edición del objeto contiene un espacio para ingresar una lista de expresiones separadas por comas. Debe existir por lo menos una expresión.

Page 13: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

13

Objeto Decisión:

El objeto decisión selecciona el flujo a seguir de acuerdo al valor lógico de una condición. La condición debe ser siempre una expresión que al ser evaluada de como resultado un valor de tipo de dato Lógico. Ejemplo: 3<w , x >0 AND sw = .V. , valor*15 < 300*contador.

El objeto Decisión está asociado a dos bloques de objetos ubicados a lado y lado de este, y un objeto Cierre Decisión ubicado a continuación de ambos bloques. Si al evaluar la condición se obtiene el valor lógico .V., se ejecuta el bloque rotulado con la palabra Si, en caso contrario se ejecuta el bloque rotulado con No. En ambos casos la ejecución continúa en el objeto Cierre Decisión.

Objeto Ciclo Mientras:

El objeto Ciclo Mientras tiene como función el ejecutar un bloque de objetos mientras que una condición sea verdadera. La condición debe ser siempre una expresión que al ser evaluada de como resultado un valor de tipo de dato Lógico. Ejemplo : 3<W , x >0 AND Sw = .V. , Valor*15 < 300*Contador.

Si al evaluar la condición se obtiene el valor .F. la ejecución del algoritmo continuará a partir del objeto que sigue al Cierre.

Objeto Ciclo Para:

Su función es ejecutar un bloque de objetos mientras que la variable contadora no alcance el límite establecido por el valor final. El contador es siempre una variable de tipo de dato Real. Contiene además un valor inicial que será asignado al contador al iniciar la ejecución del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecución continuará a partir del objeto que sigue al Cierre. En caso contrario, se ejecutará el cuerpo del ciclo y el contador será incrementado en el valor indicado por el incremento.

El cuadro de diálogo del objeto Ciclo para contiene espacio para la variable contador, valor inicial, valor final y el valor de incremento en su respectivo orden.

Page 14: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

14

Objeto Cierre Ciclo:

Este objeto junto con el objeto Inicio, delimita el cuerpo del procedimiento principal. Solo existe un objeto Fin en el diagrama; la ejecución de este objeto finaliza la ejecución del algoritmo.

Ejemplos y práctica de diagramas de flujos secuenciales: 1. Dibuje un D-F que le pida a una persona los años que tenga e indique cuántos meses tiene.

'Digite su edad: '

meses←edad*12

'Ud. tiene: ', meses, 'meses.'

Declaración e inicialización de Las variables edad y meses

Solicitud de los datos de entrada

Lectura del dato de entra edad

Proceso. Calcular la cantidad de meses de acuerdo a los años que tiene una persona

Impresión de los datos de salida

Page 15: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

15

2. Dibuje un D-F que solicite la información de un círculo que pida al usuario el radio del mismo y le permita conocer su área y perímetro.

3. Dibuje un Diagrama de flujo que solicite la información de un rectángulo, que pida al

usuario el ancho y largo del mismo y le permita al usuario conocer área y perímetro. 4. Dibuje un D-F que calcule el número de pulsaciones que una persona debe tener por cada

10 segundos de ejercicio, si la fórmula es:

Num_Pulsaciones (220 – edad) / 10

5. Dibuje un D-F que permita calcular el nuevo salario de un obrero si obtuvo un incremento

del 25% sobre su salario anterior. 6. En un hospital existen tres áreas. Ginecología, Pediatría, Traumatología. El presupuesto

anual del hospital se reparte conforme a la siguiente tabla:

ÁREA PORCENTAJE DE PRESUPUESTO

Ginecología 40%

Traumatología 35%

Pediatría 25%

Area = ancho * largo Perimetro = (2*ancho) + (2*largo)

area=PI*(radio2) perímetro=2*PI*radio

PI constante

Declaración e inicialización de Las variables radio, perímetro, área. PI es una constante

Lectura del dato de entra edad

Proceso. Calcular el área y el perímetro del rectángulo.

Impresión de los datos de salida

Solicitud de datos al usuario

Page 16: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

16

Dibuje un D-F que permita obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.

7. El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender para obtener una ganancia del 30%.

8. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.

9. Dibuje un Diagrama de Flujo (D-F) que permita averiguar el salario bruto de un empleado. El

salario base es de 120.000 colones, más el 20% de comisión de las ventas realizadas en el mes.

10. Realice un D-F que lea un número e imprima el valor absoluto del mismo. 11. Construya un D-F que calcule e imprima el número de segundos que hay en un determinado

número de días indicado por el usuario.

Page 17: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

17

12. Diseñar un diagrama de flujo para convertir de grados centígrados a grados Fahrenheit. El diagrama deberá de solicitar los datos necesarios y mostrar el resultado.

[Farh = 9/5 (centigrados+32)]

13. En INVENIO, trabajan diferentes profesores para los cursos que se imparten. Los cursos se pagan a ¢90.000 cada uno por mes y su sueldo lo ganan en base a la cantidad de cursos que imparten, de su sueldo se le descuenta el 9% del seguro social, y el 2% del Banco Popular. Diseñe un diagrama de flujo que permita conocer el salario bruto y salario neto de un determinado profesor.

14. Se desea calcular el salario bruto semanal de un trabajador en función del número de horas trabajadas

a. Las primeras 35 horas se pagan a tarifa normal b. Las horas que pasen de 35 se pagan 1,5 veces la tarifa normal

Escribir el nombre, salario bruto

15. Dibuje un DF, que permita intercambiar los valores en dos variables A y B.

16. Emitir la factura correspondiente a una compra de un artículo determinado del que se adquieren una o varias unidades. El IVA a aplicar es 12%. El Total es igual al [precio de venta * cantidad + IVA].

9/5 → constante literal

9/5*(centigra+32)

Page 18: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

18

La estructura de selección if Una estructura de selección se utiliza para elegir entre cursos alternativos de acción. Por ejemplo suponga que en un examen 70 es la calificación de aprobado. El enunciado en pseudocódigo If la nota del estudiante es mayor o igual a 70 Imprima “Aprobado” determina si la condición “la nota del estudiante es mayor o igual a 70” es verdadera o falsa. Si la condición es verdadera, entonces se imprime “Aprobado” y el siguiente enunciado en pseudocódigo en orden se “ejecuta”. Si la condición resulta falsa, se ignora la impresión, y se ejecuta el siguiente enunciado del pseudocódigo en su orden. El diagrama de flujo de la siguiente figura ilustra la estructura if de una sola selección. Este diagrama de flujo contiene el símbolo de mayor importancia en la diagramación de flujo el símbolo del rombo, también conocido como símbolo de decisión, y que indica que una decisión debe ser tomada. El símbolo de decisión contiene una expresión como es una condición que puede resultar falsa o verdadera. Dos líneas de flujo parten del símbolo de decisión, una indica la dirección a tomarse cuando la expresión dentro del símbolo rombo es verdadera; la otra indica la dirección a tomarse cuando la expresión es falsa.

La estructura de selección if/else La estructura de selección if ejecuta una acción indicada cuando la condición es verdadera; de lo contrario la acción es pasada por alta. La estructura de selección if/else permite que el programador especifique que se ejecutan acciones distintas cuando la condición sea verdadera que cuando la condición es falsa. Por ejemplo, el enunciado en pseudocódigo If la nota del estudiante es mayor o igual a 70 Imprima “Aprobado” else Imprima “Reprobado”

Imprime Aprobado, si la calificación del alumno es mayor que o igual a 70 e imprime Reprobado si la calificación del alumno es menor que 70. En cualquiera de los casos, después de haber terminado la impresión, se ejecutará el siguiente enunciado del pseudocódigo ó la siguiente instrucción. El diagrama de flujo de la figura siguiente muestra muy bien el flujo de control de la estructura if/else.

nota>=70 Imprima “Aprobado” Verdadero

Falso

Page 19: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

19

Se lee como sigue “Si la nota es mayor o igual a 70, entonces imprima Aprobado y si no imprima Reprobado.

Las estructuras if/else anidadas Las estructuras if/else anidadas prueban para muchos casos, colocando estructuras if/else dentro de estructuras if/else. Por ejemplo, el siguiente enunciado en pseudocódigo imprimirá A para calificación de examen mayores que o iguales a 90, B para calificaciones mayores que o iguales a 80, C para calificaciones mayores que o iguales a 70, D para calificaciones mayores que o iguales a 60, y F para todas las demás calificaciones. If(nota>=90) Imprima “A” Else If(nota>=80) Imprima “B”

Else If(nota>=70) Imprima “C”

Else If(nota>=60) Imprima “D”

else Imprima “F”

Si la variable nota es mayor que o igual a 90, las primeras cuatro condiciones resultaran ciertas, pero sólo se ejecutará el enunciado o instrucción Imprima “A” después de la primera prueba. Después de que se haya ejecutado ese imprime, la parte else del enunciado” exterior” será pasado por alto.

nota>=70 Imprima “Aprobado” Verdadero Falso

Imprima “Reprobado”

nota>=90 Imprima “A”

Verdadero

Falso

nota>=80 Imprima “B” Verdadero

Falso

nota>=70 Imprima “C” Verdadero

Falso

nota>=60 Imprima “D” Verdadero

Falso Imprima “F”

Page 20: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

20

Ejercicios con estructura de selección if, if/else, if/else anidadas 17. Leer 2 números, si son iguales que

los multiplique, sí el primero es mayor que el segundo que los reste y si no que los sume.

18. Leer tres números diferentes y escribir el número mayor de los tres.

Page 21: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

21

19. Un hombre desea saber cuánto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a ¢7.000, y en ese caso desea saber cuánto dinero tendrá finalmente en su cuenta. Realice un diagrama de flujo que resuelva el enunciado.

20. Obtenga dos números del teclado, y determine y despliegue cuál (si alguno) es el mayor de

los dos números. Dibuje un diagrama de flujo que resuelva el enunciado anterior. 21. El IMSS requiere clasificar a las personas que se jubilaran en el año de 1997. Existen tres

tipos de jubilaciones: por edad, por antigüedad joven y por antigüedad adulta. Las personas adscritas a la jubilación por edad deben tener 60 años o más y una antigüedad en su empleo de menos de 25 años. Las personas adscritas a la jubilación por antigüedad joven deben tener menos de 60 años y una antigüedad en su empleo de 25 años o más. Las personas adscritas a la jubilación por antigüedad adulta deben tener 60 años o más y una antigüedad en su empleo de 25 años o más. Determinar por medio de un diagrama de flujo en qué tipo de jubilación quedara adscrita

una persona.

Inicio

Leer Edad, Antigüedad

Si Edad >= 60 and Antigüedad < 25 entonces

Escriba “1a jubilación es por edad”

si no

Si Edad >= 60 and Antigüedad > 25 entonces

Escriba “la jubilación es por edad adulta y antigüedad”

si no

Si Edad < 60 and Antigüedad > 25 entonces

Escriba “la jubilación es por antigüedad joven”

si no

Escriba “1a persona no tiene por qué jubilarse"

Fin-si

Fin-si

Fin-si

Fin

22. Dibuje un D-F que permita calcular la utilidad que un trabajador recibe en el reparto anual

de utilidades si este se le asigna como un porcentaje de su salario mensual que depende de su Antigüedad en la empresa de acuerdo con la siguiente tabla:

TIEMPO UTILIDAD

Menos de 1 año 5 % del salario

1 año o más y menos de 2 años 7% del salado

2 años o más y menos de 5 años 10% del salario

5 años o más y menos de 10 años 15% del salario

10 años o mas 20% del salado

Page 22: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

22

23. Determinar la cantidad de dinero que recibirá un trabajador por concepto de las horas extras trabajadas en una empresa, sabiendo que cuando las horas de trabajo exceden de 40. el resto se consideran horas extras y que estas se pagan al doble de una hora normal cuando no exceden de 8, si las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple.

24. En una tienda de descuento se efectúa una promoción en la cual se hace un descuento sobre el valor de la compra total según el color de la bolita que el cliente saque al pagar en caja. Si la bolita es de color blanco no se le hará descuento alguno, si es verde se le hará un 10% de descuento, si es amarilla un 25%, si es azul un 50% y si es roja un 100%. Determinar la cantidad final que el cliente deberá pagar por su compra. se sabe que solo hay bolitas de los colores mencionados. Realice un D-F que resuelva el problema anterior.

25. En una fábrica de computadoras se planea ofrecer a los clientes un descuento que dependerá de la cantidad de computadoras que compre, si las computadoras son menos de cinco se les dará un 10% de descuento sobre el total de la compra, si la cantidad de compra es mayor o igual a cinco pero menos de diez se le otorga un 20% de descuento; y si son 10 o más se les da un 40% de descuento. El precio de cada computadora es de ¢ 230,000. Determine cuánto es el descuento y el total que deberá pagar un cliente por su compra.

26. En una llantera se ha establecido una promoción de las llantas marca "Ponchadas", dicha promoción consiste en lo siguiente

a. Si se compran menos de cinco llantas el precio es de ¢ 3 000 cada una, b. ¢ 2 500 si se compran de cinco a 10 y de c. ¢ 2 000 si se compran más de 10

Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas

que compra y la que tiene que pagar por el total de la compra.

27. Un proveedor de estéreos ofrece un descuento del 10% sobre el precio sin IVA, de algún aparato si este cuesta ¢2.000 o más. Además, independientemente de esto ofrece un 5% de descuento si la marca es "SONY". Determinar cuánto pagara, con IVA incluido, un cliente cualquiera por la compra de su aparato.

28. Una frutería ofrece las manzanas con descuento según la siguiente tabla:

NÚM. DE KILOS COMPRADOS % DESCUENTO

0 – 2 0%

3 – 5 10%

6 -10 15%

11 en adelante 20%

Determinar cuánto pagará una persona que compre manzanas es esa frutería.

29. El dueño de una empresa desea planificar las decisiones financieras que tomara en el siguiente año. La manera de planificarlas depende de lo siguiente

Si actualmente su capital se encuentra con saldo negativo, pedirá un préstamo bancario para que su nuevo saldo sea de $10 000.

Si su capital tiene actualmente un saldo positivo pedirá un préstamo bancario para tener un nuevo saldo de $20 000,

Page 23: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

23

pero si su capital tiene actualmente un saldo superior a los $20 000 no pedirá ningún préstamo.

Determine que opción elegirá el dueño de la empresa. 30. En un almacén se utilizan los siguientes códigos

a. CÓDIGO = 1 para un automóvil nuevo b. CÓDIGO = 2 para un automóvil usado c. CÓDIGO = 3 para accesorios aparte

La comisión de un vendedor es la siguiente: el 3% del precio de venta en automóviles nuevos,

pero con un máximo de ¢ 300.000 de comisión, el 5% del precio de venta en automóviles

usados, pero con un mínimo de ¢ 75.000 de comisión, el 6% en accesorios. Dibuje un Diagrama

de flujo que reciba como parámetro de entrada el CÓDIGO y PRECIO y como salida imprima la

COMISIÓN de cada vendedor.

31. Dado como dato el sueldo de un empleado, aplíquele un aumento del 15% si su sueldo es inferior a 1000 dólares. Imprima en este caso el nuevo sueldo.

32. Dibuje un diagrama de flujo que reciba la calificación de un alumno, y con base en ella

defina si él está aprobado, reprobado o tiene derecho al examen extraordinario. 33. Dibuje un diagrama de flujo que calcule el precio del boleto de ida y vuelta en ferrocarril,

conociendo la distancia del viaje de ida y el tiempo de estancia. Se sabe además que si el número de días de estancia es superior a 7 y la distancia total (ida y vuelta) a recorrer es superior a 800 km., el billete tiene una reducción del 30%. El precio por km. es de 500 colones.

34. Dibuje un diagrama de flujo que permita manipular las ventas de un dependiente y su

comisión para saber el sueldo a obtener. Debe pedirse el nombre, código de vendedor y

ventas realizadas. Si las ventas son mayores a 50000 se le da una comisión del 7.5%, sino del

5%. Imprimir su salario final.

35. Dibuje un diagrama de flujo que simule una calculadora sencilla, el usuario introduce dos números e

indica que operación desea realizar (+,-,/,*), el diagrama da como salida el resultado de la

operación.

La estructura de repetición While Una estructura de repetición le permite al programador especificar que se repita una acción, en tanto cierta condición se mantenga verdadera. El enunciado en pseudocódigo While(Mientras queden elementos en mi lista de compras) Adquirir el elemento siguiente y tacharlo de la lista Describe la repetición que ocurre durante una salida de compras. La condición (Mientras queden elementos en mi lista de compras) puede ser verdadera o falsa. Si es verdadera, entonces la acción Adquirir el elemento siguiente y tacharlo de la lista se ejecutará. Esta acción se ejecutará en forma repetida, en tanto la condición sea verdadera. El enunciado o enunciados

Page 24: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

24

contenidos en la estructura de repetición while constituyen el cuerpo del while que está delimitado por las líneas discontinuas en el diagrama de flujo. El cuerpo de la estructura while puede ser un enunciado sencillo o un enunciado compuesto, es decir incluir en el if, if/else, if/else anidados, whiles, etc. Eventualmente, la condición se hará falsa (cuando se haya adquirido el último elemento de la lista de compras y se haya tachado de la misma). Llegado a este punto, la repetición se termina, y se ejecutará el enunciado en pseudocódigo que sigue de inmediato después de la estructura de repetición.

Tipos de control en repeticiones:

a. Repetición controlada por contador: Esta técnica utiliza una variable llamada contador para definir el número de veces que deberá ejecutarse un conjunto de enunciados. La repetición controlada por contador se conoce a menudo como repetición definida porque, antes de que se inicie la ejecución de ciclo, el número de repeticiones es conocido. Un contador es una variable, utilizada para contar.

b. Repetición controlada por centinela: Esta técnica utiliza un valor especial llamado un valor centinela (también conocido como valor señal, un valor substituto, o un valor bandera) que indicará “fin de la captura de datos”. Claramente el valor centinela deberá ser seleccionado de tal forma que no se confunda con algún valor de entrada aceptable, por ejemplo -1, 1 ó 0

36. Obtenga una serie de números positivos del teclado, y determine y despliegue la suma de

los números. Suponga que el usuario escribe el valor centinela -1 para indicar “entrada de fin de datos”.

Comprar elemento

Tachar elemento

Page 25: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

25

Este ejemplo del uso del while es controlado por un valor centinela, ya que utiliza un valor

especial (-1) que es el que determina el fin del ciclo while. 37. Dibuje un diagrama de flujo que utilice ciclos para imprimir los números del 1 al 10, lado a

lado en el mismo reglón con tres espacios entre ellos. 38. Realice un diagrama de flujo que utilice ciclo para producir la siguiente tabla de valores:

A A+2 A+4 A+6

3 5 7 9 6 8 10 12 9 11 13 15 12 14 16 18 15 17 19 21

El objeto Fin (MQ) delimita el

ámbito ó el cuerpo del while,

es decir las instrucciones que

se repiten.

Nota: Un while puede que no

se ejecuta ninguna vez,

esto sucede cuando el

while sea verdadero. suma←suma+numero

Page 26: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

26

Lo esencial de la repetición

La mayor parte de los diagramas de flujo incluyen repeticiones o ciclos. Un ciclo es un grupo de instrucciones que la computadora ejecuta en forma repetida, en tanto se conserve verdadera alguna condición de continuación del ciclo. Hemos analizado dos procedimientos de repetición:

1. Repetición controlada por contador 2. Repetición controlada por centinela

La repetición controlada por contador se denomina a veces repetición definida, porque con

anticipación se sabe con exactitud cuántas veces se ejecutará el ciclo. La repetición controlada por centinela a veces se denomina repetición indefinida, porque no se sabe con anticipación cuantas veces el ciclo se ejecutará.

En la repetición controlada por contador, se utiliza una variable de control para contar el número de repeticiones. La variable de control es incrementada (normalmente en 1), cada vez que se ejecuta el grupo de instrucciones. Cuando el valor de la variable control indica que se ha ejecutado el número correcto de repeticiones, se termina el ciclo y la computadora continua ejecutando el enunciado siguiente al de la estructura de repetición.

Los valores centinela se utilizan para controlar la repetición cuando: 1. El número preciso de repeticiones, no es conocido con anticipación, y 2. El ciclo incluye enunciados que deben obtener datos cada vez que éste se ejecuta.

El Fin (MQ) delimita el ámbito

del while, es decir las

instrucciones que se repiten.

Nota: El ciclo se repite mientras

el valor de A sea menor o

igual a 15. Cuando toma

un valor superior finaliza.

A,' ', A+2,' ', A+4,' ', A+6

Page 27: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

27

El valor centinela indica “fin de datos”. El centinela es introducido una vez que al diagrama se le han proporcionado todos los elementos normales de datos. Los centinelas deben ser diferentes a los elementos normales de datos.

Repetición controlada por contador

La repetición controlada por contador requiere: 1. El nombre de una variable de control (o contador del ciclo) 2. El valor inicial de la variable de control 3. El incremento (o decremento) con el cual, cada vez que se termine un ciclo, la variable

de control será modificada. 4. La condición que compruebe la existencia del valor final de la variable de control (es

decir, si se debe o no seguir con el ciclo) La estructura de repetición for La estructura de repetición for maneja de manera automática todos los detalles de la repetición controlada por contador.

Su función es ejecutar un bloque de objetos mientras que la variable contadora no alcance el límite establecido por el valor final. El contador es siempre una variable de tipo de dato Real. Contiene además un valor inicial que será asignado al contador al iniciar la ejecución del ciclo, un valor final y un valor de incremento. Si el contador excede el valor final, la ejecución continuará a partir del objeto que sigue al Cierre. En caso contrario, se ejecutará el cuerpo del ciclo y el contador será incrementado en el valor indicado por el incremento.

El cuadro de diálogo del objeto Ciclo para contiene espacio para la variable contador, valor inicial, valor final y el valor de incremento en su respectivo orden.

Page 28: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

28

39. Calcular el promedio de un alumno que tiene 7 calificaciones en la materia BSI-030 Programación I

Uso del WHILE Uso del FOR

nombre, ' su promedios es: ', prom

nombre, ' su promedios es: ', prom

Page 29: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

29

40. Leer 10 números y obtener su cubo y su cuarta, para cada uno.

Uso del WHILE Uso del FOR

41. Leer 10 números y escribir cuántos son positivos y cuántos son negativos

cubo←num*num*num cuarta←cubo*num control←control+1

cubo←num*num*num cuarta←cubo*num

'Cubo: ', cubo, ' Cuarta: ', cuarta 'Cubo: ', cubo, ' Cuarta: ', cuarta

El control de las repeticiones es por medio de la variable control

Cuarta ← 0

Page 30: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

30

42. Leer N números negativos y convertirlos a positivos y escribir en consola dichos números. 43. Dibuje un diagrama de flujo que calcule la suma y promedio de 10 números ingresados por

el usuario. Utilice una estructura for para este enunciado. 44. Realice un diagrama de flujo que calcule los gastos de un determinado viaje. El ingreso de

los mismos finalizará cuando se ingrese un número negativo.

45. Suponga que se tiene un conjunto de calificaciones de un grupo de N alumnos. Realizar un Diagrama de flujo para calcular la calificación promedio y más baja de todo el grupo.

46. Calcular e imprimir la tabla de multiplicar de un número cualquiera.

Escriba el multiplicando, el multiplicador y el producto.

5 x 1 = 5

'Positivos: ', pos, ' Negativos: ', neg

'Positivos: ', pos, ' Negativos: ', neg

Page 31: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

31

47. Una persona debe realizar un muestreo con 50 personas para determinar el promedio de peso de los niños, jóvenes, adultos y viejos que existen en su zona habitacional. Se determinan las categorías con base a la siguiente tabla:

CATEGORÍA EDAD

Niños 0 – 12

Jóvenes 13 – 29

Adultos 30 – 59

Viejos 60 en adelante

Imprima como salida el promedio de peso de cada categoría. 48. Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un 15% de

descuento si compran más de 10 kilos. Determinar cuánto pagará cada cliente, cuanto es el monto del descuento hecho a todos los clientes y cuánto percibirá el expendió por esas compras.

49. En un centro de verificación de automóviles se desea saber el promedio de puntos

contaminantes de los primeros 25 automóviles que lleguen. Asimismo se desea saber los puntos contaminantes del carro que menos contamino y del que más contamino.

50. Una compañía de seguros tiene contratados a N vendedores. Cada uno hace tres ventas a la

semana. Su política de pagos es que un vendedor recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El gerente de su compañía desea saber cuánto dinero obtendrá en la semana cada vendedor por concepto de comisiones por las tres ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus comisiones.

51. En una empresa se requiere calcular el salario semanal de cada uno de los N obreros que

laboran en ella. El salario se obtiene de la siguiente forma:

Si el obrero trabaja 40 horas o menos se le paga $20 por hora

Si trabaja más de 40 horas se le paga $20 por cada una de las primeras 40 horas y $25 por cada hora extra.

52. Obtener el promedio de calificaciones de un grupo de N alumnos. 53. Una persona desea invertir su dinero en un banco, el cual le otorga un 2% de interés. ¿Cuál

será la cantidad de dinero que esta persona tendrá al cabo de, un año si la ganancia de cada mes es reinvertida?

54. Calcular el promedio de edades de hombres, mujeres y de todo un grupo de alumnos 55. Encontrar el Mayor y Menor valor de un conjunto de N números dados. 56. En una granja se requiere saber alguna información para determinar la calidad de una

gallina. La calidad de cada gallina se obtiene según la siguiente fórmula:

Calidad = peso de la gallina * altura de la gallina Numero de huevos que pone

Page 32: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

32

Finalmente para fijar la categoría de la gallina según la calidad obtenida se cuenta con la siguiente tabla:

CALIDAD CATEGORÍA DE CALIDAD

mayor o igual que 15 ALTA

mayor que 8 y menor que 15 MEDIA

menor o igual que 8 BAJA

57. En la Cámara de Diputados se levanta una encuesta con todos los integrantes con el fin de

determinar qué porcentaje de los N diputados está a favor del Tratado de Libre Comercio, que porcentaje está en contra y que porcentaje se abstiene de opinar.

58. Calcular la suma siguiente:

100 + 98 + 96 + 94 + . . . + 0 en este orden

59. Leer 5 calificaciones de un grupo de alumnos. Calcule y escriba el porcentaje reprobados.

Tomando en cuenta que la calificación mínima aprobatoria es de 70. 60. Un grupo de 12 estudiantes presentan un examen de Física. Diseñe un diagrama que lea

por cada estudiante la calificación obtenida y calcule e imprima, c. La cantidad de estudiantes que obtuvieron una calificación menor a 50. d. La cantidad de estudiantes que obtuvieron una calificación de 50 o más pero menor

que 80. e. La cantidad de estudiantes que obtuvieron una calificación de 70 o más pero menor

que 80. f. La cantidad de estudiantes que obtuvieron una calificación de 80 o más.

La estructura de repetición do/while

La estructura de repetición do/while es similar a la estructura while. En la estructura while la condición de continuación del ciclo se prueba al principio del ciclo, antes de ejecutarse el cuerpo del mismo. La estructura do/while prueba la condición de continuación del ciclo después de ejecutarse el cuerpo del ciclo y, por lo tanto, el cuerpo del ciclo se ejecutará por lo menos una vez. Cuanto termina do/while, la ejecución continuará con el enunciado que aparezca después de la clausula while.

La estructura del do/while demuestra que la condición de continuación de ciclo no se ejecutará sino hasta después de que la acción se lleve a cabo al menos una vez. Note que el

do

While(condición)

Enunciado 1

Enunciado 2

Page 33: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

33

ámbito o instrucciones pertenecientes al ciclo del do/while están delimitadas por las líneas discontinuas del recuadro Practica diagramas de flujos compuestos 61. Una compañía de transporte terrestre de lujo tiene divididos los buses en 3 secciones: lujo,

fumar y no fumar. Las reservaciones se hacen antes de que el bus vaya a salir. El tiquete de viaje se cobra de acuerdo a la sección:

Lujo: ¢ 5000 (Hay 10 asientos) No Fumar ¢ 3500 (hay 16 asientos) Fumar ¢ 2000 (hay 20 asientos)

Realice un Diagrama de Flujo que indique la cantidad de personas que reservaron en cada una de las tres secciones, así como el monto a recibir por concepto de venta de tiquetes por cada sección y el total del bus. Al reservar se debe verificar si todavía quedan campos en la sección seleccionada, de no ser así, emitir un mensaje al usuario.

62. En un almacén se utilizan los siguientes códigos CÓDIGO = 1 para un automóvil nuevo CÓDIGO = 2 para un automóvil usado CÓDIGO = 3 para accesorios aparte

La comisión de un vendedor es la siguiente: el 3% del precio de venta en automóviles nuevos, pero con un máximo de ¢ 300.000 de comisión, el 5% del precio de venta en automóviles usados, pero con un mínimo de ¢ 75.000 de comisión, el 6% en accesorios. Dibuje un Diagrama de flujo que reciba como parámetro de entrada para cada uno de los N vendedores el CÓDIGO y PRECIO y como salida imprima la COMISIÓN de cada uno y el monto total que recibirá el almacén por las ventas. 63. En el Hospital de Niños, la sección Cirugía 3, se divide en 5 salas

SALA CAMAS POR SALA

1 14

2 7

3 6

4 6

5 8

En esta sección se internan niños que tienen alguno de los siguientes estados: Cuidados intermedios (Solamente en la sala 3) Recuperación (Salas 1, 2, 4 y 5)

Realice un diagrama de flujo que reciba como datos de entrada: la cantidad de camas actualmente ocupadas por sala y para cada uno de los N niños: el nombre y el estado (1,2). De acuerdo al estado, imprima en que número de sala queda internado. Si no hubiera campo en ninguna sala de Cirugía 3 se debe imprimir un mensaje para que se busque en otra sección del hospital. Para finalizar imprima:

Cantidad de Niños por sala Total de niños internados en Cirugía 3

Page 34: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

34

64. En las Olimpiadas de Sídney participaron delegaciones de deportistas de muchos países del mundo. A cada país se le ha asignado un valor entero entre 1 y 5, que indica el Continente al que pertenece. Suponga que se introduce la siguiente información para cada uno de los K países que ganaron medallas :

Cantidad de medallas de Oro Cantidad de medallas de plata Cantidad de medallas de bronce Continente (1, 2, 3, 4 ,5)

Realice un Diagrama de flujo que reciba como datos de entrada la información anterior e imprima:

Por Continente, cantidad de medallas de oro, plata y bronce Cantidad total de medallas de cada tipo entregadas en las Olimpiadas

Page 35: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

35

65. El departamento de Seguridad Pública y Tránsito, desea saber, de los N carros que entran a la ciudad de San José por un determinado peaje, cuántos entran con calcomanías de cada color. Conociendo el último dígito de la placa de cada automóvil se puede determinar el color de la calcomanía utilizando la siguiente relación:

DIGITO COLOR

1 ó 2 Amarilla

3 ó 4 Rosada

5 ó 6 Roja

7 ó 8 Verde

9 ó 0 Azul

Realice un diagrama de flujo que reciba como datos de entrada el costo que deben pagar los automóviles por el paso del peaje (suponga el mismo costo para todos los carros), y para cada automóvil, el último dígito de la placa. Se quiere como salida la cantidad de carros con cada color de calcomanía y el monto total que por concepto de pago de peaje se recoge. 66. En una granja se requiere saber alguna información para determinar el precio de venta por

kilo de huevos. Es importante determinar el promedio de calidad de las N gallinas que hay en la granja. La calidad de cada gallina se obtiene según la fórmula:

Calidad = peso de gallina * altura de gallina Número de huevos que pone

Finalmente para fijar el precio del kilo de huevos, se toma como base el promedio obtenido con la calidad de cada una de las N gallinas y utilizando para este promedio el siguiente cuadro:

PROMEDIO DE CALIDAD PRECIO DEL KILO DE HUEVO

Mayor o igual que 15 1.2 * promedio de calidad

Mayor que 8 y menor que 15 1.00 * promedio de calidad

Menor o igual que 8 0.80 * promedio de calidad

Dibuje un diagrama de flujo que reciba como datos de entrada para cada una de las N gallinas (el peso la altura y número de huevos que pone). Como salida indique el precio por kilo de huevos para la granja. 67. En el hotel “Costa Rica”, se tiene la siguiente información de los N huéspedes que hicieron

su salida el día de hoy: nombre de la persona, el tipo de habitación (1, 2, 3, 4) y la cantidad de días que la ocupó. Se hace un descuento del 10% si el cliente se hospedó más de 5 días, del 15% sí se hospedó más de 10 días y del 20% si se hospedó más de 15 días. De acuerdo al tipo de habitación se tienen las siguientes tarifas diarias.

Tipo de habitación Tarifa diaria

1 $120.00

2 $155.00

3 $210.00

4 $285.00

Page 36: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

36

Realice el diagrama de flujo que reciba la información anterior para cada uno de los N huéspedes que abandonaron el hotel, y como información de salida imprima:

Cantidad de clientes que ocupaban habitaciones por cada uno de los cuatro tipos de habitación

Monto total obtenido por cada uno de los cuatro tipos de habitación (Este es el monto acumulado del monto que debe pagar el huésped luego de aplicado el descuento)

Monto total de descuento por cada uno de los cuatro tipos de habitación Monto total obtenido por el hotel ese día

68. Se tienen datos de transporte de los dos elevadores de un edificio, por cada uno de los N viajes, hechos durante el día: numero de elevador (1,2) cantidad de personas, peso de ese viaje. Elabore un diagrama de flujo que imprima una estadística del día.

Cantidad de personas transportadas por elevador Peso transportado por elevador Promedio de personas por viaje por elevador Promedio de peso por viaje por elevador

69. Se desea simular un campamento de verano para niños. De acuerdo con las características

de cada niño (edad, actividad que desea realizar y si se practicó o no examen médico), es preciso determinar la actividad que le será asignada al niño durante el campamento.

Actividad Asignada: Si el niño tiene 8 ó más años y desea Equitación, se le asigna Equitación. Si el niño desea Natación y tiene Examen Médico, se le asigna Natación. Bajo Cualquier otra circunstancia se le asigna Tenis.

Realice el diagrama de flujo que reciba la como datos de entrada: la edad, la actividad, si tiene o no examen médica, para cada uno de los N Niños que desean ingresar al campamento, y como información de salida imprima: El número de niños que se les asigno la actividad de Equitación, Natación y Tenis. 70. Supongamos que se tiene una muestra de N Personas que fallecieron intestadas (es decir,

sin haber realizado testamento), y mediante D-F se desea determina la cantidad de dinero que debe heredar el cónyuge y/o a los hijos mayores de edad de cada individuo, según el caso.

Cantidad a entregar al cónyuge:

Si el individuo tiene cónyuge e hijos, al cónyuge le corresponde la mitad de la herencia.

Si el individuo tiene cónyuge sin hijos, al cónyuge le corresponde toda la herencia.

Si el individuo no tiene cónyuge, la cantidad es cero. Cantidad a entregar a cada hijo:

Si el individuo tiene cónyuge e hijos, a cada hijo le corresponde la mitad de la herencia dividida entre el número de hijos.

Si el individuo no tiene cónyuge y tiene hijos, a cada hijo corresponde la herencia dividida entre el número de hijos.

Si el individuo no tiene hijos, la cantidad es cero.

Page 37: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

37

Realice el diagrama de flujo que reciba la como datos de entrada: monto herencia, si tiene o no cónyuge, cantidad de hijos, para cada uno de los N Personas que fallecieron intestadas, y como información de salida imprima: El monto que le corresponde al cónyuge y a los hijos si los tiene. 71. Se tiene la información de la densidad de cada una de las 7 Provincias de Costa Rica. Realice

un D-F que determine si la provincia presenta Alta, Baja o Media Densidad de Población, de acuerdo al criterio siguiente:

Baja si Densidad de Población es menor a 15

Media si Densidad de Población es mayor o igual a 15 y menor o igual a 100

Alta si Densidad de Población es mayor a 100

Ejercicios extras de diagramas de flujos 72. Dibuje un diagrama de flujo que sume una secuencia de enteros. Suponga que el primer entero

leído específica el número de valores que faltan de introducir. Su diagrama deberá leer los números que faltan.

Por ejemplo una secuencia de entrada puede ser la siguiente

5 100 200 300 400 500 Donde 5 indica que los 5 valores subsiguientes deberán ser sumados sin tomar en cuenta el primer dígito que es el que indica cuantas números se van introducir para sumar. La salida del diagrama en el ejemplo anterior sería: 1500. 73. Dibuje un diagrama de flujo que calcule e imprima el promedio de varios enteros. Suponga que el

valor centinela es el 9999.

74. Dibuje un diagrama de flujo que calcule e imprima la suma de los enteros pares del 2 al 30.

75. Dibuje un diagrama de flujo que calcule e imprima el producto de los enteros impares del 1 al 15.

76. Dados dos números enteros positivos N y D, se dice que D es un divisor de N si el resto de dividir N entre D es 0. Se dice que un número N es perfecto si la suma de sus divisores (excluido el propio N) es N. Por ejemplo 28 es perfecto, pues sus divisores (excluido el 28) son: 1, 2, 4, 7 y 14 y su suma es 1+2+4+7+14=28. Hacer un D-F que dado un número N nos diga si es o no perfecto.

77. Un año es bisiesto si es múltiplo de 4, exceptuando los múltiplos de 100, que sólo son bisiestos cuando son múltiplos además de 400, por ejemplo el año 1900 no fue bisiesto, pero el año 2000 si lo será. Hacer un organigrama que dado un año A nos diga si es o no bisiesto.

78. Hacer un organigrama que dados un día D, un mes M y un año A, calcule cual es el día siguiente. Se debe tener en cuenta que en los años bisiestos Febrero tiene 29 días y en los no bisiestos 28.

79. Hacer un organigrama que lea un número N y obtenga las ternas pitagóricas (A, B, C) en las que A, B

y C son todos enteros positivos y menores que N. Para que una terna (A, B, C) sea pitagórica debe

cumplir que A2+B2=C2.

Page 38: 3314419 Cisco Ccna1 Version 4 Examenes

Modulo 01: Introducción al desarrollo de algoritmos

Introducción a la programación, Prof. Ing. Gloriana Peña R.

38

BIBLIOGRAFÍA Principal

Joyanes, Luis. Fundamentos de Programación. Algoritmos, estructuras de datos y objetos. Tercera Edición. McGraw-Hill, 2003.

Complementaria

Deitel, Harvey M. y Deitel, Paul J. Como programar en Java. Quinta Edición. Pearson

Educatión, México, 2004.

Joyanes, Luis. Programación en Java 2. McGraw-Hill, 2002.

Rafael Arteaga. FreeDFD 1.1 Editor E Intérpret Manual de Referencia. 2006