1

FUNDAMENTOS DE
PROGRAMACIÓN
Inicio
Inicio

Nota
Nota

Nota>0
Nota>0
Nota<=20
Nota<=20

Nota>10.5
Nota>10.5 Nota
Nota no
no válida
válida

Aprobado
Aprobado Reprobado
Reprobado

Fin
Fin

APLICACIÓN WINDOWS
EDICIONES Guido Raul Larico Uchamaco

FUNDAMENTOS DE PROGRAMACIÓN
CON C#
Aplicación Windows

Guido Raul Larico Uchamaco

EDICIONES

FUNDAMENTOS DE PROGRAMACIÓN CON C# Aplicación Windows Guido Raul Larico Uchamaco ISBN: ISBN: (Versión Electrónica) Hecho Depósito Legal en la Biblioteca Nacional del Perú Nº: Editado por: GRUPO PUNORED S.pe Av.pe . Floral 1128 – Puno – Perú e-mail: director@losandes.L Para su sello editorial EDICIONES LOS ANDES www.com.losandes.R.com.

estructuras repetitivas y manejo de arrays. entre otros. trabaja sus funciones distintamente a otros. que dan una visión amplia de cómo debe iniciarse y finalizar una programación basada en operadores. pero nunca se podrá olvidar. . ciencias de la computación y afines. que desarrollen sus conocimientos cada vez mejor. puede estar representado en forma de pseudocódigos o en forma diagramas de flujo de datos incluso otras formas. finalmente todo algoritmo debe ser codificacado en un lenguaje de programación. Esperando sea de su agrado y ayudar. C++. sistemas. Por esta razón el libro contiene problemas básicos resueltos y codificado en C# Pasaran los años y la programación seguirá mejorando. con este texto pretendemos iniciarlos en el camino de la programación de C# modo Windows. INTRODUCCION Como no recordar las primeras clases de programación y la ilusión de aprender a programar en este libro plasmar los primeros pasos que todo estudiante de la carrera profesional de ingeniería informática. debe aprender y dominar los fundamentos de programación para resolver los problemas que además requiere de análices. El pseudocódigo no es directamente un lenguaje de programación que se pueda ejecutar en un computador y probar su correcto funcionamiento y tampoco indica si está correctamente colocado en los bloques de código. El algoritmo siendo un conjunto de instrucciones que permite resolver un problema. Por tanto este libro contiene conceptos y ejemplos básicos de programación que le ayudará a resolver sus dudas y dominar las principales estructuras de programación. Java. diseño y codificación. Python. estructuras selectivas. Los problemas están resueltos y codificados en el lenguaje C# modo windows. pero siempre manteniendo la lógica inicial de algoritmos. ya que cada lenguaje de programación como C#.

INDICE .

…......12 Representación del algoritmo…………………………………………………….17 Tipos de datos simples……………………………………………………………... …………………………………………………. ….. ………..…… 17 Tipo de dato complejo……………………………………………………………….12 Diagrama de flujo……………………………………………………………………….. 15 Programa……………………………………………………………………………. 09 Algoritmo………………………………………………………………………………… 12 Fases de creación de algoritmos…………………………………………………….………………………………..1 4 Instrucciones de inicio/fin…………………………………………………………….. ………………………………………16 Palabras reservadas…………………………………………………………. ….. ….... …………………………………….18 Expresiones…………………………………………………………………………….… 15 Diagramas N-S……………………………………. …………………………………………………….14 Instrucciones de asignación…………………………………………………………… 14 Instrucciones de lectura…………………………………………………………. ….…… 14 Instrucciones de escritura………………………………………………………….16 Procesamiento de datos………………………...CAPÍTULO I Conceptos Generales………….16 Constantes…………………………………………………………………………....14 Un diagrama de flujo datos…………………………………………………………......16 Información……………………….18 Expresiones lógicas…………………………………………………………………… 18 .………… 16 Variables……………………………………………………………………….16 Datos…………………………………. …...18 Cadena………………………………………………………………………………….15 Pseudocódigo…………………………………………………………………………….......13 Instrucciones……………………………………………………………………………..… 14 Instrucciones de bifurcación………………………………………………………..

............22 Visual Studio 2008……………………………………………………………………........35 .23 Visual Studio Test Professional 2010………………………………………………..........NET (2002) …………………………………………………………….22 Visual Studio 2010……………………………………………………………………...............0………………………………………………………………………..24 Visual Studio 2013 RC………………………………………………………………… 24 Visual Studio Express 2013 RC……………………………………………………… 24 Creación de un proyecto en C#..20 Visual Studio 6. …....34 CAPÍTULO II Estructura Secuencial……………………………………………….23 Visual Studio 2010 Premium………………………………………………………...........21 Visual Studio .......Operadores Aritméticos………………………………………………………………........20 Microsoft Visual Studio……………………………………………………………….......31 Codificación del diagrama de flujo en C#..23 Visual Studio 2010 Professional……………………………………………………..........19 Operadores de cadena……………………………………………………………….… 20 Versiones de Microsoft Visual Studio………………………………………………..23 Visual Studio Team Explorer Everywhere 2010………………………………....………… 19 Operadores Lógicos…………………………………………………………………….22 Visual Studio 2005…………………………………………………………………..18 Operadores Relacionales………………………………………………….NET 2003……………………………………………………………..21 Visual Studio .....................24 Visual Studio 2012 2013... ……………………………………………………………..… 24 Visual Studio 2012…………………………………………………………………….......22 Visual Studio 2010 Ultimate…………………………………………………………............................23 Visual Studio TeamFoundation Server 2010……………………………………….......

. ….76 Estructura Lógicas Selectivas……………………………………………………….54 Ejercicio 11 Conversión de acres a hectáreas………………………………………...65 Ejercicio 16 Operaciones sobre un cono…………………………………………….52 Ejercicio 10 Área y volumen de un cilindro…………………………………………... …..Ejercicio 01 Área de un triángulo……………………………………………………....75 CAPÍTULO III Estructura Lógicas Selectivas……………………………………..38 Ejercicio 03 Resolver (A+B)2/2…………………………………………………………40 Ejercicio 04 Promedio de un alumno…………………………………………………42 Ejercicio 05 Cuadrado y cubo de un número positivo………………………….73 Ejercicios Propuestos……………………………………………………………..... ……..... …….....46 Ejercicio 07 Área de una circunferencia…………………………………….....60 Ejercicio 14 Intercambio de 5 números………………………………………………62 Ejercicio 15 Número mínimo de billetes………………………………………….71 Ejercicio 19 Distancia entre dos puntos…………………………………….....69 Ejercicio 18 Operaciones sobre un cubo………………………………………. ……. ………48 Ejercicio 08 Conversión de unidades………………………………………….. …...36 Ejercicio 02 Estructura de forma inversa……………………………………..56 Ejercicio 12 Área de un triángulo en base a sus lados………………………...58 Ejercicio 13 Intercambio de tres valores…………………………………………….67 Ejercicio 17 Área y volumen de una esfera……………………………………….77 .. ….... ……..44 Ejercicio 06 Perímetro y superficie de un rectángulo…………………………...50 Ejercicio 09 Casa de cambio……………………………………………………...

..Estructura Si….82 Ejercicio 22 Alumno aprobado II……………………………………………….90 Ejercicios Propuestos…………………………………………………………………… 92 CAPÍTULO IV Estructura Selectiva Múltiple…………………………………….. ………117 ..88 Ejercicio 25 Número par o impar…………………………………………………….110 Ejercicio 33 Números ordenados……………………………………..Entonces…..114 Ejercicio 35 Aumento de trabajador según categoría…………………….101 Ejercicio 29 Factores que satisfacen a P3+Q4- 2P2<680…………………………103 Ejercicio 30 Mayor y menor de dos números………………………………………105 Ejercicio 31 Reportar calificación según rango de notas…………………………107 Ejercicio 32 Mayor de tres números………………………………………………..97 Ejercicio 27 Aumento de sueldo según categoría………………………………….93 La estructura de selección múltiple………………………………………………. ….Si no (Alternativa Doble)……………………. …....Entonces (Selección simple)………………………………… …. … .........78 Ejercicio 21 Aumento al trabajador…………………………………………….80 Estructura Si….........100 Ejercicio 28 Número de sonidos emitidos por un grillo………………………….…… 83 Ejercicio 23 Aumento a trabajador II…………………………………………..…… 85 Estructuras anidadas…………………………………………………………………..96 Ejercicio 26 Resolver función……………………………………………………. …………….......77 Ejercicio 20 Alumno aprobado……………………………………………………..……..…………… …………...111 Ejercicio 34 Muestra menú de operaciones..87 Ejercicio 24 Validación de nota ingresada…………………………………………. ….....

136 CAPÍTULO V Estructura Lógica Repetitiva………………………………………137 Estructura hacer mientras…………………………………………………………...156 Ejercicio 47 Operaciones con números pares e impares…………………………158 Ejercicio 48 Tabla de multiplicar…………………………………………………… 162 Problemas Propuestos………………………………………………………………… 165 Estructura Desde……………………………………………………………………… 166 Ejercicio 49 Suma de los números naturales……………………………………… 169 Ejercicio 50 Número primo…………………………………………………………..149 Ejercicio 44 Cálculo de serie 100+98+96+94+… +0……………………………...171 Ejercicio 51 Operaciones con sueldo………………………………………………..…… 128 Ejercicio 39 Días transcurridos………………………………………….146 Ejercicio 42 Suma de gastos de viaje……………………………………………….147 Ejercicio 43 Pago de trabajadores…………………………………………………... ……………...124 Ejercicio 38 Calcular día siguiente……………………………………………...Ejercicio 36 Promedio de alumno…………………………………….140 Ejercicio 41 Obtener número de ceros ingresados……………………………….142 Estructura mientras…………………………………………………………………..154 Ejercicio 46 Promedio de un grupo de alumnos…………………………………..173 ..152 Ejercicio 45 Mostrar los N números enteros………………………………………..120 Ejercicio 37 Validar fecha………………………………………………………….....131 Ejercicios Propuestos……………………………………………………………….......140 Ejercicio 40 Nómina de una empresa………………………………………………...... ………...

…. 8. 11.n……………………………………. 14. 23..175 Ejercicio 53 Serie 1. …..………………………………………………………………180 .Ejercicio 52 Serie 5. 16. 4.10000…………………………………….176 Problemas Propuestos………………………………………………………………… 178 BIBLIOGRAFÍA………. 2. 8. 17. 20. 3.. 32.

CONCEPTOS GENERALES CAPITULO I En este Capítulo conocerá conceptos de algoritmos y programas basados en operadores aritméticos. FUNDAMENTOS DE PROGRAMACIÓN . para luego plasmarlo en Diagramas de Flujo de Datos y aplicarlo en C # modo consola.

Método y notación en las distintas fórmulas del cálculo. 3. Preciso: Indicar el orden de realización en cada paso Definido: Repetir los pasos n veces y se obtiene el mismo resultado Finito: resultado esperado. Entrada: datos que se requiere para poder ejecutar.  Diagrama de flujo (Flow Chart)  Diagrama N-S (Nassi-Schneiderman)  Pseudocódigo. Qué datos forman la entrada del algoritmo y cuales deberán obtenerse como salida. Salida: resultado esperado. Proceso: Acciones y cálculo a realizar. El algoritmo constituye un método para resolver un problema mediante una secuencia de pasos a seguir. Fases de creación de algoritmos Existen tres fases en la elaboración de algoritmo. Entrada Proceso Salida El algoritmo constituye un listado de instrucciones que indica el camino a seguir que permite hallar la solución de un problema. mediante una serie de pasos precisos definido y finito. Diseño: Elaboración de algoritmo. 2. Dicha secuencia puede ser expresada en forma de diagrama de flujo con el fin de seguirlo de una forma más sencilla. Se observa si el algoritmo obtiene la salida esperada para toda las entradas Representación del algoritmo Para expresar la solución de un problema se pueden usar diferentes herramientas de programación. Diagrama de flujo . Prueba: Comprobación del resultado. 1. La solución de algoritmo debe describir tres partes. Análisis: En esta se determina cuál es exactamente el problema a resolver. Conceptos Generales 14 Algoritmo Método que se describe la solución de un problema computacional.

Entrada/Salida: Se usa para indicar el ingreso o salida de datos. Desde: Estructura repetitiva que indica un ciclo de N repeticiones de una o más acciones. Sub Algoritmo Pantalla Conector fuera de página Dirección (Flujo) Almacenamiento interno . Proceso: Cualquier tipo de operación que pueda originar cambio de valor. etc. En caso de: Usado para indicar varias acciones posibles según sea un dato de entrada al control. Operaciones aritméticas. Los símbolos gráficos a utilizar para el planteo de diagramas de flujo son: Inicio/Fin: Se usa para indicar el inicio o fin de un diagrama de flujo de datos Entrada/Salida: Se utiliza para ingresar y mostrar datos. Conceptos Generales 15 Es una representación gráfica de dicha secuencia de instrucciones que conforman el algoritmo. Condición: Indica operaciones lógicas o de computación entre datos y en función del resultado de la misma determina cuál de los distintos caminos alternativos del programa se debe seguir. de transformaciones. será el símbolo usado en este texto. Conector: Sirve para enlazar dos partes cualesquiera de un programa a través de un conector en la salida y otro conector en la entrada.

 Instrucciones de inicio/fin  Instrucciones de escritura  Instrucciones de asignación  Instrucciones de bifurcación  Instrucciones de lectura Instrucciones de inicio/fin: Representa el inicio y fin del algoritmo. que es el símbolo usado por muchos de los e lenguajes de programación. Log Instrucción Instrucción . Conceptos Generales 16 Instrucciones Son acciones que debe realizar un algoritmo para resolver un problema. Leer N Leer N Leer N Leer N Instrucciones de escritura: representa la salida de información mediante un dispositivo de salida. F V Exp. que muchas veces es representado por un símbolo de teclado. se puede representar usando una flecha o símbolo de igualdad. Las instrucciones más comunes son las siguientes. puede ser representado por el símbolo de entrada/salida. Escribir a Escribir a Escribir a Escribir a Instrucciones de bifurcación: Cambian de flujo de programa según el resultado de una expresión lógica. N←20 N←20 N←20 N=20 Instrucciones de lectura: Representa el ingreso de datos mediante un dispositivo de entrada. Inicio Inicio Fin Fin Instrucciones de asignación: Representa la asignación de un valor a una variable. por símbolo de pantalla o impresora.

Declarar variable b : Entero . una herramienta que favorece la programación estructurada y reúne características gráficas propias de diagramas de flujo y lingüísticas propias de pseudocódigos y sus estructuras lógicas son las siguientes: Estructura Secuencial N-S Inicio Acción A Leer n Acción B Leer n a=n+(n-1)/2 ………… a=n+(n-1)/2 ………… Imprimir a Imprimir a Acción Fin N Pseudocódigo Permite expresar las instrucciones en un lenguaje común para facilitar la escritura como la lectura de la solución de programa. Conceptos Generales 17 Un diagrama de flujo datos Es la representación gráfica de un algoritmo. Iniciar programa 2. es como un diagrama de flujo sin flechas y constan con cajas continuas que se leerán siempre de arriba-abajo. Inicio b. 1. h a=b+h a Fin Diagramas N-S Conocido también como el diagrama de Chapin.

además así la cadena puede ocupar dos o más líneas. Conceptos Generales 18 h : Cadena 3. for. etc. Algunas palabras reservadas. Finalizar programa Programa Un programa o software es un conjunto de instrucciones ordenadas para ejecutarse en una computadora en forma rápida y precisa. funciones entre otros. domicilio. C# al igual que C++ es compatible con el tipo de constante cadena de caracteres. Por ejemplo: los datos de una persona como su edad. int. en este caso. array……etc. if. El software se divide en dos grupos. Datos Son las características propias de cualquier entidad. Calcular proceso a=b+h 5. Palabras reservadas Palabras usadas por el lenguaje de programación que no deben ser usadas como identificadores de variables. software de sistema operativo y software de aplicaciones. switch. Dentro de la cadena de caracteres se pueden usar secuencias de escape. fecha de nacimiento. Imprimir salida Imprimir a 6. número de teléfono. Información Es el conocimiento relevante producido como resultado del procesamiento de datos y adquirido por la gente para realzar el entendimiento y cumplir ciertos propósitos. this. todas las secuencias de escape no se respetan. Procesamiento de datos Consiste en la recolección de datos de entrada que son evaluados y ordenados para ser colocados de manera que produzcan información útil. . float. Una cadena de caracteres puede iniciar con el símbolo @ seguido por una cadena entre comillas. h 4. Leer entrada Leer b. double.

13159F. por lo general todos usan los llamados tipos de datos primitivos. Veamos algunos ejemplos de declaración de variables correctas e incorrectas. valores lógicos. que son los siguientes.  Entero  Real  Carácter  Lógico . Constantes Son elementos que contienen datos. Variable suma = Correcto numero = Correcto _edad = Correcto _nombre = Correcto digito1 = Correcto $edad = Incorrecto (Comienza con el símbolo $) Número = Incorrecto (La variable tiene tilde) 1digito = Incorrecto (Comienza con un número) Ejemplo de pseudocódigo. Cada lenguaje de programación trabaja con una variedad de tipos de datos. Ejemplo de pseudocódigo. C# //variable //variable n: Entero int n. El valor contenido es una variable puede cambiar a lo largo de la ejecución. letras. etc.14159: Real Const float PI=3. el valor asignado es una constante es fijo y no se puede cambiar durante toda la ejecución del programa. //Error ya no puede //Error ya no puede modificarlo modificarlo PI←3. C# //Constante //Constante PI←3.1415 Tipos de datos simples (primitivos) Al declarar una variable debemos indicar el tipo de dato que es permitido almacenar en dicha variable. Conceptos Generales 19 Variables Son los elementos que se utilizan para contener datos de distintos tipos: números.1415 PI=3. cadenas de caracteres.

por lo general se representa con comillas dobles. Existe una variedad de tipo de datos complejos. Conceptos Generales 20 Entero: Representan los números enteros (no almacena decimales) Real: Representan los números reales (almacena decimales) Carácter: Representa un carácter de cualquier tipo texto. internamente es un arreglo de caracteres. que está compuesta por un conjunto de caracteres (tipo de datos carácter). OPERADO ACCIÓN EJEMPLO RESULTADO R . conocido también como boolean. a+(b+3)/c Expresiones lógicas (condicionales). Lógico: Representan los valores verdaderos o falso. solo mencionaremos dos tipos complejos (cadena y arreglos). 6=2 Falso 6>2 Verdadero 6<=2 Verdadero 6<>2 Falso Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones implicadas. Expresiones: Las expresiones son las combinaciones de constantes. multiplicación y división). símbolo etc. paréntesis y nombres de funciones especiales. números. hacer cualquier operación aritmética (suma.  Clasificación de operadores  Operadores Aritméticos  Operadores Relacionales  Operadores Lógicos  Operadores de cadena Operadores Aritméticos Los operadores aritméticos nos permiten. variables. Tipo de dato complejo (estructurados) Son aquellos que están constituidos por tipos de datos simples y definen una estructura de datos si el tipo de cadena. símbolo de operación. básicamente. no se colocan comillas ni simples ni dobles. resta. Cadena: representa un conjunto de caracteres. El valor se coloca entre comillas simple.

Expresión lógica (Condiciones). menor. 8>4 Y 3=6 Falso 7<> Y 5>=4 Verdadero . etc). OPERADO ACCIÓN R > Mayor que >= Mayor igual que < Menor que <= Menor igual que = Igualdad != Diferente a Operadores Lógicos OPERADO ACCIÓN R Y Y lógico O O Lógico No No Lógico Y Lógico: Si p y q son valores lógicos. mayor. Conceptos Generales 21 . ambos deben ser verdaderos para que Y devuelva verdadero. Resta x=6-3 3 + ± x=5+4 9 * Multiplicació x=2*2 4 n / División x=5/2 3 ˆ Potencia x=3ˆ2 9 MOD Módulo x=5 MOD 1 2 DIV División x=5 DIV 2 2 entera Operadores Relacionales Estos operadores nos permiten evaluar las relaciones (igualad.

Conceptos Generales 22 O Lógico: Si p y q son valores lógicos. Visual C#. NO (8>4) Falso NO (7<>7) Verdadero Para C# se utiliza la siguiente simbología. por lo general unir cadena llamado también concatenar. Visual J#.c ail. uno de ellos debe ser verdadero para que O devuelva verdadero. OPERADOR ACCIÓN + Unir cadenas & Unir cadenas Expresiones de cadena. OPERADO ACCIÓN R && Y lógico || O Lógico ! No Lógico Operadores de cadena Son aquellos operadores que permiten realizar operaciones con cadenas. Aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. el operador NO invierte su valor.com” om Versiones de Microsoft Visual Studio Microsoft Visual Studio es un entorno de desarrollo integrado (IDE. al igual que entornos de desarrollo web como ASP. yVisual Basic . Expresión lógica (Condiciones) 8>4 O 3=6 Verdadero 7<> Y 5>=4 Verdadero NO Lógico: Si pes un valor lógico. “Guido”+” ”+”Raúl” Guido Raúl “guidoraul”&”@”&”Hotm guidoraul@hotmail. Soporta varios lenguajes de programación tales como Visual C++.NET. . por sus siglas en inglés) para sistemas operativos Windows.NET.

0 respectivamente. páginas web y dispositivos móviles.0 fue la última versión en que Visual Basic se incluía de la forma en que se conocía hasta entonces. sitios y aplicaciones web.NET)  Visual F# (Apareció en Visual Studio 2010. Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo. Versiones 1 Visual Studio 6.NET (2002) 3 Visual Studio . fruto de la plataforma .0 Se lanzó en 1998 y fue la última versión en ejecutarse en la plataforma Win9x . incluyendo Visual J++ y Visual InterDev. versiones posteriores incorporarían una versión muy diferente del lenguaje con muchas mejoras. que proporcionaba extensiones de la plataforma Java. que son varias ediciones básicas separadas por lenguajes de programación o plataforma enfocadas para novatos y entusiastas. Dichas ediciones son:  Visual Basic Express Edition  Visual C# Express Edition  Visual C++ Express Edition  Visual J# Express Edition (Desapareció en Visual Studio 2008)  Visual Web Developer Express Edition (para programar en ASP. que se encontraban en las versiones 1.0 2 Visual Studio . Los números de versión de todas las partes constituyentes pasaron a 6. .0.NET 2003 4 Visual Studio 2005 5 Visual Studio 2008 6 Visual Studio 2010 7 Visual Studio 2012 8 Visual Studio 2013 A partir de la versión 2005 Microsoft ofrece gratuitamente las Express Editions.NET 2002).NET. así como servicios web en cualquier entorno que soporte la plataforma . es parecido al J#)* En el pasado se incluyeron los siguientes productos:  Visual InterDev  Visual J++  Visual FoxPro  Visual SourceSafe Visual Studio 6.NET (a partir de la versión . Visual Studio 6. Conceptos Generales 23 Visual Studio permite a los desarrolladores crear aplicaciones.1 y 1. Estas ediciones son iguales al entorno de desarrollo comercial pero sin características avanzadas. También supuso la última versión en incluir Visual J++.

incitando a usar comprobaciones estrictas en áreas donde antes no era posible.NET o con el .NET..0.0.0.NET. similares en muchos aspectos a las plantillas de C++. de la cual se incluyó la versión 2. C++ tiene una actualización similar con la adición de C++/CLI como sustituto de C# manejado. Además.NET. el cual. ya sea con ASP. la versión interna de Visual Studio 2005 es la 8.Se empezó a comercializar a través de Internet a partir del 4 de octubre de 2005 y llegó a los comercios a finales del mes de octubre en inglés. En castellano no salió hasta el 4 de febrero de 2006.NET. en lugar de ejecutarse en una máquina virtual de Java.NET 2003 Visual Studio . Algo similar se llevó a cabo con C++. pero eso no indica que se alejara de la plataforma . puesto que supuso la introducción de la plataforma . Aunque el entorno de desarrollo sigue siendo una aplicación de 32 bits. También se añade soporte con el fin de escribir aplicaciones para determinados dispositivos móviles. Windows Server 2003 o anteriores Visual Studio 2005. añadiendo extensiones al lenguaje llamadas ManagedExtensionsfor C+ + con el fin de que los programadores pudieran crear programas en . un lenguaje nuevo diseñado específicamente para la plataforma .NET. se ejecuta únicamente en el framework.NET. Con esto se consigue encontrar muchos más errores en la compilación en vez de en tiempo de ejecución. La actualización más importante que recibieron los lenguajes de programación fue la inclusión de tipos genéricos. Microsoft eliminó la coletilla. Visual FoxPro pasa a comercializarse por separado. Visual Studio 2008 . Por otra parte. Conceptos Generales 24 Visual Studio . mientras que el formato del archivo que emplea es la 9. Visual Studio . Se presentó también el lenguaje J# (sucesor de J++).NET 2002 supuso también la introducción del lenguaje C#.NET de microsoft.NET (2002) En esta versión se produjo un cambio sustancial.NET 2003 supone una actualización menor de Visual Studio . basado en C++ y Java. Visual Studio .1. haciéndolo mucho más versátil y dotándolo con muchas características de las que carecía. Visual Studio 2005 también añade soporte para arquitecturas de 64 bits. el compilador de Visual C++ se mejora para cumplir con más estándares: el Visual C++ Toolkit 2003.NET Compact Framework. El lenguaje Visual Basic fue remodelado completamente y evolucionó para adaptarse a las nuevas características de la plataforma .NET de su nombre. Se actualiza el .NET Framework a la versión 1. Es compatible solo con Windows XP.

NET 3. uno de los mayores logros de la versión 2010 de Visual Studio ha sido el de incluir las herramientas para desarrollo de aplicaciones para Windows 7. Además ofrece la posibilidad de crear aplicaciones para muchas plataformas de Microsoft. La fecha del lanzamiento de la versión final fue el 12 de abril de 2010. Hasta ahora. Visual Studio 2010 Visual Studio 2010 es la versión más reciente de esta herramienta.NET Framework 4.0. Microsoft ha sido sensible a la nueva tendencia de las pantallas táctiles y con este Visual Studio 2010 también es posible desarrollar aplicativos para pantallas multitáctiles. Entre sus más destacables características. Visual Studio 2010 Ultimate le permite llevar sus ideas a la vida en un número creciente de plataformas y tecnologías . Ya sea creando nuevas soluciones o mejorando las aplicaciones existentes. Que este escribiendo codigo de aplicaciones o de bases de datos. Conceptos Generales 25 Visual Studio 2008 fue publicado (RTM) el 17 de noviembre de 2007 en inglés. acompañada por . . mientras que el último apunta a la creación de interfaces de usuario más dinámicas que las conocidas. creando bases de datos. El nuevo framework (.Shell) y la RibbonPreview para WPF. se encuentran la capacidad para utilizar múltiples monitores. El primero tiene como objetivo la construcción de aplicaciones orientadas a servicios. mientras que la versión en castellano no fue publicada hasta el 2 de febrero de 2008. tales como herramientas para el desarrollo de las características de Windows 7 (System. Windows Phone 7 o Sharepoint. Visual Studio 2010 Ultimate Conjunto completo de herramientas de gestión del ciclo de vida de una aplicación para los equipos que garantizan unos resultados de calidad.incluyendo la nube y la computación paralela. o quitando los errores. como Windows. desde el diseño hasta la implementación. Azure. así como la posibilidad de desacoplar las ventanas de su sitio original y acoplarlas en otros sitios de la interfaz de trabajo.Windows. puede aumentar su productividad usando herramientas poderosas que funcionan de la manera que usted trabaja. Visual Studio 2010 Premium Un conjunto de herramientas completo que simplifica el desarrollo de aplicaciones para personas o equipos que entregan aplicaciones escalables de alta calidad.5) está diseñado para aprovechar las ventajas que ofrece el nuevo sistema operativo Windows Vista a través de sus subsistemas Windows CommunicationFoundation (WCF) y Windows PresentationFoundation (WPF).

a las 18:33. La información fue modificada por última vez el 11 jul 2013. además soporte para antiguas versiones de Windows al estilo clásico. Visual Studio 2013 Sí. cual integra completo soporte para el actual y en fase de desarrollo Windows 8. Team Explorer Everywhere 2010 contiene las herramientas y los plug-ins necesarios para acceder a Visual Studio TeamFoundation Server 2010 desde dentro de los entornos basados en Eclipse. Microsoft Visual Studio 2012 RC tiene como características el desarrollo completo e íntegro en el estilo Modern UI de Windows 8. Visual Studio 2010 Professional simplifica la compilación. Conceptos Generales 26 Visual Studio 2010 Professional La herramienta esencial para las personas que realizan tareas de desarrollo básico. Visual Studio TeamFoundation Server 2010 Una plataforma de colaboración en el centro de la solución de gestión del ciclo de vida de una aplicación (ALM) de Microsoft. en esta fecha fue dado a conocer la ReleaseCandidate del nuevo entorno de programación de "Windows". Visual Studio 2012 Esta información hace referencia al 24 de mayo 2012. Visual Studio Test Professional 2010 Visual Studio Test Professional 2010 es un conjunto de herramientas integrado que entrega un flujo de trabajo completo planificar-probar-seguir para una colaboración en contexto entre los probadores y los desarrolladores. También viene con el soporte integrado para el desarrollo con pruebas y con las herramientas de depuración que ayudan a garantizar unas soluciones de alta calidad. aumentando considerablemente la visibilidad de los probadores en la globalidad del proyecto. Visual Studio Team Explorer Everywhere 2010 Permite a los equipos de desarrollo colaborar fácilmente entre las plataformas. por sus siglas en inglés) para sistemas operativos Windows. de manera que todo el mundo puede trabajar juntos y lograr los objetivos del negocio. . la depuración y el despliegue de las aplicaciones en una variedad de plataformas incluyendo SharePoint y la Nube. Microsoft Visual Studio es un entorno de desarrollo integrado (IDE. TeamFoundation Server 2010 automatiza el proceso de entrega del software y le da las herramientas que necesita para gestionar eficazmente los proyectos de desarrollo de software a través del ciclo de vida de IT.

se puede tener un diagnóstico de la memoria para . paneles de tareas y administración de trabajos pendientes. Visual Studio 2013 RC  Visual Studio Ultimate 2013 RC  Visual Studio Premium 2013 RC  Visual Studio Professional 2013 RC  Visual Studio Test Professional 2013 RC  Visual Studio Team Foundation Server 2013 RC Visual Studio Express 2013 RC  Visual Studio Express 2013 RC para Web  Visual Studio Express 2013 Preview para Windows  Visual Studio Express 2013 RC para Windows Desktop  Visual Studio Team Foundation Server Express 2013 RC Microsoft Visual Studio Ultimate 2013 Es la solución de desarrollo de vanguardia que permite a los equipos de todos los tamaños diseñar y crear aplicaciones atractivas del gusto de los usuarios. incluyendo los servicios del TFS. la cual se ha anunciado en la conferencia Tech Ed. Las herramientas de planeación ágiles y flexibles. tanto del lado cliente como el del servidor. Ahora también hay soporte para Git. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8. Conceptos Generales 27 Hay una nueva versión de Visual Studio. Utilice herramientas avanzadas de modelado. es decir. detección y arquitectura para describir su sistema y asegurase de que se conserva su visión de la arquitectura en la implementación. En lo que se refiere a la parte más técnica. la cual terminó con la promesa de poder descargar una versión de “preview”. incluyendo un analizador de bloques completos de memoria. como planeación de la capacidad. la 2013. para darnos una idea de lo que trae entre manos Microsoft para los desarrolladores.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)* . le permiten usar técnicas de desarrollo incremental y metodologías ágiles a su propio ritmo.NET.

Conceptos Generales 28  Internet Explorer 10 Requisitos de hardware  Procesador a 1.5 GB si se ejecuta en una máquina virtual)  10 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior Microsoft Visual Studio Premium 2013 Tanto si escribe código. y las herramientas avanzadas de pruebas y depuración permiten buscar y corregir de forma rápida los errores que no se hayan podido evitar.5 GB si se ejecuta en una máquina virtual)  10 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior .6 GHz o más rápido  1 GB de RAM (1. Las herramientas avanzadas de análisis de código ayudan a evitar que se produzcan errores durante el desarrollo. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8. realiza pruebas o ejecuta tareas de depuración.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Internet Explorer 10 Requisitos de hardware  Procesador a 1. Las herramientas de diseño y desarrollo le permiten dar rienda suelta a su creatividad y dar vida a sus ideas. Estas herramientas le ayudan a desarrollar soluciones escalables de gran calidad.6 GHz o más rápido  1 GB de RAM (1. compila bases de datos. puede aumentar la productividad de las personas y el equipo usando las eficaces herramientas de Visual Studio Premium 2013.

El entorno integrado simplifica las tareas más complejas para que pueda centrarse en la consecución de sus objetivos. directores de producto y otras partes interesadas que necesitan herramientas de colaboración en equipo.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64) . proporcionando asimismo rastreabilidad a lo largo de estos procesos. Conceptos Generales 29 Microsoft Visual Studio Professional 2013 Puede ayudarle a crear aplicaciones que proporcionen una experiencia de usuario innovadora del gusto de sus clientes. es posible crear aplicaciones de la Tienda Windows. la Web o la nube. Estos miembros del equipo pueden aprovechar un conjunto de herramientas de pruebas y administración de productos integrado que proporciona calidad a lo largo del proceso de desarrollo. Cuando se combina con Windows 8.5 GB si se ejecuta en una máquina virtual)  10 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior Microsoft Visual Studio Test Professional 2013 Visual Studio Test Professional 2013 es ideal para evaluadores.6 GHz o más rápido  1 GB de RAM (1. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8. puede proporcionar aplicaciones de calidad para Windows. no un IDE de desarrollo completo. Visual Studio Test Professional 2013 admite definición de requisitos ligeros y comentarios de los clientes continuos. analistas de negocios. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Internet Explorer 10 Requisitos de hardware  Procesador a 1.1. Con Visual Studio Professional 2013. Windows Phone. Office.

Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8. Mediante la automatización del proceso de entrega de software.6 GHz o más rápido  1 GB (32 bits) o 2 GB (64 bits) de RAM (agregar 512 MB para hospedaje si se ejecuta en una máquina virtual)  3 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior Microsoft Visual Studio Team Foundation Server 2013 Proporciona la base de colaboración en el centro de la solución ApplicationLifecycle Management (ALM) de Microsoft. tareas. MOSS 2010 o MOSS 2013 Requisitos de hardware:  Procesador a 2. las transacciones y los artefactos de proyecto como requisitos.2 GHz o más rápido  1 GB de RAM: instalación básica  2 GB de RAM: instalación estándar (sin Microsoft SharePoint Foundation 2010) .1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Windows Small Business Server 2011 (x64)  Microsoft SQL Server 2012 SP1  SharePoint 2010. errores. Conceptos Generales 30  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)* Requisitos de hardware  Procesador a 1. código fuente y resultados de compilación y pruebas. InRelease para Visual Studio 2013 ayuda a los equipos de desarrollo y operaciones en la integración con TeamFoundation Server 2013 para configurar y automatizar más fácilmente las implementaciones complejas de sus compilaciones automáticas en los entornos de destino. los equipos al completo pueden usar las herramientas para realizar un seguimiento de las acciones. Premium 2013 o Test Professional 2013. La administración de versiones con InRelease para Visual Studio 2013 requiere Ultimate 2013. SharePoint 2013.

API web y aplicaciones de una página con ASP. la extensa compatibilidad con lenguajes de programación y otras herramientas de Visual Studio Express 2013 para Web para crear innovadoras y atractivas aplicación web. las herramientas de tiempo de diseño. Puede usar los completos editores de marcado y código. un eficaz depurador. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8. tanto para uso local como en la nube. C++.NET. C# o Visual Basic. Las herramientas incluyen un completo editor de código.5 GB si se ejecuta en una máquina virtual)  4 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior Microsoft Visual Studio Express 2013 para Windows Puede usar las herramientas de Visual Studio Express 2013 Windows para crear aplicaciones de la Tienda Windows innovadoras y atractivas. Visual Studio Express 2013 para . Conceptos Generales 31  10 GB de RAM: instalacióncompleta (con Microsoft SharePoint Foundation 2010)  8 GB de espacio disponible en el disco duro  Visual Studio Express 2013 Editions Microsoft Visual Studio Express 2013 para Web Visual Studio Express 2013 para Web proporciona herramientas básicas para el desarrollo web.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Internet Explorer 10 Requisitos de hardware  Procesador a 1. un generador de perfiles especializado y extensa compatibilidad con lenguajes de programación que le permiten compilar aplicaciones escritas en HTML5/JavaScript.6 GHz o más rápido  1 GB de RAM (1.

5 GB si se ejecuta en una máquina virtual)  5 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior .1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Internet Explorer 10 Requisitos de hardware  Procesador a 1. Windows Forms y Win32.6 GHz o más rápido  1 GB de RAM (1.5 GB si se ejecuta en una máquina virtual)  4 GB de espacio disponible en el disco duro  Unidad de disco duro de 5400 rpm  Tarjeta de vídeo compatible con DirectX 9 con una resolución de pantalla de 1024 x 768 o superior Microsoft Visual Studio Express 2013 para escritorio de Windows Visual Studio Express 2013 para escritorio de Windows permite la creación de aplicaciones de escritorio en C#.1 Preview  Requisitos de hardware  Procesador a 1. Si desea compilar aplicaciones de la Tienda Windows.6 GHz o más rápido  1 GB de RAM (1. puede instalar también Visual Studio Express 2013 para Windows. Conceptos Generales 32 Windows incluye también un simulador de dispositivos para probar las aplicaciones de la Tienda Windows en distintos tipos de dispositivos. y es compatible con Windows PresentationFoundation (WPF). Requisitos del sistema Sistemas operativos compatibles  Windows 8. Visual Basic y C++. O para desarrollar aplicaciones para todas las plataformas de Microsoft y la Web. Nota: Visual Studio Express 2013 para escritorio de Windows no se puede usar para compilar aplicaciones de la Tienda Windows. Note: Not available in Visual Studio 2013 RC.1 (x86 y x64)*  *Note: Visual Studio 2013 RC does not install on Windows 8. pruebe Visual Studio Professional 2013. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8.

2 GHz o más rápido  1 GB de RAM  4 GB de espacio disponible en el disco duro  Microsoft SQL Server 2012 SP1 Creación de un proyecto en C# 1 . rastreabilidad completa y visibilidad en tiempo real de la calidad del software. 2 . los equipos al completo pueden usar las herramientas para realizar un seguimiento de las acciones. tareas. código fuente y resultados de compilación y pruebas.1 (x86 y x64)*  Windows Server 2008 R2 SP1 (x64)  Windows Server 2012 (x64)  Windows Server 2012 R2 (x64)*  Windows Small Business Server 2011 (x64)  Microsoft SQL Server 2012 SP1  Requisitos de hardware  Procesador a 2. errores. Requisitos del sistema Sistemas operativos compatibles  Windows 7 SP1 (x86 y x64)  Windows 8 (x86 y x64)  Windows 8.. Visual Studio TeamFoundation Server 2013 se puede utilizar en equipos más grandes. Nota: TFS Express se limita a cinco (5) usuarios..Ingresemos al "Microsoft Visual C# ". Mediante la automatización del proceso de entrega de software. Conceptos Generales 33 Microsoft Visual Studio Team Foundation Server Express 2013 Proporciona la base de colaboración en el centro de la solución ApplicationLifecycle Management (ALM) de Microsoft. Para esto seleccionamos desde el menú la opción "Archivo" -> "Nuevo proyecto." Aparece un diálogo donde debemos indicar el nombre del proyecto y seleccionar el tipo de proyecto (elegiremos "Aplicación de Windows Forms" .Creación del proyecto. las transacciones y los artefactos de proyecto como requisitos. TeamFoundation Server Express 2013 ofrece informes y paneles globales que proporcionan tendencias históricas.

Cuadro de herramientas Cuadro de texto Botones Formulario Propiedades . Conceptos Generales 34 y le daremos nombre al proyecto) Podemos ver que el entorno que nos generó automáticamente el formulario de nuestro programa.

using System.Grabación del proyecto en el disco duro de la computadora. conviene dejar seleccionado el checkbox para que se cree un directorio para la solución): Codificación del diagrama de flujo en C# Ahora debemos codificar el diagrama de flujo utilizando las instrucciones del lenguaje C#.Drawing. using System. namespace WindowsFormsApplication6 { public partial class Form1 : Form { public Form1() { InitializeComponent(). using System. Conceptos Generales 35 3 .Windows. using System.ComponentModel. EventArgs e) . Debemos presionar el ícono de los diskettes en la barra superior: Aparece un diálogo donde debemos seleccionar la carpeta donde grabaremos el proyecto (podemos cambiar presionando el botón "examinar". using System.Text.Forms.Collections.Data. Como hemos visto el entorno de programación del Visual C# nos creó un esqueleto básico sobre el cual continuaremos el programa: using System.Linq. using System. } private void textBox2_TextChanged(object sender.Generic. using System.

por el momento nos centraremos donde codificaremos nuestros diagramas de flujo.Clear().Text = Convert. Conceptos Generales 36 { } private void textBox1_TextChanged(object sender. textBox2. } private void button2_Click(object sender.ToString(r). } private void button3_Click(object sender. EventArgs e) { textBox1. EventArgs e) { this.Clear(). r = a + b.Parse(textBox2. EventArgs e) { } private void button1_Click(object sender.Text). textBox3.Parse(textBox1. } } } A medida que avancemos en el curso veremos que significa una clase y namespace.Text). Para probar el funcionamiento del programa debemos presionar el ícono con un triángulo verde (o la tecla especial F5 o desde el menú elegir la opción "Depurar" "Iniciar depuración" . cual es el objetivo del using etc. a = float.r. b = float. EventArgs e) { float a. textBox3.Clear().b.Close().

. Conceptos Generales 37 A continuación loramos el siguiente resultado.

es decir uno detrás del otro hasta finalizar el proceso. CAPITULO II Instrucción 1 n1 Instrucció Instrucción 2 Instrucció n1 Instrucción 3 Instrucció n1 FUNDAMENTOS DE PROGRAMACIÓN . ESTRUCTURA SECUENCIAL Son aquellos algoritmos que ejecutan instrucciones en forma consecutiva.

Estructura Secuencial 39 Ejercicio 01 Calcular e imprimir el área de un triángulo.h 4. Declarar variables b: Real h: Real area: Real 3. Calcular area= (b*h)/2 5. Solución: Declarar variables b. h a= (b*h)/2 area Fin Diseño . Iniciar programa 2. Leer b. Imprimir area 6. Finalizar programa Diagrama de flujo Inicio b. h: Real Entrada: (Datos a introducir al computador) Base :b Altura:h Proceso: calcular área del triángulo (Base x Altura)/2 Salida: (Resultado que mostrará el computador) Pseudocódigo 1.

} private void button1_Click(object sender.Clear(). namespace Area_triangulo { public partial class Form1 : Form { public Form1() { InitializeComponent().Clear(). a = float.Clear().Forms. b = float.Text = Convert. textBox2.Windows.Parse(textBox2. textBox3. EventArgs e) { textBox1. } } } Ejercicio 02 . textBox3.Close().ToString((a * b) / 2).Parse(textBox1.Text). EventArgs e) { this. EventArgs e) { float a. b. Estructura Secuencial 40 Codificación using System. using System. } private void button2_Click(object sender. } private void button3_Click(object sender.Text).

c. b. b. que representan números enteros. a. Estructura Secuencial 41 Ordenar los datos a. b. b. a Fin Diseño . Iniciar programa 2. b. Pseudocódigo 1. Finalizar programa Diagrama de flujo Inicio a. c. Declarar variables a. escriba los mismos en orden inverso. d: Entero Ingresar datos a invertir a. b. d. c. a 5. d 4. b. c. c. Imprimir d. b. d: Entero 3. c. d d. Leer a. c. d Imprimir datos invertidos d. a. c. b. c. Solución: Declarar variables.

" + c + ".Clear().Clear(). textBox2. " + b + ". d = int. } } } Ejercicio 03 . d. EventArgs e) { int a.Text). textBox4. a = int.Parse(textBox3. } private void button1_Click(object sender.Parse(textBox4.Clear().Parse(textBox1.Text = Convert. namespace Orden_inverso { public partial class Form1 : Form { public Form1() { InitializeComponent().Forms.Clear(). b. } private void button3_Click(object sender.Parse(textBox2.Text).Text). textBox3. using System. c.Windows. EventArgs e) { textBox1.ToString(d + ".Close(). textBox5.Clear(). EventArgs e) { this.Text). b = int. textBox5. Estructura Secuencial 42 Codificación en C# using System. " + a). } private void button2_Click(object sender. c = int.

b. Calcular r= ((a+b)2/3) 5. Declarar variables a. b: Entero Proceso ejecutar la fórmula (a+b)2/3 Imprimir el resultado Pseudocódigo 1. Leer a. Imprimir r 6. b: Entero r: Real 3. Iniciar programa 2. Finalizar programa Diagrama de flujo Inicio a. Estructura Secuencial 43 Dado los datos enteros a. b 4. escriba el resultado de la siguiente expresión: (a+b)2/3 Solución: Declarar variables a. b r= ((a+b)^2)/3) r Fin Diseño .

} } } Ejercicio 04 . using System.Text).Windows. textBox3. a = float.Forms. EventArgs e) { textBox1.Parse(textBox1. textBox3.Clear(). double r. } private void button1_Click(object sender. EventArgs e) { float a. } private void button3_Click(object sender.Text).Text = Convert.Clear(). b = float.Parse(textBox2. } private void button2_Click(object sender. b. r = ((a + b) * (a + b)) / 3.Close(). namespace Enteros_expresion { public partial class Form1 : Form { public Form1() { InitializeComponent().ToString(r). Estructura Secuencial 44 Codificación en C# using System. textBox2.Clear(). EventArgs e) { this.

prom Fin Diseño . c5. obtenido a lo largo del semestre. c2. c3. Estructura Secuencial 45 Dado el código de matrícula de los estudiantes de la carrera profesional de Ingeniería de Sistemas y 5 calificaciones. prom 6 Finalizar programa Diagrama de flujo Inicio c1. c2. prom: Real 3 Leer c1. c3. c4. c2. c5 prom= (c1+c2+c3+c4+c5)/5 codigo. c5 4 Calcular prom=( c1+c2+c3+ c4+c5)/5 5 Imprimir codigo. c4. c4. imprima código de la matrícula del estudiante y el promedio de sus calificaciones. c3. Solución: Declarar variables Ingresar código de matrícula y sus calificaciones Calcular promedio de calificaciones Imprimir la matrícula y el promedio Pseudocódigo 1 Iniciar programa 2 Declarar variables codigo: Entero largo c1.

Text).Clear().Text = Convert. } private void button2_Click(object sender.Parse(textBox6. } } } Ejercicio 05 Calcular e imprimir el cuadrado y el cubo de un número entero positivo num.Clear(). c4 = float.Text).Clear(). textBox6. textBox7.Text).Parse(textBox5.Close().ToString(pro).ToString(codigo).Parse(textBox1.Text). textBox3.Clear(). c3 = float.Forms. c5 = float. Solución: .Parse(textBox2. textBox5. c5. c1 = float. EventArgs e) { this. double pro. c3. pro = (c1 + c2 + c3 + c4 + c5) / 5. } private void button1_Click(object sender.Text = Convert. Estructura Secuencial 46 Codificación en C# using System. c4. textBox4.Parse(textBox3. namespace Promedio_5_notas { public partial class Form1 : Form { public Form1() { InitializeComponent(). textBox2. textBox8.Clear().Text). EventArgs e) { textBox1.Text). float c1. EventArgs e) { int codigo. c2 = float. c2.Clear().Clear().Clear(). } private void button3_Click(object sender.Parse(textBox4. using System. codigo = int.Windows. textBox8. textBox7.

Calcular cua=num*num 5. cub Fin Diseño . Calcular cub=num*num*num 6. Finalizar programa Diagrama de flujo Inicio cua=num*num cub=num*num*num num CCC CU cua. Iniciar programa 2. cub 7. Leer num 4. Imprimir cua. Estructura Secuencial 47 Declarar variables Ingresar el número Proceso calcular el cuadrado y el cubo del número ingresado Imprimir los resultados Pseudocódigo 1. Declarar variables num: Entero cua. cub: Real 3.

ToString(cua). textBox2. textBox3. } private void button3_Click(object sender.Parse(textBox1.ToString(cub). num = int.Clear().Clear().Close(). } private void button2_Click(object sender.Windows. cub. textBox3.Text = Convert. EventArgs e) { this.Text). } private void button1_Click(object sender. } } } Ejercicio 06 . cua = num * num. double cua.Forms. namespace Cuadrado_y_cubo { public partial class Form1 : Form { public Form1() { InitializeComponent(). Estructura Secuencial 48 Codificación en C# using System. textBox2. cub = num * num * num. EventArgs e) { textBox1.Clear().Text = Convert. using System. EventArgs e) { int num.

Declarar variables b. Iniciar programa 2. Imprimir per. sup 7. Finalizar programa Diagrama de flujo Inicio per= (b+h)*2 sup=b*h b. Estructura Secuencial 49 Hallar la base y la altura de un rectángulo. Calcular sup=b*h 6. h CCC CU per. h 4. h: Real per. sup: Real 3. calcule el perímetro y la superficie del mismo. Consideraciones: La superficie de un rectángulo se calcula aplicando la siguiente fórmula: Superficie=base *altura Perímetro=2*(base altura) Solución: Declarar variables Ingrese base y altura Proceso calcular la superficie y perímetro del rectángulo Imprimir los resultados Pseudocódigo 1. Calcular per= (b+h)*2 5. sup Fin Diseño . Leer b.

textBox3.Text). textBox3.Clear(). EventArgs e) { textBox1.ToString(per). b = int. sup. textBox2.Parse(textBox1. namespace Perimetro_y_superficie { public partial class Form1 : Form { public Form1() { InitializeComponent().Parse(textBox2. using System.Windows. Estructura Secuencial 50 Codificación en C# using System.Clear().Clear(). } private void button3_Click(object sender. sup = b * h. EventArgs e) { float b. textBox4.Clear(). } private void button2_Click(object sender. } private void button1_Click(object sender. double per.ToString(sup). h. h = int. textBox4. EventArgs e) { this.Close().Forms.Text = Convert.Text). } } } Ejercicio 07 .Text = Convert. per = 2 * (b + h).

Imprimir a 8.1416 Inicio a=pi*(r*r) r CCC CCC CU CU a Fin Diseño . Estructura Secuencial 51 Hallar el radio. Finalizar programa Diagrama de flujo pi=3. Calcular a=pi*(r*r) 7. Declarar variables r: Real a: Real 3. Iniciar programa 2. Asignar pi=3. Consideraciones: La superficie de una circunferencia se calcula aplicando la siguiente fórmula: Área =pi*radio2 Solución: Declarar variables Declarar constante pi=3. calcule e imprima el área de una circunferencia. Leer r 6. Declarar constante pi: Real 4.1416 5.1416 Proceso calcular la superficie de la circunferencia Imprimir resultados Pseudocódigo 1.

a = pi * (r * r).Clear(). pi = 3.Parse(textBox1. textBox2.Windows. double pi.1415. EventArgs e) { this.Forms.ToString(a). EventArgs e) { textBox1. textBox2. } private void button1_Click_1(object sender.Text = Convert.Text). Estructura Secuencial 52 Codificación en C# using System. } private void button3_Click(object sender. using System. r = int.Clear(). } private void button2_Click(object sender. } } } Ejercicio 08 . EventArgs e) { float r.Close(). namespace Area_circunferencia { public partial class Form1 : Form { public Form1() { InitializeComponent(). double a.

Declarar variables nombre: Cadena de caracteres pes.3048006 Solución: Declarar variables: nom. lon 7. escriba el nombre del dinosaurio. que expresa el peso del dinosaurio en libras.3048006 CCC nombre. pes. lon 4. Pes: Es una variable de tipo real.4535924 Para convertir de pies a metros. peso y longitud Proceso transformar cantidades a kilogramos y metros respectivamente.3048006 6. multiplicar por 0. Imprimir resultados Dónde: nom es una variable de tipo cadena de caracteres. Pseudocódigo 1. que expresa el nombre del dinosaurio. lon Ingresa nombre. que expresa la longitud del dinosaurio en pies. pes. Estructura Secuencial 53 Dado el nombre de un dinosaurio. lon Fin . Consideraciones: Para convertir de libras a kilogramos. lon nombre.4535924 5. Finalizar programa Diagrama de flujo PES pes=peso*0.4535924 Inicio lon=longitud*0. Imprimir nombre. pes. Es una variable de tipo real. lon: Real 3. su peso expresado en kilogramos y su longitud expresado en metros. respectivamente. CUpes. Iniciar programa 2. su peso y su longitud. Leer nombre. expresados estos dos últimos en libras y pies. pes. Calcular lon=longitud*0. Calcular pes=peso*0. multiplica por 0. Lon.

} private void button1_Click(object sender. textBox5.Text). textBox5.Clear().3048006. lon. longitud = int.Parse(textBox2. textBox4. } private void button2_Click(object sender. textBox6.Text). textBox2. textBox3.Clear(). EventArgs e) { float peso.Text).ToString(pes).4535924.Text = Convert. } private void button3_Click(object sender. Estructura Secuencial 54 Diseño Codificación en C# using System.Windows. using System. pes = peso * 0.ToString(nombre). string nombre = (textBox1.Clear(). lon = longitud * 0.Close().Text = Convert.Forms. peso = int. textBox4. EventArgs e) { textBox1. EventArgs e) { this.ToString(lon). textBox6.Clear(). longitud. double pes.Parse(textBox3. namespace Dinosaurio { public partial class Form1 : Form { public Form1() { InitializeComponent().Clear().Clear().Text = Convert. } } } .

Declarar variables cant: Real 3. Un dólar=2. Imprimir CANT 5. convierta esa cantidad a nuevos soles.76 4. Estructura Secuencial 55 Ejercicio 09 En una casa de cambio necesitan construir un programa tal que dado como dato una cantidad expresada en dólares.76 Nota: Depende del tipo de cambio Solución: Declarar variables Ingresar cantidad en soles Mostrar resultados Pseudocódigo 1.76 cant CCC CU CANT Fin Diseño . Calcular CANT=cant*2. Consideraciones: Tipo de cambio establecido es. Iniciar programa 2. Finalizar programa Diagrama de flujo Inicio CANT=cant*2.

} private void button3_Click(object sender.Clear().Clear(). } private void button2_Click(object sender. textBox2. } private void button1_Click(object sender.76.Parse(textBox1. namespace Dolares_a_soles { public partial class Form1 : Form { public Form1() { InitializeComponent(). double CANT. cant = float. CANT = cant * 2.Close().Text = Convert. using System. EventArgs e) { float cant. textBox2.Windows.Text). EventArgs e) { textBox1.ToString(CANT). Estructura Secuencial 56 Codificación en C# using System. EventArgs e) { this.Forms. } } } Ejercicio 10 .

altu 5. altu Proceso realizar los cálculos del área y volumen. calcule e imprima el área y su volumen. Estructura Secuencial 57 Hallar el radio y la altura de un cilindro. Finalizar programa .1416 4. vol: Real 3. Imprimir resultados Pseudocódigo 1. Leer radio. vol 8. Calcular area=2*pi*radio*altu 6. Declarar variables radio. Iniciar programa 2. Calcular vol=pi*(radio*radio)*altu 7. area. Consideraciones: El volumen de un cilindro calcularemos aplicando la siguiente fórmula: Volumen= Pi*radio2*altura La superficie del cilindro calcularemos como: Área=2*radio*radio*altura Solución: Iniciar proceso Declarar variable Leer radio. Declarar constante pi: 3. Imprimir area. altu.

Estructura Secuencial 58 radio.Windows.Forms. using System. vol Fin Diagrama de flujo Diseño Codificación en C# using System. namespace Area_volumen_cilindro { public partial class Form1 : Form { public Form1() { . altu PES area=2*pi*radio*altu Inicio vol=pi*(radio*radio)*altu CCC CU area.

alt = float. } private void button3_Click(object sender.Close(). } } } Ejercicio 11 Denis compró una estancia en un país sudamericano. EventArgs e) { float rad. La extensión de la estancia esta especificada en acres. Imprimir EXT 5.Text).Text = Convert. textBox3. } private void button1_Click(object sender. textBox3. double pi. textBox4. Declarar variables ext: Real 3. pi = 3.Text = Convert. } private void button2_Click(object sender.Text). Estructura Secuencial 59 InitializeComponent(). area = 2 * pi * rad * alt.Parse(textBox1. EventArgs e) { this.Clear(). alt.4711 Consideraciones: Un acre es igual a 4047 m2 Una hectárea tiene 10. vol = pi * (rad * rad) * alt. rad = float. Finalizar programa Diagrama de flujo .Clear(). textBox4.ToString(area).ToString(vol). EventArgs e) { textBox1.1416. tal que como dato la expresión del campo en acres. calcule e imprima la extensión de las mismas hectáreas: Ac = ha * 2. double area.Clear().000m2 Solución: Declarar variables Proceso realizar la conversión Imprimir extensión Pseudocódigo 1.Clear(). textBox2.Parse(textBox2. vol. Calcular EXT=ext*4047/10000 4. Iniciar programa 2.

EventArgs e) .Windows. Estructura Secuencial 60 Inicio ext EXT=ext*4047/10000 EXT Fin Diseño Codificación en C# using System. using System.Forms. namespace Acres_a_hectareas { public partial class Form1 : Form { public Form1() { InitializeComponent(). } private void button1_Click(object sender.

} private void button2_Click(object sender. EXT = ext * 4047 / 10000. ext = float. Esta la calculamos aplicando la siguiente fórmula: Donde L1. L3 son los 3 lados del triángulo y S es Semiperímetro del triángulo. pueda determinar su área.Clear().ToString(EXT). Iniciar programa 2. textBox2. textBox2. s. area: Real 3. L2. Calcular s= (L1+L2+L3)/2 4. Estructura Secuencial 61 { float ext. Fórmula de Herón Consideraciones:  Recordemos que es lo mismo que sacar la raíz cuadrada de un número que elevar dicho número a la potencia 0. } } } Ejercicio 12 Dado los tres lados de un triángulo. double EXT. L2.Text = Convert. que representan los datos de un triángulo Pseudocódigo 1. EventArgs e) { this.Parse(textBox1.Text). Declarar variables L1. L3. L2.Clear().5 Solución: Declarar variables Proceso realizar cálculo del área Imprimir resultado L1. Calcular area= (s*(s-L1)*(S-L2)*(S-L3))^ 0. L3.5 . EventArgs e) { textBox1. } private void button3_Click(object sender. son variables de tipo real.Close().

Forms. Imprimir area 6.Windows. Finalizar programa Diagrama de flujo Inicio s= (L1+L2+L3)/2 area=[(s*(s-L1)*(s-L2)*(s-L3)]2 L1. using System. } private void button1_Click(object sender. EventArgs e) . L2. Estructura Secuencial 62 5. L3 CCC CU area Fin Diseño Codificación en C# using System. namespace Area_triangulo { public partial class Form1 : Form { public Form1() { InitializeComponent().

textBox2. b.ToString(area). double area. Solución: Analizaremos con valores reales. Calcular b=c 6.Text = Convert. } private void button2_Click(object sender.Clear().Clear(). EventArgs e) { textBox1.Parse(textBox1. b obtenga el valor de cycel valor de a. textBox4. c=2 Pseudocódigo 1. L3. } } } Ejercicio 13 Un algoritmo que sea capaz de intercambiar el valor de tres variables a.L3) * (s . de tal manera que el valor de b se almacene en a. Declarar variables a. a=2. Iniciar programa 2. Calcular a=b 5. b. L2 = float.Text). EventArgs e) { this.Clear(). Estructura Secuencial 63 { float L1. textBox4. L3 = float. } private void button3_Click(object sender.Parse(textBox3. c.Parse(textBox2. Calcular aux= a 4.L1) * (s . a) Si a=b tendremos a=5 b) Si b=c tendremos b=8 c) Si c=a tendremos c=2 Los valores intercambiados de las variables serán: a=5.L2) * (s . textBox3. aux: Entero 3. c=8 El resultado de intercambio de variables. Imprimir a. b=8. double s. Calcular c=aux 7. c 8. b=5. Finalizar programa .L2) * (s . b. L2. c.Text).L3).Close().Text). area = s * (s . s = (L1 + L2 + L3) / 2.L1) * (s . por ejemplo.Clear(). L1 = float.

namespace ABC { public partial class Form1 : Form { public Form1() { InitializeComponent(). .Windows.Forms. using System. Estructura Secuencial 64 Dónde: Uso de la variable aux. aux. c. c Fin Diseño Codificación en C# using System. } private void button1_Click(object sender. b. por lo tanto aux debe ser del mismo tipo que las otras variables. b. EventArgs e) { float a. c c=aux CCC CU a. Diagrama de flujo Inicioa aux= a=b b=c a. la cual nos permite almacenar el valor de a. b.

textBox6.Clear(). b.Parse(textBox3. solo que con dos variables más. c.ToString(a). c = float. aux = a.Clear(). } private void button3_Click(object sender. textBox5. Finalizar programa a=c d=b Diagramade flujo b=j j=aux1 c=aux2 a. j. a = b. b = c.Parse(textBox1.Text). d. b. c.Text = Convert.Text). textBox4. la forma de resolver es similar. j aux2: d 5.Parse(textBox2. Pseudocódigo 1. c = aux. textBox5. d. aux2: Entero 3.Close(). c. textBox3. EventArgs e) { this. textBox6. Declarar variables a. b. EventArgs e) { textBox1. Imprimira. j Fin . d. textBox2. } private void button2_Click(object sender. textBox4.Text = Convert. b.ToString(c).Clear(). c.ToString(b).Clear(). Iniciar programa 2. la única variante que debemos usar dos variables auxiliares. j j=aux1 c=aux2aux1: a 4. Estructura Secuencial 65 a = float. d. } } } Ejercicio 14 Ejercicio similar al anterior.Text). aux1. b = float.Text = Convert.Clear().Clear(). Calcular aux1=a aux2=d Inicio a=c d=b b=e a.

Estructura Secuencial 66 Diseño Codificación en C# .

Clear(). d.ToString(d).Close(). aux1. } private void button2_Click(object sender.ToString(j). textBox3. d = float.Text). textBox8.ToString(c). textBox9.Windows. using System. textBox2. EventArgs e) { this.Clear(). textBox8.ToString(a).Text). textBox5.Forms. } .Parse(textBox4.Parse(textBox5. } private void button1_Click(object sender. aux2 = d. c = aux2.Text = Convert. aux1 = a. b = float.Text).Text = Convert.Parse(textBox2.Clear(). b.Text = Convert. EventArgs e) { textBox1.Clear(). c. a = c. a = float.ToString(b). textBox6.Clear(). Estructura Secuencial 67 using System. textBox7.Clear().Clear(). d = b.Clear(). textBox4. } private void button3_Click(object sender. j = aux1.Parse(textBox3. EventArgs e) { float a. aux2. textBox6. j.Parse(textBox1.Clear().Clear(). textBox10. textBox10.Text = Convert.Text). c = float. textBox9. j = float.Text = Convert. textBox7. b = j. namespace ABCDE { public partial class Form1 : Form { public Form1() { InitializeComponent().Text).

Solución: Uso de los operadores DIV MOD nos ayudará en la solución del problema. Declarar variables cant. soles que se necesita para cambiar un cheque. Calcular b10= cant div 10 6. Calcular el número máximo de billetes en denominaciones de 1. 5. Iniciar programa 2.1). b1 . b10. Pseudocódigo 1. 5. Calcular b1= cant mod 5 10. Calcular b5= cant div 5 8. Leer importe del cheque Calcular el número máximo de billetes en denominaciones de 20. Calcular el número máximo de billetes en denominaciones de 10. b1: Entero 3. Imprimir b20. el cual consiste en cambiar un cheque. b5. b5. b10. 10. 1. Calcular cant=cant mod 10 7. en el número óptimo billetes de 4 denominaciones distintas (20. Estructura Secuencial 68 } } Ejercicio 15 Desarrolle un algoritmo que calcule el número de billetes de 20. Calcular cant=cant mod 5 9. Considere que el valor de cheques es un número entero. b20. Calcular b 20= cant div 20 4. Calcular cant=cant mod 20 5. Calcular el número máximo de billetes en denominaciones de 5. 10.

Finalizar programa Diagrama de flujo Inicio b20= cant div 20 cant=cant cantmod 20 b10= cant div 10 cant=cant mod 10 b5= cant div 5 cant=cant mod 5 b1= cant mod 5 b20. cant = int. using System. Estructura Secuencial 69 11.Windows. b1.Forms.Text). b10. b5. b1 Fin Diseño Codificación en C# using System. b20. b20 = cant / 20. EventArgs e) { int cant. b10. namespace Numero_billetes { public partial class Form1 : Form { public Form1() { InitializeComponent(). } private void button1_Click(object sender.Parse(textBox1. b5. .

Text = Convert. altu. b5 = cant / 5.Clear(). Consideraiones: Área de la base se calcula con base de la siguiente fórmula Area Base=pi*radio2 El área lateral se calcula: Area Lateral=pi*radio*generatriz El área Total se calcula: Area Total= Area Base+Aarea Lateral Volumen se calcula: Volumen= *Area Base*Altura Pseudocódigo 1. Estructura Secuencial 70 cant = cant % 20.ToString(b10). al. Imprimir “Área de la base”ab .Clear(). Leerradio. b1 = cant % 5. textBox4.Close().Clear(). el área total y su volumen. calcule e imprima el área de la base. gene 5. EventArgs e) { textBox1. el área lateral.ToString(b5).Text = Convert. } } } Ejercicio 16 En Dado el radio.1416: Real 4. textBox3. la generatriz y la altura de un cono. Declarar constante pi=3. vol: Real 3.ToString(b20).Clear(). } private void button2_Click(object sender. textBox5.Text = Convert.ToString(b1). textBox4. } private void button3_Click(object sender. textBox2. at. gene: Real ab. EventArgs e) { this. b10 = cant / 10. Iniciar programa 2. altu. Calcular ab=pi*(radio*2) al=pi*radio*gene at=ab*al vol= (ab*altu)/3 6. cant = cant % 10.Clear().Text = Convert. textBox3. textBox5. Declarar variables radio. textBox2.

Text). altu. textBox6.Text).Text = Convert. ab = pi * (radio * radio). pi = 3.Text = Convert. at.Parse(textBox1.Windows. al. } private void button1_Click(object sender.Parse(textBox2. double pi = 3. using System. at. altu.Parse(textBox3. textBox7.Text). gene.Text = Convert. al = pi * radio * gene.Forms. . al.ToString(ab). vol. namespace Radio_cono { public partial class Form1 : Form { public Form1() { InitializeComponent(). textBox5.ToString(al).Clear(). vol Fin Codificación en C# using System. } private void button2_Click(object sender. ab. altu = float. Finalizar programa Diagrama de flujo Diseño Inicio radio.Text = Convert. Estructura Secuencial 71 “Área lateral”al “Área total” at “Volumen” vol 7.1415. at = ab + al. gene ab=pi*(radio*radio) al=pi*radio*gene at=ab*al vol= (ab*altu)/3 ab.ToString(vol). EventArgs e) { textBox1. vol = (ab * altu) / 3. radio = float. EventArgs e) { double radio.1415. textBox4.ToString(at). gene = float.

Calcular area=4*pi*(radio*radio) vol=4/3*pi (radio*radio*radio) 6.Clear(). Declarar constante pi=3. EventArgs e) { this.Clear().1416: Real 4.Clear(). Imprimir “Área de la esfera” area “Volumen de laradio esfera” vol 7. Declarar variables radio: Real area.Close(). Estructura Secuencial 72 textBox2.Clear(). textBox5. Iniciar programa 2. textBox6. Terminar programa area=4*pi*(radio*radio) area=4*pi*(radio*radio) vol=4/3*pi (radio*radio*radio) Diagrama de flujo area. textBox7.Clear(). textBox3. vol: Real 3. vol Fin . Consideraciones una esfera tiene la siguiente figura: El área de una esfera: Área=4*pi*radio2 El volumen de una esfera: Volumen= *pi*radio3 Solución: Declarar variables Radio: Real Leer Radio Proceso hacer área=4*pi*(radioˆ2) Volumen=4/3*pi*(radioˆ3) Área =Almacena al área de la esfera Volumen= Almacena al volumen de la esfera Pseudocódigo 1. } } } Ejercicio 17 Dado el radio de una esfera. textBox4. calcule e imprima el área de su volumen.Clear(). Leer radio Inicio 5. } private void button3_Click(object sender.

Parse(textBox1.Windows. vol.Forms. vol = 4 / 3 * pi * Math.ToString(vol). radio = float.Text). double pi. } . area.Text = Convert. area = 4 * pi * Math.Pow(radio. pi = 3. textBox2. 3). } private void button1_Click(object sender.Pow(radio. Estructura Secuencial 73 Diseño Codificación en C# using System. 2). textBox3.Text = Convert.ToString(area). namespace Area_volumen_de_una_esfera { public partial class Form1 : Form { public Form1() { InitializeComponent(). using System.1416. EventArgs e) { double radio.

Clear(). v: Entero 3. y el volumen. Finalizar proceso . Estructura Secuencial 74 private void button2_Click(object sender. at. Leer l 4. Área Lateral=4*L2 Para calcular área total. Calcular ab=l*l al=4*(l*l) at=6*(l*l v=(l*l*l) 5 Imprimir “Área de la base” ab “Area Lateral “al “Area Total” at “Volumen” v 6. Área Total=6*L2 Para calcular el volumen Volumen=L3 Pseudocódigo 1.Clear(). el área lateral. } private void button3_Click(object sender. Consideraciones: Un hexaedro o cubo tiene la siguiente forma.Clear(). Iniciar proceso 2. el área total. Área Base=L2 Para calcular área lateral. } } } Ejercicio 18 Hallar el lado de un hexaedro cubo. textBox2. ab. Declarar variables l. EventArgs e) { textBox1. EventArgs e) { this. Para calcular área de la base.Close(). textBox3. al. calcular el área de la base.

l = float. 2). v Fin Diseño Codificación en C# using System.Forms. ab = Math. . al. at. al = 4 * Math.Windows. al. } private void button1_Click(object sender.Parse(textBox1.Pow(l.Text). EventArgs e) { double l. Estructura Secuencial 75 Diagrama de flujo Inicio l ab=l*l al=4*(l*l) at=6*(l*l v= (l*l*l) ab. at = 6 * Math.Pow(l. using System. namespace Areas_cubo { public partial class Form1 : Form { public Form1() { InitializeComponent(). at. 2). 2).Pow(l. v. ab.

Leer x1.Clear().ToString(al). } private void button3_Click(object sender. textBox3.Clear().Text = Convert. textBox2. x2.Close().Pow(l. textBox4. x2. textBox2. Declarar variables x1. EventArgs e) { this.Text = Convert. Iniciar programa 2.Clear(). textBox5.Text = Convert. Calcular dist=√ ((x1-x2) (x1-x2)+ (y1-y2) (y1-y2) 5. EventArgs e) { textBox1. } } } Ejercicio 19 Calcule la distancia entre dos puntos dados p1 y p2. y2. y2 4.ToString(ab). y1. Solución: Declarar variable Leer coordenadas Proceso realizar el cálculo de la distancia Imprimir resultados Pseudocódigo 1. Imprimir dist 6. dist: Entero 3.ToString(at). textBox5. Estructura Secuencial 76 v = Math. } private void button2_Click(object sender.ToString(v). Finalizar programa . Como los puntos se encuentran en cualquier lugar del sistema de coordenadas. textBox3. la distancia se determina por la siguiente relación: Consideraciones: Para calcular la distancia “d” entre dos puntos p1 y p2 aplicamos a la siguiente fórmula. 3). y1.Clear().Text = Convert.Clear(). textBox4.

} private void button1_Click(object sender. x2. using System. y1. EventArgs e) .Windows. namespace Distancia_entre_2_puntos { public partial class Form1 : Form { public Form1() { InitializeComponent(). y2 dist= √((x1-x2)(x1-x2)+(y1-y2)(y1-y2) dist Fin Diseño Codificación en C# using System. Estructura Secuencial 77 Diagrama de flujo Inicio x1.Forms.

Clear().y2). EventArgs e) { textBox1. dis = Math. 2)). textBox2.Text). y1 = float. textBox3.Pow((y1 .Sqrt(Math. y2 = float. Estructura Secuencial 78 { double x1.Clear(). x2 = float.Pow((x1 . x1 = float.Parse(textBox4. y2.Clear(). } private void button2_Click(object sender.Parse(textBox1.ToString(dis).x2).Text). dis. textBox5. EventArgs e) { this. x2.Text = Convert. } } } .Parse(textBox3. } private void button3_Click(object sender.Parse(textBox2.Text). 2) + Math.Close(). y1.Text).

Ejercicio 08 Enunciado: Convertir una cantidad de grados Fahrenheit a Celsius y Kelvin. Estructura Secuencial 79 EJERCICIOS PROPUESTOS Ejercicio 01 Enunciado: A una reunión asistieron n personas ¿Cuántos apretones de mano hubieron? Ejercicio 02 Enunciado: Dado dos números enteros (z). Ejercicio 04 Enunciado: Dada una cantidad de milímetros. Ejercicio 07 Enunciado: Dada una cantidad horas obtener su equivalente en minutos y segundos. lea una cantidad en millas y conviértala a kilómetros. Ejercicio 05 Enunciado: Dado cuatro números enteros. Ejercicio 11 Enunciado: Sabemos que una milla equivale a 1609 kilómetros. expresada en la máxima cantidad de metros incluidos en ellos. Ejercicio 10 Enunciado: Convertir grados sexagesimales a centesimales. obtener el porcentaje cada uno en función a la suma de los cuatro números ingresados. minutos y según sexagesimales. Ejercicio 06 Enunciado: Hallar área de un perímetro de un cuadrado. hallar a+b y a-b Ejercicio 03 Enunciado: Dado dos números enteros. Ejercicio 09 Enunciado: Hallar el área de un rombo. . determinar cuántos números enteros están incluidos en ellos. a y b. ¿Cuántos partidos habrá en la primera rueda del campeonato? Ejercicio 13 Enunciado: Lea el ángulo en radianes y conviértalo a grados. Ejercicio 12 Enunciado: En un campeonato de futbol participan n equipos.

Si no Estructuras anidadas Ejercicios FUNDAMENTOS DE PROGRAMACIÓN Estructura Lógicas Selectivas Las estructuras algorítmicas selectivas que se utilizan para la toma de decisiones lógicas es de la siguiente forma.Entonces….. En este capítulo usted aprenderá a resolver problemas que permitan evaluar condiciones lógicas. esta es una de las estructuras básicas más utilizadas... en la programación existe una estructura que permite evaluar una condición (expresión lógica que devuelve verdadero o falso) y determina que instrucciones se debe ejecutar si la condición es verdadera o si la condición es CAPITULO III falsa. También se le conoce como estructura condicional. . alternativas y de decisiones. Estructura Selectiva (Simple y Doble) 80 ESTRUCTURA SELECTIVA (SIMPLE Y DOBLE) Muchas veces tenemos que decidir y realizar una u otra tarea dependiendo de una condición. CONTENIDO Estructura selectiva simple Estructura Si…..Entonces Estructura selectiva Doble Estructura Si…..

<Instrucción n>. Log.Entonces (Estructura selectiva simple) Evalúa una expresión lógica (condición). Log. si es verdadero ejecuta una determinada instrucción o instrucciones.>) <Instrucción 2> <Instrucción 1>.5 .> Entonces // Una instrucción <Instrucción 1> if (<Exp. } Ejercicio 20 Dado como dato la calificación de un alumno en un examen escriba “aprobado” en caso que esa calificación fuese mayor a 10.. La estructura selectiva simple Si…. Diagrama de flujo de la condicional simple: F Condición V Instrucción 1 Instrucción n v Sintaxis C# Si <Exp.Entonces permite que el flujo del diagrama siga por un camino especifico si cumple alguna condición o conjunto de condiciones.. Estructura Selectiva (Simple y Doble) 81 1) Si entonces (Estructura selectiva simple) 2) Si entonces sino (Estructura selectiva doble) Estructura Si…. Log.>) { <Instrucción 1>. Fin_Si // Varias instrucciones if (<Exp.

Iniciar programa 2. Fin_Si Fin 6. Leer nota 4.1.5 nota >10. Inicio Estructura Selectiva (Simple y Doble) 82 nota Solución: Leer nota Proceso comprobar si nota es mayor queF 10. mostrando un mensaje “Aprobado” Nota: la condicional Si es remplazada por if Diagrama de flujo Diseño .5 Entonces 4.5 Imprimir resultado en caso esté aprobado Pseudocódigo V 1. Si nota >10. Imprimir Aprobado 5. Finalizar programa La comprobación condicional en este ejercicio. Declarar variables nota: Real “Aprobado” 3. es sólo en caso de ser verdadero.

} private void button3_Click(object sender. EventArgs e) { textBox1. } private void button1_Click(object sender. } } } Ejercicio 21 . EventArgs e) { float nota.5) { textBox2. } } private void button2_Click(object sender.Windows. namespace Alumno_aprobado { public partial class Form1 : Form { public Form1() { InitializeComponent(). if (nota > 10.Text = Convert.Forms.Clear(). Estructura Selectiva (Simple y Doble) 83 Codificación en C# using System.text). EventArgs e) { this. textBox2.Close(). using System.ToString("aprobado"). nota = float.Clear().Parse(textBox1.

1000. Iniciar programa 2. realizar el aumento y reportar nuevo sueldo.17 4. Finalizar programa Diagrama de flujo Inicio sueldo sueldo<1000 V F SUELDO=sueldo*1. Imprima el nuevo sueldo. Imprimir SUELDO 5. SUELDO= sueldo*1. Fin_Si 6. Solución: Leer sueldo Comprobar si el sueldo cumple con la condición Si cumple la condición. Leer sueldo 4.1. Declarar variables sueldo: Real 3.17 SUELDO Fin Diseño . Pseudocódigo 1. aplíquele un aumento del 17% si su sueldo es inferior a S/. Estructura Selectiva (Simple y Doble) 84 Hallar el sueldo de un trabajador. Si Sueldo <1000 Entonces 4.2.

if (sueldo < 1000) { SUELDO = sueldo * 1..Si no (Estructura Selectiva Doble) . } } } Estructura Si….Clear()..Windows.Clear(). } private void button1_Click(object sender.Close(). textBox2. EventArgs e) { textBox1. namespace Aumento_trabajador { public partial class Form1 : Form { public Form1() { InitializeComponent(). } } private void button2_Click(object sender. double SUELDO. EventArgs e) { float sueldo. } private void button3_Click(object sender.ToString(SUELDO).Parse(textBox1.Text = Convert..Forms.Entonces…. EventArgs e) { this. textBox2. sueldo = float. Estructura Selectiva (Simple y Doble) 85 Codificación en C# using System. using System.17.Text).

<Instrucción 1> <Instrucción n>. es decir cuando la sentencia de comparación sea verdadero o falso. Log. Log. Acción 2: expresa la operación o conjunto de operaciones si la condición resulta falsa.>){ <Instrucción 1> }else{ <Instrucción n> SiNo <Instrucción 1>. Si condición entonces Acción 1 Si no Acción 2 Fin si (fin del condicional) Dónde: Acción 1: expresa la operación o conjunto de operaciones si la condición resulta verdadera. Sintaxis C# Si <Exp.> Entonces if(<Exp. F V Estructura Selectiva (Simple y Doble) 86 Condición Instrucción 1 Instrucción 1 Alternativa Instruccióndoble n nos permite tomar decisiones Instrucción n en ambos sentencias. cuan es verdadero v se ejecuta una o más accionesv y cuando es falso se ejecutan acciones diferentes. <Instrucción n> } Fin_Si Ejercicio 22 .

Imprimir Reprobado 6.5. Reportar “Reprobado” Pseudocódigo 1.5 Reportar “Aprobado” Si no. Fin_Si 7. Declarar variables nota: Real 3. Iniciar programa 2. Leer nota 4.1. Imprimir “Aprobado” 5. SiNo 5. “reprobado” en caso contrario. Si nota >10.1.5 V “Aprobado” “Reprobado” Inicio Diseño . Estructura Selectiva (Simple y Doble) 87 Dado como dato la calificación de un alumno en un examen escriba “aprobado” si su calificación fuese mayor a 10. Finalizarprograma Diagrama de flujo Inicio nota F nota>10.5 Entonces 4. Solución Comprobar si la nota es mayor a 10.

if (nota > 10. namespace Alumno_aprobado_2 { public partial class Form1 : Form { public Form1() { InitializeComponent().Forms. Estructura Selectiva (Simple y Doble) 88 Codificación en C# using System. using System. } } } Ejercicio 23 . EventArgs e) { float nota. } private void button3_Click(object sender.5) { textBox2.Clear().Parse(textBox1. } } private void button2_Click(object sender. EventArgs e) { this.Text = Convert.Close().Windows.ToString(" Aprobado"). EventArgs e) { textBox1.Text = Convert.Text). nota = float.ToString(" Reprobado"). } else { textBox2. } private void button1_Click(object sender.Clear(). textBox2.

SUELDO=sueldo*1. Imprimir sueldo 9. aplíquele un aumento del 17% si su sueldo es inferior a $ 1000 y 12% en caso contrario. Leer sueldo 4. Terminar programa Diagrama de flujo Inicio sueldo sueldo<1000 V F SUELDO=sueldo*1.12 SUELDO Fin Diseño . incrementar 12% Pseudocódigo 1. SUELDO=sueldo*1.1. Iniciar programa 2. Declarar variables sueldo: Real 3.17 5.12 7. SiNo 5.1.17 SUELDO=sueldo*1. Si sueldo<1000 Entonces 4. Solución Leer sueldo Comprobar si el sueldo cumple con la condición Si cumple la condición. Fin_Si 8. Estructura Selectiva (Simple y Doble) 89 Hallar el sueldo de un trabajador. imprima el nuevo sueldo. incrementar el 17% Si no.

Parse(textBox1. EventArgs e) { textBox1. using System.Clear(). sueldo = float.ToString(SUELDO).17. textBox2.Text). } else { SUELDO = sueldo * 1. if (sueldo < 1000) { SUELDO = sueldo * 1. EventArgs e) { float sueldo.Windows.Clear(). textBox2. textBox2.Text = Convert.Close(). } private void button1_Click(object sender. namespace Aumento_trabajador_2 { public partial class Form1 : Form { public Form1() { InitializeComponent().Text = "12 %".Clear(). } } } . } private void button2_Click(object sender.Text = "17 %". double SUELDO.Forms.12. } textBox3. } private void button3_Click(object sender. textBox3. EventArgs e) { this. Estructura Selectiva (Simple y Doble) 90 Codificación en C# using System.

Estructura Selectiva (Simple y Doble) 91 EstructurasAnidadas Son aquellas estructuras que contienen una o más estructuras. Log. >){ <Instrucción 1> <Instrucción 1>.> Entonces if (<Exp. Log. >){ <Instrucción 1> <Instrucción 1>. >){ Si <Exp. F V Condición F V F Condición Condición V Instrucción 1 Instrucción 1 Instrucción 1 Instrucción n Instrucción n Instrucción n v v v Sintaxis C# Si <Exp. <Instrucción n> <Instrucción n>. <Instrucción n> <Instrucción n>.> Entonces If (<Exp. es decir está permitido colocar dentro de una estructura otra estructura.> Entonces if (<Exp. Log. SiNo } else { <Instrucción 1> <Instrucción 1>. Log. <Instrucción n> <Instrucción n>. Fin_Si } SiNo } else { Si <Exp. Fin_Si } SiNo } Ejercicio 24 . Log. Log.

Imprimir Reprobado 7.5 Entonces 4. Fin_Si 8. “reprobado” en caso contrario. Leer nota 4.1. SiNo 5. Si nota >10.2. Finalizar programa Diagrama de flujo Inicio nota F nota>0 V nota<=20 nota>10. Estructura Selectiva (Simple y Doble) 92 Dado como dato la calificación de un alumno en un examen.1.5. SiNo 8. Declarar variables nota: Real 3. Fin_Si 9. O nota no válida.1. Iniciar programa 2. Imprimir Aprobado 5. escriba “aprobado” si su calificación fuese mayor a 10. Si nota>0y nota<=20 Entonces 4.5 Nota no válida V F Aprobado Reprobado Fin Diseño . Imprimir Nota no válida 8.2. Pseudocódigo 1.

Windows.Parse(textBox1.Forms.5) { textBox2. } } } } Ejercicio 25 .ToString("Aprobado"). } private void button1_Click(object sender.ToString("Reprobado").Text = Convert.Text).ToString("Nota no válida"). using System.Text = Convert. EventArgs e) { float nota. Estructura Selectiva (Simple y Doble) 93 Codificación en C# using System. } } else { textBox2. namespace Validar_nota_aprobado_o_reprobado { public partial class Form1 : Form { public Form1() { InitializeComponent(). nota = float. } else { textBox2. if (nota >= 0 && nota <= 20) { if (nota > 10.Text = Convert.

fin de algoritmo Pseudocódigo 1. Imprimir “El número es Par” 5. reportar impar Si el dato no es válido.1. Solución Leer dato Comprobar dato de entrada. Fin_Si 8. El ejercicio requiere la validación del dato de entrada.2. Si (dato MOD 2)=0 Entonces 4. SiNo 5. reportar par Si no. realizar la comprobación para ver si es par Si es par.1. Imprimir “El número es Impar” 6. Iniciar programa 2. Estructura Selectiva (Simple y Doble) 94 Dado un número entero positivo mayor que cero de cómo resultado si dicho número es par o impar. Declarar variables dato: Entero 3. Fin_Si 7. Leer dato 4. Si Dato > 0 Entonces 4. Finalizarprograma Diagrama de flujo Inicio dato F dato>0 V dato MOD 2=0 V F Par Impar Fin . si es número entero positivo Si dato es válido.

Text = Convert. if (dato > 0) { if ((dato % 2) == 0) { textBox2.Text = Convert.Close().Text). EventArgs e) { this. namespace Numero_par_o_impar { public partial class Form1 : Form { public Form1() { InitializeComponent(). Estructura Selectiva (Simple y Doble) 95 Diseño Codificación en C# using System.Clear(). textBox2.ToString("Número impar"). } private void button1_Click(object sender. } } } private void button2_Click(object sender. } } } .Forms. EventArgs e) { float dato = float.Parse(textBox1.Windows.ToString("Número par").Clear(). EventArgs e) { textBox1. } else { textBox2. using System. } private void button3_Click(object sender.

determinar cuál es el mayor con respecto al otro. mientras de la noche son 30% mayores. Ejercicio 06 Enunciado: Crear un programa que al ingresar 3 números enteros. Un alumno es calificado según lo siguiente. Estructura Selectiva (Simple y Doble) 96 EJERCICIOS PROPUESTOS Ejercicio 01 Enunciado: Halar la edad de una persona determinar si es mayor de edad o menor de edad. devuelva los números ordenado en forma ascendente y en forma descendente. La nota de medio ciclo M. Ejercicio 02 Enunciado: Dado dos números enteros. devolver el número menor. caso contrario desaprobado Ejercicio 08 Enunciado: Dado los siguientes datos de entrada: Saldo anterior. Considere que durante la semana el trabajador se encuentra siempre en el mismo turno. 20% y 30% respectivamente. Ejercicio 03 Enunciado: Dado dos números determinar si son iguales o son diferentes. Ejercicio 04 Enunciado: En la Universidad tiene como política considerar 3 notas en cada curso la nota de trabajos T. tarde y noche. y la de fin de ciclo F. Construya un programa que lea número de horas laboradas por un trabajador y la tarifa. cada una tiene un peso de 50%. Ejercicio 07 Enunciado: Después de ingresar 4 notas. Ejercicio 09 Enunciado: Dado 2 números enteros a y b. obtener el promedio de las tres mejores notas y el mensaje aprobado si el promedio es mayor o igual 11. calcule el salario semanal. considere que mayor de edad es mayor o igual 18. a es mayor que b . La tarifa de los turnos de mañana y tarde y son iguales. obtener como dato de salida el saldo actual. Excelente Si su promedio está entre (16-20) Bueno Si su promedio está entre (11-15) Malo Si su promedio está entre (06-10) Pésimo Si su promedio está entre (00-05) Ejercicio 05 Enunciado: Los trabajadores de una maderera tienen 3 turnos: mañana. tipo de movimiento R (retiro) o D (depósito) y monto de la transacción.

Estructura Selectiva (Simple y Doble) 97 b es mayor que a a es igual b .

CAPITULO IV Se utiliza estructuras selectivas dobles anidadas (en cascada). es recomendable que cuando se tenga que avaluar varias alternativas se utilice estructuras selectiva múltiple por ser la más legible eficiente y sencillo de interpretar. CONTENIDO Estructura de selecciónmúltiple FUNDAMENTOS DE PROGRAMACIÓN . dando una solución muy complicada y confusa para analizar. llamada estructura selectiva múltiple que permite evaluar varias alternativas y realizar el proceso si cumple con la condición elegida. ESTRUCTURA SELECTIVA (MULTIPLE) En los lenguajes de programación se cuenta con una implementación similar.

es decir al comparar es decir al comparar con todas las alternativas propuestas no se tienen éxito con ninguna. entonces se ejecuta la alternativa por defecto. Exp. Valor1 V F Instrucciones Valor2 V F Instrucciones Valor3 V Instrucciones F SINTAXIS C# switch (<Exp. <Instrucciones> break. } . si la comparación tiene éxito se ejecuta el grupo de instrucción que contenga la alternativa seleccionada y luego sale la estructura. Estructura Selectiva (Múltiple) 99 La estructura de selección múltiple Permite comprobar un valor con diversas alternativas. Caso Valor2 case Valor1: <Instrucciones> <Instrucciones>.> Sea { case Valor1: Caso Valor1 <Instrucciones>. <Instrucciones> case Valor1: Fin Caso <Instrucciones>.>) En caso que <Exp. Muchas se pueden implementar en forma opcional una alternativa por defecto. Caso Valor3 break. break.

Fin Caso default: <Instrucciones>. Caso Valor2 break.> Sea switch (<Exp. break. } La estructura de selección múltiple usando rangos . <Instrucciones> case Valor1: SiNo <Instrucciones>. Estructura Selectiva (Múltiple) 100 Exp.>) { Caso Valor1 case Valor1: <Instrucciones> <Instrucciones>. Valor1 V F Instrucciones Valor2 V F Instrucciones SiNo Instrucciones F SINTAXIS C# En caso que <Exp. <Instrucciones> break.

Log.> Entonces }else if (<Exp.Log.>){ <Intrucciones> <Instrucciones>.>) { <Intrucciones> <Instrucciones>.Log. Log.Log.>){ <Intrucciones> <Instrucciones>. Instrucciones F V Exp. se puede usar una estructura selectiva múltiple similar a la estructura selectiva doble anidada. SiNo }else { <Intrucciones> <Instrucciones>. Instrucciones F V Exp. V Exp. SiNoSi <Expr. Instrucciones F Instrucciones SINTAXIS C# Si <Expr. pero cuando se requiere manejar rangos (>= Y <=). SiNoSi <Expr. Fin_Si } Ejercicio 26 .Log.> Entonces if (<Exp. Estructura Selectiva (Múltiple) 101 La estructura selectiva múltiple permite comparar un valor (igualdad).Log.> Entonces }else if (<Exp.

v. val 4.1. Caso 3: calcular val*100/v 4. Solución: Declarar variables Leer NUM.1.4. Leer NUM. Pseudocódigo 1. Caso 1: calcular val=100*v 4. Declarar variables NUM. Estructura Selectiva (Múltiple) 102 Dados como datos dos variables de tipo entero NUM. v Según sea el caso de NUM. Finalizar programa Diagrama de flujo Inicio NUM. v: Entero val: Real 3. En Caso de NUM 4.2. Caso 2: calcular val*100^v 4. Imprimir val 6. v En Caso NUM 1 2 3 Otro val=100 val=100 /v val=0 val=100*v ^V val Fin Diseño . obtenga el resultado de la siguiente función:  100*v si NUM =1  100^v si NUM=2  100/ v si NUM=3  0 para cualquier otro valor de NUM. Fin_Caso 5.3. Iniciar programa 2. realizar acción correspondiente. En otro caso: calcular val=0 5.

Text = Convert. NUM = int. switch (NUM) { case 1: val = 100 * v. namespace Resolver_una_funcion { public partial class Form1 : Form { public Form1() { InitializeComponent().Clear(). EventArgs e) { textBox1.Clear(). using System. break.Parse(textBox1. v).Forms. double v. textBox3. break.Text). } } } Ejercicio 27 . EventArgs e) { int NUM. } private void button2_Click(object sender. case 3: val = 100 / v. default: val = 0. case 2: val = Math. } private void button1_Click(object sender. EventArgs e) { this. val.Clear(). Estructura Selectiva (Múltiple) 103 Codificación en C# using System. } textBox3. break. textBox2.Windows.Text). v = double. } private void button3_Click(object sender. break.Close().ToString(val).Pow(100.Parse(textBox2.

08 /V ^V =0 SUELDO*1.1.05 5.15 cate SUELDO= Sueldo*1.10 1 2 3 SUELDO= Sueldo*1.15 SUELDO. realizar aumento correspondiente. sueldo SUELDO= sueldo*1. Iniciar programa 2. Imprimir CATE. Reportar el aumento y la categoría Pseudocódigo 1.10 4. Terminar programa Diagrama de flujo Inicio cate.15 4. Caso 2: calcular SUELDO=sueldo*1.10 SUELDO*1.06 SUELDO= sueldo*1. SUELDO 6. Caso 1: calcular SUELDO= sueldo*1. Categoría Aumento 1 15 % 2 10 % 3 8% 4 6% Solución: Declarar variables Leer datos de la entrada Según sea el caso. CATE V Diseño Fin . calcule el aumento correspondiente teniendo en cuenta la siguiente tabla.1.15 SUELDO*1.08 SUELDO*1. Caso 3: calcular SUELDO=sueldo*1.06 4 SUELDO*1. Fin_Caso (Fin del condicional del paso 3) 5. Caso 4: calcular SUELDO=sueldo*1.2. Declarar variables cate: Entero sueldo: Real 3. Estructura Selectiva (Múltiple) 104 Dados como datos la categoría y el sueldo de un trabajador. imprima la categoría y el nuevo sueldo del trabajador. En Caso de cate 4.4. Leer cate 4.08 4.3.

06. break.10. textBox3.ToString("1 [15%]").15.Parse(textBox2. Estructura Selectiva (Múltiple) 105 Codificación en C# using System. break. } textBox4.Text = Convert. break. sueldo = int. double SUELDO=0.Text). switch (cate) { case 1: SUELDO = sueldo * 1.ToString("3 [8%]").08. } private void button1_Click(object sender. textBox3.ToString(SUELDO).Text = Convert.ToString("4 [6%]"). case 4: SUELDO = sueldo * 1. textBox3. float sueldo. namespace Aumento_segun_categoria { public partial class Form1 : Form { public Form1() { InitializeComponent().Text = Convert. EventArgs e) { int cate. using System.Text=Convert. cate = int.Forms.Text = Convert. textBox3. break.Text).ToString("2 [10%]"). case 3: SUELDO = sueldo * 1. case 2: SUELDO = sueldo * 1.Windows.Parse(textBox1. } } } Ejercicio 28 .

1. es una función de la temperatura. Pseudocódigo 1. Imprimir “Temperatura”. Calcular t=n/4+40 4. como resultado de eso. Declarar variables n: Entero t: Real 3. Iniciar programa 2. t 5. Estructura Selectiva (Múltiple) 106 El número de sonidos emitidos por un grillo en un minuto. Fin_Si 6. Solución: Declarar variables Comprobar si el número de sonidos es válido Calcular la temperatura. teniendo en cuenta el número de sonidos emitidos por el grillo. Finalizar programa Diagrama de flujo Inicio n F V n>0 t=n/4+40 t Fin Diseño . es posible determinar el nivel de la temperatura haciendo uso de un grillo como termómetro ( t = n / 4 + 40 ) La fórmula para la función es: T=N/4+40 Donde T representa la temperatura en grados Fahrenheit y N el número de sonidos emitidos por minuto. Leer n 4. Si n>0 Entonces 4.2.

} } } Ejercicio 29 . EventArgs e) { this.Clear(). Estructura Selectiva (Múltiple) 107 Codificación en C# using System.Close().Windows. using System. if (n > 0) { t = n / 4 + 40.Text = Convert. } private void button3_Click(object sender.Clear(). n = int.Forms. EventArgs e) { textBox1. } private void button1_Click(object sender. textBox2. t.Parse(textBox1. textBox2. } } private void button2_Click(object sender. namespace Sonidos_de_un_grillo { public partial class Form1 : Form { public Form1() { InitializeComponent().ToString(t).Text). EventArgs e) { int n.

q 4. q Fin Diseño . Solución: Declarar variables Comprobar si p y q satisfacen la expresión: Si es satisfactorio mostrar p y q Pseudocódigo 1. Leer p.2) exp=680 V F p. q: Entero exp: Real 3. Finalizar programa Diagrama de flujo Inicio p.4)-2*pow(p. Estructura Selectiva (Múltiple) 108 Construya un pseudocódigo. Declarar variables p. que dado como datos los valores enteros P y Q determinen si los mismos satisfacen la siguiente expresión: debe imprimir los valores P y Q. Fin_Si 6. q exp=pow(p.3)+pow(q. Iniciar programa 2. Calcular exp=p^3+q^4-2*P^2 Si exp<680 Entonces Imprimir p. q 5.

} } private void button2_Click(object sender. EventArgs e) { this.Clear(). double exp.Parse(textBox1.2 * Math. namespace PQ_Expresion { public partial class Form1 : Form { public Form1() { InitializeComponent().Parse(textBox2.Clear().Pow(q.Forms. if (exp < 680) { textBox3.Text).Close().Clear(). 3)+Math. EventArgs e) { int p.Pow(p. q = int.Windows. } private void button1_Click(object sender. using System. q. p = int.ToString("P = "+p+" Q = "+q). 4) . } } } Ejercicio 30 . EventArgs e) { textBox1. textBox2.Text = Convert.Text). 2). Estructura Selectiva (Múltiple) 109 Codificación en C# using System. exp = Math. textBox3. } private void button3_Click(object sender.Pow(p.

1. b F V a<>b F V “Iguales” a>b “Mayor”b “Mayor”a “Menor”a “Menor”b Diseño Fin . SiNo 5. Imprimir “El mayor es” b “El menor es” a 4. Si a<>b Entonces 4. o cuál es el menor Mostrar resultados Pseudocódigo 1. Imprimir “El mayor es” a “El menor es” b 4. SiNo 4.2. Si a>b Entonces 4.2. Iniciar programa 2.2.2. Fin_Si 5. También deberá considerar el caso en el que los dos números sean iguales. Leer a.b 4.1. b: Entero 3. Fin_Si 6. Solución: Declarar variables Leer números Comprobar cuál es el mayor.3.1. Estructura Selectiva (Múltiple) 110 Escribir un programa que lea dos números enteros por teclado y determine cuál es el mayor y el menor. Imprimir “Los números son iguales” 5. Declarar variables a. Finalizar programa Diagrama de flujo de datos Incio a.

Estructura Selectiva (Múltiple) 111

Codificación en C#
using System;
using System.Windows.Forms;

namespace Mayor_menor_igual
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
int a, b;
a = int.Parse(textBox1.Text);
b = int.Parse(textBox2.Text);
if (a != b)
if (a > b)
textBox3.Text = Convert.ToString("Mayor A, Menor B");
else
textBox3.Text = Convert.ToString("Mayor B, Menor A");
else
textBox3.Text = Convert.ToString("Números iguales");
}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 31

Estructura Selectiva (Múltiple) 112

Escribir un programa que lea una nota de un examen por teclado y
devuelva la calificación que tiene; la calificación podría ser: suspenso (0-
4.99), aprobado (5-9.99), notable (10-14.99), sobresaliente (9-9.99),
matrícula de honor (10).

Solución:
Declarar variables
Leer nota
Calcular calificación y reportar resultados

Pseudocódigo
1. Iniciar programa
2. Declarar variables
nota: Real
3. Leer nota
4. Si nota>=0 y nota<=4.99 Entonces
4.1. Imprimir “Suspenso”
5. SiNo
5.1. Si nota>=5 y Nota<=6.99 Entonces
5.1.1. Imprimir “Aprobado”
5.2.-SiNo
5.2.1. Si nota>=7 ynota<=8.99 Entonces
5.2.1.1. Imprimir “Notable”
5.2.2. SiNo
5.2.2.1. Si nota>=9 ynota<=9.99 Entonces
5.2.2.1.1. Imprimir “Sobresaliente”
5.2.2.2. SiNo
5.2.2.2.1. Si nota es =10 Entonces
5.2.2.2.1.1. Imprimir “Matrícula de honor”
5.2.2.2.2. Fin_Si
52.2.3. Fin_Si
5.2.3. Fin_Si
5.3. Fin_Si
6. Fin_Si
7. Finalizarprograma

Estructura Selectiva (Múltiple) 113

Diagrama de flujo

Inicio

nota

F 0>=nota<=4.99
V

F 5>=nota<=6.99 “Suspenso”
V

F 7>=nota<=8.99 “Aprobado”

V

F 9>=nota<=9.99 “Notable”
V
Nota=10
“Sobresaliente”
V

F Matrícula de honor

Fin

Diseño

Parse(textBox1.Text = Convert.Clear().ToString("Matrícula de honor").99) textBox2.Text = Convert.Text = Convert.Text = Convert.Forms. else if (nota >= 5 & nota <= 6. textBox2. nota = float.ToString("Notable"). } private void button3_Click(object sender. } private void button2_Click(object sender.99) textBox2. else if (nota >= 7 & nota <= 8.Text = Convert.99) textBox2.ToString("Suspenso").ToString("Aprobado"). EventArgs e) { textBox1. } private void button1_Click(object sender. EventArgs e) { this. } } } Ejercicio 32 . else if (nota >= 9 & nota <= 9. namespace calificacion_segun_rango { public partial class Form1 : Form { public Form1() { InitializeComponent().Windows. Estructura Selectiva (Múltiple) 114 Codificación en C# using System. using System.ToString("Sobresaliente"). if (nota >= 0 & nota <= 4.Clear().99) textBox2.Close(). else if (nota == 10) textBox2. EventArgs e) { float nota.Text).

Estructura Selectiva (Múltiple) 115 Escribir un programa que lea tres números enteros por teclado y emita un mensaje indicando si están o no ordenados crecientemente. Fin_Si 8.1. b. Imprimir “No están ordenados en forma creciente” 7. Leer a. Imprimir “Están ordenados en forma creciente” 5. Si a<b y b<c Entonces 4. c: Entero 3. SiNo 6. b. b. Iniciar programa 2. c a<b b<c F V No ordenados en Ordenados en forma forma creciente creciente Fin Diseño . Declarar variables a. c 4. Finalizarprograma Diagrama de flujo Inicio a. Solución: Declarar variables Leer los números ingresados Procesar números ingresados Mostrar mensaje Pseudocódigo 1.

} } } Ejercicio 33 . textBox4.Text = Convert. textBox2. a = int. c = int.ToString("No ordenados en forma creciente").Windows. namespace Ordenados_crecientemente { public partial class Form1 : Form { public Form1() { InitializeComponent().Text).Text).Clear(). if (a < b && b < c) { textBox4. textBox3.Forms. EventArgs e) { int a. EventArgs e) { textBox1. } } private void button2_Click(object sender.Clear().Parse(textBox3. b. } private void button1_Click(object sender. c.Close().Text = Convert.Clear(). using System.ToString("Si ordenados en forma creciente").Clear().Parse(textBox2.Text). EventArgs e) { this. b = int. } else { textBox4.Parse(textBox1. } private void button3_Click(object sender. Estructura Selectiva (Múltiple) 116 Codificación en C# using System.

Estructura Selectiva (Múltiple) 117

Escribir un programa que permita introducir por teclado tres letras y
responda si existen al menos dos letras iguales.

Pseudocódigo
1. Iniciar programa
2. Declarar variables
Let1, let2, let3: Carácter
3. Leer let1, let2, let3
4. Si let1=let2=let3=let2=let3 Entonces
4.1. Imprimir “Existe un par de caracteres iguales”
5. Fin_Si
6. Finalizar programa
Diagrama de flujo

Inicio

Let1, Let2, Let3

Let1=Let2
Let1=Let3
Let2=let3 V

Ordenados en forma
F creciente

Fin

Diseño

Estructura Selectiva (Múltiple) 118

Codificación en C#
using System;
using System.Windows.Forms;
namespace Letras_iguales
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
char let1, let2, let3;
let1 = char.Parse(textBox1.Text);
let2 = char.Parse(textBox2.Text);
let3 = char.Parse(textBox3.Text);
if (let1 == let2 || let1 == let3 || let2 == let3)
{
textBox4.Text = Convert.ToString("Hay al menos dos
caracteres iguales");
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
}
private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Ejercicio 34

Estructura Selectiva (Múltiple) 119

Realizar un programa que pida dos números enteros por teclado y muestre
por pantalla el siguiente menú:

MENU
1. Sumar
2. Restar

3. Multiplicar

Solución
Declarar variables
Leer números
Mostrar menú
Leer opción
Según la opción ingresada, realizar operación
Mostrar resultado

Pseudocódigo
1. Iniciar programa
2. Declarar variables
a, b, opción: Entero
r: Real
3. Leer a, b
4. Escribir Menú
4.1. Sumar
4.2. Restar
4.3. Multiplicar
4.4. Dividir
“Elija opción”
5. Leer Opción
6. Leer a, b
7. En caso de opción
7.1. Caso1: r=a+b
7.2. Caso2: r=a-b
7.3. Caso3: r=a*b
5.4. Caso4: r=a/b
8. Fin_Caso
8.1.-Imprimir el resultado es “r”
9. Finalizar programa

Estructura Selectiva (Múltiple) 120 Diagrama de flujo Inicio a. RESTAR 3. b MENU 1. MULTIPLICAR 4. DIVIDIR “Elija opción” Opción opción 1 2 3 4 r=a-b r =a+b r=a*b r=a/b r Fin . SUMAR 2.

Clear(). Estructura Selectiva (Múltiple) 121 Diseño Codificación en C# using System.Close(). break. EventArgs e) { this. int opcion. switch (opcion) { case 1: r = a + b. opcion = int.Text). using System. } private void button1_Click(object sender. default: r = 0. a = int. textBox3. b. } } } AÑOS Ejercicio 35 CATEGORIA A 20 – 30 B 15 – 20 C 10 – 15 D 00 – 10 .Clear(). break. break.Clear().Windows.Text). r.ToString(r).Parse(textBox1. } private void button2_Click(object sender. textBox4. textBox2. } textBox4.Text = Convert. case 2: r = a .Text). namespace Menu_de_operaciones { public partial class Form1 : Form { public Form1() { InitializeComponent().Forms.Clear(). b = int. case 3: r = a * b.Parse(textBox3. } private void button3_Click(object sender.Parse(textBox2. break.b. case 4: r = a / b. EventArgs e) { float a. break. EventArgs e) { textBox1.

3. CATE”B” 5.3. En caso de CATE 7. Iniciar programa 2.1.2.1. Imprimir el nuevo sueldo es “s” La categoría es “CATE” Tiempo de servicios “TS” 10.15 7. un 12% en caso la categoría sea B. Caso C: s=S*1.2. S 4. Sino 5.2.2. La categoría está dada por la siguiente tabla: Solución Declarar variables Leeer año de sevicio y el sueldo Según sea la categoria. Fin_Si 9. SiNo 5.2. Caso D: s=S+15 8. Finalizarprograma Diagrama de flujo .2. si la categoría es C aumento del 10% y para la categoría D se aumentaran S/.3. CATE “A” 5. realizar el aumento Mostrar resultado Pseudocódigo 1. Caso A: s=S*1. Si TS>=0 Y TS<10 Entonces 4.1.2. Imprima el sueldo con el aumento incorporado. Fin_Si 7.1. Leer TS. la categoría y el tiempo de servicio del trabajador.2.1.2. CATE”D” 5. Si TS>=10 Y TS<15Entonces 5.2.1. Declarar variables TS. Fin_Si 5. S: Real CATE: Carácter 3. Si TS>=20 Y TS<30 Entonces 5. Estructura Selectiva (Múltiple) 122 Dado como el dato el tiempo de servicio de un trabajador.2. SiNo 5.1. Caso B: s=S*1. Si TS<=15 Y TS<20 Entonces 5. CATE “C” 5.15.2.1. Fin_Si 6.4.1. considere un aumento del 15% si la categoría del trabajador es A.2.12 7.10 7.1. Fin_Si 5.2.1.

TS.9 cate= D 9 V F cate= C 15<=TS<20.10 s=S+15 S.9 V 20<=TS<30.12 s=S*1. CATE Fin Diseño . S F 0<=TS<10 V F 10<=TS<15.15 s=S*1. Estructura Selectiva (Múltiple) 123 Inicio TS.9 cate= B 9 V cate= A F cate A B C D s=S*1.

case "c": s = S * 1. namespace Aumento_trabajador_segun_categoria { public partial class Form1 : Form { public Form1() { InitializeComponent(). Estructura Selectiva (Múltiple) 124 Codificación en C# using System.Text). textBox4. textBox2. if (TS >= 0 && TS < 10) cate = "d".ToString(s).Clear(). EventArgs e) { float TS.Parse(textBox1. S = float. break.10.Windows.Clear().12. else if (TS >= 20 && TS < 30) cate = "a".Text = Convert. case "d": s = S + 15. using System.Clear(). double s = 0. . TS = float. EventArgs e) { textBox1. else if (TS >= 15 && TS < 20) cate = "b". } textBox3.Parse(textBox2. switch (cate) { case "a": s = S * 1. S. } private void button1_Click(object sender. textBox5.Text = Convert.Clear().15. textBox3. string cate = "". else if (TS >= 10 && TS < 15) cate = "c". break.Text). case "b": s = S * 1.ToString(cate).Forms. } private void button2_Click(object sender. textBox4.ToString(TS + " años"). break.Text=Convert. break.

Sino 6. Hacer menor=n3 6. Fin_Si 7.2.3.2. el promedio y la palabra “aprobado” si el alumno tiene un promedio mayor o igual que 10. Imprimir Matrícula “p” 10.5 Entonces 10. menor. n5.2.Clear().2.5.1.2. n4.1. Declarar variables n1. Hacer menor=n2 6. Fin_Si 6.1. n2. menor=n1 5. Sino 11. n3. y la palabra “no aprobado” en caso contrario. Escribir Aprobado 11.2. } private void button3_Click(object sender.1. imprima la matricula.n3. Sino 6. Si n3<menor Entonces 6. n2. Leer n1. Estructura Selectiva (Múltiple) 125 textBox5.2. Iniciar programa 2.3.1.2.1.Close(). Si n5<menor Entonces 6.2. } } } Ejercicio 36 Construya un pseudocódigo tal que.2. Escribir Reprobado . p: Real matricula: Cadena de Caracteres 3.2.1. Hacer menor=n5 6. Si n2<menor Entonces 5.n4.2. EventArgs e) { this. Hacer menor=n4 6.1. Si n4<menor Entonces 6. Si P>10. Calcular p=(n1+n2+n3+n4+n5-menor)/4 9. Fin_Si 6. dados como datos la matrícula y 5 calificaciones de un alumno.1.1.1. Solución: Declarar variables Leer notas Eliminar la menor nota Calcular promedio Reportar resultado y estado del alumno Pseudocódigo 1. Fin_Si 8.1.2. n5 4. Sino 6.

p p>=10.5 V 99 matricula. n2. n3. Fin_Si 13. n4. p F Diseño Fin . Finalizarprograma Diagrama de flujo Inicio n1. Estructura Selectiva (Múltiple) 126 12. n5 matricula menor=n1 F n2<menor V V menor=n2 F n3<menor 99 menor=n3 n4<menor 99 V ” F menor=n3 n5<menor 99 V menor=n3 F p=(n1+n2+n3+n4+n5-menor)/4 matricula.

Parse(textBox2. Estructura Selectiva (Múltiple) 127 Codificación en C# using System. namespace Notas_promedio { public partial class Form1 : Form { public Form1() { InitializeComponent().Text).Text).Forms. } private void button1_Click(object sender.Text).Parse(textBox6.Text). string matricula = (textBox1.Parse(textBox3. EventArgs e) { float menor. . else if (n3 < menor) menor = n3. int n1 = int. p. menor = n1.Parse(textBox5. int n4 = int. int n3 = int. using System.Text). int n5 = int.Windows. else if (n4 < menor) menor = n4.Text). if (n2 < menor) menor = n2. int n2 = int.Parse(textBox4.

Estructura Selectiva (Múltiple) 128

else
if (n5 < menor)
menor = n5;
p = (n1 + n2 + n3 + n4 + n5 - menor) / 4;
textBox7.Text = Convert.ToString(matricula);
textBox8.Text = Convert.ToString(p);
if (p >= 10.5)
textBox9.Text = Convert.ToString("Aprobado");
else
textBox9.Text = Convert.ToString("No aprobado");

}

private void button2_Click(object sender, EventArgs e)
{
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
textBox9.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

Ejercicio 37
Diseñe un algoritmo que permita analizarla validez de una fecha
considerando que año válido sea mayor a 1800.

Estructura Selectiva (Múltiple) 129

Solución:
Declarar variables
Leer fecha
Obtener número máximo de días que contiene los meses del año

Pseudocódigo:
1. Iniciar programa Inicio
2. Declarar variables
dd, mm, aa nDias: dd, mm, aa
Entero
3. Leer dd,mm, aa
4. En Caso de mm
4.1 Caso 1: ndías=31 mm
4.2 Caso 2:
4.2.1. SI (aa1 2Mod3 4 54=0
6 7 8y 9aa
10 11
MOD 400=0) 0 (aa Mod
400=0) Entonces 12
ndías=31
4.2.1.1. Hacer ndias=29. ndías=31
4.2.2. SiNo
(aa%4=0 4.2.2.1. Hacer ndías=28 ndías=30
4.3. Caso
aa%400=0) o 3: ndías=31
aa%400=0
4.4. Caso 3: ndías=30 ndías=31
F 4.5. Caso
V 3: ndías=31
4.6. Caso 3: ndías=30
ndías=29 ndías=30
4.7. Caso 3: ndías=31
ndías=28
4.8. Caso 3: ndías=31
ndías=31
4.9. Caso 3: ndías=30
4.10. Caso 3: ndías=31
ndías=31 ndías=31
4.11. Caso 3: ndías=30
4.12. Caso 3: ndías=31
ndías=30
5. Fin_Caso
6. Si AA>1800 y (MM>0 y MM<=12) y (DD<=NDías)
ndías=31
6.1 Imprimir fecha Válida
7. SiNo
Ndías=30
7.1 Imprimir fecha no válida
8. Fin_Si
9. Finalizar programa

aa>1800 y (mm>0 y V
Diagrama de flujo
mm<=12) y (dd>0 y
dd<=ndías)

F “Válida”

“Inválida”

Fin

Estructura Selectiva (Múltiple) 130

Diseño

Parse(textBox2.Text). break. using System. case 7: ndias = 30. case 12: ndias = 31. break.Text). break.Text). mm. case 9: ndias = 30.Forms. case 10: ndias = 31. case 6: ndias = 31. case 8: ndias = 31.Windows. break. break. ndias = 0. break. case 2: if ((aa % 4 == 0 && aa % 100 != 0) || (aa % 400 == 0)) ndias = 29. break. aa. case 11: ndias = 30. break. Estructura Selectiva (Múltiple) 131 Codificación en C# using System. break.Parse(textBox3. break. break. } private void button1_Click(object sender. .Parse(textBox1. EventArgs e) { int dd. aa = int. namespace Validar_fecha { public partial class Form1 : Form { public Form1() { InitializeComponent(). mm = int. case 4: ndias = 31. else ndias = 28. switch (mm) { case 1: ndias = 31. break. case 3: ndias = 31. case 5: ndias = 30. dd = int.

Clear().Text=Convert. } } } Ejercicio 38 .ToString("Fecha no válida"). textBox3.ToString("Fecha válida"). } private void button3_Click(object sender. Estructura Selectiva (Múltiple) 132 } if (aa > 1800 && (mm <= 12) && (dd > 0 && dd <= ndias)) textBox4. } private void button2_Click(object sender. textBox4.Clear().Clear(). else textBox4. EventArgs e) { this. EventArgs e) { textBox1.Clear().Close(). textBox2.Text = Convert.

Caso 3: ndías=31 4. aa: Entero 3.1. 2. Caso 1: ndías=31 mm 4. Hacer ndías=28 ndías=30 4.4. Leer dd. E n caso de mm 4. Caso 3: ndías=30 ndías=31 4.1.10. ndías=31 4. Caso 3: ndías=31 ndías=31 4. Declarar variables dd. Fin_Caso ndías=30 6.1.2.5. mm.ndías=28 Caso 3: ndías=31 4. Iniciar programa 2.11. Caso 2: 1 2 3 4 5 6 7 8 9 10 11 12 4.2. Estructura Selectiva (Múltiple) 133 Diseñe un algoritmo que permita calcular el día siguiente de una fecha dada.2.8. Si DD>ndías Entonces ndías=31 7. aa dd.2. Caso 3: ndías=31 aa%400=0) o 4.ndías=29 Caso 3: ndías=30 ndías=30 4.12. aa 4.1. Hacer ndias=29.1. mm.2. mm.9.7.2. Caso 3: ndías=31 ndías=31 V 4. mm.1 Calcular dd=1 mm=mm+1 ndías=30 7.1. Caso 3: ndías=31 5. Si (aa Mod 4=0 y aa MOD 400=0) 0 (aa Mod ndías=31 400=0) Entonces 4.2. dd=dd+1 7.3. Pseudocódigo Inicio 1.aa 10. Fin_Si ndías=30 9.2 Si mm>12 Entonces 7.3 Fin_Si 8. Escribir día siguiente es: dd. asumir que la fecha ingresada es válida.6. Caso 3: ndías=30 ndías=31 4.aa%400=0 Caso 3: ndías=30 F 4. Calcular mm=1 aa=aa+1 7. Finalizar el programa dd=1 dd=1 dd>Ndías mm=mm+1 dd>ndías mm=mm+1 V V Diagrama de flujo F F “Inválida” Fin . SiNo (aa%4=0 4.

Estructura Selectiva (Múltiple) 134 Diseño .

break. case 3: ndias = 31. break. ndias = 0.Parse(textBox3. break. aa. } private void button1_Click(object sender. case 4: ndias = 31. break. break. break.Forms. case 6: ndias = 31. case 2: if((aa % 4 == 0 && aa % 100 != 0) || (aa % 400 == 0)) ndias = 29. break. using System.Text).Parse(textBox1. case 7: ndias = 30.Text). case 12: ndias = 31. break. break. Estructura Selectiva (Múltiple) 135 Codificación en C# using System. case 8: ndias = 31. case 5: ndias = 30. case 9: ndias = 30. EventArgs e) { int dd.Parse(textBox2. dd = int. case 11: ndias = 30. aa = int.Windows. break. break. namespace Dia_siguiente { public partial class Form1 : Form { public Form1() { InitializeComponent(). } . switch (mm) { case 1: ndias = 31. mm. else ndias = 28. break. case 10: ndias = 31.Text). mm = int.

EventArgs e) { textBox1.Clear(). Estructura Selectiva (Múltiple) 136 dd = dd + 1. } private void button2_Click(object sender. se calcule el número de días que han transcurrido desde el único del año.Close(). mm = mm + 1. } } } Ejercicio 39 Diseñe un algoritmo que dado una fecha. if (dd > ndias) { dd = 1.Text=Convert. textBox3.Clear(). Considere que la fecha ingresada es válida: Solución: Declarar variables Leer fecha Calcular los días del mes de febrero Calcular días transcurridos según sea el mes ingresado Imprimir el número de días transcurridos Pseudocódigo . aa = aa + 1. } } textBox4. textBox4. } private void button3_Click(object sender. textBox2. if (mm > 12) { mm = 1.Clear(). EventArgs e) { this.ToString(dd + "/" + mm + "/" + aa).Clear().

1.8.4. Caso3: suma=aux+dd+31 7. Hacer aux=29 5.1. Fin_Si 7. aa 4. Hacer aux=28 6.9. Declarar variables dd. Suma=dd 7. Caso9: suma=aux+dd+215 7.12.7. Leer dd.1. mm. Caso6: suma=aux+dd+123 7.6. Imprimir “los días transcurridos son”. Caso4: suma=aux+dd+62 7.5. aa: Entero aux. Caso8: suma=aux+dd+184 7.2. Finalizar programa Diagrama de flujo .3. Iniciar programa 2. En Caso de mm 7. Caso11: suma=aux+dd+276 7.10. Caso7: suma=aux+dd+153 7. Si (aa Mod 4=0 Y aa MOD 400=0) O (aa Mod 400=0) 4. Caso5: suma=aux+dd+92 7. Caso10: suma=aux+dd+245 7.11. Caso2: suma=dd+31 7. suma: Entero 3. Caso12: suma=aux+dd+306 8. SiNo 5. mm. suma 10. Fin_Caso 9. Estructura Selectiva (Múltiple) 137 1.

mm. aa (aa%4=0 y aa%400) o F aa%400=0 V ndías=29 ndías=28 mm 1 2 3 4 5 6 7 8 9 10 11 12 suma=aux+dd+306 suma=dd suma=dd+31 suma=aux+dd+276 suma=aux+dd+31 suma=aux+dd+245 suma=aux+dd62 suma=aux+dd+215 suma=aux+dd+92 suma=aux+dd+184 suma=aux+dd+123 suma=aux+dd+153 suma Fin Diseño . Estructura Selectiva (Múltiple) 138 Inicio dd.

case 11: suma = aux + dd + 276. mm = int.Parse(textBox1. suma = 0.Text). break. case 5: suma = aux + dd + 92. case 9: suma = aux + dd + 215.Parse(textBox2. break. break. case 10: suma = aux + dd + 245. EventArgs e) { int dd. case 7: suma = aux + dd + 123. } private void button1_Click(object sender. break. aa. if ((aa % 4 == 0 && aa % 400 == 0) || (aa % 400 == 0)) aux = 29. aux.Forms. break. break. case 8: suma = aux + dd + 184. break. aa = int. else aux = 28. break. break. break.Windows. case 4: suma = aux + dd + 62.Text).Text).Parse(textBox3. break. dd = int. break. Estructura Selectiva (Múltiple) 139 Codificación en C# using System. . case 3: suma = aux + dd + 31. mm. using System. case 12: suma = aux + dd + 306. switch (mm) { case 1: suma = dd. case 6: suma = aux + dd + 123. case 2: suma = dd + 31. namespace Dias_transcurridos { public partial class Form1 : Form { public Form1() { InitializeComponent().

Clear(). } private void button3_Click(object sender. EventArgs e) { this. textBox3.Clear(). EventArgs e) { textBox1. Estructura Selectiva (Múltiple) 140 } textBox4. textBox4.Close(). } private void button2_Click(object sender.ToString(suma+" días"). textBox2. } } } EJERCICIOS PROPUESTOS Ejercicio 01 .Clear().Clear().Text=Convert.

y /. determine cuál es el nombre del canal. considere que 1 es domingo. devuelva el nombre del operador. Estructura Selectiva (Múltiple) 141 Enunciado: Dado el número de un mes. *. Ejercicio 02 Enunciado: Lea un número del 1 al 7 y devuelva el día de la semana. Ejercicio 04 Enunciado: Dado un número de un canal de televisión. Ejercicio 05 Enunciado: En la empresa System Data se ha determinado la siguiente política de descuento. Sex o HOMBRES MUJERES Tarjeta Obrero 20% 15% Empleado 30% 25% Determinar mediante un programa. devolver el mes en letras. Ejercicio 06 Enunciado: Una frutería ofrece las manzanas con descuento según la siguiente tabla: Kilos % Descuento 00 al 04 0% 05 al 10 5% 11 al 15 10% 16 al 20 15% 21 al 25 20% 26 al 30 25% Determinar cuánto pagará una persona que compre mangos en esa frutería . cuál será el monto del descuento al sueldo ingresado de un trabajador. Ejercicio 03 Enunciado: Dado los siguientes operadores aritméticos +. -.

Entonces tenemos un valor de verdad o falsedad. digamos que para que se ejecute una estructura repetitiva se requiere que sea verdadera. las cuales nos permiten ejecutar un mismo proceso tantas veces sea necesario y en unas pocas CAPITULO V líneas de código. ESTRUCTURAS REPETITIVAS Sería posible con lo aprendido hasta ahora leer uno. y cuál sería el resultado si tendríamos que leer cien números o más. dos o tres números. si se tratase de tres números tendríamos tres líneas de código. resultaría un programa muy extenso. es decir el código desarrollado en la estructura deberá en algún momento cambiar dicho valor de verdad a falso para que la estructura repetitiva termine y no caer en un bucle infinito. Fundamentos de Programación . el cuerpo del programa contenido en la estructura. Este pequeño problema se soluciona usando las estructuras repetitivas. es decir que este nunca termine.

forzar la salida del bucle y continuar el inicio del bucle. dentro de las cuales las infaltables son mientras (while) y para (for). j←j+1 j--. llamados también bucles. para esto os lenguajes de programación incorporan una instrucción que permite realizar dicha operación. estas incorporan dos o más estructuras repetitivas. bucle Dependiendo el lenguaje de programación. se conoce como variable contador Ejemplo de pseudocódigo C# c←c+1 c = c + 1. por ejemplo una variable c cuyo valor se incrementa de 1 en 1. Salir de bucle: Es una instrucción que permite forzar la salida de un bucle. Estructura Repetitivas 143 ESTRUCTURA MIENTRAS Introducción Muchas veces se requiere repetir una o varias instrucciones para llevase a cabo una tarea. con las cueles se puede resolver todo tipo de problema que involucre repetitivos. i←i+1 i+= 2. acumuladores. j←j+i j-= i. Contador: Son variables enteras que se incrementa (+) o decremento (-) con un valor constante. i←i+c i+= c. Ejemplo de pseudocódigo C# c←c+x c = c + x. por ejemplo la variable c cuyo valor se incrementa por el valor que se va tomando otra variable llamada x. Cuando se trabaja con estas estructuras se utiliza términos como contadores. Acumulador: Son variables de cualquier tipo que almacenan valores variables. Pseudocódigo Salir C# . en la programación se cuenta con estructuras que periten realizar este proceso.

>) Mientras Exp. Estructura Repetitivas 144 break. Log. Continuar al inicio del bucle: Es una instrucción que permite saltar al inicio del bucle para volver a ejecutarse. Fin mientras } . cuando la condición es falsa sale bucle. Instrucción n Instrucción n>. Estructura(hacer mientras)(do while) Permite repetir una o más instrucciones hasta que la condición (expresión lógica) sea verdadera. Lógica F V Instrucción 1 Instrucción n intaxis C# While (<Exp. Lógica { Instrucción 1 Instrucción 1>. Pseudocódigo C# Continuar continue. para esto los lenguajes de programación incorporan una instrucción que permita realizar dicha operación. Exp.

sue10 4. sue4. sue3. sue7. sue10: entero nomina: Real 3. sue4. Finalizar programa Diagrama de flujo Inicio sue1. sue2. sue9. sue3. sue9. sue5. sue5: entero sue6. sue8. sue9. sue8. Iniciar programa 2. Calcular nomina= sue1+ sue2+ sue3+ sue4+ sue5+sue6+sue7+sue8+ sue9+ sue10 5. sue5 sue6. sue4. sue8. sue7. sue2. sue3. sue7. Declarar variables sue1. sue6. Leer sue1. Estructura Repetitivas 145 Ejercicio 40 Construya un algoritmo que dado como datos los sueldos de 10 trabajadores de una empresa. obtenga el total de nómina de la misma. Imprimir el total de la nómina es “nomina” 6. sue2. considere demás que no puede utilizar estructuras lógicas repetitivas en la solución del problema: Solución: Declara variable Leer sueldos Calcular la nómina Mostrar la nómina Pseudocódigo 1. sue1 nomina= sue1+ sue2+ sue3+ sue4+ sue5+sue6+sue7+sue8+ sue9+ sue10 suma Fin .

Parse(textBox3. sue5 = int.Windows. double nomina.Text). sue4.Text). sue8.Parse(textBox6. EventArgs e) { float sue1. namespace Sueldo_10_trab { public partial class Form1 : Form { public Form1() { InitializeComponent(). sue2 = int. sue5. sue9 = int. using System.Text). sue2. .Parse(textBox10.Parse(textBox9. sue7 = int.Parse(textBox1. sue3. sue1 = int.Parse(textBox2.Text). Estructura Repetitivas 146 Diseño Codificación en C# using System. sue6 = int. sue10 = int.Parse(textBox5. sue6.Forms.Parse(textBox8.Parse(textBox7.Text). sue10.Text). } private void button1_Click(object sender.Text). sue9.Text). sue8 = int.Parse(textBox4.Text).Text). sue3 = int. sue7. sue4 = int.

Hacer i=0 Contador de ceros=0 4. n.Clear(). textBox9. textBox4. Si num=0 Entonces 5. Leer num 5. textBox8.2.Clear().1.Clear().1.Clear(). textBox5.Clear(). textBox3. de ser así agregar una unidad al contador de ceros Mientras no se cumplan el total de número leído.Clear().Clear().Text = Convert. Repetir 5. EventArgs e) { textBox1. contador de ceros. textBox6. num: Entero 3. textBox11.Close().Hacer contador de ceros=contadordeceros+1 . } private void button2_Click(object sender. textBox11. Declarar variables i. Leer n 5.Clear(). Estructura Repetitivas 147 nomina = sue1 + sue2 + sue3 + sue4 + sue5 + sue6 + sue7 + sue8 + sue9 + sue10.Clear(). textBox10.2. Iniciar programa 2.Clear(). } private void button3_Click(object sender. } } } Ejercicio 41 Escriba un pseudocódigo que dados como datos n números enteros. textBox2. Mostrar cantidad de números leídos Pseudocódigo 1. textBox7. EventArgs e) { this.Clear(). obtenga el número de ceros que hay entre estos números: Solución: Declarar variables Leer cantidad de números a leer Hacer Comprobar si el número leído es cero.ToString(nomina).

3. Hasta que i=n 7. Fin_Si 5.4. Imprimir contador de ceros 8. Estructura Repetitivas 148 5. Calcular i=i+1 6. Finalizarprograma Diagrama de flujo Inicio i=0 contadordeceros= 0 n num num=0 V F V contadordeceros=contadordeceros+1 i=i+1 i <n F contador de ceros Fin .

} private void button1_Click(object sender. if (num == 0) { contadorceros++. EventArgs e) { num = int.Parse(textBox2. num. return. n. EventArgs e) { n = int. groupBox2. //Inicializamos las variables i = 1.Windows. groupBox1. // Declaramos las variables public Form1() { InitializeComponent(). contadorceros. contadorceros = 0. using System. .Forms.Text). namespace Cantidad_de_ceros { public partial class Form1 : Form { int i. Estructura Repetitivas 149 Diseño Codificación en C# using System.Parse(textBox1. } private void button2_Click(object sender.Text).Enabled = false. } if (i == n) { groupBox2.Enabled = true.Enabled = false.

1:".Clear().ToString(contadorceros). } private void button5_Click(object sender. textBox3. label3. } private void button3_Click(object sender.Close(). EventArgs e) { i = 1. contadorceros = 0.Clear(). " + i + ":". } } } . EventArgs e) { textBox3. } private void button4_Click(object sender. Estructura Repetitivas 150 } i = i + 1. textBox2.Text = "Núm.Text = Convert.Enabled = true. EventArgs e) { this. label3.Text = "Núm. groupBox1.Clear(). textBox1.Clear(). textBox2.

en caso contrario termina el ciclo. La estructura while es la adecuada para utilizar en un ciclo cuando no sabemos el número de veces que este se ha de repetir.>) { Instrucción 1 While (<Exp. Lógica V F Exp. Ejemplo del promedio de las calificaciones de un examen. Tenemos que sumar las calificaciones e ir contando el número de alumnos. Lógica Mientras Exp. Lógica V Instrucción 1 Instrucción n Sintaxis C# Mientras Exp. Esta estructura se ejecuta mientras la condición es verdadera. pero no sabemos precisamente cuantos alumnos lo aplicaron. Fin mientras Instrucción n>. Log. } } . F Exp.El ciclo se repite mientras tengamos calificaciones de alumnos. La condición evalúa al inicio del mismo. Lógica While (<Exp. Log. Estructura Repetitivas 151 Estructura mientras (while) Dentro de la estructura repetitiva es posible colocar una o más estructuras repetitivas así como otras estructuras. esto con el fin de obtener posteriormente el promedio. Dicho número depende de las proposiciones dentro del ciclo.>) Instrucción n { Fin mientras Instrucción 1>. En estructura while se distinguen dos partes Ciclo: conjunto de instrucciones que se ejecutaran repetidamente Condición de terminación: la evaluación de esta condición permite decidir cuándo finalizara la ejecución del ciclo.

Escribir sumagas 8. Mientras gasto<> -1 5. Leer gasto 5.1. Fin del mientras 7. pero no sabemos exactamente cuántos fueron. Estructura Repetitivas 152 Ejercicio 42 Supongamos que debemos obtener la suma de los gastos que hicimos en nuestro último viaje. Iniciar programa 2. gasto: Real 3.2. Declarar Variables sumagas. Nota: se termina el proceso cuando gasto es igual a “ -1” Solución: Declarar variables Inicializar acumulador de gastos Leer primer gasto Mientras gasto sea válido Incrementar acumulador con el valor de gasto Leer nuevo gasto Reportar total de gastos Pseudocódigo 1. Leer gasto 6. Hacer sumagas=0 4. Finalizar programa Diagrama de flujo Inicio sumagas= 0 gasto gasto<> -1 V sumagas+= gasto F gasto sumagas Fin . Calcular sumagas+=gasto 5.

Estructura Repetitivas 153 Diseño Codificación en C# using System.Text = Convert. } else { i++.ToString(sumagas).Text = "Gasto " + i +":". gasto. public Form1() { InitializeComponent().Windows. EventArgs e) { gasto = float.Forms.Clear(). textBox1. i = 1. } . sumagas += gasto. } } private void button2_Click(object sender. namespace Suma_de_gastos { public partial class Form1 : Form { float sumagas. } private void button1_Click(object sender. sumagas = 0.Enabled = false. EventArgs e) { textBox2. label2. if (gasto == -1) { groupBox1.Parse(textBox1. int i. using System.Text).

cuando las horas extras exceden de 8 se pagan las primeras 8 al doble de lo que se paga por una hora normal y el resto al triple . Mientras (nh>40) total=sueldo 5.1. Se sabe que cuando las horas que trabajó un obrero exceden de 40.Close(). considere que todos los obreros ganane mismo sueldo($200) Solucion: Declarar variables y constantes Hacer Leer numero de horas trabajadas Dependiendo del numero total de horas trabajadas calcular el sueldo final Mostrar sueldo Mientras variable de condicion des falsa Pseudocódigo 1.Clear(). Estructura Repetitivas 154 private void button3_Click(object sender.Clear(). Hacer total=0 Hacer sh=sueldo /40 4.Text = "Gasto "+i+":". Leer c. Calcular total=sueldo+(sh*2*(nh-48) 6. SiNo 6. Mientras (nh-40)>8 5. Fin_Si . Iniciar programa 2. EventArgs e) { i = 1. textBox2. textBox1. p 5. Calcular total=sueldo+(sh*2*(nh-40) 6. } private void button4_Click(object sender.2.1. EventArgs e) { this. el resto se convierte en horas extras que se pagan el doble de una hora normal . cuando no excenden de 8. label2. } } } Ejercicio 43 Determine la cantidad semanal de dinero que recibira cada uno de los N obreros de una empresa .sh: Real 3. Declarar variables c. p: Real nh.2.

sh=sueldo/40 c. Imprimir total 7. Estructura Repetitivas 155 6. p F nh>40 V total=sueldo (nh=40)<8 F V total=sueldo+(sh*2*(nh-40) total sueldo+(sh*2*(nh-48) total r r = “s” Fin . Finalizar programa Diagrama de flujo Inicio total= 0.

40) > 8) // si horas extras son mayores a 8 total = sueldo + (sh * 16) + (sh * 3 * (nh .Close().40)). } private void button3_Click(object sender. else total = sueldo + (sh * 2 * (nh . //Todos los obreros ganan el mismo sueldo total = 0. sh. // predeterminado porque exceden de 40 textBox2.48)).ToString(total). nh = float.Clear(). EventArgs e) { textBox1.Forms. const float sueldo = 200. using System. namespace Sueldo_200 { public partial class Form1 : Form { public Form1() { InitializeComponent(). textBox2.Text). } private void button1_Click(object sender. nh. EventArgs e) { float total. Estructura Repetitivas 156 Diseño Codificación en C# using System.Text=Convert.Clear(). sh = sueldo / 40. EventArgs e) { this. if (nh > 40) if ((nh . } private void button2_Click(object sender. } } . else total = sueldo.Windows.Parse(textBox1.

Leer n. Mientras n>0 5. s 5.1. Declarar variables n. Iniciar programa 2. Calcular s=s+n Calcular n=n-2 6. Hacer n=100. Finalizar programa Diagrama de flujo Inicio n=100 s=s+n V n=n+n-2 n>0 F s Fin .s: Real 3. Imprimir s 8. s=0 4. Fin del mientras 7. Estructura Repetitivas 157 } Ejercicio 44 Calcular la siguiente suma: 100 + 98 + 96 + 94 + … + 0 en este orden: Solucion: Declarar variables y constantes Inicializar variables Hacer Calcular suma y decermentar el numero en dos unidaddes Mientras numero sea mayor que cero Mostrar suma Pseudocódigo 1.

} while (n > 0). using System. EventArgs e) { this. do { s += n. Estructura Repetitivas 158 Diseño Codificación en C# using System.Windows. EventArgs e) { float s. EventArgs e) { textBox1. n = 100. n -= 2. namespace Calculo_serie_100 { public partial class Form1 : Form { public Form1() { InitializeComponent(). } private void button1_Click(object sender.Clear(). s = 0. n. } } } . } private void button2_Click(object sender.ToString(s).Forms.Text=Convert.Close(). textBox1. } private void button3_Click(object sender.

Estructura Repetitivas 159 Ejercicio 45 Construya un pseudocodigo que calcule e imprima la suma de los N primeros números naturales. Declarar variables i. Leer n 5. Solución: Declarar variables Leer primer numero Mientras numero sea valido Acumular numero Leer nuevo número Mostrar suma de los n primeros números Pseudocódigo 1. Hacer i=1 y suma=0 4. Imprimir suma 8. Fin _Mientras 7. Mientras i<=n 5. n. Calcular suma=suma+i i=i+1 6.1. Iniciar programa 2. Finalizar programa Diagrama de flujo Inicio i=1 suma=0 n i<=n V F suma=suma+1 i=i+1 suma Diseño Fin . suma: Real 3.

} private void button2_Click(object sender. suma = 0.Parse(textBox1.Windows. i++. textBox2. } private void button1_Click(object sender. EventArgs e) { this. } } } Ejercicio 46 .Text += " = " + suma.Text = "0". n. while (i <= n) { textBox3.Text=Convert. textBox3. } textBox3.Clear().Clear(). } private void button3_Click(object sender. using System. n = int. textBox3. EventArgs e) { textBox1. suma += i. EventArgs e) { int i.Forms. i = 1.Text += " + " + i.Close(). namespace Suma_n_naturales { public partial class Form1 : Form { public Form1() { InitializeComponent().Clear(). Estructura Repetitivas 160 Codificación en C# using System. textBox2.Text). suma.ToString(suma).

Hacer i=0 sumcal=0 4. Escriba un pseudocodigo para resolver lo planeado: Ojo: se termina el proceso cuando nota es menor a “cero”. Finalizar programa Diagrama de flujo Inicio i=0 sumcal=0 nota nota>=0 V sumcal=sumcal+nota i=i+1 F nota sumcal/1 Fin Diseño . Estructura Repetitivas 161 Se tienen las calificaciones de un grupo de alumnos que presentaron un examen.1. Fin _Mientras 7. sumcal: Real 3. Declarar variables i: Enteros nota. Iniciar programa 2. Leer NOTA 5. Calcular sumcal=sumcal + nota i=i+1 5. Leer nota 6. El profesor desea obtener el promedio de estas calificiones. Escribir sumcal/i 8.2. Pseudocódigo 1. Mientras (NOTA>=0) 5.

EventArgs e) { textBox2. sumacal=0. textBox1. label2. public Form1() { InitializeComponent(). } sumcal += nota. textBox2. nota. EventArgs e) { nota = float. using System. } private void button3_Click(object sender. i++. } } } Ejercicio 47 . groupBox1. label2.Parse(textBox1.Forms.ToString(sumcal / i).Enabled = false. EventArgs e) { textBox1. } private void button1_Click(object sender. } private void button2_Click(object sender.Text).Clear().Enabled = true. Estructura Repetitivas 162 Codificación en C# using System. return.Text = "Nota 1:". EventArgs e) { this. sumcal.Text = Convert.Text = "Nota " + (i + 1) + ":".Clear(). i=0. namespace Promedio_calificacionees { public partial class Form1 : Form { float i.Windows. } private void button4_Click(object sender. sumcal = 0. i = 0.Clear().Close(). if (nota < 0) { groupBox1.

Imprimir proimpar. Calcular i=i+1 5.4.1. Calcular proimpar=sumimpar/conimpar 7. Hacer i=0 sumpar=0 sumimp=0 conceros=0 conimpar=0 4. proimpar: Enteros conimpar. Calcular sumpar=sumpar+num 4.2.3. sumimpar.1. Declarar variables sumpar. Fin_Mientras 6. conceros 8. Leer num 4. Finalizar programa Diagrama de flujo . i.1. sumpar. suma número pares y la cantidad Pseudocódigo 1.Sino 4.2.2.1. contabilizar cuantos ceros se ingresan. Estructura Repetitivas 163 Escriba un pseudocodigo . Iniciar programa 2. Calcular conceros=conceros+1 4. Fin_Si 4. Si (-1 num)>0 Entonces 4.3. Calcular conimpar=conimpar+1 sumipar=sumimpar+num 4.. conceros. Calcular promedio de numeros impares Resportar promedio de número de impares.2.5. Fin_Si 4.-Sino 4.2.1.1. (Si num<> 0) Entonces 4. Solución: Declarar variables Inicializar contadores y acumuladores Mientras contador sea menor a 270 Leer numero Si el numero es par . num: Real 3.3.2. sumar impares y contabilizar los números impares Si el número es cero. que dados como datos 270 numeros enteros obtener la suma de los numeros pares y el promedio de los numeros impares ademas indique cuantos ceros se ingresaron. sumar numeros pares Si el número es impar.2.2. Mientras i< 270 4.

conimpar. Estructura Repetitivas 164 Inicio i=0 sumpar=0 sumimp=0 conceros=0 conimpar=0 i <270 F V num num <> 0 V F conceros=conceros+1 num <> 0 V conimpar=conimpar+1 sumipar=sumimpar+num sunpar=suma+num F i=i+1 (sumimpar/conimpar). conceros Fin Diseño . sumpar.

sumpar = 0. conceros. if (num != 0) if (Math. } else conceros++. sumimpar += num. num) > 0) { sumpar += num.Text).Pow(-1. i. using System. conimpar. } else { conimpar++. sumimpar. EventArgs e) { num = float. Estructura Repetitivas 165 Codificación en C# using System. namespace Operacion_con_pares_e_impares { public partial class Form1 : Form { float sumpar.Forms. . } private void button1_Click(object sender. i = 0. conimpar = 0. i++.Parse(textBox1. sumimpar = 0. conceros = 0. num. public Form1() { InitializeComponent().Windows.

Clear().Text = Convert.Clear(). groupBox1. textBox3. sumpar = 0. } else { groupBox1. sumimpar = 0. } private void button4_Click(object sender.ToString(conceros). textBox1. textBox4.ToString(sumimpar).ToString(sumpar). Estructura Repetitivas 166 if (i < 270) { label2.Text = Convert.Text = "Número " + (i + 1) + ":". EventArgs e) { i = 0. } } private void button2_Click(object sender. comenzando desde 1. EventArgs e) { this.Enabled = true.Close(). textBox3.Enabled = false. textBox1.Clear().Text = Convert. conceros = 0.Clear(). } private void button3_Click(object sender. EventArgs e) { textBox2. } } } Ejercicio 48 Hacer un pseudocodigo para obtener la tabla de multiplicar de un numero entero k. conimpar = 0. textBox2.Clear(). textBox4. . return.

Leer nota 6. Imprimir sumcal/i i=0 8. Fin _Mientras 7.1. Finalizar programa sumcal=0 nota nota>=0 V sumcal=sumcal+nota i=i+1 F nota Diagrama de flujo sumcal/1 Fin . Declarar variables k. Estructura Repetitivas 167 Solución: Declarar variables Inicializar contador Ller el valor de K Mientra el contador sea menor a k Leer numero Calcular tabla de multiplicar Imprimir tabla Pseudocódigo 1. Mientras (nota>=0) 5. i: Enteros mul: Real 3. Calcular sumcal=sumcal+nota i=i+1 Inicio 5. Leer nota 5. Hacer i=1 sumcal=0 4.2. Iniciar programa 2.

Estructura Repetitivas 168 Diseño .

Clear(). EventArgs e) { textBox1. using System.Clear(). } } } PROBLEMAS PROPUESTOS .Items. namespace Tabla_de_multiplicar { public partial class Form1 : Form { public Form1() { InitializeComponent(). for (i = 1.Items.Add(k + " * " + i + " = " + (k * i)). i++) listBox1. } private void button2_Click(object sender.Close(). k = Convert. k.ToInt32(textBox1. Estructura Repetitivas 169 Codificación en C# using System. EventArgs e) { this. EventArgs e) { int i. } private void button1_Click(object sender. listBox1.Windows. i <= 12.Text).Forms. } private void button3_Click(object sender.

Ejercicio 07 Enunciado: Dado 3 números obtener el MCD (Máximo común divisor). . Ejercicio 03 Enunciado: Enunciado: Dado un número. Ejercicio 08 Enunciado: Dado 3 números obtener el MCD (Máximo común divisor). recuerde que el factorial de un número es el producto de 1x2x3x……xn. determinar cuántos dígitos 0 contiene. Estructura Repetitivas 170 Ejercicio 01 Enunciado: Obtener factorial de un número. Ejercicio 05 Enunciado: Enunciado: Dado un rango de números determine cuantos números primos contiene. obtener la cantidad de números naturales múltiplos de 3. utilice el método Euclides (divisiones sucesivas). utilice el método de factorización simultánea. Ejercicio 06 Enunciado: Dado un rango de números determine cuantos números capicúa hay. Ejercicio 04 Enunciado: Enunciado: Se requiere saber si existe un determinado dígito en unos números dado. Ejercicio 02 Enunciado: Dado de un rango de números enteros.

esta estructura no solo ejecuta un número de acciones. representa el inicio del ciclo. es recomendable usar la estructura for. Vi Hasta Vi.i<vf. lo que no sucede con las estructuras while y do while La notación de esta estructura es la siguiente. Condición: Comparación entre Vi y Vf.i++){ Instrucciones for(j=vi. Fin Para } } Ejercicio 49 .i<vf.[<condición>]. } Estructura Desde o Para anidada Dentro de la estructura repetitiva es posible colocar una o más estructuras repetitivas así como otras estructuras Para i ← vi Hasta vf Inc +1 Sintaxis C# Para j← vi Hasta vf Inc +1 for(i=vi.i++) Instrucciones { Fin Para <Instrucciones>. Estructura Repetitivas 171 Estructura Desde o Para Cuando se sabe el número de iteraciones que tendría que ejecutarse cierta cantidad de acciones. edemas cuenta internamente el número de iteraciones. cuando se omite esta expresión se supone que el incremento es en una unidad.i<vf. esto elimina la necesidad de un contador. INC Proceso Sintaxis C# Para i ← vi Hasta vf Inc +1 for(i=vi.[<incremento>]) <sentencia> Vi: Variable de tipo entero o real. Incremento: expresión de tipo entero o real.i++){ Fin Para <Instrucciones>. representa el final del ciclo. Representa el incremento/Decremento de la variable de control. Vf: Variable de tipo entero o real. for([Vi].

Iniciar programa 2. Desde i=1 Hasta 20 inc i=i+1 Hacer 4. Solución: Declarar variables Inicializar acumulador Desde 1=1 hasta 20 hacer Acumulador el valor de 1 Reporta sumatoria Pseudocódigo 1. Estructura Repetitivas 172 Haga un pseucódigo para obtener la suma de los 20 números naturales. S=S+I 5. Imprimir s 7. Declarar variables i: Enteros s: Real 3. Finalizar Diagrama de flujo Inicio i=1 hasta 20 inc i=i+1 hacer s=s+i s Fin Diseño . Hacer s=0 4. Fin _Desde 6.1.

Clear(). } private void button2_Click(object sender. s = 0. } private void button1_Click(object sender. using System. } private void button3_Click(object sender. for (int i = 1. Estructura Repetitivas 173 Codificación en C# using System.Windows. } } } Ejercicio 50 .ToString(s). textBox1.Close(). EventArgs e) { textBox1. i++) s += i. i <= 20. EventArgs e) { this. namespace Suma_20 { public partial class Form1 : Form { public Form1() { InitializeComponent().Forms.Text = Convert. EventArgs e) { float s.

Si c<=2 Entonces 7.2. Calcular c=c+1 5. c. Fin_Si 10. Leer n 4.1. Finalizar Programa Diagrama de flujo Inicio N i=1 hasta n (n mod i)=0 F V c=c+1 F c<=2 V no es primo es primo Diseño Fin .1.1. Pseudocódigo: 1-Iniciar programa 2. Estructura Repetitivas 174 Realice un pseudocodigo para identificar si un número ingresado es primo o no. Fin_Desde 7.1.1. Imprimir “no es primo” 9.-Hacer c=0 5. Fin_Si 6.-Desde i=1 Hasta n Hacer 5. Sino 8. Si (n Mod I)=0 Entonces 5. i: Enteros 3. Imprimir “es primo” 8.-Declarar variables n.

Estructura Repetitivas 175 Codificación en C# using System. namespace Numero_primo { public partial class Form1 : Form { public Form1() { InitializeComponent().Clear(). c = 0. } private void button2_Click(object sender.Clear().Forms. i <= n. if (c == 2) textBox2.Close(). EventArgs e) { int n. } private void button1_Click(object sender. } private void button3_Click(object sender. } } } Ejercicio 51 . else textBox2. using System. c.Windows. for (int i = 1. EventArgs e) { textBox1.Text="No es primo".Parse(textBox1. i++) if ((n % i) == 0) c++. n = int. textBox2.Text="Es primo". EventArgs e) { this.Text).

Leer nombre. Pseudocódigo: 1. Finalizar programa Diagrama de flujo Inicio sum=0 mayor=0 i=1 hasta 10 sueldo suma=suma+sueldo F sueldo>mayor V mayor=sueldo (sum/10)mayor Fin Diseño . sueldo 4. Declarar variables NOMBRE: Cadena de caracteres sum. edad. Calcular sum=sum+sueldo 4.1. Hacer sum=0 mayor=0 4. calcular el promedio de los sueldos . Fin_Si 5. Imprimir El promedio es: (sum/10) El mayor de los sueldos es: mayor 7.2. Iniciar programa 2. mayor. Hacer mayor=Sueldo 4.3.3. ademas reportar a cuanto asciende el sueldo mas alto.1. Si sueldo> mayor Entonces 4.4. Desde i =1 Hasta 10 Hacer 4. Estructura Repetitivas 176 Leer el sueldo de 10 trabajadores . Fin_Desde 6. sueldo: Real 3.

Estructura Repetitivas 177

Codificación en C#
using System;
using System.Windows.Forms;

namespace Sueldo_10_trabajadores
{
public partial class Form1 : Form
{
float sum, mayor, sueldo;
int i;
public Form1()
{
InitializeComponent();
sum = 0;
mayor = 0;
i = 0;
}

private void button1_Click(object sender, EventArgs e)
{
textBox2.Text = Convert.ToString(sum / 10);
textBox3.Text = Convert.ToString(mayor);
}

//boton que interactua como un bucle for
private void ok_Click(object sender, EventArgs e)
{
sueldo = float.Parse(textBox1.Text);
sum += sueldo;

if (sueldo > mayor)
mayor = sueldo;

Estructura Repetitivas 178

i++; //contabiliza número de lecturas
if (i == 10)
{
textBox1.Enabled = false;
ok.Enabled = false;
return;
}

//Limpia y desactiva de textBox
label2.Text = "Sueldo " + (i+1);
textBox1.Clear();
}

private void button2_Click(object sender, EventArgs e)
{
sum = 0;
i = 0;
textBox1.Clear();
label2.Text = "Sueldo 1";
textBox1.Enabled = true;
ok.Enabled = true;
textBox2.Clear();
textBox3.Clear();
}

private void button3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

Ejercicio 52
Hallar cuantos terminos hay en la progresion aritmetica mostrada a
continuacion ; tambien halle la suma de los terminos: 5, 8, 11, 14, 17, 20,
23, ... n
Solucion:

Estructura Repetitivas 179

Decarar variable
Inicializar acumuladores
Leer último término
Desde I=5 hasta N INC I=I+3 hacer
Acumular el valor de la progresion dado por I
Aumentar contador de la cantidad de numero sumandos

Pseudocódigo:
1. Iniciar programa
2. Declarar variables
Suma, n, i, c: Entero
3. Hacer c=0
suma=0
4. Leer n
5. Desde i=5 hasta n inc i=i+3
5.1. suma=suma +i
5.2. c=c+1
6. Fin_Desde
7. Escribir el número de términos: n
La suma de los términos es: suma
8. Finalizar programa

Diagrama de flujo

Inicio

n

c=0 suma=0

i=5 hasta n,i=i+3

suma=suma+1
c=c+1

suma,c

Diseño
Fin

namespace Suma_progresion { public partial class Form1 : Form { public Form1() { InitializeComponent().Close().4. textBox2. textBox4.Text += i + " . n = int.8. } private void button2_Click(object sender. i += 3) { textBox2. using System.Clear(). EventArgs e) { int suma. suma += i. Estructura Repetitivas 180 Codificación en C# using System.2.Parse(textBox1.Forms. } textBox3.16.ToString(suma). c. n.ToString(c).Text = Convert.Clear(). i <= n. c = 0. EventArgs e) { this. suma = 0. } private void button1_Click(object sender.Text).… hasta 1000 Solucion Declarar variable Inicializar contador .Windows. } } } Ejercicio 53 Halle el número de terminos para la progresion siguiente: 1. textBox4. c++. for (int i = 5.Clear(). textBox3. EventArgs e) { textBox1.Text = Convert. } private void button3_Click(object sender. ".Clear().

Imprimir el número de términos: c 7. Estructura Repetitivas 181 Desde I=I hasta 10000 INC I=I*2 hacer Aumentar contador de la cantidad de número de la progresión Mostrar resultado Pseudocódigo 1. c=c+1 5.1. Hacer c=0 4. Iniciar programa 2. Desde i=1 Hasta 1000 inc i=i*2 4. Declarar variables i. c: Entero 3. Finalizar programa Diagrama de flujo Inicio c=0 i=1 hasta 1000 i=i*2 c=c+1 c Fin Diseño . Fin_Desde 6.

Estructura Repetitivas 182 Codificación en C# using System. using System. ". i <= 1000.Text = Convert. } textBox2.ToString(c). c = 0. textBox2. } private void button3_Click(object sender. for (int i = 1. } private void button1_Click(object sender.Windows.Clear().Clear(). EventArgs e) { this.Forms. } } } EJERCICIOS PROPUESTOS . c++. EventArgs e) { textBox1. namespace Numero_de_terminos { public partial class Form1 : Form { public Form1() { InitializeComponent(). EventArgs e) { int c.Text += i + ". i *= 2) { textBox1. } private void button2_Click(object sender.Close().

impares y múltiplos de 3. obtener la suma y la cantidad de los números pares. Ejercicio 03 Enunciado: Dado un número rango numérico entero positivo a y b. Ejercicio 07 Enunciado: Obtenga la cantidad de los números capicúas de n cifras. Ejercicio 04 Enunciado: Dado un rango de números determine cuántos números capicúa existe. Ejercicio 06 Enunciado: Obtenga la cantidad de los números primos de n cifras. . de los N primeros números naturales. Estructura Repetitivas 183 Ejercicio 01 Enunciado: Calcule la suma de los cuadrados y cubos de los N primeros números naturales. Ejercicio 05 Enunciado: Calcule de cuantas formas se pueden ordenar n objetos. Ejercicio 02 Enunciado: Obtener la suma y la cantidad de los números divisibles por 2 y 3 a la vez.

Algoritmos y estructura de datos en C++.ToString(" "). Estructura Repetitivas 184 BIBLIOGRAFÍA  Addison-Wesley (1994) Programación Orientada a Objetos. me = 0. int n1. Algoritmos y su codificación en C++.R. n2 = int. Lima. Programación Orientada a Objetos con Java. Diseño de programación. Editorial imprenta RJ S. } if (n2 < n1). { textBox3. Julio (2000). me = n2. primera edición. n2.Parse(textBox2. n1 = int. (2004) Estructura de datos.  Addison-Wesley. (2002) Fundamentos de Programación. if (n1 < n2). Estados Unidos.  Vásquez Paragulla.Text).ToString(" ").  César Liza (2000). España. Tercera edición edición. me = n1.  Luis Joyanes Aguilar. Perú. } . 1era edición.  Rafo Lecca (2002). Iberoamericana. Lecca Editores.  Joseph Mayo. algorítmica y estructura de datos. Ltda. (2003) C# al descubierto. (2000) Estructura de Datos en JAVA.Text = Convert. { textBox3.  Grupo Liebre. McGraw Hill.Text).Parse(textBox1.Text = Convert. Prentice Hall. segunda edición. Cusco-Perú.

Estructura Repetitivas 185 .

olvidado un alma que perdona. FUNDAMENTOS DE PROGRAMACIÓN CON Un libro abierto es un cerebro que habla. cerrado un amigo que espera. un corazón que llora. destruido. EDICIONES Proverbio hindú .