Вы находитесь на странице: 1из 177

Fundamentos de Programacin Grupo IDAT

Desarrollo y Edicin a cargo del Programa de Computacin e Informtica. Director Ejecutivo Coordinador Acadmico Coordinador Administrativo Diseo y Diagramacin Elaborado por : Ing. Rolando Rojas Gallo : Ing. Jos Garca La Riva : Sr. Julio Cabrera Calle : Srta. Bettina Chvez Huamn Srta. Flor Alicia Vega Collazos : Ing. Rolando Rojas Gallo Ing. Jos Garca La Riva Ing. Alberto Moreno Cueva : Departamento de Impresiones del Grupo IDAT

Produccin

Los derechos de edicin, distribucin y contenidos de este texto son de exclusividad del GRUPO IDAT.

Fundamentos de Programacin

PRESENTACIN

Esta gua didctica es un material de ayuda institucional, perteneciente a las especialidades de Computacin, Informtica & Sistemas, Redes & Comunicaciones, Soporte y Seguridad Informtica e Ingeniera de Software; tiene por finalidad proporcionar los conocimientos de Fundamentos de Programacin, orientado a los estudiantes del primer ciclo de estudios. El Grupo IDAT, lder en la enseanza tecnolgica a nivel superior, promueve la elaboracin de materiales educativos, en concordancia a las exigencias de las tecnologas de estos tiempos, que permiten la creacin de nuevas herramientas de aprendizaje con el objetivo de facilitar el acceso de los estudiantes a la educacin en el marco del desarrollo tecnolgico de la Informtica y de las Telecomunicaciones. El texto se divide en dos unidades y quince captulos. Permite conocer las herramientas indispensables para la elaboracin de un algoritmo. Se inicia con el reconocimiento de las herramientas bsicas que se necesitarn para dar solucin a una determinada proposicin o problema. En este proceso el alumno aprender instrucciones que le permitir evaluar expresiones para luego procesar un conjunto de sentencias. Tambin aprender el uso de las estructuras de control (Selectivas y Repetitivas), de la misma forma el uso de estructuras de datos tales como los arreglos (Vectores y Matrices). La implementacin y uso de Sub Programas (Procedimientos y Funciones). Todas estas herramientas darn un soporte slido al alumno para que aprenda a programar en cualquier Lenguaje de Programacin Estructurado, adems de los Lenguajes de Programacin Orientados a Objetos (POO): Java, C++, C#, Delphi, Perl, Phyton, PHP (Versin 5), Ruby, Smalltalk, Turbo Pascal, ActionScript. Esperamos que este material en su primera edicin, sirva de gran ayuda a los estudiantes Idatinos y contribuya en el proceso de su formacin profesional.

Fundamentos de Programacin

Fundamentos de Programacin

NDICE
Nro. Pg. UNIDAD I.. 09 CAPTULO I.CAPTULO II.Introduccin a la Algortmica.... 11 Datos y Tipos de Datos.. 17

CAPTULO III.- Variables y Constantes.. 23 CAPTULO IV.- Estructuras Bsicas .. 27 CAPTULO V.Estructuras Secuenciales .. 31

CAPTULO VI.- Estructuras Condicionales y Simples . 51 CAPTULO VII.- Estructuras Condicionales Dobles . 59 CAPTULO VIII.- Estructuras Condicionales Mltiples. 69 UNIDAD II. 79 CAPTULO IX.- Estructuras Condicionales Anidadas .. 81 CAPTULO X.Estructuras Selectivas ... 89

CAPTULO XI.- Estructuras Repetitivas Para Hacer 97 CAPTULO XII.- Estructuras Repetitivas Mientras Hacer 107 CAPTULO XIII.- Estructuras Repetitivas Repetir Hasta. CAPTULO XIV.- Subprogramas Uso de Procedimientos.. 115 123

CAPTULO XV.- Uso de Funciones 135 CAPTULO XVI.- Uso de Vectores y Matrices 143 APNDICES. 165 BIBLIOGRAFA.. 177

Fundamentos de Programacin

Fundamentos de Programacin

Fundamentos de Programacin

Fundamentos de Programacin

CAPTULO I INTRODUCCIN A LA ALGORTMICA

OBJETIVOS ESPECFICOS
1. Introduccin a la Algortmica. 2. Conceptualizar el Algoritmo y definir las caractersticas

3. Como elaboramos un Algoritmo CONTENIDOS


Algortmica: Resolucin y pasos para resolver un problemas. Definicin de un Algoritmo Caracterstica del Algoritmo Pasos para realizar un Algoritmo Ejercicios Prcticos

ALGORITMOS
Un algoritmo es un procedimiento a seguir, para resolver un problema en trminos de: 1. Las acciones por ejecutar. 2. El orden en que dichas acciones deben ejecutarse. Un algoritmo nace en respuesta a la aparicin de un determinado problema. Un algoritmo est compuesto de una serie finita de pasos que convergen en la solucin de un problema, pero adems estos pasos tienen un orden especfico. Entenderemos como problema a cualquier accin o evento que necesite cierto grado de anlisis, desde la simpleza de cepillarse los dientes hasta la complejidad del ensamblado de un automvil. En general, cualquier problema puede ser solucionado utilizando un algoritmo, en este sentido podemos utilizar los algoritmos para resolver problemas de cmputo. Un algoritmo para un programador es una herramienta que le permite resaltar los aspectos ms importantes de una situacin y descartar los menos relevantes. Todo problema de cmputo se puede resolver ejecutando una serie de acciones en un orden especfico. Por ejemplo considere el algoritmo que se elaborara para el problema o situacin de levantarse todas las maanas para ir al trabajo:

Computacin, Informtica & Sistemas

11

Fundamentos de Programacin

1. 2. 3. 4. 5. 6.

Salir de la cama Quitarse el pijama Ducharse Vestirse Desayunar Arrancar el automvil para ir al trabajo o tomar transporte.

Ntese que en el algoritmo anterior se ha llegado a la solucin del problema en 6 pasos, y no se resaltan aspectos como: colocarse los zapatos despus de salir de la cama, o abrir la llave de la regadera antes de ducharse. Estos aspectos han sido descartados, pues no tienen mayor trascendencia, en otras palabras los estamos suponiendo, en cambio existen aspectos que no podemos obviarlos o suponerlos, de lo contrario nuestro algoritmo perdera lgica, un buen programador deber reconocer esos aspectos importantes y tratar de simplificar al mnimo su problema. Es importante recalcar que los pasos de un algoritmo no son conmutativos pues, no dara solucin al mismo problema a tratar.

ROBUSTEZ DE UN ALGORITMO
Quiere decir que un algoritmo debe contemplar todas las posibles facetas del problema que queremos resolver, al elaborar un algoritmo no se nos debe escapar ningn detalle que provoque un funcionamiento malo nuestro algoritmo. Si logramos construir un algoritmo robusto, cualquier giro inesperado del problema ser controlado por el algoritmo, es decir, debe ser flexible a cambios.

EFICIENCIA Y EFICACIA DE UN ALGORITMO


Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo humano. Un algoritmo es eficaz cuando alcanza el objetivo primordial, el anlisis de resolucin del problema se lo realiza prioritariamente. Puede darse el caso de que exista un algoritmo eficaz pero no eficiente, en lo posible debemos de manejar estos dos conceptos conjuntamente.

METODOLOGA PARA LA SOLUCIN DE PROBLEMAS POR MEDIO DE COMPUTADORA


Para lograr resolver cualquier problema se deben seguir bsicamente los siguientes pasos:

DEFINICIN DEL PROBLEMA


Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa. 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 siguiente etapa.

Computacin, Informtica & Sistemas

12

Fundamentos de Programacin

ANLISIS DEL PROBLEMA


Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy prctica es el de colocarse en el lugar de la computadora y analizar qu es lo que se necesita que se ordene y en qu secuencia para producir los resultados esperados.

DISEO DEL ALGORITMO


Las caractersticas 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 mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin. Diseo del Algoritmo Prueba de escritorio o Depuracin Se denomina prueba de escritorio a la comprobacin que se hace de un algoritmo para saber si est bien hecho. Esta prueba consiste en tomar datos especficos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el anlisis de estos resultados indicar si el algoritmo est correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

DEFINICIN DE UN ALGORITMO
El Algoritmo es una secuencia de pasos lgicos necesarios para llevar a cabo una tarea especfica, como la solucin de un problema. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programacin y ejecutarse en una computadora distinta; sin embargo el algoritmo ser siempre el mismo.

Computacin, Informtica & Sistemas

13

Fundamentos de Programacin

CARACTERSTICAS DE UN ALGORITMO
Las caractersticas del algoritmo son: Debe ser preciso e indicar el orden de realizacin de cada paso. Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. Ser finito. Se debe terminar en algn momento; o sea debe de tener un nmero finito de pasos.

ESTRUCTURA DE UN ALGORITMO
Para disear un algoritmo se debe comenzar por identificar las tareas ms importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. Los pasos en esta primera descripcin pueden requerir una revisin adicional antes de que podamos obtener un algoritmo claro, preciso y completo. Este mtodo de diseo de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como mtodo descendente (TOP-down). En un algoritmo se deben de considerar tres partes: Entrada: Informacin dada al algoritmo. Proceso: Operaciones o clculos necesarios para encontrar la solucin del problema. Salida: Respuestas dadas por el algoritmo o resultados finales de los procesos realizados.

Como ejemplo supongamos que desea desarrollar un algoritmo que calcule la superficie de un rectngulo proporcionndole su base y altura. Lo primero que debemos hacer es plantearnos las siguientes preguntas: Especificaciones de entrada - Qu datos son de entrada? - Cuntos datos se introducirn? - Cuntos son datos de entrada vlidos? Especificaciones de salida - Cules son los datos de salida? - Cuntos datos de salida se producirn? - Qu formato y precisin tendrn los resultados?

Computacin, Informtica & Sistemas

14

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Defina un algoritmo para realizar una llamada INICIO 1. Acercarse al Telfono 2. Levantar el Auricular 3. Recordar el Nmero telefnico 4. Discar el Nmero 5. Esperar que respondan 6. Conversar 7. Colgar el Auricular FIN 2. Defina un algoritmo para cambiar bombilla INICIO 1. Colocar una escalera debajo de la bombilla 2. Subir la escalera 3. Desenroscar la bombilla 4. Bajar la escalera 5. Coger la bombilla nueva 6. Subir la escalera 7. Enroscar la bombilla 8. Bajar la escalera 9. Retirar la escalera FIN 3. Defina un Algoritmo para cambiar una Llanta INICIO 1. Bajarse del Auto 2. Abrir la cajuela, sacar la gata y la llave 3. Colocar la gata y levantar el auto 4. Destornillar los pernos 5. Sacar la llanta 6. Sacar la llanta de repuesto 7. Colocar la llanta de repuesto 8. Enroscar los pernos 9. Bajar el auto 10. Guardar la llanta, la gata y la llave FIN 4. Defina un Algoritmo para escuchar msica en un CD INICIO 1. Encender la Radio 2. Seleccionar la opcin TAPE 3. Insertar el CD 4. Esperar que cargue el CD 5. Graduar el volumen 6. Escuchar el CD FIN

Computacin, Informtica & Sistemas

15

Fundamentos de Programacin

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 institucin. 4. Defina un Algoritmo que permita ver un determinado programa de televisin y al terminar apagar la TV. 5. Defina un Algoritmo que permita Elaborar el Arroz con pollo, Sugerencia: Conversar con la Mam. 6. Defina un Algoritmo que permita Pintar las paredes de tu habitacin. 7. Defina un Algoritmo que permita realizar una compra al crdito en una empresa comercial. 8. Defina un Algoritmo que permita tener una Consulta Mdica de un consultorio particular. 9. Defina un Algoritmo que permita Ir a un Fiesta de fin de ao y regresar a casa.

Computacin, Informtica & Sistemas

16

Fundamentos de Programacin

CAPTULO II DATOS Y TIPOS DE DATOS


OBJETIVOS ESPECFICOS
1. Conocer los Tipos de Datos que se utilizan en la algortmica 2. Definir las expresiones

CONTENIDOS
Datos, definicin Tipos de datos: Numrico, de cadena, lgicos Manejo de Operadores Expresiones Ejercicios Prcticos

DEFINICIN DE DATOS
1. Un dato es la expresin general que describe los objetos con los cuales opera una computadora. 2. Existen dos tipos de datos: simples (sin estructuras) y compuestos (estructurados), los datos compuestos son conjuntos de partidas de datos simples con relaciones definidas entre ellos. 3. Los datos simples son: numricos, lgicos y caracter.

DATOS NUMRICOS
1. Es el conjunto de los valores numricos y puede ser expresado como numricoentero y numricoreal. 2. Los enteros no tienen componentes fraccionarias o decimales y pueden ser negativos o positivos. Los reales siempre tienen un punto decimal.

DATOS LGICOS
1. Tambin llamados booleanos, es aquel que solo puede tomar uno de dos valores: verdadero (true) o falso (false). 2. Se utiliza para representar las alternativas (si/no) a determinadas condiciones.

Computacin, Informtica & Sistemas

17

Fundamentos de Programacin

DATOS CARACTER
1. Este tipo de dato contiene un solo carcter. 2. Los caracteres son: alfabticos (A-Z), numricos (0-9) y especiales ( @ # $ % ^ & *).

3. Una cadena de caracteres o string es una sucesin de caracteres que se encuentran delimitados por una o dobles comillas.

EJERCICIOS PRCTICOS
En cada uno de los datos, defina su Tipo de dato. Datos Hola 123 Quin eres? Verdadero El Sabio Falso 12.56 12/15 Trae EL Quijote 56.8999999 Alo! Persona Juan Tipo

MANEJO DE OPERADORES Definicin


Un operador es un carcter o grupo de caracteres que acta sobre una, dos o ms variables para realizar una determinada operacin con un determinado resultado. Ejemplos tpicos de operadores son la suma (+), la diferencia (-), el producto (*), etc. Un operador sirve para manipular datos. Los operadores pueden ser unarios, binarios y ternarios, segn acten sobre uno, dos o tres operandos, respectivamente.

Computacin, Informtica & Sistemas

18

Fundamentos de Programacin

TIPOS DE OPERADORES
Aritmticos De relacin, Lgicos, De asignacin,

OPERADORES ARITMTICOS
Los operadores aritmticos son los ms sencillos de entender y de utilizar. Todos ellos son operadores binarios. Se utilizan los operadores siguientes: OPERADOR + * \, DIV / MOD, % SIGNIFICADO SUMAR RESTAR MULTIPLICAR DIVISION ENTERA DIVISION REAL RESTO ARTIMETICO POTENCIACION

OPERADORES RELACIONALES
Una caracterstica imprescindible de cualquier lenguaje de programacin es la de considerar alternativas, esto es, la de proceder de un modo u otro segn se cumplan o no ciertas condiciones. Los operadores relacionales permiten estudiar si se cumplen o no esas condiciones. En un programa si una condicin se cumple, el resultado es cierto; en caso contrario, el resultado es falso. Los operadores relacionales son los siguientes

OPERADOR > < >= <= = <>

SIGNIFICADO MAYOR MENOR MAYOR o IGUAL MENOR o IGUAL IGUAL DIFERENTE

Computacin, Informtica & Sistemas

19

Fundamentos de Programacin

Computacin, Informtica & Sistemas

20

Fundamentos de Programacin

PRIORIDAD DE LOS OPERADORES


OPERADOR () [] *, /, % +, Y O NO >,>=,<,<=,=,<> PRIORIDAD Signos de Agrupacin Potencia Producto y Divisin Suma y Resta Operador lgico y Operador lgico O Operador lgico de negacin Operador de relacin

EXPRESIONES Definicin
Es una combinacin de distintas variables, constantes, operadores y parntesis. Tiene un valor concreto que es el resultado de evaluarla de izquierda a derecha. El valor devuelto tras la evaluacin de una expresin determina el tipo de la expresin (entera, lgica )

Ejemplo

Sentencias
Las expresiones son tems elementales de unas entidades que son las sentencias. Si nos fijamos en la expresin anterior, la variable que est a la izquierda del signo (=), el operador de asignacin, la expresin aritmtica y el carcter (;) constituyen una sentencia. Las sentencias son unidades completas, ejecutables en s mismas. Ya se ver que muchos tipos de sentencias incorporan expresiones aritmticas, lgicas o generales como componentes de dichas sentencias.

Computacin, Informtica & Sistemas

21

Fundamentos de Programacin

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 <=1) OR (10<>2 * 5) 4. 21 + ( 15 + 20 MOD 9 ) DIV 3 5. Sea: a = 10 b = 12 c = 13 d =10 Desarrolle los siguientes Ejercicios (( a > 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 ( 6<>9 MOD 2) ) AND (3 <> 7 MOD 4) 8. ( 12 < 9 MOD 6 ) AND ( 9 = 3 * 3 ) OR ( 6 > 15 MOD 4 )

Computacin, Informtica & Sistemas

22

Fundamentos de Programacin

CAPTULO III VARIABLES Y CONSTANTES

OBJETIVOS ESPECIFICOS
1. Conocer el manejo de Variables y Constantes para ser aplicados dentro de una Algortmica

2. Definir las expresiones CONTENIDOS


Variables, definicin Identificacin de una Variable Declaracin de una Variable Constantes Ejercicios Prcticos

VARIABLES Definicin
Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecucin de un proceso, su contenido puede cambiar durante la ejecucin del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Su valor puede ser modificado, pero en un instante dado slo contiene un valor determinado.

Declaracin
Las variables pueden asumir valores numricos, carcter y lgicos. Existen 2 tipos de duracin 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 Funcin).

Computacin, Informtica & Sistemas

23

Fundamentos de Programacin

Ejemplos
DECLARACION ABC A123 1A2B _MiVariable Mi_Variable Mi_123456 _1_2_3 Mi@Variable VALIDO VALIDO NO VALIDO VALIDO VALIDO VALIDO VALIDO NO VALIDO

Clasificacin de las Variables

Declaracin
Para declarar variables en un algoritmo se hace uso de la siguiente sintaxis : Tipo_Dato: Lista_Variables Ejemplos: ENTERO: A, B, C REAL: X, Y, Z CARCTER: Car1, Car2 CADENA : Texto1, Texto2 LOGICO: Estado, Ok, Done En visual Basic las analogas son: Para declaracin de variables emplear

DIM VAR1, VAR2 AS TIPO


Seudocodigo entero Enetro largo real caracter cadenas Visual integer long double char string

Computacin, Informtica & Sistemas

24

Fundamentos de Programacin

CONSTANTES Definicin

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

Ejemplos
PI=3.14 SALUDO=Hola mundo MAXIMO=500 RESPUESTA=S

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

CONST PI=3.14

Computacin, Informtica & Sistemas

25

Fundamentos de Programacin

Computacin, Informtica & Sistemas

26

Fundamentos de Programacin

CAPTULO IV ESTRUCTURAS BSICAS

OBJETIVOS ESPECFICOS
Reconoce la estructura del algoritmo. Manejo de las instrucciones para la entrada, proceso y salida de datos. Comprende el manejo de las estructuras secuenciales en los procesos algortmicos.

CONTENIDOS
Estructura del algoritmo Instrucciones para la entrada, proceso y salida de datos Estructura de control, tipos

ALGORITMO
La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico. Un algoritmo tambin se le puede definir como: Una "frmula" para resolver un problema. Un conjunto finito de acciones o secuencia de operaciones que ejecutadas En un determinado orden resuelven el problema. Tambin puede definirse como un mtodo para resolver un problema Mediante una serie finita de pasos precisos y bien definidos.

Tipos de Algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso.

Estructura del Algoritmo


Acciones de entrada: recogen los datos para el trabajo. Acciones de proceso: ejecutan los clculos. Acciones de salida: ofrecen los resultados.

Computacin, Informtica & Sistemas

27

Fundamentos de Programacin

Lenguajes Algortmicos
Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. De los cuales se encuentran los siguientes tipos de Lenguajes Algortmicos: Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocdigo).

Diagrama de Flujo
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es la representacin detallada en forma grfica de cmo deben realizarse los pasos en la computadora para producir resultados. Esta representacin grfica se da cuando varios smbolos (que indican diferentes procesos en la computadora), se relacionan entre s mediante lneas que indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido normalizados por el instituto norteamericano de normalizacin (ANSI).

Recomendaciones para el diseo de Diagramas de Flujo


Se deben se usar solamente lneas de flujos horizontales y/o verticales. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo son conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.

Computacin, Informtica & Sistemas

28

Fundamentos de Programacin

Pseudo Cdigo
Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma) que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. En esencial, el pseudo cdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un problema determinado. El pseudo cdigo utiliza palabras que indican el proceso a realizar.
INICIO Edad: Entero ESCRIBA cual es tu edad? Lea Edad SI Edad >=18 entonces ESCRIBA Eres mayor de Edad FIN SI ESCRIBA fin del algoritmo

Ventajas de utilizar un Pseudo Cdigo a un Diagrama de Flujo


Ocupa menos espacio en una hoja de papel Permite representar en forma fcil operaciones repetitivas complejas Es muy fcil pasar de pseudo cdigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se puede observar claramente los niveles que tiene cada operacin.

Estructuras Algortmicas
Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Computacin, Informtica & Sistemas

29

Fundamentos de Programacin

Estructura de un Algoritmo en Pseudocdigo


En pseudocdigo el algoritmo tiene tres partes: la cabecera, la zona de declaracin de constantes 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 el valor en el caso de las constantes. 3. El cuerpo del algoritmo es el que contiene las instrucciones que indican las acciones a realizar por el programa. a. Comienza con la palabra Inicio y termina con la palabra Fin (o palabras similares).

Estructura

ALGORITMO Nombre_Descriptivo
Variables:

Instrucciones y/o Sentencias

INICIO

FIN
Estructura Sintctica de un Algoritmo Sentencias Declarativas
Algoritmo CalculaArea

Cabecera del Programa


VARIABLE

Declaracin de Variables

Real: Radio, A

Sentencias Ejecutables
Entrada de Datos O p e r a c i on e s y C l c u l os Salida de Resultados
FIN INICIO Leer Radio
A 3.14* Radio 2

Escribir A

Computacin, Informtica & Sistemas

30

Fundamentos de Programacin

CAPITULO V ESTRUCTURAS SECUENCIALES

OBJETIVOS ESPECFICOS
Reconoce la estructura Secuencial Comprende el manejo de las estructuras secuenciales en los procesos algortmicos.

CONTENIDOS
Estructura Secuencial Definicin Estructura Desarrollo Prctico

DEFINICIN
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. Una Estructura Secuencial se representa de la siguiente forma: DIAGRAMA DE FLUJO

Computacin, Informtica & Sistemas

31

Fundamentos de Programacin

PSEUDOCDIGO

Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmos representados en Pseudocdigo y en diagramas de flujos:

COMPONENTES DE UNA ESTRUCTURA SECUENCIAL La Asignacin


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 asignacin 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 nmero de veces que se realiza un proceso (a a + 1) Acumulador: Consiste en usarla como un sumador en un proceso (a a + b)

Computacin, Informtica & Sistemas

32

Fundamentos de Programacin

De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre muchas variables (a c + b*2/4).

En general el formato a utilizar es el siguiente: < Variable > El smbolo <valor o expresin > debe leerse asigne.

Escritura o Salida de Datos


Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Esta instruccin presenta en pantalla el mensaje escrito entre comillas o el contenido de la variable. Este proceso se representa as como sigue: ESCRIBIR (VALOR) ESCRIBIR (MENSAJE)

Lectura o Entrada de Datos


La lectura o entrada de datos consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor o dato. Este dato va a ser almacenado en la variable que aparece a continuacin de la instruccin. Esta operacin se representa as: LEER VARIABLE LEER VARIABLE1, VARIABLE 2

DECLARACIN DE VARIABLES Y CONSTANTES


La declaracin de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarn, adems de colocar el nombre de la variable se debe decir qu tipo de variable es. ENTERO: Contador, Edad, I CADENA: Direccin REAL: Salario _ bsico CARCTER: Opcin En la anterior declaracin de variables Contador, Edad e I son declaradas de tipo entero; Salario _ bsico es una variable de tipo real, Opcin es de tipo carcter y la variable Direccin est declarada como una variable alfanumrica de cadena de caracteres.

Computacin, Informtica & Sistemas

33

Fundamentos de Programacin

EJERCICIOS RESUELTOS 1
1. Ingrese un nmero entero, luego smele 2 unidades y visualcelo.
ALGORITMO Ejemplo1 VARIABLES ENTERO: A INICIO LEER (A) A A + 2 ESCRIBIR (A) FIN 2. Ingrese 2 nmeros enteros y luego calcule y visualice la suma y producto de los 2 nmeros ingresados ALGORITMO Ejemplo2 VARIABLES ENTERO: A, B, Suma, Producto INICIO LEER ( A, B ) Suma A + B Producto A * B ESCRIBIR (Suma, Resta, Producto) FIN 3. Ingresar un nmero entero y luego calcular y visualizar su 5%. ALGORITMO Ejemplo3 VARIABLES ENTERO: N REAL: Porcentaje INICIO LEER (N) Porcentaje N * (5 / 100) ESCRIBIR (Porcentaje) FIN 4. Una empresa decide otorgar una bonificacin del 5% del haber bsico por cada hijo a todos sus trabajadores. Calcule el total a pagar a un trabajador. ALGORITMO Ejemplo4 VARIABLES ENTERO NroHijos REAL Hbasico, Bonificacin, Total INICIO LEER (Hbasico, NroHijos) Bonificacin (Hbasico * 0.05) * NroHijos Total Hbasico + Bonificacin ESCRIBIR (Total) FIN

Computacin, Informtica & Sistemas

34

Fundamentos de Programacin

5. Ingrese por teclado un nmero de dos cifras, visualice su nmero invertido. ALGORITMO Ejemplo5 VARIABLES ENTERO Nmero, Inverso, Unidad, Decena INICIO LEER (Nmero) Unidad Nmero MOD 10 Decenal Nmero DIV 10 Inverso 10 * Unidad + Decena ESCRIBIR (Inverso) FIN 6. Ingrese por teclado el nombre del cliente y el costo de una PC; por estar de promocin la empresa, se aplicar un descuento del 15% del costo, donde el neto es 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 el monto a pagar. ALGORITMO Ejemplo6 VARIABLES REAL Costo, Descuento, Neto, IGV, Monto, Pago CADENA Nombre INICIO LEER (Nombre, Costo) Descuento 0.15 * Costo Neto Costo Descuento IGV 0.19 * Neto Pagar Neto + IGV ESCRIBIR (Descuento, Neto, IGV, Pagar) FIN 7. En este verano un instituto educativo ha ingresado una cantidad de N alumnos matriculados en el programa de Computacin e Informtica, si los alumnos son agrupadas en aulas de 40 alumnos cada aula, Hallar: Nmero de aulas completas Cantidad de alumnos que faltan para completar otra aula ALGORITMO Ejemplo7 VARIABLES ENTERO Matriculas, Aulas, Falta INICIO LEER (matriculas) Aula Matriculas DIV 40 Falta Matricula MOD 40 ESCRIBIR (Aula, Matricula)

FIN

Computacin, Informtica & Sistemas

35

Fundamentos de Programacin

8. Ingrese por teclado un Nmero de 3 cifras, visualice la suma de las cifras del nmero ingresado. ALGORITMO Ejemplo8 VARIABLES ENTERO Nmero, Unidad, Decena, Suma INICIO LEER (Nmero) Unidad Nmero MOD 10 Decena (Nmero DIV 10) MOD 10 Centena NMERO DIV 100 Suma Unidad + Decena + Centena ESCRIBIR (Suma) FIN

9. Ingrese por teclado la cantidad de metros cbicos 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 de metros cbicos por el precio.

Mantenimiento Parques y Jardines Exploracin Limpieza de Alcantarillas

0.25% del monto 0.15% del monto 0.05% del monto 0.07% del monto

Del total a pagar deber pagar el impuesto a las Ventas que representa el 19% del Monto Total, calcule y visualice el Monto Total a Pagar. ALGORITMO Ejemplo9 VARIABLES REAL Cbicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar INICIO LEER (Cbicos) Monto 0.35 * Cubicos Mant 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 (Exploracin:, Explor) ESCRIBIR (Limpieza:, Limp) ESCRIBIR (Monto:, Monto) ESCRIBIR (IGV:, IGV) ESCRIBIR (A Pagar:, Pagar) FIN

Computacin, Informtica & Sistemas

36

Fundamentos de Programacin

10. Una Empresa dedicada a la Venta de Electrodomsticos, realiza una promocin del 20% + 15% de descuento. Ingrese el precio de un electrodomstico, calcule y visualice su descuento y el neto a pagar.

ALGORITMO Ejemplo10

VARIABLES

REAL Precio, Descuento1, Descuento2, Neto INICIO LEER (Precio) Descuento1 (Precio * 0.20) Descuento2 Neto FIN (Precio Descuento1) * 0.15

Precio (Descuento1 + Descuento2)

ESCRIBIR ((Descuento1+Descuento2), Neto)

Computacin, Informtica & Sistemas

37

Fundamentos de Programacin

EJERCICIOS RESUELTOS 2
Nota.- crear el algoritmo y cdigo en visual Net, aplicacin de consola Iniciar la codificacin en Visual Net 2005 (software donde se comprueban los algoritmos desarrollados) En inicio ejecutar colocar DEVENV

EN FILE NEW PROYECT

Por defecto se tiene el modulo:

En esta seccin dentro del main se va codificar el algoritmo

Computacin, Informtica & Sistemas

38

Fundamentos de Programacin

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


Ejm: Ingresado 3 aos 4 meses debe ESCRIBIR 40 meses.

ALGORITMO EDAD INICIO


M A : almacena cantidad de meses : almacena cantidad de aos

// Declaracin de las variables


Entero: M , A , AM // Muestra en pantalla e Ingresa Datos ESCRIBIR Ingrese Anyos: LEER A ESCRIBIR Ingrese Meses: LEER M

AM : almacena cantidad total de meses

// Factor: 1 ao = 12 meses //Proceso: consideramos que 1 ao tiene 12 meses AM = A * 12 + M // Muestra Resultados en pantalla ESCRIBIR "Edad en meses = ", AM FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports system.console Imports System.Math Module Module1 Sub main() Dim an,mes,res As Integer Write("ingresar aos..:") an = ReadLine() Write("ingrese meses..:") mes = ReadLine() res=an*12+mes WriteLine("aos en meses ..:" & res) ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

39

Fundamentos de Programacin

2. Ingresar por teclado las dimensiones de un terreno, largo, ancho, precio por metro
cuadrado, 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 aos

INICIO // Declaracin 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 <= (larg * anch) prect <= (area * pxm) cuotini <= (prect * 0.13) sald <= (prect - cuotini) cuotmensu <= (sald / 24)

// Muestra Resultados en pantalla ESCRIBIR("el area es..:" , area) ESCRIBIR("precio total..:" , prect) ESCRIBIR("cuota inicial..:" , cuotini) ESCRIBIR("el saldo es ..:" , sald) ESCRIBIR("la cuota mensual es ..:" , cuotmensu) FIN

Computacin, Informtica & Sistemas

40

Fundamentos de Programacin

CODIFICACIN 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 Double Write("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

Computacin, Informtica & Sistemas

41

Fundamentos de Programacin

3. Se deposita una cierta de dinero en un banco , se desea saber los intereses ganados
y el valor futuro del dinero INICIO // Declaracin de las variables variables meses :Entero ints, monto, vfut :real // Muestra en pantalla e Ingresa Datos ESCRIBIR Ingrese monto : LEER monto ESCRIBIR Ingrese meses : LEER meses ints <= monto * 0.02 * meses vfut <= monto + meses // Muestra Resultados en pantalla ESCRIBIR("el valor final es..:" , vfut) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.Math Module Module3 Sub main() Dim meses As Integer Dim ints, monto, vfut As Double Write("ingresa monto..:") monto = ReadLine() Write("ingresa meses..:") meses = ReadLine() ints = monto * 0.02 * meses vfut = monto + meses WriteLine() WriteLine("el valor final es..:" & vfut) ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

42

Fundamentos de Programacin

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


1pie=30.48 cm.

INICIO // Declaracin de las variables Real : Vp , Vm, Vc 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 // Muestra en pantalla e Ingresa Datos ESCRIBIR Ingrese valor en pies : LEER Vp // Proceso : Calcula Vm Vc = Vp * 30.48 // Valor en cm Vm = Vc /100 // Valor en m // Salida en pantalla ESCRIBIR Vm FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.Math Module Module 4 Sub main() Dim Vp , Vm, Vc as double Write("ingrese valor en pies..:") vp = ReadLine() Valor en pies Proceso : Calcula Vm Vc = Vp * 30.48 Valor en cm Vm = Vc /100 Valor en m // Salida en pantalla WriteLine("velocidad en metros.:" & vm) ReadLine() End Sub End Module 1 m = 100 cm

Computacin, Informtica & Sistemas

43

Fundamentos de Programacin

5. Calcular el rea y permetro de un tringulo, conocidos sus lados.


INICIO //Declaracin de las variables Real: A, B, C, P, sp, Area Lados del tringulo: A , B y C P sp : Permetro del Tringulo (suma de sus lados) : SemiPermetro del Tringulo = P/2

Area : SQRT ( sp * (sp A) * (sp - B) * (sp - C)) // Ingreso de Datos LEER A, B, C // Proceso: Calculo de P Perimetro y SP SemiPerimetro P A+B+C sp = P/2 Area = sqrt ( sp * (sp A) * (sp - B) * (sp - C)) // Salida de Resultados ESCRIBIR P, Area FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module 5 Sub Main() Dim l1, l2, l3 As Integer Dim area, p As Double Write("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 Sub End Module

Computacin, Informtica & Sistemas

44

Fundamentos de Programacin

6. Ingrese por teclado un nmero de dos cifras, visualice su nmero invertido


VARIABLES ENTERO: Nmero, Inverso, Unidad, Decena INICIO LEER (Nmero) Unidad Nmero MOD 10 Decenal Nmero DIV 10 Inverso 10 * Unidad + Decena ESCRIBIR (Inverso) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module6 Sub Main() Dim Nmero, Inverso, Unidad, Decena As Integer Write("Ingresa un nmero de 2 cifras..:") nmero =ReadLine() Unidad = Nmero MOD 10 Decenal = Nmero \10 Inverso = 10 * Unidad + Decena WriteLine("nmero 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 Computacin e Informtica, si los alumnos son agrupadas en aulas de 40 alumnos cada aula, hallar:

Nmero de aulas completas Cantidad de alumnos que faltan para completar otra aula

VARIABLES ENTERO: Matriculas, Aulas, Falta INICIO LEER (matriculas) Aula Matriculas DIV 40 Falta Matricula MOD 40 ESCRIBIR (Aula, Matricula)

FIN

Computacin, Informtica & Sistemas

45

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module7 Sub Main() Dim Nmero Matriculas, Aulas, Falta As Integer Write("Ingrese nmero de matriculas.:") matriculas = CInt(ReadLine()) Aula=Matriculas \40 Falta =Matricula MOD 40 WriteLine("nmero de aulas.:" & aula) ReadLine() End Sub End Module

PASAR A VISUAL LOS SIGUIENTES SEUDOCODIGOS:

8. Ingrese por teclado un Nmero de 3 cifras, visualice la suma de las cifras del nmero
ingresado. VARIABLES ENTERO INICIO LEER (Nmero) Unidad Nmero MOD 10 Decena (Nmero DIV 10) MOD 10 Centena NMERO DIV 100 Suma Unidad + Decena + Centena ESCRIBIR (Suma) FIN

Nmero, Unidad, Decena, Suma

Computacin, Informtica & Sistemas

46

Fundamentos de Programacin

9. Ingrese por teclado la cantidad de metros cbicos 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 de metros cbicos por el precio. Mantenimiento Parques y Jardines Exploracin Limpieza de Alcantarillas 0.25% del monto 0.15% del monto 0.05% del monto 0.07% del monto

Del total a pagar deber pagar el impuesto a las ventas que representa el 19% del Monto Total, calcule y visualice el Monto Total a Pagar. VARIABLES REAL: Cbicos, Monto, Mant, PJ, Explor, Limp, IGV, Pagar

INICIO LEER (Cbicos) Monto 0.35 * Cubicos

Mant Monto * 0.25 /100 PJ Monto * 0.15 / 100 Monto * 0.05 / 100

Explor

Limp Monto * 0.07 / 100 Monto IGV Pagar Monto + Mant + PJ + Explor + Limp Monto * 0.19 Monto + IGV

ESCRIBIR (Mantenimiento:, Mant) ESCRIBIR (Parques y Jardines:, PJ) ESCRIBIR (Exploracin:, Explor) ESCRIBIR (Limpieza:, Limp) ESCRIBIR (Monto:, Monto) ESCRIBIR (IGV:, IGV) ESCRIBIR (A Pagar:, Pagar) FIN

Computacin, Informtica & Sistemas

47

Fundamentos de Programacin

10. Una Empresa dedicada a la Venta de Electrodomsticos, realiza una promocin del
20% + 15% de descuento. Ingrese el precio de un electrodomstico, calcule y visualice su descuento y el neto a pagar.

VARIABLES

REAL Precio, Descuento1, Descuento2, Neto INICIO LEER (Precio) Descuento1 (Precio * 0.20) Descuento2 Neto (Precio Descuento1) * 0.15

Precio (Descuento1 + Descuento2)

ESCRIBIR ((Descuento1+Descuento2), Neto) FIN

Computacin, Informtica & Sistemas

48

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Ingrese por teclado un nmero, calcule y visualice: a) El doble del nmero ingresado b) La tercera parte del nmero ingresado c) El cubo del nmero ingresado

2. Ingrese por teclado la cantidad de metros de un telar. Transformar los metros a centmetros y pulgadas, sabiendo que una pulgada es el equivalente a 2.54 centmetros. 3. Ingrese por teclado la descripcin y precio de un producto, actualizar el precio de la siguiente 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 compra c) El importe final que es la suma del importe de la compra mas el IGV 5. Ingrese por teclado un nmero de tres cifras, calcule y visualice: a) Suma de sus cifras b) Promedio de las cifras 6. Ingrese por teclado un nmero de dos cifras, mostrar el nmero pero en sentido inverso.

7. Se desea repartir cierto monto de dinero entre tres personas que conforman una empresa; obtener el monto que le corresponde a cada persona si la reparticin se basa en la cantidad de acciones que posee cada socio: Socio A B C % Acciones 35% 45% 20%

Ingrese por teclado el monto de dinero, visualice el importe que recibir cada uno de los accionistas. 8. Desarrolle un algoritmo para la compaa telefnica que permite mostrar el pago por consumo telefnico, para esto se ingresar el cdigo del usuario, el nmero telefnico y la cantidad de minutos utilizados. Mostrar el cdigo del usuario, el importe de las llamadas realizadas, el IGV y el pago total, considerando que la empresa cobra 0.30 cntimos de nuevo sol por cada minuto, la renta bsica cobra 48 nuevos soles y el IGV es el 19% del Monto.

Computacin, Informtica & Sistemas

49

Fundamentos de Programacin

9. Ingrese por teclado el nombre y tres notas de un alumno, calcular y mostrar el promedio de las tres notas. 10. Ingrese por teclado la cantidad de soles, transformarlo en dlares; considere el tipo de cambio del da. 11. Ingrese por teclado la cantidad de postulantes a la Universidad, calcule y visualice: a) Cantidad de aulas completas b) 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 horas b) Cantidad de minutos c) Cantidad de segundos restantes 13. Ingrese por teclado un nmero, incrementar el 2.4% de su valor, mostrar el valor del incremento y el nuevo nmero. 14. Ingrese por teclado un nmero de 4 cifras, mostrar los nmeros formados por las cifras de los extremos y los medios. 15. Ingrese por teclado el sueldo de un trabajador, asumiendo que ste es un valor entero, visualizar la mejor distribucin de billetes y monedas que se utilizarn para pagar 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 evaluaciones que tendr en el curso. Examen Parcial Examen Final Promedio de Practicas Promedio de Trabajos 30% 40% 20% 10%

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

Computacin, Informtica & Sistemas

50

Fundamentos de Programacin

CAPITULO VI ESTRUCTURAS CONDICIONALES Y SIMPLES


OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales Realiza la solucin de diversos casos prcticos aplicando estructuras condicionales

CONTENIDOS
Definicin de estructuras condicionales Clasificacin Estructura condicional simple Definicin Sintaxis Desarrollo Practico

ESTRUCTURAS CONDICIONALES Definicin


Las Estructuras Condicionales tambin reciben el nombre de estructuras de seleccin, permite elegir entre diferentes cursos de accin en funcin de condiciones. Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. En una Estructura Condicional se evala una expresin lgica y dependiendo del resultado se ejecutan unas sentencias u otras. Pongamos un pequeo ejemplo. Imagine que tenemos nuestro robot subiendo las escaleras de la Torre Eiffel y le indicamos lo siguiente: si est en el escaln 200 entonces no contine subiendo, sino continua su ascensin. Como puede ver aqu se nos presenta una condicin y, segn en el punto de la escalera en la que se encuentre, nuestro robot se parar o continuar subiendo. Si la condicin es verdadera, entonces se ejecuta la sentencia mostrar, y luego el programa continuara; si la condicin es falsa, la sentencia mostrar se ignora y el programa contina.

Computacin, Informtica & Sistemas

51

Fundamentos de Programacin

Qu es una Condicin?
Una condicin o expresin booleana puede ser: Una variable booleana TEST Verdadero Una expresin aritmtica seguida de un operador relacional, seguido de otra expresin aritmtica TEST 3<5 Una expresin booleana, seguida de un operador booleano, seguido de una expresin booleana TEST A AND NOT B OR C

Se pueden utilizar condiciones tan complejas como se quiera siempre que estn bien formadas

Clasificacin
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 Mltiple (EN_CASO / FIN-EN_CASO)

ESTRUCTURA CONDICIONAL SIMPLE Definicin


Es aquella estructura de control que evala una condicin: Si la condicin se cumple se ejecutan determinadas acciones. Si la condicin no se cumple, no se ejecutan esas acciones.

Computacin, Informtica & Sistemas

52

Fundamentos de Programacin

SINTAXIS

DIAGRAMA DE FLUJO

PSEUDOCDIGO

Computacin, Informtica & Sistemas

53

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Ingrese por teclado 2 nmeros enteros y visualice el mayor de los 2 nmeros ingresados. ALGORITMO Ejemplo1 VARIABLES ENTERO: A, B, Mayor INICIO LEER ( A, B ) Mayor A SI ( B > A )ENTONCES Mayor B FIN-SI ESCRIBIR ( Mayor ) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module1 Sub Main() Dim A, B, Mayor3 As Integer Write("Ingresa valor 1..:") A = ReadLine() Write("ingresa VALOR 2..:") B = ReadLine() MAYOR=A IF B > A THEN Mayor = B END IF WriteLine("EL MAYOR ES..:" & MAYOR) ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

54

Fundamentos de Programacin

2. Ingrese por teclado un nmero entero, si mayor a 10 smele 10 unidades y visualice el nuevo valor. ALGORITMO Ejemplo2 VARIABLES ENTERO: N INICIO LEER ( N ) SI ( N > 10) ENTONCES N N + 10 FIN-SI ESCRIBIR ( N ) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module1 Sub Main() Dim N As Integer Write("Ingresa valor 1..:") N = ReadLine() IF N>10 THEN N=N+10 END IF WriteLine("EL NUEVO VALOR..:" & N) ReadLine() End Sub End Module 3. Ingrese por teclado la edad de una persona; si su edad es mayor a 17, visualice un mensaje Es mayor de edad. ALGORITMO Ejemplo3 VARIABLES ENTERO: edad INICIO LEER (edad) SI (edad > 17) ENTONCES ESCRIBIR Es mayor de edad FIN-SI FIN

Computacin, Informtica & Sistemas

55

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module1 Sub Main() Dim edad As Integer Write("Ingresa su edad..:") edad = ReadLine() IF edad>17 THEN WriteLine("eres mayor de edad" ) END IF ReadLine() End Sub End Module 4. Ingrese por teclado la talla de una persona; visualice un mensaje Servicio Obligatorio, si tiene una talla mnima de 1.70 metros ALGORITMO Ejemplo4 VARIABLES REAL: talla INICIO LEER (talla) SI (talla>=1.70) ENTONCES ESCRIBIR Servicio Obligatorio FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module1 Sub Main() Dim talla As double Write("Ingresa su edad..:") talla = ReadLine() IF talla>1.70 THEN WriteLine("eres Servicio Obligatorio " ) END IF ReadLine() End Sub End Module Computacin, Informtica & Sistemas 56

Fundamentos de Programacin

5. Una empresa otorga un bonificacin del 5% del haber bsico solo a sus trabajadores que tienen hijos, calcular el total a pagar a un trabajador. ALGORITMO Ejemplo5 VARIABLES ENTERO: NroHijos REAL: Hbasico, Bonificacin, Total INICIO LEER (Hbasico, NroHijos) Bonificacin 0 SI ( NroHijos > 0 ) ENTONCES Bonificacin Hbasico * 0.05 * NroHijos FIN-SI Total Hbasico + Bonificacin ESCRIBIR (Total) FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Imports System.math Module Module1 Sub Main() Dim Hbasico, Bonificacin, Total As double Dim NroHijos As integer Write("Ingresa su haber basico.:") hbasico = ReadLine() Write("Ingresa nmero de hijos.:") nrohijos = ReadLine() IF ( NroHijos > 0 ) THEN Bonificacin =Hbasico * 0.05 * NroHijos END IF Total =Hbasico + Bonificacin WRITELINE(SU PAGO TOTAL ES : &Total) ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

57

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Ingrese por teclado 2 nmeros enteros y visualice el menor de los 2 nmeros ingresados. 2. Ingrese por teclado un nmero entero visualice el cuadrado del nmero, si el nmero es mayor a 10 y menor a 50. 3. Ingrese por teclado la edad y talla de una dama, visualice un mensaje Postulante a la Escuela de Oficiales, si su edad mnima es 17 y su talla mnima 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 le aplicar un descuento del 15% del excedente de su sueldo respecto a 1800, visualice el descuento. 6. Ingrese por teclado la descripcin y precio de un accesorio de computadora; se le aplicar un descuento del 5% al precio si el accesorio es Monitor o Teclado. Visualice el descuento y el nuevo precio. 7. Ingrese por teclado un nmero, si es nmero par, duplique el valor del nmero; mostrar el nuevo valor. 8. Ingrese por teclado un nmero, si es de 3 cifras, visualice la suma de las cifras del nmero. 9. Ingrese por teclado el nombre del curso y su precio; si el nombre del curso es Networking, se le aplicar un descuento del 15% al precio, visualice el descuento y el nuevo precio. 10. Ingrese por teclado el ao de nacimiento de una persona, visualice un mensaje Es mayor 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 es peso doble; visualice un mensaje Aprobado, si su promedio es mayor o igual a 11 12. Ingrese por teclado un nmero, si el nmero es impar y de tres cifras, visualice el nmero incrementado por su nmero invertido. 13. Ingrese por teclado el nombre, precio y la cantidad de productos a vender, calcule el monto de la venta. Se aplicar un descuento del 35% de su precio por la compra de 20 unidades. Visualice el descuento y el neto.

Computacin, Informtica & Sistemas

58

Fundamentos de Programacin

CAPTULO VII ESTRUCTURAS CONDICIONALES DOBLES


OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales dobles. Realiza la solucin de diversos casos prcticos aplicando estructuras condicionales.

CONTENIDOS
Estructura condicional doble Definicin Sintaxis Desarrollo Practico

ESTRUCTURA CONDICIONAL DOBLE Definicin


La estructura condicional de seleccin doble ejecuta un bloque de instrucciones (A) cuando la proposicin (condicin) es verdadera y un bloque diferente (B) cuando esta es falsa.

SINTAXIS DIAGRAMA DE FLUJO

Computacin, Informtica & Sistemas

59

Fundamentos de Programacin

Computacin, Informtica & Sistemas

60

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Ingrese por teclado 2 nmeros, visualice el mayor de los dos nmeros ingresados. ALGORITMO Ejemplo1 VARIABLES ENTERO: A, B INICIO LEER(A, B) SI ( A > B )ENTONCES ESCRIBIR (A) SINO ESCRIBIR (B) FIN-SI FIN

2. Ingrese por teclado un nmero, si el nmero es par visualice su doble pero si el nmero es impar visualice su cuadrado. ALGORITMO Ejemplo2 VARIABLES ENTERO: A INICIO LEER(A) SI ( A MOD 2 = 0) ENTONCES ESCRIBIR (2*A) SINO ESCRIBIR (A^2) FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim A As Integer Write("Ingresa valor 1..:") A = ReadLine() IF A MOD 2=0 THEN WriteLine("EL DOBLE ES..:" & 2*A) ELSE WriteLine("SU CUADRADO ..:" & A^2) END IF ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

61

Fundamentos de Programacin

3. Ingrese por teclado la edad de un postulante a las fuerzas armadas, visualice un mensaje Apto si su edad es mayor a 17; sino visualice un mensaje No apto. ALGORITMO Ejemplo3 VARIABLES ENTERO: edad INICIO LEER (edad) SI (edad>17) ENTONCES ESCRIBIR (APTO) SINO ESCRIBIR (NO APTO) FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim EDAD As Integer Write("Ingresa EDAD..:") EDAD = ReadLine() IF EDAD>17 THEN WriteLine("ESTA APTO) ELSE WriteLine("NO APTO) END IF ReadLine() End Sub End Module

4. Ingrese por teclado el total de ahorros de una persona, si ahorr ms de 1000, visualice PUEDE COMPRAR SU TV, sino SIGA AHORRANDO. ALGORITMO Ejemplo3 VARIABLES REAL: ahorros INICIO LEER (ahorros) SI (ahorros>1000) ENTONCES ESCRIBIR (PUEDE COMPRAR SU TV) SINO ESCRIBIR (SIGA AHORRANDO) FIN-SI FIN

Computacin, Informtica & Sistemas

62

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim AHORROS As DOUBLE Write("Ingrese ahorros) ahorros = ReadLine() IF ahorros>1000 THEN WriteLine("puede comprar su tv) ELSE WriteLine("siga ahorrando) END IF ReadLine() End Sub End 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 marca mnima es 3 minutos, sino visualice un mensaje PREPARARSE MAS ALGORTMICA Ejemplo5 VARIABLES REAL: tiempo INICIO LEER (tiempo) SI (tiempo<=3.00) ENTONCES ESCRIBIR (ATLETA A COMPETIR EN LA OLIMPIADA) SINO ESCRIBIR (PREPARARSE MAS) FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim tiempo As double Write("Ingresa EDAD..:") tiempo = ReadLine() IF tiempo<=3.00 THEN WriteLine (ATLETA A COMPETIR EN LA OLIMPIADA)) ELSE WriteLine("PREPARARSE MAS) END IF ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

63

Fundamentos de Programacin

6. Una tienda comercial ofrece un descuento del 3% del valor de compra si el pago se efecta al contado, en caso el pago sea con tarjeta se le recarga un 5% del valor de compra. Calcular el total a pagar. ALGORITMO Ejemplo6 VARIABLES REAL: Vcompra, Descuento, Recargo, Total CARCTER: TipoPago INICIO LEER (Vcompra, TipoPago) Descuento 0 : Recargo 0 SI (TipoPago = C ) ENTONCES Descuento Vcompra * 0.03 SINO Recargo Vcompra * 0.05 FIN-SI Total Vcompra Descuento + Recargo ESCRIBIR (Total) FIN CODIFICACIN 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

Computacin, Informtica & Sistemas

64

Fundamentos de Programacin

7. Ingrese un nmero entero de 3 cifras y luego visualice un mensaje indicando si el nmero ingresado es CAPICUA o NO ES CAPICUA. ALGORTMICA Ejemplo7 VARIABLES ENTERO: N, A, C INICIO LEER( N ) SI ( N >= 100) Y ( N <= 999 ) ENTONCES A N DIV 100 C ( N MOD 100) MOD 10 SI ( A = C ) ENTONCES ESCRIBIR (CAPICUA) SINO ESCRIBIR(NO ES CAPICUA) FIN-SI FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N, A, C As INTEGER Write("Ingrese UN NMERO DE 3 CIFRAS) N = ReadLine() IF ( N >= 100) AND ( N <= 999 ) THEN A = N \ 100 C = ( N MOD 100) MOD 10 IF ( A = C ) THEN WRITELINE (CAPICUA) ELSE WRITELINE (NO ES CAPICUA) END IF END IF ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

65

Fundamentos de Programacin

8. Una tienda comercial por campaa publicitaria est ofreciendo descuentos por sus diversos artculos, donde lo artculos que cuestan mnimo 1000 nuevos soles se le aplicar 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 neto ALGORITMO Ejemplo8 VARIABLES REAL: Precio, Descuento, Neto INICIO LEER (Precio) Descuento 0 SI (Precio>=1000) ENTONCES Descuento Precio * 0.10 SINO Descuento Precio * 0.03 FIN-SI Neto Precio Descuento ESCRIBIR (Descuento, Neto) FIN 9. Se estn solicitando a la poblacin postular a la Escuela de la Fuerzas Armadas, una persona que postula a la Escuela deber ingresar su Nombre, edad, talla y estudios realizados. Si su edad es mayor a 17, tiene una talla mnima de 1.70 y estudios superiores, podr ingresar, sino ingresar a la Escuela de Suboficiales. ALGORTMICA Ejemplo9 VARIABLES ENTERO: edad REAL: talla CADENA: nombre, estudios INICIO LEER (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-SI

FIN

Computacin, Informtica & Sistemas

66

Fundamentos de Programacin

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 mnimo 18 b. Menor de Edad, si la edad es menor a 18 3. Ingrese por teclado un nmero de dos cifras, visualice un mensaje si es nmero es o no capica. 4. Ingrese por teclado dos nmeros, visualice el menor de los dos nmeros ingresados. 5. Ingrese por teclado tres nmeros diferentes, visualize: a) Mayor de los tres nmeros b) Menor de los tres nmeros 6. Ingrese por teclado tres nmeros enteros diferentes, visualice el segundo mayor nmero. 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 que reemplazara a la nota ms baja; calcule y visualice su promedio. 9. Ingrese por teclado el precio de un artculo, 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% sobre el precio. Visualice el descuento y el nuevo precio 10. Ingrese por teclado el nombre de un obrero y sus horas trabajadas, el pago que recibe por cada hora es de 15 nuevos soles. Su jornal es el producto del pago por hora y las horas trabajadas; si trabaja ms de 40 horas, por cada hora extra trabajada, se le pagar 25 nuevos soles. Visualice el jornal que recibi.

Computacin, Informtica & Sistemas

67

Fundamentos de Programacin

Computacin, Informtica & Sistemas

68

Fundamentos de Programacin

CAPTULO VIII ESTRUCTURAS CONDICIONALES MULTIPLES


OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales mltiples. Realiza la solucin de diversos casos prcticos aplicando estructuras condicionales.

CONTENIDOS
Estructura condicional mltiple Definicin Sintaxis Desarrollo Practico

ESTRUCTURA CONDICIONAL MULTIPLE Definicin


Las estructuras de comparacin mltiples, son tomas de decisin especializada que permiten comparar una variable con posibles resultados diferentes, ejecutando para cada caso una serie de instrucciones especficas. Cabe resaltar que este tipo de estructura evala el valor de una variable con los posibles valores 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

Computacin, Informtica & Sistemas

69

Fundamentos de Programacin

PSEUDOCDIGO

Computacin, Informtica & Sistemas

70

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Ingrese 3 nmeros enteros y visualice el mayor de los 3 nmeros ingresados. ALGORITMO Ejemplo1 VARIABLES ENTERO: A, B, C, Mayor INICIO
LEER( A, B, C) SI( A>B AND A>C ) ENTONCES Mayor A SINO SI( B>A AND B>C ) ENTONCES Mayor B SINO Mayor C FIN-SI ESCRIBIR ( Mayor )

FIN CODIFICACIN 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 ELSE Mayor= C END IF WRITELINE (EL MAYOR VALOR ES : & Mayor )

ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

71

Fundamentos de Programacin

11. Ingrese un nmero entero, si es menor a 10 smele 10 unidades, si est entre 11 a


20 multiplique por dos, si es mayor a 20 elevar a potencia par. Visualice el nuevo valor. ALGORITMO Ejemplo2 VARIABLES ENTERO: N INICIO
LEER( N ) SI ( N < 10) ENTONCES N N + 10 SINO SI ( N <= 20) ENTONCES N N *20 SINO NN*N FIN-SI ESCRIBIR ( N )

FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As INTEGER Write("Ingrese UN NMERO DE 3 CIFRAS) N = ReadLine() IF ( N <10) THEN N=N+10 ELSEIF ( N<20 ) THEN N=N*20 ELSE N=N*N END IF Writeline(Valor nuevo de N: & N) ReadLine() End Sub End Module

12. Una empresa otorga bonificaciones de su haber bsico segn la categora del
trabajador; categora A: 250; categora B: 200; categora C: 120; otras categoras 50. ALGORITMO Ejemplo3 VARIABLES
CADENA: Categora REAL: Bonificacin INICIO LEER (Categora) SI (Categora = A) ENTONCES Bonificacin 250 SINO SI (Categora = B) ENTONCES Bonificacin 200 SINO SI (Categora = C) ENTONCES Bonificacin 120 SINO Bonificacin 50 FIN-SI ESCRIBIR (Bonificacin) FIN

Computacin, Informtica & Sistemas

72

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim Bonificacin As double Dim categoria as string Write("Ingrese una categora :) categoria = ReadLine() IF (categoria = A) THEN Bonificacin=250 ELSEIF (categoria = B) THEN Bonificacin=200 ELSEIF (categoria = C) THEN Bonificacin= 120 ELSE Bonificacin =50 END IF Writeline(Valor DE Bonificacin : & Bonificacin ) ReadLine() End Sub End Module

13. Se van a publicar la nota de un alumno, dependiendo de su nota se ubicar en una de


las siguientes categoras: PROMEDIO 18 20 15 17 11 14 0 -10 ALGORITMO Ejemplo4 VARIABLES CADENA: Categora ENTERO: nota INICIO LEER (nota) SI (nota<=10) ENTONCES Categora Malo SINO SI (nota<=14) ENTONCES Categora Regular SINO SI (nota<=17) ENTONCES Categora Bueno SINO Categora Excelente FIN-SI ESCRIBIR (Categora) FIN CATEGORA Excelente Bueno Regular Malo

Computacin, Informtica & Sistemas

73

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim nota As integer Dim categoria as string Write("Ingrese nota :) nota = ReadLine() If (nota<=10) then Categora=Malo Else if (nota<=14) then Categora = Regular Else if (nota<=17) then Categora = Bueno Else Categora = Excelente End if Writeline(observacion: & categoria) ReadLine() End Sub End Module

14. Una persona est a punto de ver televisin, mostrar si segn su edad est apto para
ver el programa televisivo.

EDAD 18 -ms 14 -17 0 13

CATEGORA Contenido para adultos Mayores de 14 apt

ALGORITMO Ejemplo4 VARIABLES ENTERO: edad INICIO LEER (edad SI (nota<=13) ENTONCES ESCRIBIR (apt) SINO SI (nota<=17) ENTONCES ESCRIBIR (Mayores de 14) SINO ESCRIBIR (Contenido para Adultos) FIN-SI FIN

Computacin, Informtica & Sistemas

74

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim edad As integer Write("Ingrese edad :) If (nota<=13) then Writeline (apta para todos) Else if (nota<=17) then Writeline (Mayores de 14) Else Writeline (Contenido para Adultos) End if ReadLine () End Sub End Module

Computacin, Informtica & Sistemas

75

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. En una oficina de empleos categorizar a los postulantes en funcin al sexo y la edad de acuerdo a lo siguiente: Si la persona es de sexo femenino: categora FA si tiene menos de 20 aos y FB caso contrario. Si la persona es de sexo masculino: categora MA si tiene menos de 30 aos y MB caso contrario 2. Disee un programa que ingrese el sueldo de un trabajador y calcule el aumento que obtendr de la siguiente tabla SUELDO Menos 2000 2000<=sueldo<=3000 Sueldo>3000 AUMENTO 20% 13% 9%

3. Disee un programa que lea la temperatura de un da e imprima el tipo de clima de acuerdo a la siguiente tabla Temperatura Promedio (TP) TP<=10 10<TP<=20 20<TP<=30 TP30 Tipo de Clima Fri Nublado Caluroso Trpico

4. Ingrese un nmero de 4 cifras, visualizar un mensaje si el nmero es o no capica.

5. Ingrese 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 que reemplazara a la nota ms baja; calcule y visualice su promedio 6. Escriba un programa que lea un nmero desde el teclado entre 1 y 12 e imprima el nombre del mes del ao correspondiente. (Enero, Febrero,...etc). 7. Ingrese un nmero de hasta tres cifras, visualizar el nmero en romanos 8. La Universidad UTP ha categorizado las matriculas de acuerdo a la facultad que va a estudiar Facultad Ing. de Sistemas Derecho Ing. Naviera Ing. Pesquera Contabilidad Importe de Matricula 350 300 300 310 280 Mensualidad 590 550 500 550 490

Computacin, Informtica & Sistemas

76

Fundamentos de Programacin

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 campaa navidea, desea comprar panteones, donde segn su marca tiene un precio Marca del Panten Donofrio Motta Todinno Naval Santa Claus Doa Pepa Precio Unitario 20 19 18 9 11 10

Si el cliente desea comprar ms 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 la diferencia entre el monto y el descuento. Ingrese por teclado el nombre del cliente, la marca del panten y la cantidad de panetones a comprar; visualice el precio unitario del panten, 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, el atleta est clasificado:

Distancia en metros 100 1500 3000 20 kms 40 kms

Clasificacin Corta Milla 3000 metros Semi Fondo Fondista

Computacin, Informtica & Sistemas

77

Fundamentos de Programacin

Computacin, Informtica & Sistemas

78

Fundamentos de Programacin

Computacin, Informtica & Sistemas

79

Fundamentos de Programacin

Computacin, Informtica & Sistemas

80

Fundamentos de Programacin

CAPTULO IX ESTRUCTURAS CONDICIONALES ANIDADAS


OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras condicionales anidadas Realiza la solucin de diversos casos prcticos aplicando estructuras condicionales

CONTENIDOS
Estructura condicional anidada Definicin Sintaxis Desarrollo Practico

ESTRUCTURA CONDICIONAL ANIDADA Definicin Esta estructura se emplea cuando se requiere condicionar dentro de otra condicional, es decir, cuando dentro de una condicional simple o doble existe otra condicional simple o doble. SINTAXIS PSEUCODIGO

Donde: Si la condicin 1 es verdadera, se evaluar la condicin 2. Si la condicin 2 es verdadera, ejecuta la sentencia 1; si no es verdadera, Ejecuta la sentencia 2. Si la condicin 1 no es verdadera, evaluar la condicin 3. Si la condicin 3 es verdadera, ejecuta la sentencia 3; si no es verdadera, Ejecuta la sentencia 4.

Computacin, Informtica & Sistemas

81

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Ingrese un nmero entre 1 y 3, luego visualice su equivalente en letras. ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO LEER( N ) SI( N = 1 )ENTONCES ESCRIBIR (UNO) SINO SI( N = 2 )ENTONCES ESCRIBIR (DOS) SINO SI( N = 3 )ENTONCES ESCRIBIR (TRES) SINO ESCRIBIR (NMERO NO VALIDO) FIN-SI FIN-SI FIN-SI FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As INTEGER Write("Ingrese UN NMERO entre 1- 3 :) N = ReadLine() IF ( N =1) THEN Writeline(uno:) ELSE IF N=2 THEN Writeline(DOS:) ELSE IF N=3 THEN WRITELINE(TRES) ELSE Writeline(NMERO NO VALIDO:) END IF END IF END IF ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

82

Fundamentos de Programacin

2. Ingrese el puntaje obtenido por un postulante y luego visualice a que carrera ingreso, segn la siguiente tabla:

ALGORITMO Ejemplo2 VARIABLES ENTERO Puntaje INICIO


LEER ( Puntaje ) SI (Puntaje >= 70) Y (Puntaje < 90) ENTONCES ESCRIBIR (Contabilidad) SINO SI (Puntaje >= 90) Y (Puntaje < 100) ENTONCES ESCRIBIR (Administracin) SINO SI (Puntaje >= 100) Y (Puntaje < 120) ENTONCES ESCRIBIR (Derecho) SINO SI (Puntaje >= 120) Y (Puntaje <= 150) ENTONCES ESCRIBIR (INGENIERIA) SINO ESCRIBIR (LE FALTO:, 70-Puntaje) FIN-SI FIN-SI FIN-SI FIN-SI

FIN

Computacin, Informtica & Sistemas

83

Fundamentos de Programacin

3. Ingrese el ciclo y turno a estudiar, luego calcule el total a pagar segn la siguiente tabla:
CICLO 1 1 2 2 3 - 10 3 - 10 TURNO M N M N M N PENSION 850 800 750 700 650 600

ALGORITMO Ejemplo3 VARIABLES


REAL Pensin ENTERO Ciclo CARCTER Turno

INICIO LEER( Ciclo, Turno ) SI (Ciclo = 1) ENTONCES SI (Turno = M) ENTONCES Pensin 850 SINO Pensin 800 FIN-SI SINO SI (Ciclo = 2) ENTONCES SI (Turno = M) ENTONCES Pensin 750 SINO Pensin 700 FIN-SI SINO SI (Turno = M) ENTONCES Pensin 650 SINO Pensin 600 FIN-SI/ FIN-SI FIN-SI

FIN

Computacin, Informtica & Sistemas

84

Fundamentos de Programacin

4. Ingrese el consumo de agua de un mes y calcule el visualice el total a pagar, segn la siguiente tabla:

Consumo [ 1 50 > [ 50 100 > [ 100 150 > [ 150 a mas

Tarifa 0.8 1.5 1.8 2.0

ALGORITMO Ejemplo4 VARIABLES REAL: Consumo, Tarifa, Monto INICIO LEER (Consumo) SI (Consumo<50) ENTONCES Tarifa 0.8 SINO SI (Consumo >= 50) Y (Consumo < 100) ENTONCES Tarifa 1.5 SINO SI (Consumo >= 100) Y (Consumo < 150) ENTONCES Tarifa 1.8 SINO Tarifa 2.0 FIN-SI FIN-SI FIN-SI Monto Tarifa * Consumo ESCRIBIR (Tarifa, Monto) FIN

5. Ingrese por teclado el nombre de un Empleado y su categora. Segn su categora obtendr su bsico y bonificacin: Categora Empleado Obrero Ejecutivo Auxiliar Bsico 600 550 1500 200 Bonificacin 150 190 500 50

Calcule y visualice su remuneracin que es la suma del bsico y bonificacin.

Computacin, Informtica & Sistemas

85

Fundamentos de Programacin

ALGORITMO Ejemplo5

VARIABLES REAL: CADENA: INICIO LEER (Categora) SI (Categora =Empleado) ENTONCES bsico 600 600 bsico, bonificacin, monto Categora

bonificacin SINO

SI (Categora = Obrero) ENTONCES bsico 550 190

bonificacin SINO

SI (Categora Ejecutivo) ENTONCES bsico 1500 500

bonificacin SINO bsico 200

bonificacin FIN-SI FIN-SI FIN-SI monto FIN bsico + bonificacin

50

ESCRIBIR (bsico, bonificacin, monto)

Computacin, Informtica & Sistemas

86

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Ingrese el estado civil y nmero de hijos, luego calcule la bonificacin a pagar a un trabajador segn la siguiente tabla :
Estado Civil S S C C V V D D Hijos 0 >0 0 >0 0 >0 0 >0 Bonificacin (% Haber Bsico) 2.50 % 2.75 % 2.80 % 3.00 % 2.50 % 2.75 % 2.50 % 3.00 %

2. Ingrese nmero entre 1 y 99, luego visualice su equivalente en romanos. 3. Calcular el total a pagar por una compra, sabiendo que existe un recargo segn tipo de tarjeta de crdito con la que se paga la compra. Tipo de Tarjeta Visa Electrn ( E ) VISA ( V ) MasterCard ( M ) Recargo 0% 5% 7%

4. Calcular el total a pagar por su consumo telefnico, sabiendo que su renta bsica es de S/. 50 (60 minutos libres), y que el cobro por minutos adicionales se factura segn la siguiente tabla. Minutos Consumidos < 60 100 ] <100 200 ] <200 400 ] <400 500 ] <500 Ms Costo x Minuto 0.007 0.005 0.004 0.003 0.002

Computacin, Informtica & Sistemas

87

Fundamentos de Programacin

5. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de inters segn la siguiente tabla :
Plan de Cuenta Plan A Plan B Plan C Plan X Tasa de Inters 0.07 % 0.08 % 0.09 % 0.10 % Monto Mnimo 1000 1500 2000 2500

Elabore un algoritmo donde ingrese el Monto de apertura, luego calcule y visualice el inters generado, el plan al cual pertenece y el nuevo saldo. 6. Ingrese por teclado un nmeros del 1 al 999, exprese el nmero en letras, por ejemplo 125 un ciento veinticinco 7. Un instituto ofrece cursos de programacin, el costo de los cursos es de la siguiente manera: Bsico Profesor Alumno Externo Intermedio 50 40 70 Avanzado 100 80 120

Se pide elaborar un programa para emitir el recibo por dicho curso, los datos que se mostraran 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 energa elctrica, el pago se realiza segn la siguiente tabla: Consumo (Kw) [ 100 150 > [ 150 250 > [ 250 350 > [ 350 Ms > Costo por Kw 0.65 0.85 1.05 1.25

NOTA: El pago de consumo mnimo es de S/. 10 Soles.

Computacin, Informtica & Sistemas

88

Fundamentos de Programacin

CAPTULO X ESTRUCTURAS SELECTIVAS

OBJETIVOS ESPECFICOS Defina el propsito de las estructuras selectivas. Realiza la solucin de diversos casos prcticos aplicando estructuras selectivas.

CONTENIDOS Estructura Selectiva Definicin Sintaxis Desarrollo Practico

ESTRUCTURA SELECTIVA Definicin


Cuando existen ms de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas mltiples. Si el nmero de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. La estructura condicional selectiva evaluar una expresin que podr tomar n valores distintos 1, 2, 3, 4,..n. Segn que elija uno de estos valores en la condicin, se realizar una de las n acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino entre los n posibles.

Computacin, Informtica & Sistemas

89

Fundamentos de Programacin

SINTAXIS

DIAGRAMA DE FLUJO

PSEUDOCDIGO

Computacin, Informtica & Sistemas

90

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Ingresar un nmero entre 1 y 5, y luego visualizar su equivalente en letras. ALGORITMO Ejemplo1 VARIABLES ENTERO 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 N

2. Una empresa otorga bonificaciones de su haber bsico segn la categora del trabajador; categora A: 250; categora B: 200; categora C: 120; otras categoras 50.
ALGORITMO Ejemplo2 VARIABLES CADENA: REAL: INICIO LEER (Categora) CASO (Categora) SEA A: Bonificacin 250 B: Bonificacin 200 C: Bonificacin 120 OTRO CASO: Bonificacin 50 FIN-CASO ESCRIBIR (Bonificacin) FIN Categora Bonificacin

Computacin, Informtica & Sistemas

91

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim categoria As Integer Dim bonificacion as double Write("Ingresa categoria..:") categoria = ReadLine() select case categoria case A:bonificacion=250 case B:bonificacion=200 case C:bonificacion=120 case else bonificacion=50 End select Writeline(la bonificacion es: & bonificacion) ReadLine() End Sub End Module

3. Ingrese 2 nmeros y una operacin matemtica realizar (+,-,*,/, DIV, EXP), luego muestre el resultado de operar los 2 nmeros.
ALGORITMO Ejemplo2 VARIABLES ENTERO: A, B, Resultado CADENA: Operador INICIO LEER (A, B, Operador) CASO (Operador) SEA + : Resultado A + B - : Resultado A B * : Resultado A * B DIV: Resultado A \ B EXP: Resultado EXP(A,B) / : SI( B <> 0 )ENTONCES Resultado A DIV B SINO Resultado 0 FIN-SI FIN-CASO ESCRIBIR (Resultado) FIN

Computacin, Informtica & Sistemas

92

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim a, b, resultado As Integer Dim operador as string Write("Ingresa valor entero..:") n = ReadLine() select case operador case +:resultado=a+b case -:resultado=a-b case *:resultado=a*b case div:resultado=a\b case exp:resultado=Exp(a,b) case /: if b<>0 then resultado=a/b else resultado=0 end if End select Writeline(la respuesta es: & resultado) ReadLine() End Sub End Module

4. Escriba un programa que lea un nmero desde el teclado entre 1 y 7 e imprima el nombre del da de semana correspondiente. (Lunes, martes,...etc.).
ALGORITMO Ejemplo4 VARIABLES CADENA: Semana ENTERO: da INICIO LEER (da) CASO (da) SEA 1: Semana Lunes 2: Semana Martes 3: Semana Mircoles 4: Semana Jueves 5: Semana Viernes 6: Semana Sbado 7: Semana Domingo OTRO CASO: Semana Error FIN -CASO ESCRIBIR (Semana) FIN

Computacin, Informtica & Sistemas

93

Fundamentos de Programacin

5. Calcular el total a pagar por una compra, sabiendo que existe un recargo segn tipo de tarjeta de crdito con la que se paga la compra.
Tipo de Tarjeta Visa Electrn ( E ) VISA ( V ) MasterCard ( M ) Recargo 0% 5% 7%

ALGORITMO Ejemplo5 VARIABLES REAL: monto. Recargo, total CADENA: tarjeta INICIO LEER (tarjeta, monto) CASO (tarjeta) SEA E: recargo 0 V: recargo 0.05*monto M: recargo 0.07* monto FIN CASO Total monto + recargo ESCRIBIR (total) FIN 6. Disee un programa que calcule el costo de un paciente, el costo depende del tipo de enfermedad. De acuerdo a la siguiente tabla: TIPO ENFERMEDAD 1 2 3
ALGORITMO Ejemplo6 VARIABLES REAL: costo CARACTER: tipo INICIO LEER (tipo) CASO (tipo) SEA 1: costo 122 2: costo 150 3: costo 200 FIN CASO ESCRIBIR (costo) FIN

COSTO 122 150 200

Computacin, Informtica & Sistemas

94

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Escriba un programa que lea un nmero desde el teclado entre 1 y 12 e imprima el nombre del mes del ao correspondiente. (Enero, Febrero,...etc.). 2. Ingrese un nmero de hasta tres cifras, visualizar el nmero en romanos, por ejemplo: 255 CCLV 3. Una entidad bancaria ofrece a sus clientes planes de cuentas con tasa de inters segn la siguiente tabla: Plan de Cuenta Plan A Plan B Plan C Plan X Tasa de Inters 0.07 % 0.08 % 0.09 % 0.10 % Monto Mnimo 1000 1500 2000 2500

Elabore un algoritmo donde ingrese el Monto de apertura, luego calcule y visualice el inters generado, el plan al cual pertenece y el nuevo saldo. 4. Ingrese el estado civil y nmero de hijos, luego calcule la bonificacin a pagar a un trabajador segn la siguiente tabla: Estado Civil S S C C V V D D Hijos 0 >0 0 >0 0 >0 0 >0 Bonificacin (% Haber Bsico) 2.50 % 2.75 % 2.80 % 3.00 % 2.50 % 2.75 % 2.50 % 3.00 %

5. Un instituto ofrece cursos de programacin, el costo de los cursos es de la siguiente manera:


Bsico Profesor Alumno Externo Intermedio 50 40 70 70 50 100 Avanzado 100 80 120

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

6. Ingresar una fecha y calcular: el nmero de das de ese mes e identificar si el ao es bisiesto. Computacin, Informtica & Sistemas 95

Fundamentos de Programacin

7. Ingrese por teclado el nombre de un Empleado y su categora. Segn su categora obtendr su bsico y bonificacin:

Categora Empleado Obrero Ejecutivo Auxiliar

Bsico 600 550 1500 200

Bonificacin 150 190 500 50

Calcule y visualice su remuneracin que es la suma del bsico y bonificacin.

Computacin, Informtica & Sistemas

96

Fundamentos de Programacin

CAPTULO XI ESTRUCTURAS REPETITIVAS PARA - HACER


OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas. Implementar desarrollos prcticos utilizando contadores y acumuladores Realiza la solucin de diversos casos prcticos aplicando estructuras repetitivas

CONTENIDOS
Estructura iterativa Definicin Tipos de estructuras Estructura repetitiva Para Fin Para Contadores y acumuladores Desarrollo de ejercicios de aplicacin

ESTRUCTURA REPETITIVA Definicin


Son operaciones que se deben ejecutar un nmero repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto nmero de Veces, se llama Ciclo, Bucle o Lazo, establecido por la condicin que se Evala en cada una de ellas. Cada una de las repeticiones se conoce como iteracin. Tambin se les llaman problemas repetitivos o cclicos porque en la Solucin es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especfica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en funcin de algn dato dentro del programa).

Qu es una Iteracin?
Es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el bucle.

Computacin, Informtica & Sistemas

97

Fundamentos de Programacin

Fases de un Programa Cclico o Repetitivo


Todo problema que trabaja con procesos repetitivos o cclicos debe tomar en cuenta las siguientes fases: 1. Entrada de datos e instrucciones previas 2. Lazo o bucle 3. Instrucciones finales o resto del proceso 4. Salida de resultado

Ejemplo de un Bucle Finito


En este ejemplo, el bucle finalizar cuando se cumple la condicin que N sea cero.

Ejemplo de un Bucle Infinito

En este flujograma, el bucle se estar repitiendo indefinidamente ya que no existe ninguna condicin que nos permita finalizar en algn momento.

Computacin, Informtica & Sistemas

98

Fundamentos de Programacin

Clasificacin de las Estructuras Repetitivas


Las estructuras repetitivas se clasifican en: a) Estructuras cclicas que ejecutan un nmero determinado de Iteraciones: Son aquellas en que el nmero de iteraciones se conoce antes de ejecutarse el ciclo. Estructura Para Fin Para b) estructuras cclicas que ejecutan un nmero indeterminado de Iteraciones: Son aquellos en que el nmero de iteraciones no se conoce con exactitud, ya que esta dado en funcin de un dato dentro del programa. Estructura Mientras Fin Mientras Estructura Repetir Hasta_Que

ESTRUCTURA REPETITIVA PARA - HACER Definicin Si tenemos que repetir el bucle un nmero exacto de veces (que conocemos antes de empezar el bucle), debemos utilizar el bucle parahacer. Al bucle for debemos asociarle una variable. Esta variable la crea automticamente cuando comienza a ejecutar el bucle y la utiliza para llevar la cuenta de cuantas veces ha hecho el bucle. A la estructura Para - Hacer se le conoce como Repetitiva. Para utilizar esta estructura en algoritmos, debemos hacer uso de contadores y algunas veces de acumuladores. SINTAXIS DIAGRAMA DE FLUJO

Computacin, Informtica & Sistemas

99

Fundamentos de Programacin

PSEUDOCDIGO

PARA VariableV.Inicial HASTA V.Final DE Inc


Instrucciones y/o Sentencias

FIN-PARA
Donde:


CONTADORES

V.Inicial = Valor Inicial V.Final = Valor Final

Inc = Valor de Incremento (Opcional)

Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o accin. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operacin de inicializacin y posteriormente las sucesivas de incremento o decremento del mismo. La inicializacin consiste en asignarle al contador un valor. Se situar antes y fuera del bucle.

Representacin:
<contador> <contador> + <valor constante>

Si en vez de incremento es decremento se coloca un menos en lugar del ms. Ejemplo: i i+1

ACUMULADORES
Es una variable que suma sobre s misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno, el acumulador va aumentando en una cantidad variable.

Representacin:
<variable> <variable> + <valor variable> Ejemplo: S S + variable

Computacin, Informtica & Sistemas

100

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Imprimir los 10 primeros nmeros naturales. ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO PARA N1 HASTA 10 ESCRIBIR (N) FIN-PARA FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer For n=1 to 10 Writeline( valor: & N) End for ReadLine() End Sub End Module 2. Imprimir los 10 primeros nmeros naturales pero en forma descendente. ALGORITMO Ejemplo2 VARIABLES ENTERO N INICIO PARA N 10 HASTA 1 DE -1 ESCRIBIR (N) FIN-PARA FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer For n=10 to 1 step -1 Writeline( valor: & N) End for ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

101

Fundamentos de Programacin

3. Visualizar todos los nmeros de 2 cifras compuestos por cifras iguales. ALGORITMO Ejemplo3 VARIABLES ENTERO N, A, B INICIO PARA N 10 HASTA 99 A N DIV 10 B N MOD 10 SI ( A = B ) ENTONCES ESCRIBIR (N) FIN-SI FIN-PARA FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N,A,B As Integer For n=10 to 99 A=N\10 B=N MOD 10 IF A=B THEN Writeline( valor: & N) END IF End for ReadLine() End Sub End Module

4. Ingrese un nmero y luego visualice todos sus divisores. ALGORITMO Ejemplo4 VARIABLES ENTERO N, Divisor INICIO LEER (N) PARA Divisor 1 HASTA N SI N MOD Divisor = 0 Entonces ESCRIBIR (Divisor) FIN-SI FIN-PARA FIN

Computacin, Informtica & Sistemas

102

Fundamentos de Programacin

5. Disee un programa que imprima una tabla de cuadrados y de cubos para los nmeros del 1 hasta N, donde N se ingresa. ALGORITMO Ejemplo5 VARIABLES ENTERO N, i, CUADRADO, CUBO INICIO LEER (N) PARA i 1 HASTA N CUADRADO i*i CUBO i*i*i ESCRIBIR (N, CUADRADO, CUBO) FIN-PARA FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N,I,CUADRADO, CUBO As Integer WRITE(Ingrese unn valor) N=readline For I=1 to N CUADRADO=I*I CUABO=I*I*I Writeline(I, & CUADRADO & & CUBO) End for ReadLine() End Sub End Module 6. Elabore un programa donde ingrese 30 nmeros, visualizar el mayor y el menor de los nmeros ingresados. ALGORITMO Ejemplo6 VARIABLES ENTERO N, MAYOR, MENOR, i INICIO MENOR 0 MAYOR 0 PARA i 1 HASTA 30 LEER (N) SI N > MAYOR ENTONCES MAYOR N FIN SI SI N < MENOR ENTONCES MENOR N FIN SI FIN-PARA ESCRIBIR (MAYOR, MENOR) FIN Computacin, Informtica & Sistemas 103

Fundamentos de Programacin

7. Elabore un programa para calcular el factorial de un nmero entero positivo ALGORITMO Ejemplo7 VARIABLES ENTERO N, FACTORIAL, i INICIO FACTORIAL 1 LEER (N) PARA i 1 HASTA N FACTORIAL FACTORIAL * i FIN-PARA ESCRIBIR (FACTORIAL) FIN 8. Elabore un programa donde ingrese las notas de 30 alumnos: nombre del alumno, el curso, nota1 y nota2. Por cada ingreso calcule y visualice su promedio; al finalizar visualice la cantidad de alumnos aprobados y la cantidad de alumnos desaprobados ALGORITMO Ejemplo8 VARIABLES ENTERO N, NOTA1, NOTA2, i, CAPROB, CDESAPROB REAL PROMEDIO CADENA NOMBRE, CURSO INICIO CAPROB 0 CDESAPROB 0 PARA i 1 HASTA 30 LEER (NOMBRE, CURSO, NOTA1, NOTA2) PROMEDIO (NOTA1 + NOTA2) /2 ESCRIBIR (PROMEDIO) SI (PROMEDIO>=11) ENTONCES CAPROB CAPROB + 1 SINO CDESAPROB CDESAPROB + 1 FIN SI FIN-PARA ESCRIBIR (CAPROB, CDESAPROB) FIN

Computacin, Informtica & Sistemas

104

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Visualizar los nmeros de 2 cifras pares. 2. Ingrese un nmero entero y luego calcule el factorial del nmero ingresado. 3. Ingrese un nmero entero y luego visualice un mensaje indicando si es primo o no primo. 4. Ingrese un nmero entero y luego visualice un mensaje PERFECTO o NO ES PERFECTO. indicando si es

5. Ingrese un nmero entero y luego calcule la suma de todos los nmeros impares menores al nmero ingresado. 6. Visualizar la siguiente serie de nmeros: +1-2+3-4+5-6+7-8++N NOTA: N ser el valor lmite de la serie. 7. Calcular la suma de todos los nmeros de 3 cifras compuestos por cifras diferentes impares. 8. Disee un programa que ingrese las edades de 10 alumnos y que calcule lo siguiente: Suma de todas las edades Promedio de edades Promedio de edades pares Edad mxima Edad mnima 9. Escribe un algoritmo que lea un nmero natural N y un carcter. La salida debe ser un rombo compuesto del carcter y de la anchura que especifica el nmero N. Por ejemplo, si N es 5 y el carcter es *, el rombo sera: * ** *** **** ***** **** *** ** * 10. Elabore un programa que permita convertir un nmero de base 10 a un nmero de otra base, para ello ingrese el nmero y la base. Ejemplo: Suponga que el nmero en decimal que se desea transformar a su equivalente en binario es el 11: Por lo tanto, (11)10 = (1011)2 11. Elabore un programa donde ingrese un nmero, visualizar los divisores del nmero ingresado.

Computacin, Informtica & Sistemas

105

Fundamentos de Programacin

12. Escribe un algoritmo que imprima una pirmide de dgitos como la de la figura, tomando como entrada el nmero de filas de la misma.

1 121 12321 1234321 123454321

13. Escriba un Algoritmo que permita formar la siguiente serie, donde N es ingresado por teclado: 1, 4, 9, 16, N2

14. Disee un programa que imprima N trminos de la siguiente serie:

3, 8, 15, 24

15. Disee un programa que halle los 3 primeros nmeros perfectos

16. Disee un programa para hallar la suma de N trminos de la siguiente serie:

1 + 1/32 + 1/52 + 1/72 + 1/92+............................

17. Disee un programa para hallar la suma de N trminos de la siguiente serie:

1 + 1/2 + 2/3 + 3/4 + 4/5+............................

18. Disee un programa donde visualice los nmeros primos comprendidos entre el 1 al 100.

Computacin, Informtica & Sistemas

106

Fundamentos de Programacin

CAPTULO XII ESTRUCTURAS REPETITIVAS MIENTRAS - HACER

OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas. Implementar desarrollos prcticos utilizando contadores y acumuladores. Realiza la solucin de diversos casos prcticos aplicando estructuras repetitivas.

CONTENIDOS
Estructura Mientras - hacer Definicin Sintaxis Desarrollo de ejercicios de aplicacin

ESTRUCTURA MIENTRAS-HACER Definicin


Esta es una estructura que repetir un proceso durante N veces, donde N puede ser fijo o variable. Para esto, la instruccin se vale de una condicin que es la que debe cumplirse para que se siga ejecutando. Cuando la condicin ya no se cumple, entonces ya no se ejecuta el proceso.

Caracterstica
Se llama Mientras a la estructura algortmica que se ejecuta mientras la condicin evaluada resulte verdadera. Se evala la expresin booleana y, si es cierta, se ejecuta la instruccin especificada, llamada el cuerpo del bucle. Este proceso de evaluacin de la expresin booleana y ejecucin del cuerpo se repite mientras la expresin sea cierta. La estructura MIENTRAS se conoce como Iterativa. Se usan cuando no se conoce con anticipacin el nmero de veces que se ejecutar la accin.

Computacin, Informtica & Sistemas

107

Fundamentos de Programacin

SINTAXIS DIAGRAMA DE FLUJO

PSEUDOCDIGO

MIENTRAS (Expresin<es>) HACER

: :
FIN-MIENTRAS

VERDAD

Instrucciones y/o Sentencias

Computacin, Informtica & Sistemas

108

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Imprimir los 3 primeros nmeros naturales.
ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO N1 MIENTRAS( N <= 3 ) HACER ESCRIBIR( N ) NN+1 FIN-MIENTRAS FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer WHILE N<=3 Writeline(N) N=N+1 End WHILE ReadLine() End Sub End Module 2. Imprimir los 10 primeros nmeros naturales, calcule y visualice la suma de los 10 nmeros.
ALGORITMO Ejemplo2 VARIABLES ENTERO N, SUMA INICIO N1 SUMA 0 MIENTRAS (N <= 10) HACER SUMA SUMA + N NN+1 FIN-MIENTRAS ESCRIBIR (LA SUMA ES:, SUMA) FIN

Acumulador Contador

Computacin, Informtica & Sistemas

109

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N, SUMA As Integer N=1 SUMA=0 WHILE N<=10 SUMA=SUMA+N N=N+1 End WHILE WRITELINE( La suma es : & suma) ReadLine() End Sub End Module

3. Calcule y visualice la suma de todos los nmeros de 2 cifras positivos.


ALGORITMO Ejemplo3 VARIABLES ENTERO N, SUMA INICIO N 10 SUMA 0 MIENTRAS (N <= 99) HACER SUMA SUMA + N NN+1 FIN-MIENTRAS

ESCRIBIR (LA SUMA ES:, SUMA) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N, SUMA As Integer N=10 SUMA=0 WHILE N<=99 SUMA=SUMA+N N=N+1 End WHILE WRITELINE( La suma es : & suma) ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

110

Fundamentos de Programacin

4. Calcule y visualice los divisores de un nmero entero.


ALGORITMO Ejemplo4 VARIABLES ENTERO N, D, Resto INICIO LEER (N) D1 MIENTRAS (D <= N) HACER Resto N MOD D SI (Resto = 0) ENTONCES ESCRIBIR (D) FIN-SI DD+1 FIN-MIENTRAS FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N, D, RESTO As Integer WRITE(INGRESE N:); N=READLINE D=1 WHILE D<=N RESTO=N MOD D IF RESTO=0 THEN WRITELINE( su divisor : & D) End if d=d+1 End WHILE ReadLine() End Sub End Module 5. Calcular y visualizar la suma de los elementos de la siguiente serie: S 1 + 4 + 9 + 16 + 25 + + 100
ALGORITMO Ejemplo5 VARIABLES ENTERO N, SUMA INICIO N 1 MIENTRAS ( N <= 10 ) HACER SUMA SUMA + ( N 2 ) NN+1 FIN-MIENTRAS ESCRIBIR (LA SUMA ES:, SUMA) FIN

Computacin, Informtica & Sistemas

111

Fundamentos de Programacin

6. Ingrese un nmero entero y luego visualice el nmero de cifras que lo componen.


ALGORITMO Ejemplo6 VARIABLES ENTERO N, Cifras INICIO LEER (N) Cifras 0 MIENTRAS (N <> 0) HACER Cifras Cifras + 1 N N DIV 10 FIN-MIENTRAS ESCRIBIR (Nmero Cifras:, Cifras) FIN

7. Disee un programa que reciba un 5 nmeros enteros de 2 cifras y muestra la suma de ellos y cantidad de pares e impares
ALGORITMO Ejemplo7 VARIABLES ENTERO N, SUMA, CPARES, CIMPARES, i INICIO CPARES 0 CIMPARES 0 SUMA 0 I 1 MIENTRAS (i <=5) HACER LEER (N) SI (N>=10 Y N<=99) ENTONCES SUMA SUMA + N SI (N MOD 2 = 0) ENTONCES CPARES CPARES + 1 SINO CIMPARES CIMPARES + 1 FIN SI FIN SI i i+1 FIN MIENTRAS ESCRIBIR (SUMA, CPARES, CIMPARES) FIN

Computacin, Informtica & Sistemas

112

Fundamentos de Programacin

8. Disee un programa donde ingrese un nmero, visualizar la suma de sus cifras


ALGORITMO Ejemplo8 VARIABLES ENTERO N, SUMA, RESTO INICIO SUMA 0 LEER (N) MIENTRAS (N <>0) HACER RESTO N MOD 10 SUMA SUMA + RESTO N N DIV 10 FIN MIENTRAS ESCRIBIR (SUMA) FIN

9. Disee un programa donde ingrese un nmero, visualizar un mensaje si es nmero primo o compuesto.

ALGORITMO Ejemplo9 VARIABLES ENTERO N, CONTADOR, i INICIO CONTADOR 0 LEER (N) i 2 MIENTRAS (i < N) HACER SI (N MOD N = 0) ENTONCES CONTADOR CONTADOR + 1 FIN SI i i+1 FIN MIENTRAS SI (i = 0) ENTONCES ESCRIBIR (NMERO PRIMO) SINO ESCRIBIR (NMERO COMPUESTO) FIN SI FIN

Computacin, Informtica & Sistemas

113

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Calcule y visualice la suma de los todos los nmeros impares de 3 cifras. 2. Calcular y visualizar el valor de la siguiente serie: S 2 + 4 + 6 + 8 + + 98 3. Generar y visualizar la siguiente serie: S 1+2+3/2+4/3+5/4++10/9 4. Ingrese un nmero entero y calcule la suma de las cifras del nmero. 5. Ingrese un nmero entero y luego calcule la suma de cifras pares e impares que estn contenidas en el nmero ingresado. 6. Ingrese un nmero entero y calcule la mayor y menor cifra contenidas en el nmero ingresado. 7. Ingrese un nmero entero y luego forme un 2do nmero con las cifras del nmero ingresado en forma inversa. 8. Ingrese un nmero entero y luego obtenga su equivalente en base 5. 9. Disee un programa que lea Nombre y edad de 5 alumnos y calcule la edad promedio as como tambin la mayor edad, considere que la edad debe encontrarse entre 18 a 70 aos. 10. Disee un programa que imprima lo siguiente: % %% %%% %%%% %%%%% %%%%%% %%%%%%% 11. Escribe un algoritmo que lea un nmero natural N y dibuje un tringulo de asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse: * ** *** **** ***** 12. Disee un programa para hallar la suma de N trminos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................ 13. Calcular la suma de todos los nmeros primos existentes entre 1 y 1000. 14. Calcular la suma de todos los nmeros de 3 cifras compuestos por cifras diferentes impares. 15. Visualizar la siguiente serie de nmeros: +1-2+3-4+5-6+7-8++N

Computacin, Informtica & Sistemas

114

Fundamentos de Programacin

CAPTULO XIII ESTRUCTURAS REPETITIVAS REPETIR HASTA

OBJETIVOS ESPECFICOS
Defina el propsito de las estructuras repetitivas. Implementar desarrollos prcticos utilizando contadores y acumuladores. Realiza la solucin de diversos casos prcticos aplicando estructuras repetitivas.

CONTENIDOS
Estructura REPETIR - HASTA Definicin Sintaxis Desarrollo de ejercicios de aplicacin

ESTRUCTURA REPETIR - HASTA Definicin


Se llama Repetir a la estructura algortmica que se ejecuta un nmero definido de veces hasta que la condicin se torna verdadera.

Caracterstica
Esta es una estructura similar en algunas caractersticas, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Mientras Que, el Repita-Hasta lo hace hasta que la condicin se cumple y no mientras, como en el Mientras Que. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condicin se evala al final del proceso, mientras que en el Mientras Que puede ser que nunca llegue a entrar si la condicin no se cumple desde un principio.

Computacin, Informtica & Sistemas

115

Fundamentos de Programacin

SINTAXIS DIAGRAMA DE FLUJO

Se cumple hasta que condicin sea Verdadera, sino repite el ciclo

PSEUDOCDIGO

REPETIR
FALSO

: :
HASTA (Expresin<es>)

Instrucciones y/o Sentencias

Computacin, Informtica & Sistemas

116

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Visualizar los 5 primeros nmeros naturales.
ALGORITMO Ejemplo1 VARIABLES ENTERO N INICIO N 1 REPETIR ESCRIBIR (N) NN+1 HASTA (N > 5) FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer N=1 Do Writeline ( valor & N) N=N+1 Loop Until N>5 End Sub END MODULE

2. Visualizar todos los nmeros pares de 2 cifras.


ALGORITMO Ejemplo2 VARIABLES ENTERO N INICIO N 10 REPETIR ESCRIBIR (N) NN+2 HASTA (N > 98) FIN

Computacin, Informtica & Sistemas

117

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer N=10 Do Writeline (valor & N) N=N+2 Loop Until N>98 End Sub END MODULE

2. Generar la siguiente serie: 1, 4, 9, 16, 25,, 100


ALGORITMO Ejemplo3 VARIABLES INICIO N 1 REPETIR ESCRIBIR ( N 2 ) NN+1 HASTA (N > 10) FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main() Dim N As Integer N=1 Do Writeline( valor & N^2) N=N+1 Loop Until N>10 End Sub END MODULE

Computacin, Informtica & Sistemas

118

Fundamentos de Programacin

4. Ingrese un nmero entero y luego visualice todos sus divisores.


ALGORITMO Ejemplo4 VARIABLES ENTERO N, Divisor, Resto INICIO LEER (N) Divisor 1 REPETIR Resto N MOD Divisor SI (Resto = 0) ENTONCES ESCRIBIR (Divisor) FIN-SI Divisor Divisor + 1 HASTA (Divisor > N) FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Sub Main()

Dim N,DIVISOR, RESTO As Integer WRITE(INGRESE UN VALOR N:): N=READLINE DIVISOR=1 Do RESTO=N MOD DIVISOR IF RESTO=0 THEN WRITELINE (DIVISOR :! & DIVISOR) END IF DIVISOR=DIVISOR+1 Loop Until DIVISOR>N

End Sub END MODULE

Computacin, Informtica & Sistemas

119

Fundamentos de Programacin

5. Ingrese un nmero y luego visualice un mensaje indicando si el nmero ES CAPICUA o NO ES CAPICUA.


ALGORITMO Ejemplo5 VARIABLES ENTERO N, M, INV, Cifra INICIO LEER (N) M N INV 0 REPETIR Cifra M MOD 10 INV (INV * 10) + Cifra M M DIV 10 HASTA (M = 0) SI (N = INV) ENTONCES ESCRIBIR (ES CAPICUA) SINO ESCRIBIR (NO ES CAPICUA) FIN-SI FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA

Imports System.Console Module Module1 Sub Main() Dim N,M , INV, CIFRA As Integer WRITE ( INGRESE UN NMERO ENTERO:) N=READLINE M=N INV=0 Do CIFRA=N MOD 10 INV= INV*10 +CIFRA M=M \10 Loop Until M=0 IF N=INV THEN Writeline(ES CAPICUA) ELSE Writeline(NO ES CAPICUA) END IF End Sub END MODULE

Computacin, Informtica & Sistemas

120

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Disee un programa que imprima lo siguiente: % %% %%% %%%% %%%%% %%%%%% %%%%%%% 2. Disee un programa que lea Nombre y edad de 5 alumnos y calcule la edad promedio as como tambin la mayor edad, considere que la edad debe encontrarse entre 18 a 70 aos. 3. Disee un programa que permita calcular la Serie Fibonacci: 0, 1, 1, 2, 3, 5, 8,. 4. Disee un programa que imprima N trminos de la siguiente serie: 3, 8, 15, 24 5. Disee un programa que halle los 3 primeros nmeros perfectos 6. Disee un programa para hallar la suma de N trminos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................ 7. Disee un programa donde visualice los nmeros primos comprendidos entre el 1 al 100. 8. Disee un programa donde ingrese un NMERO, visualice la cantidad de cifras ceros, pares e impares que tiene el NMERO ingresado. 9. Escriba un pequeo programa para imprimir los primeros cien nmeros naturales haciendo una pausa cada vez que se llene la pantalla e indicando con un mensaje adecuado que al oprimir una tecla la lista continuar. 10. Escriba un programa que imprima los primeros n nmeros naturales pares. Valide el valor de n y emita un mensaje de error si no es natural. 11. Escribe un algoritmo que lea un nmero natural N y dibuje un tringulo de asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse: * ** *** **** ***** Computacin, Informtica & Sistemas 121

Fundamentos de Programacin

12. Escriba un programa para calcular e imprimir todos los nmeros enteros comprendidos entre 100 y 999 tales que sean iguales a la suma de los cubos de sus dgitos, es decir, los nmeros de la forma abc, con:

abc = a3 + b3 + c3

13. Ingrese un nmero entero y luego calcule la suma de cifras pares e impares que estn contenidas en el nmero ingresado.

14. Ingrese un nmero entero y calcule la mayor y menor cifra contenidas en el nmero ingresado.

15. Ingrese un nmero entero y luego obtenga su equivalente en base 5.

Computacin, Informtica & Sistemas

122

Fundamentos de Programacin

CAPTULO XIV SUBPROGRAMAS USO DE PROCEDIMIENTOS

OBJETIVOS ESPECFICOS
Defina el propsito de los subprogramas. Realice operaciones que permita implementar subprogramas.

CONTENIDOS
Programacin estructurada, subprogramas. Tipos de subprogramas, funciones y procedimientos. Procedimientos, declaracin, invocar un procedimientos, paso de parmetros.

SUBPROGRAMAS Introduccin
La programacin modular es una de las tcnicas fundamentales de la programacin. Se apoya en el diseo descendente y en la filosofa de divide y vencers, es decir se trata de dividir el problema dado, en problemas ms simples en que cada uno de los cuales lo implementaremos en un mdulo independiente. La programacin estructurada permite la escritura de programas fciles de leer y modificar. En esta programacin, el flujo lgico se gobierna por las estructuras de control bsicas vista hasta hoy: secuenciales, repetitivas y de seleccin. Cada subprograma tiene asociado un pseudocdigo de alto nivel compuesto por acciones no primitivas. Cuando una de estas acciones no primitivas se repite en varios puntos del algoritmo es interesante darle un nombre y reutilizarla. Estas acciones con nombre se denominan subprogramas, pudiendo ser, a su vez, funciones y subrutinas.

Computacin, Informtica & Sistemas

123

Fundamentos de Programacin

Definicin
Los subprogramas permiten descomponer un problema en un conjunto de problemas independientes entre s, ms sencillos de resolver y que pueden ser tratados separadamente unos de otros. Adems se pueden probar los subprogramas de manera independiente, depurndose sus errores antes de su inclusin en el programa principal y almacenarse para su posterior utilizacin cuantas veces se precise.

Caractersticas de los Subprogramas


1. DIVISION EN MODULOS Funcionalidad clara y bien definida. Aislados. Sin dependencias con otros mdulos. Entrada/Salida simple y bien definida. 2. ABSTRACCION Nos centramos en la FUNCIONALIDAD de los mdulos. Qu problema resuelve. Que datos necesita. Que datos produce. Bajo qu condiciones se ejecuta. NO importa cmo se resuelve el problema. 3. ENCAPSULAMIENTO Si el mtodo para solucionar una tarea cambia, el aislamiento evita que dicho cambio influya en las otras tareas. El aislamiento de los mdulos no puede ser total. Para que pueda colaborar con otros mdulos, es necesario conocer. Qu problema resuelve. El intercambio de informacin. Bajo qu condiciones se produce.

Ventajas de los Subprogramas


Independientes, el desarrollo de un programa se puede efectuar con mayor facilidad. Se podr modificar un mdulo sin afectar a los dems Los subprogramas slo se escribirn una vez, aunque se necesiten en distintas ocasiones a lo largo del algoritmo. Permite buscar los errores en un programa ya que stos se pueden aislar fcilmente.

Computacin, Informtica & Sistemas

124

Fundamentos de Programacin

Alcance De Las Variables: Declaraciones Locales Y Globales


Variables locales son aquellas cuyo mbito de visibilidad coincide exclusivamente con el cuerpo del algoritmo en el que han sido declaradas. Variables globales son aquellas cuyo mbito de visibilidad se extiende al cuerpo de varios algoritmos. Se denomina efecto lateral al intercambio de informacin entre dos algoritmos realizado a travs de variables globales (es decir, sin utilizar el interfaz). En nuestra metodologa de programacin, la utilizacin de variables globales y efectos laterales est prohibida.

Clasificacin de los Subprogramas


Los subprogramas se clasifican en: Procedimientos o Rutinas Funciones

PROCEDIMIENTOS Definicin
Un procedimiento es un subprograma o un subalgoritmo que ejecuta una determinada tarea, pero que tras ejecutar esa tarea no tienen ningn valor asociado a su nombre como en las funciones, sino que si devuelve informacin, lo hace a travs de parmetros. Al llamar a un procedimiento, se le cede el control, comienza a ejecutarse y cuando termina devuelve el control a la siguiente instruccin a la de llamada Un procedimiento puede tener sus propias variables que se declaran en la seccin var del propio procedimiento. Estas se llaman variables locales. As, las variables locales para un procedimiento slo se pueden usar en el cuerpo del procedimiento y no en el cuerpo principal del programa.

Invocar un Procedimiento
Para llamar a un procedimiento se hace uso del nombre del mismo, opcionalmente se puede pasar valores si es que el procedimiento implementa parmetros.

Computacin, Informtica & Sistemas

125

Fundamentos de Programacin

Ejemplo: Implemente un procedimiento que permita visualizar la suma de 2 nmeros enteros.

ALGORITMO Ejemplo VARIABLES ENTERO A, B PROCEDIMIENTO SUMA ( ) INICIO ESCRIBIR(A + B) FIN-PROCEDIMIENTO INICIO LEER(A, B) SUMA ( ) FIN

Definicin de variables publicas

Definicin del procedimiento Suma ( )

Ejecutar el procedimiento Suma ( )

Para ejecutar un procedimiento se le puede incluir parmetros. El paso de valores a los parmetros de un procedimiento se puede hacer por valor y/o referencia. Ejemplo: Implemente un procedimiento que permita visualizar la suma de 2 nmeros enteros (utilice parmetros)

ALGORITMO Ejemplo VARIABLES ENTERO A, B PROCEDIMIENTO SUMA ( ENTERO: M, N) INICIO ESCRIBIR ( M +N ) FIN-PROCEDIMIENTO INICIO LEER (A, B) SUMA (A, B) FIN

Definicin de variables publicas

Definicin de l procedimiento Suma( ) donde se definen sus parmetros M y N

Ejecutar el procedimiento Suma enviando como parmetros el valor de A y B.

Computacin, Informtica & Sistemas

126

Fundamentos de Programacin

Parmetros
Es un tipo especial de variables en un procedimiento a los que se pueden pasar valores desde el exterior del procedimiento. Se declaran en la cabecera del procedimiento. Los parmetros se clasifican en: Por Valor Por Referencia

Parmetros por Valor


Son los parmetros que pueden recibir valores pero que no pueden devolverlos. Es una variable global que se conecta con una variable local mediante el envo de su valor, despus de lo cual ya no hay relacin. Lo que le sucede a la variable local no afectar a la global.

Parmetros por Referencia


Son los que pueden recibir y devolver valores. Son variables globales que se conectan con una local a travs de su contenido; al establecerse dicha conexin las variables se convierten en sinnimos, lo que afecte a la variable local le suceder a la variable global.

ESTRUCTURA DE UN PROCEDIMIENTO

Opcional

PROCEDIMIENTO Nombre (Lista_Parametros) VAR

:
INICIO

<variables_locales>
Instrucciones y/o Sentencias

: :
FIN- PROCEDIMIENTO

Computacin, Informtica & Sistemas

127

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Implementar un procedimiento que permita visualizar un texto un nmero determinado de veces. N, variable Global ALGORITMO Ejemplo1 VARIABLES ENTERO N PROCEDIMIENTO Imprime (CADENA Texto, ENTERO NMERO) VARIABLES ENTERO I Procedimiento imprime, INICIO con la declaracin de PARA I 1 HASTA NMERO parmetros ESCRIBIR (Texto) FIN-PARA FIN-PROCEDIMIENTO INICIO LEER (N) Imprime (HOLA, N) Imprime (IDAT, 20) Imprime (COMPUTACION, 50) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim N As Integer SUB IMPRIME(TEXTO AS STRING, NMERO AS INTEGER) DIM I AS INTEGER For I=1 to NMERO Writeline (Texto) End for END SUB Sub Main() WRITE ( INGRESE UN VALOR :) N=READLINE Imprime (HOLA, N) Imprime (CETIS, 20) Imprime (UTP, 50) End Sub End Module

Computacin, Informtica & Sistemas

128

Fundamentos de Programacin

2. Implementar un procedimiento que imprima el mayor valor de 2 nmeros enteros. ALGORITMO Ejemplo2 VARIABLES ENTERO A, B PROCEDIMIENTO ImprimeMayor (ENTERO M, ENTERO N) INICIO SI ( M > N )ENTONCES ESCRIBIR (M) SINO ESCRIBIR (N) FIN-SI FIN-PROCEDIMIENTO INICIO LEER (A, B) ImprimeMayor (A, B) FIN

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim A,B As Integer SUB IMPRIMEMAYOR( M AS INTEGER, N AS INTEGER) IF M>N THEN WRITELINE(MAYOR ES & M) ELSE WRITELINE(MAYOR ES & N) END IF END SUB Sub Main() WRITE ( INGRESE UN VALOR A :) A=READLINE WRITE ( INGRESE UN VALOR B :) B=READLINE ImprimeMayor (A, B) End Sub End Module

Computacin, Informtica & Sistemas

129

Fundamentos de Programacin

3. Implementar un procedimiento que visualice los divisores de un nmero entero. ALGORITMO Ejemplo3 VARIABLES ENTERO M PROCEDIMIENTO ImprimeDivisores (ENTERO N) VARIABLES ENTERO I INICIO PARA I 1 HASTA N SI (N MOD I = 0) ENTONCES ESCRIBIR (I) FIN-SI FIN-PARA FIN-PROCEDIMIENTO INICIO LEER (M) ImprimeDivisores (M) FIN

4. Implementar un procedimiento que permita calcular y visualizar la suma de todos los nmeros menores a un nmero entero ALGORITMO Ejemplo4 VARIABLES ENTERO M PROCEDIMIENTO ImprimeSumaMenores (ENTERO N) VARIABLES ENTERO SUMA, I INICIO SUMA 0 PARA I 1 HASTA N-1 SUMA SUMA + I FIN-PARA ESCRIBIR (SUMA) FIN-PROCEDIMIENTO INICIO LEER (M) ImprimeSumaMenores (M) FIN

Computacin, Informtica & Sistemas

130

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim M As Integer SUB ImprimeSumaMenores (N AS INTEGER) Dim I , SUMA as Integer SUMA=0 FOR I=1 TO N-1 SUMA=SUMA+I END FOR END SUB Sub Main() WRITE( INGRESE UN VALOR ENTERO :) M=READLINE ImprimeSumaMenores (M) End Sub End Module

5. Implemente un procedimiento que permita calcula la suma de las de las cifras de un nmero ingresado. ALGORITMO Ejemplo5 VARIABLES ENTERO M PROCEDIMIENTO ImprimeSumaCifras (ENTERO N) VARIABLES ENTERO SUMA, CIFRA INICIO SUMA 0 MIENTRAS (N<>0) HACER CIFRA N MOD 10 SUMA SUMA + CIFRA N N DIV 10 FIN-MIENTRAS ESCRIBIR (SUMA) FIN-PROCEDIMIENTO INICIO LEER (M) ImprimeSumaCifras (M) FIN

Computacin, Informtica & Sistemas

131

Fundamentos de Programacin

6. Implementar un procedimiento que permita calcular y visualizar el menor de tres nmeros ingresados ALGORITMO Ejemplo6 VARIABLES ENTERO N1, N2, N3 PROCEDIMIENTO ImprimeMenor (ENTERO A, ENTERO B, ENTERO C) VARIABLES ENTERO MENOR INICIO MENOR A SI (B < MENOR) ENTONCES MENOR B FIN-SI SI (C < MENOR) ENTONCES MENOR C FIN-SI ESCRIBIR (MENOR) FIN-PROCEDIMIENTO INICIO LEER (N1, N2, N3) ImprimeMenor (N1, N2, N3) FIN 7. Implemente un procedimiento que permita calcular y visualizar el nmero invertidos de un nmero ingresado. ALGORITMO Ejemplo7 VARIABLES ENTERO M PROCEDIMIENTO ImprimeInverso (ENTERO N) VARIABLES ENTERO INVERSO, CIFRA INICIO INVERSO 0 MIENTRAS (N<>0) HACER CIFRA N MOD 10 INVERSO 10 * INVERSO + CIFRA N N DIV 10 FIN-MIENTRAS ESCRIBIR (INVERSO) FIN-PROCEDIMIENTO INICIO LEER (M) ImprimeInverso (M) FIN

Computacin, Informtica & Sistemas

132

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Disee un procedimiento que imprima lo siguiente % %% %%% %%%% %%%%% %%%%%% %%%%%%% 2. Disee un procedimiento que permita calcular la Serie Fibonacci: 0, 1, 1, 2, 3, 5, 8, . 3. Disee un procedimiento que imprima N trminos de la siguiente serie: 3, 8, 15, 24 4. Disee un procedimiento para hallar la suma de N trminos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................ 5. Disee un procedimiento donde visualice los nmeros primos comprendidos entre el 1 al 100. 6. Disee un procedimiento donde ingrese un nmero, visualice la cantidad de cifras ceros, pares e impares que tiene el nmero ingresado. 7. Escriba un procedimiento que imprima los primeros n nmeros naturales pares. Valide el valor de n y emita un mensaje de error si no es natural. 8. Escribe un procedimiento que lea un nmero natural N y dibuje un tringulo de asteriscos con base y altura N. Por ejemplo si N=5 debera dibujarse: * ** *** **** ***** 9. Escriba un procedimiento para calcular e imprimir todos los nmeros enteros comprendidos entre 100 y 999 tales que sean iguales a la suma de los cubos de sus dgitos, es decir, los nmeros de la forma abc, con: abc = a3 + b3 + c3 10. Ingrese un nmero entero y luego desarrolle un procedimiento que permita calcular la suma de cifras pares e impares que estn contenidas en el nmero ingresado.

Computacin, Informtica & Sistemas

133

Fundamentos de Programacin

Computacin, Informtica & Sistemas

134

Fundamentos de Programacin

CAPTULO XV USO DE FUNCIONES


OBJETIVOS ESPECFICOS
Defina el propsito de las funciones Realice operaciones que permita implementar funciones

CONTENIDOS
Funciones Declaracin Invocar una funcin, paso de parmetros Desarrollo prctico.

FUNCIONES Definicin
Una funcin es un sub-programa que procesa un grupo de instrucciones y/o sentencias para luego devolver un nico valor. Las funciones pueden contener opcionalmente parmetros. Las funciones se invocan por su nombre seguido de los valores que se pasaran a sus respectivos parmetros formales. Una funcin puede llamar a otra funcin inclusive puede llamarse a si misma (recursividad).

ESTRUCTURA DE UNA FUNCIN FUNCIN Nombre (Parmetros): Tipo_Dato VARIABLES

:
INICIO

Lista de parmetros Variables locales a nivel funcin. Instrucciones o Sentencias

: :
RETORNAR (Valor) FIN-FUNCIN

Computacin, Informtica & Sistemas

135

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Crear una funcin que retorne el cuadrado de un nmero entero. ALGORITMO Ejemplo1 VARIABLES ENTERO M FUNCIN Cuadrado (ENTERO N): ENTERO INICIO RETORNAR (N * N) FIN-FUNCIN INICIO LEER (M) ESCRIBIR (Cuadrado (M) ) FIN CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim M As Integer Function Cuadrado (N AS INTEGER) as Integer Return n*n END FUNCTION Sub Main() WRITE( INGRESE UN VALOR ENTERO :) M=READLINE Writeline( Llama a la function & Cuadrado (M)) End Sub End Module 2. Crear una funcin que retorne el mayor valor de 2 nmeros enteros. ALGORITMO Ejemplo2 VARIABLES ENTERO A, B FUNCIN Mayor (ENTERO M, ENTERO N): ENTERO INICIO SI (M > N) ENTONCES RETORNAR (M) SINO RETORNAR (N) FIN-SI FIN-FUNCIN INICIO LEER (A, B) ESCRIBIR (Mayor (A, B) ) FIN

Computacin, Informtica & Sistemas

136

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim a,b As Integer Function Mayor (m as integer, N AS INTEGER) as Integer IF M>N THEN RETURN M ELSE RETURN N END IF END FUNCTION Sub Main() WRITE( INGRESE UN VALOR ENTERO :) A=READLINE WRITE( INGRESE UN SEGUNDO ENTERO :) B=READLINE Writeline( Llama a la function & MAYOR (A,B)) End Sub End Module

3. Crear una funcin que retorne la suma de la cifras de un nmero entero. ALGORITMO Ejemplo3 VARIABLES ENTERO M FUNCIN SumaCifras (ENTERO N): ENTERO VARIABLES ENTERO SUMA, Cifra INICIO SUMA 0 MIENTRAS (N <> 0) HACER Cifra N MOD 10 SUMA SUMA + Cifra N N DIV 10 FIN-MIENTRAS RETORNAR (Suma) FIN-FUNCIN INICIO LEER (M) ESCRIBIR (SumaCifras (M) ) FIN

Computacin, Informtica & Sistemas

137

Fundamentos de Programacin

Computacin, Informtica & Sistemas

138

Fundamentos de Programacin

CODIFICACIN EN VISUAL A NIVEL DE CONSOLA Imports System.Console Module Module1 Dim M As Integer Function SumaCifras ( N AS INTEGER) as Integer Dim suma, cifra as Integer Suma=0 Do while n<>0 Cifra= n mod 10 Suma=suma+cifra N=n \10 Loop Return suma End Function Sub Main() WRITE( INGRESE UN VALOR ENTERO :) m=READLINE Writeline( Llama a la function & SumaCifras (M)) End Sub End Module 4. Crear una funcin que retorne el factorial de un nmero entero. ALGORITMO Ejemplo4 VARIABLES ENTERO M FUNCIN Factorial (ENTERO N ) : ENTERO VARIABLES ENTERO Facto, I INICIO Facto 1 PARA I 1 HASTA N Facto Facto * I FIN-PARA RETORNAR ( Facto ) FIN-FUNCIN INICIO PARA M 1 HASTA 5 ESCRIBIR (Factorial ( M ) ) FIN-PARA FIN

Computacin, Informtica & Sistemas

139

Fundamentos de Programacin

5. Implementar una funcin que retorne la suma de la mayor y menor cifras contenidas en un nmero entero. ALGORITMO Ejemplo5 VARIABLES ENTERO M FUNCIN SumaMaxMin (ENTERO N): ENTERO VARIABLES ENTERO Cifra, MayorCifra, MenorCifra INICIO MayorCifra 0 : MenorCifra 9 MIENTRAS (N <> 0) HACER Cifra N MOD 10 SI (Cifra > MayorCifra) ENTONCES MayorCifra Cifra FIN-SI SI (Cifra < MenorCifra) ENTONCES MenorCifra Cifra FIN-SI N N DIV 10 FIN-MIENTRAS RETORNAR (MayorCifra + MenorCifra) FIN-FUNCIN INICIO LEER (M) ESCRIBIR (SumaMaxMin (M)) FIN 6. Implementar una funcin que retorne la suma de todos los nmeros de 2 cifras compuestos por cifras diferentes pares. ALGORITMO Ejemplo6 VARIABLES ENTERO M FUNCIN SumaPares (ENTERO N): ENTERO VARIABLES ENTERO SUMA, A, B INICIO SUMA 0 PARA N 10 HASTA 99 A N DIV 10 B N MOD 10 SI ( A <> B ) Y (A MOD 2=0) Y (B MOD 2=0) ENTONCES SUMA SUMA + N FIN-SI FIN-PARA RETORNAR SUMA FIN-FUNCIN INICIO LEER (M) ESCRIBIR (SumaPares (M) ) FIN

Computacin, Informtica & Sistemas

140

Fundamentos de Programacin

7. Implementar una funcin que retorne la suma de los elementos de la siguiente serie:

1+8+27+64++1000

ALGORITMO Ejercicio7

FUNCIN SumaSerie (): ENTERO VARIABLES ENTERO INICIO PARA N 1 HASTA 10 SUMA SUMA + (N 3) FIN-PARA RETORNAR SUMA FIN-FUNCIN SUMA

INICIO ESCRIBIR (SumaSerie ()) FIN

Computacin, Informtica & Sistemas

141

Fundamentos de Programacin

EJERCICIOS PROPUESTOS
1. Implemente una funcin que permita calcular el factorial del nmero ingresado.

2. Implemente una funcin que retorne un mensaje indicando si es primo o no primo de un nmero ingresado.

3. Implemente una funcin que retorne un mensaje indicando si es PERFECTO o NO ES PERFECTO de un nmero ingresado por teclado.

4. Implemente una funcin que retorne la suma de todos los nmeros de 3 cifras compuestos por cifras diferentes impares.

5. Elabore una funcin que permita convertir un nmero de base 10 a un nmero de otra base, para ello ingrese el nmero y la base. Ejemplo: Suponga que el nmero en decimal que se desea transformar a su equivalente en binario es el 11:

Por lo tanto, (11)10 = (1011)2 6. Elabore una funcin que permita retornar la suma de la serie, donde N es ingresado por teclado: 1, 4, 9, 16, N2

7. Elabore una funcin que retorne la suma de N trminos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92+............................

8. Elabore una funcin que retorne la suma de los N trminos de la siguiente serie: 1 + 1/2 + 2/3 + 3/4 + 4/5+............................

Computacin, Informtica & Sistemas

142

Fundamentos de Programacin

CAPITULO XVI USO DE VECTORES Y MATRICES

OBJETIVOS ESPECFICOS
Defina el propsito de los arreglos o vectores su importancia Realice operaciones que permita implementar procesos estadsticos

CONTENIDOS
Sintaxis , la forma como emplear los vectores Tipos de arreglos, de acuerdo a su contenido Objetivo: Indicarle al alumno el uso correcto de los Arreglos para determinar el manejo de los elementos (items) que puede almacenar un programa en forma voltil por medio de una posicin la cual es manejada por un ndice que empieza desde 0 hasta el nmero de elementos -1 del tamao original del vector para realizar un proceso o n procesos cuando son llamados.

Cabe resaltar cada punto ser afianzada por dada clase que se tratara hasta que el alumno identifique los temas y sus ideas queden ms claras.

Arreglos
Definicin tipos. o Arreglos Unidimensionales (Vectores). Declaracin. Algoritmos bsicos. Ejercicios.

Computacin, Informtica & Sistemas

143

Fundamentos de Programacin

QUE ES UN ARREGLO
Un arreglo es una coleccin de elementos homogneos que se encuentra compartiendo una misma zona de memoria en reas contiguas (consecutivas). Los arreglos se clasifican en unidimensionales y multidimensionales. Los elementos de un arreglo pueden ser de cualquier tipo (enteros, reales, caracteres, cadenas, etc.) Los elementos de un arreglo se enumeran a partir del ndice CERO y van en aumento de 1 en 1. Para acceder a los elementos de un arreglo se hace uso del nombre del arreglo seguido de un ndice cerrado entre parntesis, este ndice representa la posicin del elemento en el arreglo. Sintaxis de declaracin para un arreglo unidimensional Sintaxis: VARIABLES Tipo_Dato Nombre_Arreglo (Nmero_Elementos)

Computacin, Informtica & Sistemas

144

Fundamentos de Programacin

EJERCICIOS RESUELTOS
1. Elabore un algoritmo para ingresar y visualizar los elementos de un arreglo unidimensional de tipo entero

ALGORITMO Ejemplo1 CONSTANTES MAX = 10 VARIABLES ENTERO A (MAX), I INICIO PARA I 0 HASTA MAX-1 LEER(A ( I ) ) FIN-PARA PARA I 0 HASTA MAX-1 ESCRIBIR( A( I ) ) FIN-PARA FIN

2. Calcular la suma de los elementos contenidos en un arreglo de tipo entero.


ALGORITMO Ejemplo2 CONSTANTES MAX = 10 VARIABLES ENTERO M(MAX), I, SUMA INICIO SUMA 0 PARA I 0 HASTA MAX-1 LEER( M(I) ) SUMA SUMA + M( I ) FIN-PARA ESCRIBIR( SUMA ) FIN

3. Calcular el promedio de los elementos contenidos en un arreglo de tipo entero.


ALGORITMO Ejemplo3 CONSTANTES MAX = 10 VARIABLES ENTERO M(MAX), I, SUMA, PROMEDIO INICIO SUMA 0 PARA I 0 HASTA MAX-1 LEER( M(I) ) SUMA SUMA + M( I ) FIN-PARA PROMEDIO SUMA DIV MAX ESCRIBIR( PROMEDIO ) FIN

Computacin, Informtica & Sistemas

145

Fundamentos de Programacin

4. Calcular el mayor y menor valor de los elementos contenidos en un arreglo de tipo entero
ALGORITMO Ejemplo4 CONSTANTES MAX = 10 VARIABLES ENTERO M(MAX), I, MAYOR, MENOR INICIO PARA I 0 HASTA MAX-1 LEER( M(I) ) FIN-PARA MAYOR M(0) : MENOR M(0) PARA I 1 HASTA MAX-1 SI( M(I) > MAYOR)ENTONCES MAYOR M(I) FIN-SI SI( M(I) < MENOR)ENTONCES MENOR M(I) FIN-SI FIN-PARA ESCRIBIR(MAYOR=,MAYOR, MENOR=, MENOR) FIN

5. Realice el proceso de bsqueda de un valor entre los elementos contenidos en un arreglo de tipo entero
ALGORITMO Ejemplo5 CONSTANTES MAX = 10 VARIABLES ENTERO M(MAX), I, DATO, POSICION INICIO PARA I 0 HASTA MAX-1 LEER( M(I) ) FIN-PARA LEER( DATO ) POSICION -1 PARA I 0 HASTA MAX-1 SI( M(I) = DATO )ENTONCES POSICION I : I MAX-1 FIN-SI FIN-PARA SI( POSICION <> - 1 )ENTONCES ESCRIBIR(DATO ENCONTRADO) SINO ESCRIBIR(DATO NO ENCONTRADO) FIN-SI FIN

Computacin, Informtica & Sistemas

146

Fundamentos de Programacin

EN VISUAL BASIC:
Ejemplo realizar una aplicacin para ingresar un nmero de elementos a un array de tamao 10 luego visualizar su contenido con la posicin de memoria correspondiente.

Ps Algoritmo array1 Variables i,n : entero a(10) : real Inicio Leer "ing # de elementos.:",n-1 si (n>10) entones imprimir " error desbordamiento de division..:" si no para i=0 hasta n Leer "ing elementos al array",a(i) fin para para i=0 hasta n imprimir " ndice #: ",i," valor es: ", a(i) fin para fin si Fin.

Pro Imports System.Console Module array1 Sub main() Dim i, n As Integer Dim a(10) As Decimal Write("ing # de elementos al array..:") n = CInt(ReadLine()) - 1 If (n > 10) Then WriteLine("error desbordamiento de division..:") Else 'ingresar elementos al array For i = 0 To n Write("ing elementos al array..:") a(i) = CDec(ReadLine()) Next WriteLine("") ' imprimir For i = 0 To n WriteLine(" indice #.: " & i & " valor es..: " & a(i)) Next End If ReadLine() End Sub End Module

Computacin, Informtica & Sistemas

147

Fundamentos de Programacin

Realizar el ps correspondiente al programa para sumar dos vectores

Ps

Pro Imports System.Console Module suma Sub main() Dim i, n As Integer Dim a1(12), b1(12), S(12) As Decimal Write("ING NMERO DE ELEMENTOS..:") n = CInt(ReadLine()) - 1 If (n > 12) Then WriteLine("error desbordamiento de division.:") Else ' primer array For i = 0 To n Write("ing elementos al array a1.:") a1(i) = CDec(ReadLine()) Next WriteLine("") ' segundo array For i = 0 To n Write("ing elementos al array b1.:") b1(i) = CDec(ReadLine()) Next WriteLine("") ' calculo de la suma For i = 0 To n S(i) = a1(i) + b1(i) Next ' imprimir la suma For i = 0 To n WriteLine("indice #.: " & i & " valor es.:" & S(i)) Next End If ReadLine() End Sub End Module

La bsqueda secuencial es la tcnica ms simple para buscar un elemento en un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir comparando con el valor buscado (clave).

Computacin, Informtica & Sistemas

148

Fundamentos de Programacin

La bsqueda binaria es el mtodo ms eficiente para encontrar elementos en un arreglo ordenado. El proceso comienza comparando el elemento central del arreglo con el valor buscado. Si ambos coinciden finaliza la bsqueda. Si no ocurre as, el elemento buscado ser mayor o menor en sentido estricto que el central del arreglo. Si el elemento buscado es mayor se procede a hacer bsqueda binaria en el subarray superior, si el elemento buscado es menor que el contenido de la casilla central, se debe cambiar el segmento a considerar al segmento que est a la izquierda de tal sitio central.

Aqu su formato.

Ps bandera=0 Leer ing elemento a buscar,bu Para i=0 hasta n Si(array(i)=bu) entonces Imprimir item, array(i), encontrado en.:, i Bandera=1 Fin si Fin para Si (bandera=0) entonces Imprimir no se encontr.: Fin si bandera = 0

Pro

WriteLine("ing elemento a buscar..:") bu = CDec(ReadLine()) For i = 0 To n If (a(i) = bu) Then WriteLine("item:" & array(i) & "encontrado en" & i) bandera = 1 End If Next If (bandera = 0) Then WriteLine("No se encontro elemento") End If

Realizar ejemplos propuestos por el profesor. Anular elementos en un array.

Consiste en anteponer el valor 0 encima del valor original del array Se debe emplear el mtodo de bsqueda y preguntar si desea anularlo o no al momento de imprimirlo debe preguntar si este es mayor que 0 para q no muestre la anulacin respectiva.

Computacin, Informtica & Sistemas

149

Fundamentos de Programacin

Ps Desarrollar el ps.

Pro bandera = 0 WriteLine("ingresar elemento a buscar..:") bu = CDec(ReadLine()) For i = 0 To n If (a(i) = bu) Then WriteLine("Elemento.: " & a(i) & " fue encontrado ") bandera = 1 WriteLine(" Desea anular el item " & a(i) & " (s/n) ") s = CChar(ReadLine()) If (s = "s") Then WriteLine(" El item " & a(i) & " fue anulado en pos.:" & i) a(i) = 0 WriteLine("") WriteLine("los nuevos elementos son.:") WriteLine("") For si = 0 To n If a(si) > 0 Then WriteLine(a(si)) End If Next si End If End If Next i If (bandera = 0) Then WriteLine("No se encontro elemento") End If

Ordenamiento de datos:

Uno de los procedimientos ms comunes y tiles en el procesamiento de datos, es la clasificacin u ordenacin de los mismos. Se considera ordenar al proceso de reorganizar un conjunto dado de objetos en una secuencia determinada. Cuando se analiza un mtodo de ordenacin, hay que determinar cuntas comparaciones e intercambios se realizan para el caso ms favorable, para el caso medio y para el caso ms desfavorable. Intercambio:

El mtodo de intercambio se basa en comparar los elementos del arreglo e intercambiarlos si su posicin actual o inicial es contraria inversa a la deseada. Ejemplo:

Computacin, Informtica & Sistemas

150

Fundamentos de Programacin

Computacin, Informtica & Sistemas

151

Fundamentos de Programacin

Formato del mtodo por burbuja. Variables a trabajar. ndice secun = si y debe ser entero Temp= temporal q almacena el valor del array y debe ser del mismo tipo que este. Ps Para i=0 hasta n Para ndice secun=1 +1 hasta n Si (array(i) > array(ndice secun)) entonces Temp=array (ndice secun) Array(ndice secun)=array(i) Array(i)=temp Fin si Fin para ndice secun Fin para i Para i=0 hasta n Imprimir Array(i) Fin para i Pro For i = 0 To n For si = i + 1 To n If (a(i) > a(si)) Then temp = a(si) a(si) = a(i) a(i) = temp End If Next si Next i For i = 0 To n WriteLine(a(i)) Next

Problemas propuestos 1) Calcular el promedio de 50 valores almacenados en un vector. Determinar adems cuantos son mayores que el promedio, imprimir el promedio, el nmero de datos mayores que el promedio y una lista de valores mayores que el promedio. 2) Llenar dos vectores A y B de 45 elementos cada uno, sumar el elemento uno del vector A con el elemento uno del vector B y as sucesivamente hasta 45, almacenar el resultado en un vector C, e imprimir el vector resultante. 3) Llenar un vector de 20 elementos, imprimir la posicin y el valor del elemento mayor almacenado en el vector. Suponga que todos los elementos del vector son diferentes. 4) Almacenar 500 nmeros en un vector, elevar al cuadrado cada valor almacenado en el vector, almacenar el resultado en otro vector. Imprimir el vector original y el vector resultante. 5) Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuntos son negativos, cuantos positivos. Imprimir adems la suma de los negativos y la suma de los positivos. 6) Almacenar 150 nmeros en un vector, almacenarlos en otro vector en orden inverso al vector original e imprimir el vector resultante.

Computacin, Informtica & Sistemas

152

Fundamentos de Programacin

7) Se tienen almacenados en la memoria dos vectores M y N de cien elementos cada uno. Hacer un algoritmo que escriba la palabra Iguales si ambos vectores son iguales y Diferentes si no lo son. Sern iguales cuando en la misma posicin de ambos vectores se tenga el mismo valor para todos los elementos.

8) Se tiene el vector A con 100 elementos almacenados. Disee un algoritmo que escriba SI si el vector esta ordenado ascendentemente o NO si el vector no est ordenado

9) Disee un algoritmo que lea un nmero cualquiera y lo busque en el vector X, el cual tiene almacenados 80 elementos. Escribir la posicin donde se encuentra almacenado el nmero en el vector o el mensaje NO si no lo encuentra. Bsqueda secuencial.

10) Disee un algoritmo que lea dos vectores A y B de 20 elementos cada uno y multiplique el primer elemento de A con el ltimo elemento de B y luego el segundo elemento de A por l diecinueveavo elemento de B y as sucesivamente hasta llegar al veinteavo elemento de A por el primer elemento de B. El resultado de la multiplicacin almacenarlo en un vector C.

11) Disee un algoritmo que almacene en un vector llamado FIB[100] los 100 primeros nmeros de la serie fibonacci.

Computacin, Informtica & Sistemas

153

Fundamentos de Programacin

MATRICES

OBJETIVO:
Indicarle al alumno el uso correcto de los arreglos bidimensionales para determinar el manejo de los elementos que tiene un programa para realizar un proceso o n procesos cuando son llamados. En estos procesos tenemos que tener en cuenta el nmero de filas y columnas atrabajar. Cabe resaltar cada punto ser afianzada por dada clase que se tratara hasta que el alumno identifique los temas y sus ideas queden ms claras.

TEMAS:
ARREGLOS o Arreglos bidimensionales (Vectores). Declaracin inicializacin y asignacin. Ejemplos de arreglos bidimensionales Ejercicios.

Las variables utilizar son. Nf ._ nmero de filas Nc ._ nmero de columnas Fi ._ fila ndice Ci ._ columna ndice Todas de tipo entero. Cabe resaltar que la fila prevalece sobre la columna para todo tipo de operacin. Aqu su formato para declarar. Ps Nf,nc,fi,ci : entero X(5,5), y(5,5), s(5,5) : real Pro Dim Nf,nc,fi,ci as integer Dim x(5, 5), y(5, 5), s(5, 5) As double Dim a3(,,) As Integer Dim c3(,,) As Integer = {{1, 2}, {3, 4}, {5, 6},{7, 8}, {9, 10}, {11, 12},{{13, 14}, {15, 16}, {17, 18},{{19, 20}, {21, 22}, {23, 24}}

Computacin, Informtica & Sistemas

154

Fundamentos de Programacin

Arrays Bidimensionales Todos los arrays vistos hasta el momento han sido de tipo unidimensional, es decir, estaban compuestos de una lista de valores nica. .NET Framework nos provee tambin de la capacidad de crear arrays formados por ms de una lista de valores, o lo que es igual, arrays multidimensionales. Un array de este tipo, se caracteriza por estar compuesto de varias dimensiones o listas anidadas al estilo de filas y columnas. Si declaramos un array del modo que muestra Dim iDatos(2, 4) As Integer Crearamos un array multidimensional formado por tres filas y cinco columnas. En este caso, el nmero correspondiente a la primera dimensin denota las filas, mientras que el nmero de la segunda dimensin hace lo propio para las columnas. La Figura 209 muestra un diagrama con la estructura de este array. Crear array multidimensional y rellenar de valores Dim iDatos(2, 4) As Integer iDatos(0, 0) = 1000 iDatos(0, 1) = 2000 iDatos(0, 2) = 3000 iDatos(0, 3) = 4000 iDatos(0, 4) = 5000 iDatos(1, 0) = 25 iDatos(1, 1) = 35 iDatos(1, 2) = 45 iDatos(1, 3) = 55 iDatos(1, 4) = 65 iDatos(2, 0) = 111 iDatos(2, 1) = 222 iDatos(2, 2) = 333 iDatos(2, 3) = 444 iDatos(2, 4) = 555 Para recorrer arrays multidimensionales, la clase Array dispone de varios miembros, algunos de los cuales, describimos seguidamente. Rank. Devuelve el nmero de dimensiones del array. GetLength(Dimension). Devuelve el nmero de elementos de la dimensin de array pasada como parmetro. GetLowerBound(Dimensin). Devuelve el nmero de ndice inferior de la dimensin pasada como parmetro.

Computacin, Informtica & Sistemas

155

Fundamentos de Programacin

GetUpperBound(Dimension). Devuelve el nmero de ndice superior de la dimensin pasada como parmetro.

Es un array en que el acceso de sus elementos lo hace con ms de in ndice, trabajando as con uno principal para las filas y otro secundario para el nmero de columnas. Sintaxis. Para leer

Para ndice de fila= 0 hasta nmero de elementos de filas Para ndice de columna= 0 hasta nmero de elementos de columnas Leer ingresar elementos al array :, arreglo(indicefila, ndice columna) Fin para ndice de la columna Fin para indice de la fila Para imprimir ( indice elemento)

Para indice de fila= 0 hasta nmero de elementos de filas Para indice de columna= 0 hasta nmero de elementos de columnas Leer (, ind ice fila, ind ice columna,), arreglo(indicefila, indice columna) Fin para indice de la columna Fin para indice de la fila

Computacin, Informtica & Sistemas

156

Fundamentos de Programacin

EJEMPLOS Ejemplo 1 : Realizar una matriz de nf =5 nc =5, para ingresar las marcar de 5 atletas al final visualizar los intentos de cada atleta, el nmero de atletas que pasaron la marca y el atleta que tiene mayor marca. Algoritmo Matriz1 Variables a(5, 4) : real i, x : entero t, sm, prom : real INICIO para i = 1 hasta 5 Para x = 1 hasta 4 Imprimir "Ingrese intentos {0} del atleta {1}", x, i), a(i, x) Fin para x Fin para i Para i = 1 hasta 5 Imprimir "atleta {0}", i Para x = 1 hasta 4 Imprimir "intentos {0} {1}", i, a(i, x) Fin para x Fin para i t0 Para i = 1 hasta 5 Si (a(i, 1) < a(i, 2)) o (a(i, 1) < a(i, 3)) o (a(i, 1) < a(i, 4)) entonces tt+1 Fin si Fin para Imprimir "Nmero de atletas que pasaron la primera marca ", t Para i = 1 hasta 5 sm 0 Para x = 1 hasta 4 sm sm + a(i, x) Fin para prom sm / 4 Imprimir " el promedio del atleta {0} es {1}", i, prom Fin para sm 0 para i = 1 hasta 5 Para x = 1 hasta 4 Si (a(i, x) > sm) entonces sm a(i, x) Fin si Fin para x Fin para i Imprimir " La marca ms alta entre los atletas es {0}", sm Fin.

Computacin, Informtica & Sistemas

157

Fundamentos de Programacin

Ejemplo 2 : Realizar una matriz de 5 filas y 5 columnas ingresar los elementos y determinar cules son pares. Algoritmo Matriz2 Variables n(5, 5) : entero fi, ci, cp : entero INICIO Para fi = 1 hasta 5 Para ci = 1 hasta 5 Imprimir "Ingrese elementos a la matriz n(" , fi , "," , ci , ")", n(fi, ci) Fin para ci Fin para fi cp 0 Para fi = 1 hasta 5 Para ci = 1 hasta 5 Si (n(fi, ci) Mod 2 = 0) entonces cp cp + 1 Fin si Fin para ci Fin para fi Imprimir "pares d la matriz {0}", cp Fin.

Computacin, Informtica & Sistemas

158

Fundamentos de Programacin

Ejemplo 3 : Realizar una aplicacin para ingresar elementos a una matriz de nf = 8, nc = 7, realizar las siguientes operaciones matemticas.

Algoritmo Matriz3 Variables z(9, 9) : real a, b, c, fi, ci, nf, nc : entero INICIO Leer "Ing. nmero de filas ..:", nf - 1 "Ing. nmero de columnas ..:", nc - 1 Si (nf > 8) y (nc > 8) entonces "Horror" Sino Imprimir "matrix de " , (nf * nc) , "--> elementos" Para fi = 1 hasta nf Para ci = 1 hasta nc Imprimir "(" , fi , "," , ci ")->" Leer "ing valor de A :", a "ing valor de B :", b "ing valor de C :", c Calcular z(fi, ci) Pow(a, 2) + Pow(b, 2) + Pow(c, 2) Fin para ci Fin para fi Para fi = 1 hasta nf Para ci = 1 hasta nc Imprimir "(" , fi , "," , ci , ")--->", z(fi, ci) Fin para ci Fin para fi fin si Fin.

Computacin, Informtica & Sistemas

159

Fundamentos de Programacin

Ejemplo 4. Realizar una aplicacin para ingresar elementos a dos matrices: nf = 9, nc = 9, realizar las siguientes operaciones matemticas.

Algoritmo Matriz4 Variables x(9, 9), y(9, 9) : real a, b, c, fi, ci, nf, nc : entero INICIO Leer "Ing. nmero de filas ..:", nf - 1 "Ing. nmero de columnas ..:", nc - 1 Si (nf > 8) y (nc > 8) entonces "Error Sino "matrix de " , (nf * nc) , "--> elementos" Para fi = 1 hasta nf Para ci = 1 hasta nc Imprimir "(" , fi , "," , ci , ")->" Leer "ing valor de A :", a "ing valor de B :", b "ing valor de C :", c Calcular x(fi, ci) (b + Pow(b, 2) - 4 * a * c) / 2 y(fi, ci) (c + 1 * a + 1) + ((c - 2) + (b + 2)) Fin para ci Fin para fi "indice valor x(i)", "indice valor y(i) Para fi = 1 hasta nf Para ci = 1 hasta nc Imprimir "(" , fi , "," , ci , ")--->" , x(fi, ci) , "(" , fi , "," , ci , ")--->" , y(fi, ci) Fin para ci Fin para fi Fin si Fin.

Computacin, Informtica & Sistemas

160

Fundamentos de Programacin

Ejercicio 5 Realizar una aplicacin para ingresar elementos a una matriz nf = 20, nc = 15 acumularlos, luego visualizar la matriz. Algoritmo Matriz5 Variables m(20, 15), am : real fi, ci, nf, nc, cm : entero INICIO Leer "Ing. nmero de filas ..:", nf - 1 "Ing. nmero de columnas ..:", nc - 1 Si (nf > 8) y (nc > 8) entonces "Error Sino am 0 Imprimir "matrix de " , (nf * nc) , "elementos" Para fi = 1 hasta nf Para ci = 1 hasta nc "Ing. Items matrix m (" , fi , ", " , ci , ")-->", m(fi, ci) am am + m(fi, ci) Fin para ci Fin para fi Para fi = 1 hasta nf Para ci = 1 hasta nc "(" , fi , " , " , ci , ")" , m(fi, ci) Fin para ci Fin para fi Imprimir "suma de elementos .: ", am Fin si Fin.

Computacin, Informtica & Sistemas

161

Fundamentos de Programacin

APLICACIONES CON ARREGLOS BIDIMENSIONALES I (o Matrices)

OBJETIVOS: Desarrollar aplicaciones que utilicen la estructura de datos array bidimensional, con las principales operaciones sobre el: recorrido, suma por filas, suma por columnas, operaciones basicas con matrices

Problema 1. Dada una matriz A de orden NxM hallar su matriz transpuesta Problema 2. Dada dos matrices A y B de orden NxM calcular la suma Problema 3. Escribir un programa que genere dos matrices de dimensiones NxM y MxP a partir de los valores ledos por teclado, y realice el producto de las dos matrices, mostrando la matriz resultante. Problema 3. Introducir un valor del 1 al 20 en un arreglo bidimensional de 5 filas y 4 columnas, el nmero que se introduzca, digamos 3 debe almacenarse en la casilla correspondiente; y los dems valores valdrn 0; si se ingresa el 15; si se ingresa el 8 y as sucesivamente, se tendra esta matriz:

0 0 3 0 0 0 0 8 0 0 0 0

Los valores solo van a ser validos del 1 al 20; si yo pongo otro fuera de ese parmetro me debe de rechazar el valor y pedir otra vez el valor. Tambin debe pedir si se quiere introducir ms datos, y mostrar la tabla; si se introduce un valor ya repetido que debe marcar que el dato ya existe, mostrar el mensaje para introducir nuevamente.

Problema 4. Un comercio utiliza para la atencin a sus clientes 5 cajeros (1,2,3,4,5) por cada transaccin se ingresa el nmero de cajero e importe de la transaccin, que puede ser retiro, deposito y otros. El proceso finaliza cuando en nmero de caja se ingresa cero. Determinar: a) total de ingresos, retiros y otros en cada caja b) cual fue el cajero con menos ingresos y con mayores retiros c) visualizar el total por cada caja. Problema 5.

Computacin, Informtica & Sistemas

162

Fundamentos de Programacin

En un arreglo se almacenan las X calificaciones finales en el primer ciclo de Y alumnos. Escriba un programa que calcule e imprima: a) El promedio ponderado en el ciclo de cada alumno, si paralelo a las calificaciones por curso se tiene los crditos de cada curso del primer ciclo. b) Nmero de cursos aprobados y desaprobados de cada alumno c) Porcentaje de alumnos con promedio ponderado aprobado en el ciclo. d) Nmero de alumnos con promedio mayor o igual a 8. Problema 6. Se desea desarrollar un programa que relacione la informacin de los sntomas que padece un paciente con la informacin de los sntomas de las diferentes enfermedades. El nombre de los pacientes debe colocarse en un vector, el nombre de las enfermedades debe colocarse en otro vector, la informacin sobre los sntomas de cada paciente est codificada en una matriz en donde las filas representa cada paciente y las columnas los diferentes sntomas que padece y la informacin de los sntomas de cada enfermedad debe colocarse en una matriz en donde las filas representan las diferentes enfermedades y las columnas los sntomas de cada enfermedad. Las matrices de sntomas tendrn solamente los valores verdadero o falso, en donde verdadero representa que el sntoma est presente en la enfermedad o en el paciente, segn sea el caso, y falso lo contrario. El programa debe: Generar un reporte de los pacientes con la enfermedad que padecen Generar un reporte con la enfermedad ms comn, el nmero de pacientes que la tienen y el porcentaje. Generar un reporte con la enfermedad menos comn, el nmero de pacientes que la tienen y el porcentaje.

Problema 7. Escribir un programa que determine si un matriz A de NxN es simtrica o no. La matriz es simtrica si se cumple que A[i][j]=A[j][i]. Problema 8. Escribir un programa que lea los elementos de una matriz A de NxN y retorne la transpuesta de A en otra matriz B de NXN, tal que B[i][j]=A[j][i]. Problema 9. Hacer un algoritmo que permita obtener el productos de dos matrices A[i][j] y B[j][k].

Problema 10. Hacer un algoritmo que permita rotar los elementos del contorno de una matriz NxM en sentido horario (Los elementos internos sern ceros) Computacin, Informtica & Sistemas 163

Fundamentos de Programacin

Problema 11 Obtener la transpuesta de una matriz

a) Cuadrada b) No cuadrada (teniendo en cuenta de que tamao deber ser la nueva matriz) Problema 12. Se tiene una matriz, intercambiar los elementos de 2 renglones seleccionados por el usuario.

Problema 13. Obtener en un arreglo la suma de los elementos de cada columna par de una matriz y el producto de los elementos de cada columna impar de la misma matriz.

Computacin, Informtica & Sistemas

164

Fundamentos de Programacin

Computacin, Informtica & Sistemas

165

Fundamentos de Programacin

Computacin, Informtica & Sistemas

166

Fundamentos de Programacin

Ejemplo Nro. 1: Ingresar 2 nmeros enteros y luego visualizar el mayor valor de estos nmeros. 1.1 Cdigo en Visual Basic .NET

Resultado en Consola Visual Basic .Net

Computacin, Informtica & Sistemas

167

Fundamentos de Programacin

1.2 Cdigo en Java

Resultado en Consola de Java JCreator

Computacin, Informtica & Sistemas

168

Fundamentos de Programacin

Ejemplo Nro. 2: Una tienda comercial ofrece a sus clientes un descuento del 3% del total de compra si el nmero de productos adquiridos es mayor a 5. Calcular el total a pagar por una compra. 2.1 Cdigo en Visual Basic .NET

Resultado en Consola Visual Basic .Net

Computacin, Informtica & Sistemas

169

Fundamentos de Programacin

2.2 Cdigo en Java

Resultado en Consola de Java JCreator

Computacin, Informtica & Sistemas

170

Fundamentos de Programacin

Ejemplo Nro. 3: Una empresa otorga a sus trabajadores una bonificacin equivalente al 5% del salario por cada hijo que tenga el trabajador. Calcular la bonificacin y el total a pagar a un trabajador. 3.1 Cdigo en Visual Basic .NET

Resultado en Consola Visual Basic .Net

Computacin, Informtica & Sistemas

171

Fundamentos de Programacin

3.2 Cdigo en Java

Resultado en Consola en Java JCreator

Computacin, Informtica & Sistemas

172

Fundamentos de Programacin

Ejemplo 4: Ingrese un nmero entre 1 y 999 y visualice el nmero de cifras que lo componen. 4.1 Cdigo en Visual Basic .NET

Resultado en Consola Visual .Net

Computacin, Informtica & Sistemas

173

Fundamentos de Programacin

4.2 Cdigo en Java

Resultado en Consola en Java JCreator

Computacin, Informtica & Sistemas

174

Fundamentos de Programacin

Ejemplo 5: Ingresar un nmero entre 1 y 5, luego visualizar su equivalente en letras. 5.1 Cdigo en Visual Basic .NET

Resultado en Consola en Visual Basic .Net

Computacin, Informtica & Sistemas

175

Fundamentos de Programacin

5.2 Cdigo en Java

Resultado en Consola en Java JCreator

Computacin, Informtica & Sistemas

176

Fundamentos de Programacin

BIBLIOGRAFIA

Fundamentos de Programacin Fundamentos de Programacin

: Luis Joyanes Aguilar : Manuel Santos Ismael Patio

Fundamentos de Programacin

: Jess Carretero Felix Garca Jos Manuel Prez Alejandro Caldern Javier Fernandez

Direcciones Internet
http://www.ulpgc.es/otros/tutoriales/mtutor/indice.html http://www.programacion.com/java/tutorial/jap_data_alg/ http://pjsml.50megs.com/java/algoritmos.html http://www.csgabriel.edu.ec/java/

Computacin, Informtica & Sistemas

177

Вам также может понравиться