1ero manual algoritmica

Upload: ibis-lopez

Post on 01-Jul-2018

270 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/15/2019 1ero Manual Algoritmica

    1/177

     

  • 8/15/2019 1ero Manual Algoritmica

    2/177

     

  • 8/15/2019 1ero Manual Algoritmica

    3/177

     

     © Fundamentos de Programación – Grupo IDAT

    Desarrollo y Edición a cargo del Programa de Computación e Informática.

    Director Ejecutivo : Ing. Rolando Rojas GalloCoordinador Académico : Ing. José García La RivaCoordinador Administrativo : Sr. Julio Cabrera CalleDiseño y Diagramación : Srta. Bettina Chávez Huamán

    Srta. Flor Alicia Vega CollazosElaborado por : Ing. Rolando Rojas Gallo

    Ing. José García La RivaIng. Alberto Moreno Cueva

    Producción : Departamento de Impresiones del Grupo IDAT

    Los derechos de edición, distribución y contenidos de este texto son de exclusividad del

    GRUPO IDAT.

  • 8/15/2019 1ero Manual Algoritmica

    4/177

     

  • 8/15/2019 1ero Manual Algoritmica

    5/177

     

    Fundamentos de Programación 

    PRESENTACIÓN

    Esta guía didáctica es un material de ayuda institucional, perteneciente a lasespecialidades de Computación, Informática & Sistemas, Redes &Comunicaciones, Soporte y Seguridad Informática e Ingeniería de Software;tiene por finalidad proporcionar los conocimientos de Fundamentos deProgramación, orientado a los estudiantes del primer ciclo de estudios.

    El Grupo IDAT, líder en la enseñanza tecnológica a nivel superior, promueve laelaboración de materiales educativos, en concordancia a las exigencias de lastecnologías de estos tiempos, que permiten la creación de nuevas herramientasde aprendizaje con el objetivo de facilitar el acceso de los estudiantes a laeducación en el marco del desarrollo tecnológico de la Informática y de lasTelecomunicaciones.

    El texto se divide en dos unidades y quince capítulos. Permite conocer lasherramientas indispensables para la elaboración de un algoritmo. Se inicia con el

    reconocimiento de las herramientas básicas que se necesitarán para darsolución a una determinada proposición o problema. En este proceso el alumnoaprenderá instrucciones que le permitirá evaluar expresiones para luegoprocesar un conjunto de sentencias. También aprenderá el uso de lasestructuras de control (Selectivas y Repetitivas), de la misma forma el uso deestructuras de datos tales como los arreglos (Vectores y Matrices).

    La implementación y uso de Sub – Programas (Procedimientos y Funciones).Todas estas herramientas darán un soporte sólido al alumno para que aprenda aprogramar en cualquier Lenguaje de Programación Estructurado, además de los

    Lenguajes de Programación Orientados a Objetos (POO): Java, C++, C#, Delphi,Perl, Phyton, PHP (Versión 5), Ruby, Smalltalk, Turbo Pascal, ActionScript.

    Esperamos que este material en su primera edición, sirva de gran ayuda a losestudiantes Idatinos y contribuya en el proceso de su formación profesional.

  • 8/15/2019 1ero Manual Algoritmica

    6/177

     

    Fundamentos de Programación 

  • 8/15/2019 1ero Manual Algoritmica

    7/177

     

    Fundamentos de Programación 

    ÍNDICE

    Nro. Pág.

    UNIDAD I…………………………………………………………………………….. 09

    CAPÍTULO I.- Introducción a la Algorítmica……….……………….………….. 11

    CAPÍTULO II.- Datos y Tipos de Datos………………….………………………. 17

    CAPÍTULO III.- Variables y Constantes………………………………………..… 23

    CAPÍTULO IV.- Estructuras Básicas …………………………………………….. 27

    CAPÍTULO V.- Estructuras Secuenciales …………………………………..… 31

    CAPÍTULO VI.- Estructuras Condicionales y Simples …………………………. 51

    CAPÍTULO VII.- Estructuras Condicionales Dobles ….………………………… 59

    CAPÍTULO VIII.- Estructuras Condicionales Múltiples…………………………. 69

    UNIDAD II……………………………………………………………………………. 79

    CAPÍTULO IX.- Estructuras Condicionales Anidadas ………………………….. 81

    CAPÍTULO X.- Estructuras Selectivas ……………………………….………….. 89

    CAPÍTULO XI.- Estructuras Repetitivas Para – Hacer ………………………… 97

    CAPÍTULO XII.- Estructuras Repetitivas Mientras – Hacer …………………… 107

    CAPÍTULO XIII.- Estructuras Repetitivas Repetir – Hasta……………………. 115

    CAPÍTULO XIV.- Subprogramas – Uso de Procedimientos………………….. 123

    CAPÍTULO XV.- Uso de Funciones ……………………………………………… 135

    CAPÍTULO XVI.- Uso de Vectores y Matrices…………………………………… 143

    APÉNDICES…………………………………………………………………………. 165

    BIBLIOGRAFÍA…………………………………………………………………….. 177

  • 8/15/2019 1ero Manual Algoritmica

    8/177

     

    Fundamentos de Programación 

  • 8/15/2019 1ero Manual Algoritmica

    9/177

     

    Fundamentos de Programación 

  • 8/15/2019 1ero Manual Algoritmica

    10/177

     

    Fundamentos de Programación 

  • 8/15/2019 1ero Manual Algoritmica

    11/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 11 

    CAPÍTULO I 

    INTRODUCCIÓN A LA ALGORÍTMICA

    OBJETIVOS ESPECÍFICOS

    1. Introducción a la Algorítmica.

    2. Conceptualizar el Algoritmo y definir las características

    3. Como elaboramos un Algoritmo 

    CONTENIDOS Algorítmica: Resolución y pasos para resolver un problemas.

    Definición de un Algoritmo

    Característica del Algoritmo

    Pasos para realizar un Algoritmo

    Ejercicios Prácticos 

    ALGORITMOS

    Un algoritmo es un procedimiento a seguir, para resolver un problema en términos de:

    1. Las acciones por ejecutar.2. El orden en que dichas acciones deben ejecutarse.

    Un algoritmo nace en respuesta a la aparición de un determinado problema. Unalgoritmo está compuesto de una serie finita de pasos que convergen en la solución deun problema, pero además estos pasos tienen un orden específico.

    Entenderemos como problema a cualquier acción o evento que necesite cierto grado deanálisis, desde la simpleza de cepillarse los dientes hasta la complejidad del

    ensamblado de un automóvil. En general, cualquier problema puede ser solucionadoutilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolverproblemas de cómputo.

    Un algoritmo para un programador es una herramienta que le permite resaltar losaspectos más importantes de una situación y descartar los menos relevantes. Todoproblema de cómputo se puede resolver ejecutando una serie de acciones en un ordenespecífico. 

    Por ejemplo considere el algoritmo que se elaboraría para el problema o situación delevantarse todas las mañanas para ir al trabajo:

  • 8/15/2019 1ero Manual Algoritmica

    12/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 12  

    1. Salir de la cama2. Quitarse el pijama3. Ducharse

    4. Vestirse5. Desayunar6. Arrancar el automóvil para ir al trabajo o tomar transporte.

    Nótese que en el algoritmo anterior se ha llegado a la solución del problema en 6 pasos,y no se resaltan aspectos como: colocarse los zapatos después de salir de la cama, oabrir la llave de la regadera antes de ducharse. Estos aspectos han sido descartados,pues no tienen mayor trascendencia, en otras palabras los estamos suponiendo, encambio existen aspectos que no podemos obviarlos o suponerlos, de lo contrario nuestroalgoritmo perdería lógica, un buen programador deberá reconocer esos aspectosimportantes y tratar de simplificar al mínimo su problema.

    Es importante recalcar que los pasos de un algoritmo no son conmutativos pues, no daríasolución al mismo problema a tratar.

    ROBUSTEZ DE UN ALGORITMO

    Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problemaque queremos resolver, al elaborar un algoritmo no se nos debe escapar ningún detalleque provoque un funcionamiento malo nuestro algoritmo. Si logramos construir unalgoritmo robusto, cualquier giro inesperado del problema será controlado por elalgoritmo, es decir, debe ser f lexible a cambios.

    EFICIENCIA Y EFICACIA DE UN ALGORITMO

    Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando lamenor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos yde esfuerzo humano.

    Un algoritmo es eficaz cuando alcanza el objetivo primordial, el análisis de resolución delproblema se lo realiza prioritariamente.

    Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posibledebemos de manejar estos dos conceptos conjuntamente.

    METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS POR MEDIO DECOMPUTADORA

    Para lograr resolver cualquier problema se deben seguir básicamente los siguientespasos:

    DEFINICIÓN DEL PROBLEMA

    Esta fase está dada por el enunciado del problema, el cual requiere una definición clara yprecisa. Es importante que se conozca lo que se desea que realice la computadora;

    mientras esto no se conozca del todo no tiene mucho caso continuar con la siguienteetapa.

  • 8/15/2019 1ero Manual Algoritmica

    13/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 13  

    ANÁLISIS DEL PROBLEMA

    Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

      Los datos de entrada.  Cuál es la información que se desea producir (salida)  Los métodos y fórmulas que se necesitan para procesar los datos.

    Una recomendación muy práctica es el de colocarse en el lugar de la computadora yanalizar qué es lo que se necesita que se ordene y en qué secuencia para producir losresultados esperados.

    DISEÑO DEL ALGORITMO

    Las características de un buen algoritmo son:

      Debe tener un punto particular de inicio.  Debe ser definido, no debe permitir dobles interpretaciones.  Debe ser general, es decir, soportar la mayoría de las variantes que se puedan

    presentar en la definición del problema.  Debe ser finito en tamaño y tiempo de ejecución.  Diseño del Algoritmo  Prueba de escritorio o Depuración

    Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo parasaber si está bien hecho. Esta prueba consiste en tomar datos específicos como entraday seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis deestos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidadde corregirlo o hacerle ajustes.

    DEFINICIÓN DE UN ALGORITMO

    El Algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tareaespecífica, como la solución de un problema.

    En cada problema el algoritmo se puede expresar en un lenguaje diferente deprogramación y ejecutarse en una computadora distinta; sin embargo el algoritmo serásiempre el mismo.

  • 8/15/2019 1ero Manual Algoritmica

    14/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 14  

    CARACTERÍSTICAS DE UN ALGORITMO

    Las características del algoritmo son:

    Debe ser preciso e indicar el orden de realización de cada paso.

    Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismoresultado cada vez.

    Ser finito. Se debe terminar en algún momento; o sea debe de tener un númerofinito de pasos.

    ESTRUCTURA DE UN ALGORITMO

    Para diseñar un algoritmo se debe comenzar por identificar las tareas más importantespara resolver el problema y disponerlas en el orden en el que han de ser ejecutadas.

    Los pasos en esta primera descripción pueden requerir una revisión adicional antes deque podamos obtener un algoritmo claro, preciso y completo.

    Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a losde detalle, se conoce como método descendente (TOP-down).

    En un algoritmo se deben de considerar tres partes:

    - Entrada: Información dada al algoritmo.- Proceso: Operaciones o cálculos necesarios para encontrar la solución del

    problema.- Salida: Respuestas dadas por el algoritmo o resultados finales de los procesosrealizados. 

    Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficiede un rectángulo proporcionándole su base y altura. Lo primero que debemos hacer esplantearnos las siguientes preguntas:Especificaciones de entrada

    - ¿Qué datos son de entrada?- ¿Cuántos datos se introducirán?- ¿Cuántos son datos de entrada válidos?

    Especificaciones de salida

    - ¿Cuáles son los datos de salida?- ¿Cuántos datos de salida se producirán?- ¿Qué formato y precisión tendrán los resultados?

  • 8/15/2019 1ero Manual Algoritmica

    15/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 15  

    EJERCICIOS RESUELTOS

    1. Defina un algoritmo para realizar una llamada

    INICIO1. Acercarse al Teléfono2. Levantar el Auricular3. Recordar el Número telefónico4. Discar el Número5. Esperar que respondan6. Conversar7. Colgar el Auricular

    FIN

    2. Defina un algoritmo para cambiar bombilla

    INICIO1. Colocar una escalera debajo de la bombilla2. Subir la escalera3. Desenroscar la bombilla4. Bajar la escalera5. Coger la bombilla nueva6. Subir la escalera7. Enroscar la bombilla8. Bajar la escalera9. Retirar la escalera

    FIN3. Defina un Algoritmo para cambiar una Llanta

    INICIO1. Bajarse del Auto2. Abrir la cajuela, sacar la gata y la llave3. Colocar la gata y levantar el auto4. Destornillar los pernos5. Sacar la llanta6. Sacar la llanta de repuesto7. Colocar la llanta de repuesto

    8. Enroscar los pernos9. Bajar el auto10. Guardar la llanta, la gata y la llave

    FIN 

    4. Defina un Algoritmo para escuchar música en un CD

    INICIO1. Encender la Radio2. Seleccionar la opción TAPE3. Insertar el CD4. Esperar que cargue el CD

    5. Graduar el volumen6. Escuchar el CDFIN

  • 8/15/2019 1ero Manual Algoritmica

    16/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 16  

    EJERCICIOS PROPUESTOS

    1. Defina un Algoritmo donde permita encender una computadora para Chatear

    2. Defina un Algoritmo donde permita ir al Cine y regresar a casa.

    3. Defina un Algoritmo donde permita realizar una Matricula en la institución.

    4. Defina un Algoritmo que permita ver un determinado programa de televisión y alterminar apagar la TV.

    5. Defina un Algoritmo que permita Elaborar el Arroz con pollo, Sugerencia: Conversarcon la Mamá.

    6. Defina un Algoritmo que permita Pintar las paredes de tu habitación.

    7. Defina un Algoritmo que permita realizar una compra al crédito en una empresacomercial.

    8. Defina un Algoritmo que permita tener una Consulta Médica de un consultorioparticular.

    9. Defina un Algoritmo que permita Ir a un Fiesta de fin de año y regresar a casa.

  • 8/15/2019 1ero Manual Algoritmica

    17/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 17  

    CAPÍTULO II 

    DATOS Y TIPOS DE DATOS 

    OBJETIVOS ESPECÍFICOS

    1. Conocer los Tipos de Datos que se utilizan en la algorítmica

    2. Definir las expresiones

    CONTENIDOS

    Datos, definición Tipos de datos: Numérico, de cadena, lógicos

    Manejo de Operadores

    Expresiones

    Ejercicios Prácticos

    DEFINICIÓN DE DATOS

    1. Un dato es la expresión general que describe los objetos con los cuales opera unacomputadora.

    2. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados),los datos compuestos son conjuntos de partidas de datos simples con relacionesdefinidas entre ellos.

    3. Los datos simples son: numéricos, lógicos y caracter.

    DATOS NUMÉRICOS

    1. Es el conjunto de los valores numéricos y puede ser expresado comonuméricoentero y numéricoreal.

    2. Los enteros no tienen componentes fraccionarias o decimales y pueden sernegativos o positivos. Los reales siempre tienen un punto decimal.

    DATOS LÓGICOS 

    1. También llamados booleanos, es aquel que solo puede tomar uno de dosvalores: verdadero (true) o falso (false).

    2. Se utiliza para representar las alternativas (si/no) a determinadas condiciones.

  • 8/15/2019 1ero Manual Algoritmica

    18/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 18  

    DATOS CARACTER 1. Este tipo de dato contiene un solo carácter.

    2. Los caracteres son: alfabéticos (A-Z), numéricos (0-9) y especiales (¡ @ # $ % ^& *…).

    3. Una cadena de caracteres o string es una sucesión de caracteres que seencuentran delimitados por una o dobles comillas.

    EJERCICIOS PRÁCTICOS

    En cada uno de los datos, defina su Tipo de dato.

    Datos Tipo“Hola”123¿Quién eres?Verdadero“El Sabio”Falso12.5612/15Trae“EL Quijote”

    56.8999999¡Alo!Persona“Juan”

    MANEJO DE OPERADORES

    Definición

    Un operador es un carácter o grupo de caracteres que actúa sobre una, dos omás variables para realizar una determinada operación con un determinadoresultado. Ejemplos típicos de operadores son la suma (+), la diferencia (-), elproducto (*), etc.

    Un operador sirve para manipular datos. Los operadores pueden ser unarios, binarios y ternarios, según actúen sobre

    uno, dos o tres operandos, respectivamente.

  • 8/15/2019 1ero Manual Algoritmica

    19/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 19  

    TIPOS DE OPERADORES Aritméticos De relación,

    Lógicos, De asignación,

    OPERADORES ARITMÉTICOS

    Los operadores aritméticos son los más sencillos de entender y de utilizar.Todos ellos son operadores binarios.

    Se utilizan los operadores siguientes:

    OPERADOR SIGNIFICADO

    + SUMAR

    - RESTAR

    * MULTIPLICAR

     \, DIV DIVISION ENTERA

     / DIVISION REAL

    MOD, % RESTO ARTIMETICO

    ↑ POTENCIACION

    OPERADORES RELACIONALES Una característica imprescindible de cualquier lenguaje de programación es la

    de considerar alternativas, esto es, la de proceder de un modo u otro según secumplan o no ciertas condiciones.

    Los operadores relacionales permiten estudiar si se cumplen o no esascondiciones.

    En un programa si una condición se cumple, el resultado es cierto; en casocontrario, el resultado es falso.

    Los operadores relacionales son los siguientes

    OPERADOR SIGNIFICADO> MAYOR

    < MENOR

    >= MAYOR o IGUAL

  • 8/15/2019 1ero Manual Algoritmica

    20/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 20  

  • 8/15/2019 1ero Manual Algoritmica

    21/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 21 

    PRIORIDAD DE LOS OPERADORES

    EXPRESIONES

    Definición

    Es una combinación de distintas variables, constantes, operadores y paréntesis. Tiene un valor concreto que es el resultado de evaluarla de izquierda a derecha. El valor devuelto tras la evaluación de una expresión determina el tipo de la

    expresión (entera, lógica …)

    Ejemplo

    Sentencias

    Las expresiones son ítems elementales de unas entidades que son lassentencias. Si nos fijamos en la expresión anterior, la variable que está a laizquierda del signo (=), el operador de asignación, la expresión aritmética y elcarácter (;) constituyen una sentencia.

    Las sentencias son unidades completas, ejecutables en sí mismas. Ya se veráque muchos tipos de sentencias incorporan expresiones aritméticas, lógicas ogenerales como componentes de dichas sentencias.

    OPERADOR PRIORIDAD

    () [] Signos de Agrupación↑ Potencia

    *, /, % Producto y División+, - Suma y RestaY Operador lógico yO Operador lógico O

    NO Operador lógico de negación

    >,>=,

  • 8/15/2019 1ero Manual Algoritmica

    22/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 22  

    EJERCICIOS PROPUESTOS

    DESARROLLE LAS SIGUIENTES EXPRESIONES RETORNANDO SU VALOR

    1. (15 + ( 12 * 2 ) / 4 ) + ( 30 MOD 7) * 5

    2. (12 < 15) OR (15>= ( 3 * 5 ) )

    3. (15 > 12) Y (65 MOD 3 b ) OR (a < c)) AND (( a = c ) OR (a >= b ))

    (( a > b ) OR (a < d)) AND (( a >= d ) AND (c > d ))

    NOT ( a = c ) AND ( c > b )

    (( c > d ) OR ( b < c) AND ( a >= d )) AND ( a = c )

    6. ( 12 + ( 21 MOD 8 ) * (70 DIV 12) ) * ( 60 MOD 11 )7. ( ( 12 > 6) AND NOT ( 69 MOD 2) ) AND (3 7 MOD 4)

    8. ( 12 < 9 MOD 6 ) AND ( 9 = 3 * 3 ) OR ( 6 > 15 MOD 4 )

  • 8/15/2019 1ero Manual Algoritmica

    23/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 23  

    CAPÍTULO III 

    VARIABLES Y CONSTANTES 

    OBJETIVOS ESPECIFICOS

    1. Conocer el manejo de Variables y Constantes para ser aplicados dentro de unaAlgorítmica

    2. Definir las expresiones 

    CONTENIDOS

    Variables, definición

    Identificación de una Variable

    Declaración de una Variable

    Constantes

    Ejercicios Prácticos

    VARIABLES

    Definición

    Es un espacio en la memoria de la computadora que permite almacenartemporalmente un dato durante la ejecución de un proceso, su contenido puedecambiar durante la ejecución del programa.

    Para poder reconocer una variable en la memoria de la computadora, esnecesario darle un nombre con el cual podamos identificarla dentro de unalgoritmo.

    Su valor puede ser modificado, pero en un instante dado sólo contiene un valordeterminado.

    Declaración

    Las variables pueden asumir valores numéricos, carácter y lógicos. Existen 2 tipos de duración o ámbito de las variables, estas son (GLOBAL Y

    LOCAL). Las variables globales se pueden utilizar en cualquier parte del Algoritmo. Las variables locales son dentro de un sub-programa (Procedimiento o

    Función).

  • 8/15/2019 1ero Manual Algoritmica

    24/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 24  

    Ejemplos

    Clasificación de las Variables

    Declaración

    Para declarar variables en un algoritmo se hace uso de la siguiente sintaxis :Tipo_Dato: Lista_Variables

    Ejemplos:

    ENTERO: A, B, CREAL: X, Y, Z

    CARÁCTER: Car1, Car2CADENA : Texto1, Texto2LOGICO: Estado, Ok, Done

    En visual Basic las analogías son:

    Para declaración de variables emplearDIM VAR1, VAR2 AS TIPO

    DECLARACION

    ABC VALIDO

    A123 VALIDO

    1A2B NO VALIDO

     _MiVariable VALIDO

    Mi_Variable VALIDO

    Mi_123456 VALIDO

     _1_2_3 VALIDOMi@Variable NO VALIDO

    Seudocodigo Visual

    entero integer

    Enetro largo long

    real double

    caracter char

    cadenas string

  • 8/15/2019 1ero Manual Algoritmica

    25/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 25  

    CONSTANTES

    Definición

    Objeto de datos que contiene un valor invariable conocido por su identificador.

    Es necesario inicializar las constantes al principio del algoritmo. Esto determina

    el tipo de la constante

    EjemplosPI=3.14

    SALUDO=“Hola mundo”

    MAXIMO=500

    RESPUESTA=‘S’

    Equivalencias en Visual Basic que se va utilizar para realizar las pruebas de los

    seudocódigos:

    CONST PI=3.14

  • 8/15/2019 1ero Manual Algoritmica

    26/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 26  

  • 8/15/2019 1ero Manual Algoritmica

    27/177

  • 8/15/2019 1ero Manual Algoritmica

    28/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 28  

    Lenguajes Algorítmicos

    Es una serie de símbolos y reglas que se utilizan para describir de manera explícita unproceso. De los cuales se encuentran los siguientes tipos deLenguajes Algorítmicos:

    Gráficos: Es la representación gráfica de las operaciones que realiza unalgoritmo (diagrama de flujo).

    No Gráficos: Representa en forma descriptiva las operaciones que debe realizarun algoritmo (pseudocódigo).

    Diagrama de Flujo

    Un diagrama de flujo es la representación gráfica de unalgoritmo.

    También se puede decir que es la representación

    detallada en forma gráfica de cómo deben realizarse lospasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios

    símbolos (que indican diferentes procesos en lacomputadora), se relacionan entre sí mediante líneasque indican el orden en que se deben ejecutar losprocesos.

    Los símbolos utilizados han sido normalizados por elinstituto norteamericano de normalización (ANSI).

    Recomendaciones para el diseño de Diagramas de Flujo

    Se deben se usar solamente líneas de flujos horizontales y/o verticales. Se debe evitar el cruce de líneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar líneas de flujo son conectar. Se deben trazar los símbolos de manera que se puedan leer de arriba hacia

    abajo y de izquierda a derecha. Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando

    el uso de muchas palabras.

  • 8/15/2019 1ero Manual Algoritmica

    29/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 29  

    Pseudo Código

    Mezcla de lenguaje de programación y español (o inglés o cualquier otro idioma)que se emplea, dentro de la programación estructurada, para realizar el diseñode un programa.

    En esencial, el pseudo código se puede definir como un lenguaje deespecificaciones de algoritmos. Es la representación narrativa de los pasos quedebe seguir un algoritmo para dar solución a un problema determinado. Elpseudo código utiliza palabras que indican el proceso a realizar.

    Ventajas de utilizar un Pseudo Código a un Diagrama de Flujo

    Ocupa menos espacio en una hoja de papel Permite representar en forma fácil operaciones repetitivas complejas Es muy fácil pasar de pseudo código a un programa en algún lenguaje de

    programación. Si se siguen las reglas se puede observar claramente los niveles que tiene cada

    operación.

    Estructuras Algorítmicas

    Las estructuras de operación de programas son un grupo de formas de trabajo, quepermiten, mediante la manipulación de variables, realizar ciertos procesos específicosque nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo consu complejidad en:

    INICIO

    Edad: Entero

    ESCRIBA “cual es tu edad?”

    Lea Edad

    SI Edad >=18 entonces

    ESCRIBA “Eres mayor de Edad”

    FIN SI

  • 8/15/2019 1ero Manual Algoritmica

    30/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 30  

    Estructura de un Algoritmo en PseudocódigoEn pseudocódigo el algoritmo tiene tres partes: la cabecera, la zona de declaración deconstantes y variables y el cuerpo.

    1. La cabecera contiene el nombre del algoritmo.2. La zona de declaraciones de variables y constantes establece qué variables y

    constantes vamos a usar, indicando junto al nombre el tipo de las mismas y elvalor en el caso de las constantes.

    3. El cuerpo del algoritmo es el que contiene las instrucciones que indican lasacciones a realizar por el programa.

    a. Comienza con la palabra Inicio y termina con la palabra Fin (o palabrassimilares).

    Estructura

    Estructura Sintáctica de un Algoritmo

    SSeenntteenncciiaass DDeeccllaarraattiivvaass 

    CCaabbeecceerraa ddeell PPrrooggrraammaa 

    DDeeccllaarraacciióónn ddee VVaarriiaabblleess 

    Algoritmo CalculaArea

    VARIABLE

    Real: Radio, A

    SSeenntteenncciiaass EE j jeeccuuttaabblleess 

    EEnnttrraaddaa ddee DDaattooss 

    OOppeerraacciioonneess yy CCáállccuullooss 

    SSaalliiddaa ddee RReessuullttaaddooss 

    INICIO

    Leer Radio

    A 3.14* Radio ↑2

    Escribir A

    FIN

    IInnssttrruucccciioonneess 

    yy//oo SSeenntteenncciiaass 

    ALGORITMO Nombre_Descriptivo 

    Variables: …

    INICIO

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    31/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 31 

    CAPITULO V 

    ESTRUCTURAS SECUENCIALES 

    OBJETIVOS ESPECÍFICOS

    Reconoce la estructura Secuencial

    Comprende el manejo de las estructuras secuenciales en los procesos algorítmicos.

    CONTENIDOS

    Estructura Secuencial Definición

    Estructura

    Desarrollo Práctico

    DEFINICIÓN

    La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra ensecuencia.

    Las tareas se suceden de tal modo que la salida de una es la entrada de la siguientey así sucesivamente hasta el fin del proceso.

    Una Estructura Secuencial se representa de la siguiente forma:

    DIAGRAMA DE FLUJO

  • 8/15/2019 1ero Manual Algoritmica

    32/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 32  

    PSEUDOCÓDIGO

    Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmosrepresentados en Pseudocódigo y en diagramas de flujos:

    COMPONENTES DE UNA ESTRUCTURA SECUENCIAL

    La Asignación

    Consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona seráreconocida con el nombre de la variable que recibe el valor.La asignación se puede clasificar de la siguiente forma:

    Simples: Consiste en pasar un valor constante a una variable(a 15)

    Contador: Consiste en usarla como un verificador del número de veces que serealiza un proceso

    (a a + 1) Acumulador: Consiste en usarla como un sumador en un proceso

    (a a + b)

  • 8/15/2019 1ero Manual Algoritmica

    33/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 33  

    De trabajo: Donde puede recibir el resultado de una operación matemática queinvolucre muchas variables

    (a c + b*2/4).

    En general el formato a utilizar es el siguiente:

    < Variable >

    El símbolo debe leerse “asigne”.

    Escritura o Salida de Datos 

    Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado omensaje. Esta instrucción presenta en pantalla el mensaje escrito entre comillas o elcontenido de la variable. Este proceso se representa así como sigue:

    Lectura o Entrada de Datos 

    La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. elteclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a

    continuación de la instrucción. Esta operación se representa así:

    DECLARACIÓN DE VARIABLES Y CONSTANTES 

    La declaración de variables es un proceso que consiste en listar al principio del algoritmo

    todas las variables que se usarán, además de colocar el nombre de la variable se debedecir qué tipo de variable es.

    ENTERO: Contador, Edad, ICADENA: DirecciónREAL: Salario _ básicoCARÁCTER: Opción

    En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero;Salario _ básico es una variable de tipo real, Opción es de tipo carácter y la variableDirección está declarada como una variable alfanumérica de cadena de caracteres.

    ESCRIBIR (VALOR)

    ESCRIBIR (“MENSAJE”)

    LEER VARIABLE

    LEER VARIABLE1, VARIABLE 2

  • 8/15/2019 1ero Manual Algoritmica

    34/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 34  

    EJERCICIOS RESUELTOS 1

    1. Ingrese un número entero, luego súmele 2 unidades y visualícelo.

    ALGORITMO Ejemplo1VARIABLES

    ENTERO: AINICIO

    LEER (A)A← A + 2ESCRIBIR (A)

    FIN

    2. Ingrese 2 números enteros y luego calcule y visualice la suma y producto de los 2

    números ingresadosALGORITMO Ejemplo2VARIABLES

    ENTERO: A, B, Suma, ProductoINICIO

    LEER ( A, B )Suma ← A + BProducto← A * BESCRIBIR (Suma, Resta, Producto)

    FIN 

    3. Ingresar un número entero y luego calcular y visualizar su 5%.

    ALGORITMO Ejemplo3VARIABLES

    ENTERO: NREAL: Porcentaje

    INICIOLEER (N)Porcentaje← N * (5 / 100)ESCRIBIR (Porcentaje)

    FIN

    4. Una empresa decide otorgar una bonificación del 5% del haber básico por cada hijoa todos sus trabajadores. Calcule el total a pagar a un trabajador.

    ALGORITMO Ejemplo4VARIABLES

    ENTERO NroHijosREAL Hbasico, Bonificación, Total

    INICIOLEER (Hbasico, NroHijos)Bonificación← (Hbasico * 0.05) * NroHijos

    Total ← Hbasico + BonificaciónESCRIBIR (Total)FIN

  • 8/15/2019 1ero Manual Algoritmica

    35/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 35  

    5. Ingrese por teclado un número de dos cifras, visualice su número invertido.

    ALGORITMO Ejemplo5VARIABLES

    ENTERO Número, Inverso, Unidad, DecenaINICIOLEER (Número)Unidad← Número MOD 10Decenal← Número DIV 10Inverso ← 10 * Unidad + DecenaESCRIBIR (Inverso)

    FIN

    6. Ingrese por teclado el nombre del cliente y el costo de una PC; por estar depromoción la empresa, se aplicará un descuento del 15% del costo, donde el netoes la diferencia del costo menos el descuento. Aplique el 19% del neto donde el

    monto a pagar es la suma del neto mas IGV. Visualice el descuento, neto, IGV y elmonto a pagar.

    ALGORITMO Ejemplo6VARIABLES

    REAL Costo, Descuento, Neto, IGV, Monto, PagoCADENA Nombre

    INICIOLEER (Nombre, Costo)Descuento← 0.15 * CostoNeto Costo – DescuentoIGV 0.19 * NetoPagar ← Neto + IGVESCRIBIR (Descuento, Neto, IGV, Pagar)

    FIN

    7. En este verano un instituto educativo ha ingresado una cantidad de “N” alumnosmatriculados en el programa de Computación e Informática, si los alumnos sonagrupadas en aulas de 40 alumnos cada aula, Hallar:

    Número de aulas completasCantidad de alumnos que faltan para completar otra aula

    ALGORITMO Ejemplo7VARIABLES

    ENTERO Matriculas, Aulas, FaltaINICIO

    LEER (matriculas)Aula ← Matriculas DIV 40Falta Matricula MOD 40ESCRIBIR (Aula, Matricula)

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    36/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 36  

    8. Ingrese por teclado un Número de 3 cifras, visualice la suma de las cifras del númeroingresado.

    ALGORITMO Ejemplo8

    VARIABLESENTERO Número, Unidad, Decena, SumaINICIO

    LEER (Número)Unidad← Número MOD 10Decena (Número DIV 10) MOD 10Centena NÚMERO DIV 100Suma ← Unidad + Decena + CentenaESCRIBIR (Suma)

    FIN 

    9. Ingrese por teclado la cantidad de metros cúbicos de agua que se consume en unacasa. Calcula y visualice cada uno de los gastos sabiendo que el costo por metroscubico es 0.35 nuevos soles y el monto del consumo es el producto de la cantidad demetros cúbicos por el precio.

    Mantenimiento 0.25% del montoParques y Jardines 0.15% del montoExploración 0.05% del montoLimpieza de Alcantarillas 0.07% del monto

    Del total a pagar deberá pagar el impuesto a las Ventas que representa el 19% delMonto Total, calcule y visualice el Monto Total a Pagar.

    ALGORITMO Ejemplo9VARIABLES

    REAL Cúbicos, Monto, Mant, PJ, Explor, Limp, IGV, PagarINICIO

    LEER (Cúbicos)Monto 0.35 * CubicosMant ← Monto * 0.25 /100PJ Monto * 0.15 / 100Explor Monto * 0.05 / 100

    Limp ← Monto * 0.07 / 100Monto Monto + Mant + PJ + Explor + LimpIGV Monto * 0.19Pagar Monto + IGVESCRIBIR (“Mantenimiento:”, Mant)ESCRIBIR (“Parques y Jardines:”, PJ)ESCRIBIR (“Exploración:”, Explor)ESCRIBIR (“Limpieza:”, Limp)ESCRIBIR (“Monto:”, Monto)ESCRIBIR (“IGV:”, IGV)ESCRIBIR (“A Pagar:”, Pagar)

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    37/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 37  

    10. Una Empresa dedicada a la Venta de Electrodomésticos, realiza una promoción del

    20% + 15% de descuento. Ingrese el precio de un electrodoméstico, calcule yvisualice su descuento y el neto a pagar.

    ALGORITMO Ejemplo10

    VARIABLES

    REAL Precio, Descuento1, Descuento2, Neto

    INICIO

    LEER (Precio)

    Descuento1← (Precio * 0.20)

    Descuento2 (Precio – Descuento1) * 0.15

    Neto Precio – (Descuento1 + Descuento2)

    ESCRIBIR ((Descuento1+Descuento2), Neto)

    FIN 

  • 8/15/2019 1ero Manual Algoritmica

    38/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 38  

    EJERCICIOS RESUELTOS 2

    Nota.- crear el algoritmo y código en visual Net, aplicación de consola

    Iniciar la codificación en Visual Net 2005 (software donde se comprueban los algoritmosdesarrollados)

    En inicio ejecutar colocar DEVENV

    EN FILE NEW PROYECT

    Por defecto se tiene el modulo:

    En esta sección dentro del main se

    va codificar el algoritmo

  • 8/15/2019 1ero Manual Algoritmica

    39/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 39  

    1. Obtener la edad de una persona en meses, si se ingresa su edad en años y meses.

    Ejm: Ingresado 3 años 4 meses debe ESCRIBIR 40 meses.

    ALGORITMO EDAD

    INICIO   // Declaración de las variables

    Entero: M , A , AM

     // Muestra en pantalla e Ingresa DatosESCRIBIR “Ingrese Anyos: “LEER AESCRIBIR “Ingrese Meses: “

    LEER M

     // Factor: 1 año = 12 meses //Proceso: consideramos que 1 año tiene 12 mesesAM = A * 12 + M

     // Muestra Resultados en pantallaESCRIBIR "Edad en meses = ", AM

    FIN 

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports system.consoleImports System.Math

    Module Module1

    Sub main()

    Dim an,mes,res As Integer Write("ingresar años..:")an = ReadLine()Write("ingrese meses..:")mes = ReadLine()res=an*12+mesWriteLine("años en meses ..:" & res)ReadLine()

    End Sub

    End Module

    M : almacena cantidad de meses

    A : almacena cantidad de años

    AM : almacena cantidad total de meses

  • 8/15/2019 1ero Manual Algoritmica

    40/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 40  

    2. Ingresar por teclado las dimensiones de un terreno, largo, ancho, precio por metrocuadrado, se pide calcular y ESCRIBIR:

    - El área total

    - El precio del Terreno

    - La cuota inicial que es 13% del precio

    - Cuota mensual a pagar si el pago es en dos años

    INICIO  

     // Declaración de las variables

    Real: larg,anch ,pxm, prect , cuotaini,saldo, cutamensu

     // Muestra en pantalla e Ingresa Datos

    ESCRIBIR “Ingrese largo: “

    LEER larg

    ESCRIBIR “Ingrese ancho: “

    LEER anch

    ESCRIBIR “Ingrese precio x metro cuadrado: “

    LEER pxm

    area

  • 8/15/2019 1ero Manual Algoritmica

    41/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 41 

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports system.console

    Imports System.Math

    Module Module2

    Sub main()Dim larg, anch, pxm, area, prect, cuotini, sald, cuotmensu As DoubleWrite("ingresar largo..:")larg = ReadLine()Write("ingresar ancho..:")anch = ReadLine()Write("ingresar precio por metros ..:")pxm = ReadLine()area = (larg * anch)prect = (area * pxm)cuotini = (prect * 0.13)sald = (prect - cuotini)cuotmensu = (sald / 24)WriteLine("el area es..:" & area)WriteLine("precio total..:" & prect)WriteLine("cuota inicial..:" & cuotini)WriteLine("el saldo es ..:" & sald)

    WriteLine("la cuota mensual es ..:" & cuotmensu)ReadLine()

    End Sub

    End Module

  • 8/15/2019 1ero Manual Algoritmica

    42/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 42  

    3. Se deposita una cierta de dinero en un banco , se desea saber los intereses ganados

    y el valor futuro del dinero

    INICIO   // Declaración de las variables variablesmeses :Entero ints, monto, vfut :real 

     // Muestra en pantalla e Ingresa DatosESCRIBIR “Ingrese monto : “LEER montoESCRIBIR “Ingrese meses : “LEER meses

    ints

  • 8/15/2019 1ero Manual Algoritmica

    43/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 43  

    4. Escriba un algoritmo que permita convertir un valor ingresado en pies a metros. Si

    1pie=30.48 cm.

    INICIO   // Declaración de las variables  Real : Vp , Vm, Vc

     // Muestra en pantalla e Ingresa DatosESCRIBIR “ Ingrese valor en pies : “LEER Vp

     // Proceso : Calcula VmVc = Vp * 30.48 // Valor en cmVm = Vc /100 // Valor en m

     // Salida en pantalla  ESCRIBIR Vm

    FIN 

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.Math

    Module Module 4Sub main()

    Dim Vp , Vm, Vc as double Write("ingrese valor en pies..:")vp = ReadLine()

    ‘ Valor en pies‘Proceso : Calcula VmVc = Vp * 30.48 ‘ Valor en cmVm = Vc /100 ‘ Valor en m

     // Salida en pantalla  WriteLine("velocidad en metros.:" & vm)ReadLine()

    End SubEnd Module

    Vp Valor en Pies almacena un valor en pies

    Vm Valor en metros almacena un valor en metros

    Vc Valor en centimetros almacena un valor en centimetros

    Factor : 1 pie = 30.48 cm 1 m = 100 cm

  • 8/15/2019 1ero Manual Algoritmica

    44/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 44  

    5. Calcular el área y perímetro de un triángulo, conocidos sus lados.

    INICIO   //Declaración de las variablesReal: A, B, C, P, sp, Area

     // Ingreso de DatosLEER A, B, C

     // Proceso: Calculo de P Perimetro y SP SemiPerimetroP A + B + Csp = P/2Area = sqrt ( sp * (sp – A) * (sp - B) * (sp - C))

     // Salida de ResultadosESCRIBIR P, Area

    FIN 

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.Console

    Imports System.mathModule Module 5Sub Main()

    Dim l1, l2, l3 As IntegerDim area, p As DoubleWrite("Ingresa lado 1..:")l1 = ReadLine()Write("ingresa lado 2..:")l2 = ReadLine()Write("ingresa lado 3 ..:")l3 = ReadLine()p = (l1 + l2 + l3) / 2

    area = Sqrt(p * (p - l1) * (p - l2) * (p - l3))WriteLine()WriteLine("ESCRIBIR area..:" & area)ReadLine()

    End SubEnd Module

    Lados del triángulo: A , B y C

    P : Perímetro del Triángulo (suma de sus lados)

    sp : SemiPerímetro del Triángulo = P/2

    Area : SQRT ( sp * (sp – A) * (sp - B) * (sp - C))

  • 8/15/2019 1ero Manual Algoritmica

    45/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 45  

    6. Ingrese por teclado un número de dos cifras, visualice su número invertido

    VARIABLESENTERO: Número, Inverso, Unidad, Decena

    INICIOLEER (Número)Unidad ← Número MOD 10Decenal← Número DIV 10Inverso← 10 * Unidad + DecenaESCRIBIR (Inverso)

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module6Sub Main()

    Dim Número, Inverso, Unidad, Decena As IntegerWrite("Ingresa un número de 2 cifras..:")número =ReadLine()Unidad = Número MOD 10Decenal = Número \10Inverso = 10 * Unidad + Decena

    WriteLine("número invertido.:" & inverso)ReadLine()End Sub

    End Module 

    7. En este verano un instituto educativo ha ingresado una cantidad de “N” alumnos

    matriculados en el programa de Computación e Informática, si los alumnos son

    agrupadas en aulas de 40 alumnos cada aula, hallar:

    • Número de aulas completas• Cantidad de alumnos que faltan para completar otra aula

    VARIABLESENTERO: Matriculas, Aulas, Falta

    INICIOLEER (matriculas)Aula ← Matriculas DIV 40Falta Matricula MOD 40ESCRIBIR (Aula, Matricula)

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    46/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 46  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module7Sub Main()

    Dim Número Matriculas, Aulas, Falta As Integer

    Write("Ingrese número de matriculas.:")matriculas = CInt(ReadLine())

    Aula=Matriculas \40

    Falta =Matricula MOD 40

    WriteLine("número de aulas.:" & aula)ReadLine()

    End Sub End Module

    PASAR A VISUAL LOS SIGUIENTES SEUDOCODIGOS:

    8. Ingrese por teclado un Número de 3 cifras, visualice la suma de las cifras del númeroingresado.

    VARIABLESENTERO Número, Unidad, Decena, Suma

    INICIO

    LEER (Número)

    Unidad ← Número MOD 10Decena (Número DIV 10) MOD 10Centena NÚMERO DIV 100Suma ← Unidad + Decena + CentenaESCRIBIR (Suma)

    FIN 

  • 8/15/2019 1ero Manual Algoritmica

    47/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 47  

    9. Ingrese por teclado la cantidad de metros cúbicos de agua que se consume en una

    casa. Calcula y visualice cada uno de los gastos sabiendo que el costo por metros

    cubico es 0.35 nuevos soles y el monto del consumo es el producto de la cantidad demetros cúbicos por el precio.

    • Mantenimiento 0.25% del monto

    • Parques y Jardines 0.15% del monto

    • Exploración 0.05% del monto

    • Limpieza de Alcantarillas 0.07% del monto

    Del total a pagar deberá pagar el impuesto a las ventas que representa el 19% delMonto Total, calcule y visualice el Monto Total a Pagar.

    VARIABLES

    REAL: Cúbicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar

    INICIO

    LEER (Cúbicos)

    Monto 0.35 * CubicosMant ← Monto * 0.25 /100

    PJ Monto * 0.15 / 100

    Explor Monto * 0.05 / 100

    Limp ← Monto * 0.07 / 100

    Monto Monto + Mant + PJ + Explor + Limp

    IGV Monto * 0.19

    Pagar Monto + IGV

    ESCRIBIR (“Mantenimiento:”, Mant)

    ESCRIBIR (“Parques y Jardines:”, PJ)

    ESCRIBIR (“Exploración:”, Explor)

    ESCRIBIR (“Limpieza:”, Limp)

    ESCRIBIR (“Monto:”, Monto)

    ESCRIBIR (“IGV:”, IGV)

    ESCRIBIR (“A Pagar:”, Pagar)

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    48/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 48  

    10.Una Empresa dedicada a la Venta de Electrodomésticos, realiza una promoción del

    20% + 15% de descuento. Ingrese el precio de un electrodoméstico, calcule y

    visualice su descuento y el neto a pagar.

    VARIABLES

    REAL Precio, Descuento1, Descuento2, Neto

    INICIO

    LEER (Precio)

    Descuento1← (Precio * 0.20)Descuento2 (Precio – Descuento1) * 0.15

    Neto Precio – (Descuento1 + Descuento2)

    ESCRIBIR ((Descuento1+Descuento2), Neto)

    FIN 

  • 8/15/2019 1ero Manual Algoritmica

    49/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 49  

    EJERCICIOS PROPUESTOS

    1. Ingrese por teclado un número, calcule y visualice:a) El doble del número ingresadob) La tercera parte del número ingresadoc) El cubo del número ingresado

    2. Ingrese por teclado la cantidad de metros de un telar. Transformar los metros acentímetros y pulgadas, sabiendo que una pulgada es el equivalente a 2.54centímetros.

    3. Ingrese por teclado la descripción y precio de un producto, actualizar el precio de lasiguiente manera:

    a) Incremente el precio al 35% del precio ingresado.b) El nuevo precio es la suma del precio inicial mas el incremento

    4. Ingrese por teclado el nombre del producto, el precio unitario y la cantidad vendida,calcule y visualice:

    a) El importe de la compra que es el producto del precio por la cantidad vendida.b) El IGV que representa el 19% del importe de la comprac) El importe final que es la suma del importe de la compra mas el IGV

    5. Ingrese por teclado un número de tres cifras, calcule y visualice:

    a) Suma de sus cifrasb) Promedio de las cifras

    6. Ingrese por teclado un número de dos cifras, mostrar el número pero en sentidoinverso.

    7. Se desea repartir cierto monto de dinero entre tres personas que conforman unaempresa; obtener el monto que le corresponde a cada persona si la repartición sebasa en la cantidad de acciones que posee cada socio:

    Socio % Acciones

    A 35%B 45%C 20%

    Ingrese por teclado el monto de dinero, visualice el importe que recibirá cada uno delos accionistas.

    8. Desarrolle un algoritmo para la compañía telefónica que permite mostrar el pago porconsumo telefónico, para esto se ingresará el código del usuario, el númerotelefónico y la cantidad de minutos utilizados.Mostrar el código del usuario, el importe de las llamadas realizadas, el IGV y el pagototal, considerando que la empresa cobra 0.30 céntimos de nuevo sol por cadaminuto, la renta básica cobra 48 nuevos soles y el IGV es el 19% del Monto.

  • 8/15/2019 1ero Manual Algoritmica

    50/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 50  

    9. Ingrese por teclado el nombre y tres notas de un alumno, calcular y mostrar elpromedio de las tres notas.

    10. Ingrese por teclado la cantidad de soles, transformarlo en dólares; considere el tipo

    de cambio del día.11. Ingrese por teclado la cantidad de postulantes a la Universidad, calcule y visualice:

    a) Cantidad de aulas completasb) Cantidad de alumnos para completas la ultima aula

    Considerar que un aula completa es de 20 alumnos.

    12. Ingrese por teclado una cantidad de segundos, calcular y mostrar:

    a) Cantidad de horasb) Cantidad de minutos

    c) Cantidad de segundos restantes

    13. Ingrese por teclado un número, incrementar el 2.4% de su valor, mostrar el valor delincremento y el nuevo número.

    14. Ingrese por teclado un número de 4 cifras, mostrar los números formados por lascifras de los extremos y los medios.

    15. Ingrese por teclado el sueldo de un trabajador, asumiendo que éste es un valorentero, visualizar la mejor distribución de billetes y monedas que se utilizarán parapagar un sueldo.Considere billetes de 100, 50, 20 ,10.Monedas de 5, 2 ,1

    16. En un instituto se planteo los siguientes pesos para cada una de las evaluacionesque tendrá en el curso.

    Examen Parcial 30%Examen Final 40%Promedio de Practicas 20%Promedio de Trabajos 10%

    Para tal caso ingrese el nombre del alumno y las 4 evaluaciones, mostrar el nombre

    del alumno y su promedio.

  • 8/15/2019 1ero Manual Algoritmica

    51/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 51 

    CAPITULO VI 

    ESTRUCTURAS CONDICIONALES Y SIMPLES 

    OBJETIVOS ESPECÍFICOS

    Defina el propósito de las estructuras condicionales

    Realiza la solución de diversos casos prácticos aplicando estructuras condicionales

    CONTENIDOS

    Definición de estructuras condicionales

    Clasificación

    Estructura condicional simple

    Definición

    Sintaxis

    Desarrollo Practico

    ESTRUCTURAS CONDICIONALES

    Definición

    Las Estructuras Condicionales también reciben el nombre de “estructuras de selección”,permite elegir entre diferentes cursos de acción en función de condiciones.

    Las estructuras condicionales comparan una variable contra otro(s) valor (es), para queen base al resultado de esta comparación, se siga un curso de acción dentro delprograma. Cabe mencionar que la comparación se puede hacer contra otra variable ocontra una constante, según se necesite.

    En una Estructura Condicional se evalúa una expresión lógica y dependiendo delresultado se ejecutan unas sentencias u otras.

    Pongamos un pequeño ejemplo. Imagine que tenemos nuestro robot subiendo lasescaleras de la Torre Eiffel y le indicamos lo siguiente: si está en el escalón 200 entoncesno continúe subiendo, sino continua su ascensión. Como puede ver aquí se nos presentauna condición y, según en el punto de la escalera en la que se encuentre, nuestro robotse parará o continuará subiendo.

    Si la condición es verdadera, entonces se ejecuta la sentencia mostrar, y luego elprograma continuaría; si la condición es falsa, la sentencia mostrar se ignora y el

    programa continúa.

  • 8/15/2019 1ero Manual Algoritmica

    52/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 52  

    ¿Qué es una Condición?

    Una condición o expresión booleana puede ser:

    • Una variable booleanaTEST Verdadero

    • Una expresión aritmética seguida de un operador relacional, seguido de otraexpresión aritmética

    TEST 3 < 5

    • Una expresión booleana, seguida de un operador booleano, seguido de unaexpresión booleana

    TEST

    A AND NOT B OR CSe pueden utilizar condiciones tan complejas como se quiera siempre que estén bienformadas

    Clasificación

    Las estructuras condicionales o selectivas se clasifican en:1. Condicional Simple (SI / FIN-SI)2. Condicional Doble (SI / SINO / FIN-SI)3. Condicional Anidada (Similar a Condicional Doble)4. Condicional Múltiple (EN_CASO / FIN-EN_CASO)

    ESTRUCTURA CONDICIONAL SIMPLE

    Definición

    Es aquella estructura de control que evalúa una condición:• Si la condición se cumple se ejecutan determinadas acciones.• Si la condición no se cumple, no se ejecutan esas acciones.

  • 8/15/2019 1ero Manual Algoritmica

    53/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 53  

    SINTAXIS

    DIAGRAMA DE FLUJO

    PSEUDOCÓDIGO

  • 8/15/2019 1ero Manual Algoritmica

    54/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 54  

    EJERCICIOS RESUELTOS

    1. Ingrese por teclado 2 números enteros y visualice el mayor de los 2 númerosingresados.

    ALGORITMO Ejemplo1VARIABLES

    ENTERO: A, B, MayorINICIO

    LEER ( A, B )Mayor A

    SI ( B > A )ENTONCESMayor B

    FIN-SI

    ESCRIBIR ( Mayor )FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module1

    Sub Main()

    Dim A, B, Mayor3 As IntegerWrite("Ingresa valor 1..:")A = ReadLine()Write("ingresa VALOR 2..:")B = ReadLine()MAYOR=AIF B > A THEN

    Mayor = B

    END IFWriteLine("EL MAYOR ES..:" & MAYOR)ReadLine()

    End SubEnd Module

  • 8/15/2019 1ero Manual Algoritmica

    55/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 55  

    2. Ingrese por teclado un número entero, si mayor a 10 súmele 10 unidades y visualiceel nuevo valor.

    ALGORITMO Ejemplo2

    VARIABLESENTERO: N

    INICIOLEER ( N )

    SI ( N > 10) ENTONCESN N + 10

    FIN-SIESCRIBIR ( N )

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module1Sub Main()

    Dim N As IntegerWrite("Ingresa valor 1..:")N = ReadLine()

    IF N>10 THENN=N+10

    END IFWriteLine("EL NUEVO VALOR..:" & N)ReadLine()

    End SubEnd Module

    3. Ingrese por teclado la edad de una persona; si su edad es mayor a 17, visualice unmensaje “Es mayor de edad”.

    ALGORITMO Ejemplo3VARIABLESENTERO: edad

    INICIOLEER (edad)

    SI (edad > 17) ENTONCESESCRIBIR “Es mayor de edad”

    FIN-SIFIN

  • 8/15/2019 1ero Manual Algoritmica

    56/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 56  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module1Sub Main()

    Dim edad As IntegerWrite("Ingresa su edad..:")edad = ReadLine()IF edad>17 THEN

    WriteLine("eres mayor de edad" )END IFReadLine()

    End SubEnd Module 

    4. Ingrese por teclado la talla de una persona; visualice un mensaje “ServicioObligatorio”, si tiene una talla mínima de 1.70 metros

    ALGORITMO Ejemplo4VARIABLES

    REAL: talla

    INICIO LEER (talla)SI (talla>=1.70) ENTONCES

    ESCRIBIR “Servicio Obligatorio”FIN-SI

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.math

    Module Module1Sub Main()

    Dim talla As doubleWrite("Ingresa su edad..:")talla = ReadLine()IF talla>1.70 THEN

    WriteLine("eres Servicio Obligatorio " )END IFReadLine()

    End SubEnd Module

  • 8/15/2019 1ero Manual Algoritmica

    57/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 57  

    5. Una empresa otorga un bonificación del 5% del haber básico solo a sus trabajadoresque tienen hijos, calcular el total a pagar a un trabajador.

    ALGORITMO Ejemplo5VARIABLES

    ENTERO: NroHijosREAL: Hbasico, Bonificación, Total

    INICIOLEER (Hbasico, NroHijos)Bonificación 0

    SI ( NroHijos > 0 ) ENTONCESBonificación← Hbasico * 0.05 * NroHijos

    FIN-SI

    Total Hbasico + BonificaciónESCRIBIR (Total)

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleImports System.mathModule Module1

    Sub Main()

    Dim Hbasico, Bonificación, Total As doubleDim NroHijos As integer Write("Ingresa su haber basico.:")hbasico = ReadLine()Write("Ingresa número de hijos.:")nrohijos = ReadLine()IF ( NroHijos > 0 ) THEN

    Bonificación =Hbasico * 0.05 * NroHijosEND IFTotal =Hbasico + BonificaciónWRITELINE(“SU PAGO TOTAL ES :” &Total)ReadLine()

    End SubEnd Module

  • 8/15/2019 1ero Manual Algoritmica

    58/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 58  

    EJERCICIOS PROPUESTOS

    1. Ingrese por teclado 2 números enteros y visualice el menor de los 2 númerosingresados.

    2. Ingrese por teclado un número entero visualice el cuadrado del número, si el númeroes mayor a 10 y menor a 50.

    3. Ingrese por teclado la edad y talla de una dama, visualice un mensaje “Postulante a laEscuela de Oficiales”, si su edad mínima es 17 y su talla mínima es 1.65 metros.

    4. Ingrese por teclado el puntaje de un alumno que ha postulado a la Universidad,visualice un mensaje “Alumno Ingresado” si el puntaje obtenido es mayor a 500.

    5. Ingrese por teclado el sueldo de un empleado, si el sueldo es mayor a 1800, se leaplicará un descuento del 15% del excedente de su sueldo respecto a 1800, visualiceel descuento.

    6. Ingrese por teclado la descripción y precio de un accesorio de computadora; se leaplicará un descuento del 5% al precio si el accesorio es Monitor o Teclado. Visualiceel descuento y el nuevo precio.

    7. Ingrese por teclado un número, si es número par, duplique el valor del número;

    mostrar el nuevo valor.

    8. Ingrese por teclado un número, si es de 3 cifras, visualice la suma de las cifras delnúmero.

    9. Ingrese por teclado el nombre del curso y su precio; si el nombre del curso esNetworking, se le aplicará un descuento del 15% al precio, visualice el descuento y elnuevo precio.

    10. Ingrese por teclado el año de nacimiento de una persona, visualice un mensaje “Esmayor de edad”, si su edad es mayor o igual a 18.

    11. Ingrese por teclado dos notas, calcule su promedio sabiendo que la segunda nota espeso doble; visualice un mensaje “Aprobado”, si su promedio es mayor o igual a 11

    12. Ingrese por teclado un número, si el número es impar y de tres cifras, visualice elnúmero incrementado por su número invertido.

    13. Ingrese por teclado el nombre, precio y la cantidad de productos a vender, calcule elmonto de la venta. Se aplicará un descuento del 35% de su precio por la compra de20 unidades. Visualice el descuento y el neto.

  • 8/15/2019 1ero Manual Algoritmica

    59/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 59  

    CAPÍTULO VII 

    ESTRUCTURAS CONDICIONALES DOBLES 

    OBJETIVOS ESPECÍFICOS

    Defina el propósito de las estructuras condicionales dobles.

    Realiza la solución de diversos casos prácticos aplicando estructuras condicionales.

    CONTENIDOS

    Estructura condicional doble

    Definición

    Sintaxis

    Desarrollo Practico

    ESTRUCTURA CONDICIONAL DOBLE

    Definición

    La estructura condicional de selección doble ejecuta un bloque de instrucciones (A)cuando la proposición (condición) es verdadera y un bloque diferente (B) cuando esta esfalsa.

    SINTAXIS

    DIAGRAMA DE FLUJO

  • 8/15/2019 1ero Manual Algoritmica

    60/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 60  

  • 8/15/2019 1ero Manual Algoritmica

    61/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 61 

    EJERCICIOS RESUELTOS

    1. Ingrese por teclado 2 números, visualice el mayor de los dos números ingresados.

    ALGORITMO Ejemplo1VARIABLES

    ENTERO: A, BINICIO

    LEER(A, B)SI ( A > B )ENTONCES

    ESCRIBIR (A)SINO

    ESCRIBIR (B)

    FIN-SIFIN

    2. Ingrese por teclado un número, si el número es par visualice su doble pero si elnúmero es impar visualice su cuadrado.

    ALGORITMO Ejemplo2VARIABLES

    ENTERO: AINICIO

    LEER(A)SI ( A MOD 2 = 0) ENTONCESESCRIBIR (2*A)

    SINOESCRIBIR (A^2)

    FIN-SIFIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()Dim A As IntegerWrite("Ingresa valor 1..:")A = ReadLine()IF A MOD 2=0 THEN

    WriteLine("EL DOBLE ES..:" & 2*A)ELSE

    WriteLine("SU CUADRADO ..:" & A^2)

    END IFReadLine()

    End SubEnd Module

  • 8/15/2019 1ero Manual Algoritmica

    62/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 62  

    3. Ingrese por teclado la edad de un postulante a las fuerzas armadas, visualice unmensaje “Apto” si su edad es mayor a 17; sino visualice un mensaje “No apto”.

    ALGORITMO Ejemplo3VARIABLES ENTERO: edad

    INICIOLEER (edad)SI (edad>17) ENTONCES

    ESCRIBIR (“APTO”)SINO

    ESCRIBIR (“NO APTO”)FIN-SI

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()

    Dim EDAD As IntegerWrite("Ingresa EDAD..:")EDAD = ReadLine()IF EDAD>17 THEN

    WriteLine("ESTA APTO”)ELSE

    WriteLine("NO APTO”)

    END IFReadLine()

    End SubEnd Module

    4. Ingrese por teclado el total de ahorros de una persona, si ahorró más de 1000,visualice “PUEDE COMPRAR SU TV”, sino “SIGA AHORRANDO”.

    ALGORITMO Ejemplo3VARIABLES 

    REAL: ahorrosINICIO

    LEER (ahorros)SI (ahorros>1000) ENTONCES

    ESCRIBIR (“PUEDE COMPRAR SU TV”)SINO

    ESCRIBIR (“SIGA AHORRANDO”)FIN-SI

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    63/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 63  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.Console

    Module Module1Sub Main()Dim AHORROS As DOUBLEWrite("Ingrese ahorros”) ahorros = ReadLine()IF ahorros>1000 THEN

    WriteLine("puede comprar su tv”)ELSE

    WriteLine("siga ahorrando”)

    END IFReadLine()

    End SubEnd Module

    5. Ingrese por teclado el tiempo que demora en recorrer 1500 metros un atleta,visualice un mensaje “ATLETA A COMPETIR EN LA OLIMPIADA” si la marcamínima es 3 minutos, sino visualice un mensaje “PREPARARSE MAS”

    ALGORÍTMICA Ejemplo5VARIABLES

    REAL: tiempoINICIO

    LEER (tiempo)SI (tiempo

  • 8/15/2019 1ero Manual Algoritmica

    64/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 64  

    6. Una tienda comercial ofrece un descuento del 3% del valor de compra si el pago seefectúa al contado, en caso el pago sea con tarjeta se le recarga un 5% del valor decompra. Calcular el total a pagar.

    ALGORITMO Ejemplo6VARIABLES 

    REAL: Vcompra, Descuento, Recargo, TotalCARÁCTER: TipoPago

    INICIOLEER (Vcompra, TipoPago)Descuento 0 : Recargo 0SI (TipoPago = ‘C’ ) ENTONCES

    Descuento Vcompra * 0.03SINO

    Recargo Vcompra * 0.05

    FIN-SITotal Vcompra – Descuento + RecargoESCRIBIR (Total)

    FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.Console

    Module Module1

    Sub Main()

    Dim Vcompra, Descuento, Recargo, Total As double

    Dim TipoPago as char

    Write("Ingresa valor de la compra..:")

    vcompra = ReadLine()

    Write("Ingrese tipo de compra c/r..:")

    tipopago = ReadLine()

    If (TipoPago = “C” ) then

    Descuento = Vcompra * 0.03

    Else

    Recargo =Vcompra * 0.05

    End if

    Total = Vcompra – Descuento + Recargo

    WriteLine("total a pagar:” & totAL)

    ReadLine()

    End Sub

    End Module

  • 8/15/2019 1ero Manual Algoritmica

    65/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 65  

    7. Ingrese un número entero de 3 cifras y luego visualice un mensaje indicando si elnúmero ingresado es “CAPICUA” o “NO ES CAPICUA”.

    ALGORÍTMICA Ejemplo7

    VARIABLESENTERO: N, A, C

    INICIOLEER( N )SI ( N >= 100) Y ( N

  • 8/15/2019 1ero Manual Algoritmica

    66/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 66  

    8. Una tienda comercial por campaña publicitaria está ofreciendo descuentos por susdiversos artículos, donde lo artículos que cuestan mínimo 1000 nuevos soles se leaplicará un descuento del 10% y aquellos que son menores a dicho monto se le

    aplicará un descuento del 3% del precio. Visualice el descuento y el netoALGORITMO Ejemplo8

    VARIABLES REAL: Precio, Descuento, Neto

    INICIOLEER (Precio)Descuento 0SI (Precio>=1000) ENTONCES

    Descuento Precio * 0.10SINO

    Descuento Precio * 0.03FIN-SINeto Precio – DescuentoESCRIBIR (Descuento, Neto)

    FIN

    9. Se están solicitando a la población postular a la Escuela de la Fuerzas Armadas, unapersona que postula a la Escuela deberá ingresar su Nombre, edad, talla y estudiosrealizados. Si su edad es mayor a 17, tiene una talla mínima de 1.70 y estudiossuperiores, podrá ingresar, sino ingresará a la Escuela de Suboficiales.

    ALGORÍTMICA Ejemplo9VARIABLES

    ENTERO: edadREAL: tallaCADENA: nombre, estudios

    INICIOLEER (nombre, talla, edad, estudios)SI ( edad>17 Y talla>=1.70 Y estudios=”SUPERIOR”) ENTONCES

    ESCRIBIR (“APTO PARA ESCUELA DE OFICIALES”)SINO

    ESCRIBIR (“APTO PARA ESCUELA DE SUB OFICIALES”)

    FIN-SIFIN

  • 8/15/2019 1ero Manual Algoritmica

    67/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 67  

    EJERCICIOS PROPUESTOS

    1. Ingrese por teclado 2 notas, visualice el mayor de las dos notas y si esa nota es

    aprobatoria o no (notas de 0-20).

    2. Ingrese por teclado la edad de una persona, visualice un mensaje:a. “Mayor de Edad”, si la edad es mínimo 18b. “Menor de Edad”, si la edad es menor a 18

    3. Ingrese por teclado un número de dos cifras, visualice un mensaje si es número es ono capicúa.

    4. Ingrese por teclado dos números, visualice el menor de los dos números ingresados.

    5. Ingrese por teclado tres números diferentes, visualize:a) Mayor de los tres númerosb) Menor de los tres números

    6. Ingrese por teclado tres números enteros diferentes, visualice el segundo mayornúmero.

    7. Ingrese por teclado el precio de un articulo y el tipo de pago, si el tipo de pago es“CONTADO” se le aplicará un descuento del 5%, sino no se le aplicará descuento;visualice el descuento y el nuevo precio.

    8. Ingrese por teclado el nombre de un alumno y sus tres notas, calcule y visualice su

    promedio; si el promedio es menor a 11, deberá ingresar la nota sustitutoria quereemplazara a la nota más baja; calcule y visualice su promedio.

    9. Ingrese por teclado el precio de un artículo, si el precio es menor a 100, se le aplicaráun descuento del 3% sobre el precio, sino, se le aplicará un descuento del 10% sobreel precio. Visualice el descuento y el nuevo precio

    10. Ingrese por teclado el nombre de un obrero y sus horas trabajadas, el pago querecibe por cada hora es de 15 nuevos soles. Su jornal es el producto del pago porhora y las horas trabajadas; si trabaja más de 40 horas, por cada hora extratrabajada, se le pagará 25 nuevos soles. Visualice el jornal que recibió.

  • 8/15/2019 1ero Manual Algoritmica

    68/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 68  

  • 8/15/2019 1ero Manual Algoritmica

    69/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 69  

    CAPÍTULO VIII 

    ESTRUCTURAS CONDICIONALES MULTIPLES 

    OBJETIVOS ESPECÍFICOS

    Defina el propósito de las estructuras condicionales múltiples.

    Realiza la solución de diversos casos prácticos aplicando estructuras condicionales.

    CONTENIDOS

    Estructura condicional múltiple

    Definición

    Sintaxis

    Desarrollo Practico

    ESTRUCTURA CONDICIONAL MULTIPLE

    Definición

    Las estructuras de comparación múltiples, son tomas de decisión especializada quepermiten comparar una variable con posibles resultados diferentes, ejecutando para cadacaso una serie de instrucciones específicas.Cabe resaltar que este tipo de estructura evalúa el valor de una variable con los posiblesvalores que se pueden comparar para obtener un resultado, por ejemplo:Si el mes es 1, escribir “Enero”; sino si el mes es 2, escribir “Febrero”, etc.

    SINTAXIS

    DIAGRAMA DE FLUJO

  • 8/15/2019 1ero Manual Algoritmica

    70/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 70  

    PSEUDOCÓDIGO

  • 8/15/2019 1ero Manual Algoritmica

    71/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 71 

    EJERCICIOS RESUELTOS

    1. Ingrese 3 números enteros y visualice el mayor de los 3 números ingresados.

    ALGORITMO Ejemplo1VARIABLESENTERO: A, B, C, Mayor

    INICIOLEER( A, B, C)SI( A>B AND A>C ) ENTONCES

    Mayor ← ASINO SI( B>A AND B>C ) ENTONCES

    Mayor ← BSINO

    Mayor ← CFIN-SI

    ESCRIBIR ( Mayor )FIN

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.Console

    Module Module1

    Sub Main()

    Dim A, B, C, Mayor As INTEGER

    Write("Ingrese UN PRIMER VALOR:”) 

    A = ReadLine()Write("Ingrese UN SEGUNDO VALOR:”) 

    B = ReadLine()

    Write("Ingrese UN TERCER VALOR:”) 

    IF ( A>B AND A>C ) THEN

    Mayor = A

    ELSEIF ( B>A AND B>C ) THEN

    Mayor = B

    ELSEMayor= C

    END IF

    WRITELINE (“EL MAYOR VALOR ES :” & Mayor )

    ReadLine()

    End Sub

    End Module

  • 8/15/2019 1ero Manual Algoritmica

    72/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 72  

    11. Ingrese un número entero, si es menor a 10 súmele 10 unidades, si está entre 11 a20 multiplique por dos, si es mayor a 20 elevar a potencia par. Visualice el nuevovalor.

    ALGORITMO Ejemplo2

    VARIABLES ENTERO: NINICIO

    LEER( N )SI ( N < 10) ENTONCES

    N ← N + 10SINO SI ( N

  • 8/15/2019 1ero Manual Algoritmica

    73/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 73  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()Dim Bonificación As doubleDim categoria as stringWrite("Ingrese una categoría :”) categoria = ReadLine()IF (categoria = “A”) THEN

    Bonificación=250ELSEIF (categoria = “B”) THEN

    Bonificación=200ELSEIF (categoria = “C”) THEN

    Bonificación= 120ELSE

    Bonificación =50END IFWriteline(“Valor DE Bonificación :” & Bonificación )ReadLine()

    End SubEnd Module 

    13.Se van a publicar la nota de un alumno, dependiendo de su nota se ubicará en una delas siguientes categorías:

    ALGORITMO Ejemplo4VARIABLES

    CADENA: CategoríaENTERO: nota

    INICIO

    LEER (nota)SI (nota

  • 8/15/2019 1ero Manual Algoritmica

    74/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 74  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()Dim nota As integer Dim categoria as stringWrite("Ingrese nota :”) nota = ReadLine()If (nota

  • 8/15/2019 1ero Manual Algoritmica

    75/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 75  

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()Dim edad As integerWrite("Ingrese edad :”) If (nota

  • 8/15/2019 1ero Manual Algoritmica

    76/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 76  

    EJERCICIOS PROPUESTOS

    1. En una oficina de empleos categorizar a los postulantes en función al sexo y la edad

    de acuerdo a lo siguiente:• Si la persona es de sexo femenino: categoría FA si tiene menos de 20 años y FB

    caso contrario.• Si la persona es de sexo masculino: categoría MA si tiene menos de 30 años y

    MB caso contrario

    2. Diseñe un programa que ingrese el sueldo de un trabajador y calcule el aumento queobtendrá de la siguiente tabla

    3. Diseñe un programa que lea la temperatura de un día e imprima el tipo de clima deacuerdo a la siguiente tabla

    Temperatura Promedio (TP) Tipo de ClimaTP

  • 8/15/2019 1ero Manual Algoritmica

    77/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 77  

    Ingrese por teclado el nombre del Postulando y la facultad que va a estudiar, visualice:• El importe de la matricula• El monto de la mensualidad

    • El monto total, que es la suma de la matricula y la mensualidad

    9. Un cliente, por campaña navideña, desea comprar panteones, donde según su marcatiene un precio

    Marca del Panteón Precio UnitarioD’onofrio 20Motta 19Todinno 18Naval 9Santa Claus 11Doña Pepa 10

    Si el cliente desea comprar más de 20 panetones de una misma marca, se le aplicaráun descuento del 10% sobre el monto de la compra, obteniendo así el neto, que es ladiferencia entre el monto y el descuento.

    Ingrese por teclado el nombre del cliente, la marca del panteón y la cantidad depanetones a comprar; visualice el precio unitario del panteón, el monto de la compra,el descuento y el neto a pagar.

    10. Ingrese por teclado la distancia que recorrió un atleta, de acuerdo a la distancia, elatleta está clasificado:

    Distancia en metros Clasificación100 Corta1500 Milla3000 3000 metros20 kms Semi Fondo40 kms Fondista

  • 8/15/2019 1ero Manual Algoritmica

    78/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 78  

  • 8/15/2019 1ero Manual Algoritmica

    79/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 79  

  • 8/15/2019 1ero Manual Algoritmica

    80/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 80  

  • 8/15/2019 1ero Manual Algoritmica

    81/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 81 

    CAPÍTULO IX 

    ESTRUCTURAS CONDICIONALES ANIDADAS OBJETIVOS ESPECÍFICOS

    Defina el propósito de las estructuras condicionales anidadas Realiza la solución de diversos casos prácticos aplicando estructuras condicionales

    CONTENIDOS

    Estructura condicional anidada Definición Sintaxis Desarrollo Practico

    ESTRUCTURA CONDICIONAL ANIDADA

    Definición

    Esta estructura se emplea cuando se requiere condicionar dentro de otracondicional, es decir, cuando dentro de una condicional simple o doble existe otracondicional simple o doble.

    SINTAXISPSEUCODIGO

    Donde:

    Si la condición 1 es verdadera, se evaluará la condición 2. Si la condición 2 es verdadera, ejecuta la sentencia 1; si no es verdadera,

    Ejecuta la sentencia 2. Si la condición 1 no es verdadera, evaluará la condición 3.

    Si la condición 3 es verdadera, ejecuta la sentencia 3; si no es verdadera,Ejecuta la sentencia 4.

  • 8/15/2019 1ero Manual Algoritmica

    82/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 82  

    EJERCICIOS RESUELTOS

    1. Ingrese un número entre 1 y 3, luego visualice su equivalente en letras.

    ALGORITMO Ejemplo1VARIABLES 

    ENTERO NINICIO 

    LEER( N )SI( N = 1 )ENTONCES

    ESCRIBIR (“UNO”)SINO

    SI( N = 2 )ENTONCESESCRIBIR (“DOS”)

    SINO SI( N = 3 )ENTONCESESCRIBIR (“TRES”)

    SINOESCRIBIR (“NÚMERO NO VALIDO”)

    FIN-SIFIN-SI

    FIN-SIFIN 

    CODIFICACIÓN EN VISUAL A NIVEL DE CONSOLA

    Imports System.ConsoleModule Module1

    Sub Main()

    Dim N As INTEGERWrite("Ingrese UN NÚMERO entre 1- 3 :”) N = ReadLine()IF ( N =1) THEN

    Writeline(“uno:”)ELSE

    IF N=2 THENWriteline(“DOS:”)

    ELSEIF N=3 THEN

    WRITELINE(“TRES”)ELSE

    Writeline(“NÚMERO NO VALIDO:”)END IF

    END IFEND IFReadLine()

    End SubEnd Module 

  • 8/15/2019 1ero Manual Algoritmica

    83/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 83  

    2. Ingrese el puntaje obtenido por un postulante y luego visualice a que carrera ingreso,

    según la siguiente tabla:

    ALGORITMO Ejemplo2VARIABLES 

    ENTERO PuntajeINICIO 

    LEER ( Puntaje )SI (Puntaje >= 70) Y (Puntaje < 90) ENTONCES

    ESCRIBIR (“Contabilidad”)SINO

    SI (Puntaje >= 90) Y (Puntaje < 100) ENTONCES

    ESCRIBIR (“Administración”)SINOSI (Puntaje >= 100) Y (Puntaje < 120) ENTONCES

    ESCRIBIR (“Derecho”)SINO

    SI (Puntaje >= 120) Y (Puntaje

  • 8/15/2019 1ero Manual Algoritmica

    84/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 84  

    3. Ingrese el ciclo y turno a estudiar, luego calcule el total a pagar según la siguientetabla:

    CICLO  TURNO  PENSION 

    1 M 850

    1 N 800

    2 M 750

    2 N 700

    3 - 10 M 650

    3 - 10 N 600

    ALGORITMO Ejemplo3VARIABLES 

    REAL PensiónENTERO CicloCARÁCTER Turno

    INICIO LEER( Ciclo, Turno )SI (Ciclo = 1) ENTONCES

    SI (Turno = ‘M’) ENTONCESPensión ← 850

    SINOPensión ← 800

    FIN-SISINO

    SI (Ciclo = 2) ENTONCESSI (Turno = ‘M’) ENTONCES

    Pensión ← 750SINO

    Pensión ← 700FIN-SI

    SINOSI (Turno = ‘M’) ENTONCES

    Pensión ← 650SINO

    Pensión ← 600FIN-SI/ 

    FIN-SIFIN-SI

    FIN

  • 8/15/2019 1ero Manual Algoritmica

    85/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 85  

    4. Ingrese el consumo de agua de un mes y calcule el visualice el total a pagar, según lasiguiente tabla:

    ALGORITMO Ejemplo4VARIABLES REAL: Consumo, Tarifa, Monto

    INICIO LEER (Consumo)

    SI (Consumo= 50) Y (Consumo < 100) ENTONCES

    Tarifa 1.5SINO

    SI (Consumo >= 100) Y (Consumo < 150) ENTONCESTarifa 1.8

    SINOTarifa 2.0

    FIN-SIFIN-SI

    FIN-SIMonto Tarifa * ConsumoESCRIBIR (Tarifa, Monto)

    FIN

    5. Ingrese por teclado el nombre de un Empleado y su categoría. Según su categoríaobtendrá su básico y bonificación:

    Categoría Básico BonificaciónEmpleado 600 150Obrero 550 190Ejecutivo 1500 500Auxiliar 200 50

    Calcule y visualice su remuneración que es la suma del básico y bonificación.

    Consumo Tarifa[ 1 – 50 > 0.8

    [ 50 – 100 > 1.5

    [ 100 – 150 > 1.8

    [ 150 a mas… 2.0

  • 8/15/2019 1ero Manual Algoritmica

    86/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 86  

    ALGORITMO Ejemplo5

    VARIABLES 

    REAL: básico, bonificación, monto

    CADENA: Categoría

    INICIO 

    LEER (Categoría)

    SI (Categoría =”Empleado”) ENTONCES

    básico 600

    bonificación 600

    SINO

    SI (Categoría = ”Obrero”) ENTONCES

    básico 550

    bonificación 190

    SINO

    SI (Categoría “Ejecutivo”) ENTONCES

    básico 1500

    bonificación 500SINO

    básico 200

    bonificación 50

    FIN-SI

    FIN-SI

    FIN-SI

    monto básico + bonificación

    ESCRIBIR (básico, bonificación, monto)FIN

  • 8/15/2019 1ero Manual Algoritmica

    87/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 87  

    EJERCICIOS PROPUESTOS

    1. Ingrese el estado civil y número de hijos, luego calcule la bonificación a pagar a untrabajador según la siguiente tabla :

    EstadoCivil 

    Hijos Bonificación (% Haber Básico) 

    S 0 2.50 %

    S > 0 2.75 %

    C 0 2.80 %

    C > 0 3.00 %

    V 0 2.50 %

    V > 0 2.75 %

    D 0 2.50 %

    D > 0 3.00 %

    2. Ingrese número entre 1 y 99, luego visualice su equivalente en romanos.

    3. Calcular el total a pagar por una compra, sabiendo que existe un recargo según tipode tarjeta de crédito con la que se paga la compra.

    4. Calcular el total a pagar por su consumo telefónico, sabiendo que su renta básica esde S/. 50 (60 minutos libres), y que el cobro por minutos adicionales se factura según

    la siguiente tabla.

    Minutos Consumidos  Costo x Minuto 

    < 60 – 100 ] 0.007

  • 8/15/2019 1ero Manual Algoritmica

    88/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 88  

    5. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de interéssegún la siguiente tabla :

    Elabore un algoritmo donde ingrese el Monto de apertura, luego calcule y visualice elinterés generado, el plan al cual pertenece y el nuevo saldo.

    6. Ingrese por teclado un números del 1 al 999, exprese el número en letras, porejemplo 125 un ciento veinticinco

    7. Un instituto ofrece cursos de programación, el costo de los cursos es de la siguientemanera:

    Básico Intermedio Avanzado

    Profesor 50 100Alumno 40 80

    Externo 70 120

    Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que semostraran en el recibo son: nombre del participante, costo del curso y nivel del curso.

    8. Se desea calcular el total a pagar por consumo de energía eléctrica, el pago serealiza según la siguiente tabla:

    NOTA: El pago de consumo mínimo es de S/. 10 Soles.

    Plan deCuenta Tasa deInterés MontoMínimo

    Plan “A” 0.07 % 1000

    Plan “B” 0.08 % 1500

    Plan “C” 0.09 % 2000

    Plan “X” 0.10 % 2500

    Consumo (Kw)  Costo por Kw 

    [ 100 – 150 >  0.65 

    [ 150 – 250 >  0.85 

    [ 250 – 350 >  1.05 

    [ 350 – Más… >  1.25 

  • 8/15/2019 1ero Manual Algoritmica

    89/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 89  

    CAPÍTULO X 

    ESTRUCTURAS SELECTIVAS  

    OBJETIVOS ESPECÍFICOS

    • Defina el propósito de las estructuras selectivas.

    • Realiza la solución de diversos casos prácticos aplicando estructurasselectivas.

    CONTENIDOS

    • Estructura Selectiva

    • Definición

    • Sintaxis

    • Desarrollo Practico

    ESTRUCTURA SELECTIVA

    Definición

    Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta elcaso de alternativas múltiples.

    Si el número de alternativas es grande puede plantear serios problemas de escritura delalgoritmo y naturalmente de legibilidad.

    La estructura condicional selectiva evaluará una expresión que podrá tomar n valoresdistintos 1, 2, 3, 4,..n.

    Según que elija uno de estos valores en la condición, se realizará una de las “nacciones”, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entrelos “n” posibles.

  • 8/15/2019 1ero Manual Algoritmica

    90/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 90  

    SINTAXIS

    DIAGRAMA DE FLUJO

    PSEUDOCÓDIGO

  • 8/15/2019 1ero Manual Algoritmica

    91/177

     

    Fundamentos de Programación 

    Computación, Informática & Sistemas 91 

    EJERCICIOS RESUELTOS

    1. Ingresar un número entre 1 y 5, y luego visualizar su equivalente en letras.

    ALGORITMO Ejemplo1

    VARIABLES 

    ENTERO N

    INICIO 

    LEER( N )

    CASO ( N ) SEA

    1: ESCRIBIR (“UNO”)

    2: ESCRIBIR (“DOS”)3: ESCRIBIR (“TRES”)

    4: ESCRIBIR (“CUATRO”)

    5: ESCRIBIR (“CINCO”)

    OTRO CASO: ESCRIBIR (“FUERA DE RANGO”)

    FIN-CASO

    FIN

    2. Una empresa otorga bonificaciones de su haber básico según la categoría del

    trabajador; categoría A: 250; categoría B: 200; categoría C: 120; otras categorías 50.

    ALGORITMO Ejemplo2

    VARIABLES 

    CADENA: Categoría

    REAL: Bonificación

    INICIO 

    LEER (Categoría)

    CASO (Categoría) SEA

    “A”: Bonificación ← 250

    “B”: Bonificación ← 200

    “C”: Bonificación ← 120

    OTRO CASO: Bonif