1ero manual algoritmica
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