introduccion a la programacion

42
INTRODUCCION A LA DIAGRAMACIÓN Y PROGRAMACIÓN DE COMPUTADORES Primero que todo definiremos algunos conceptos importantes de la programación que son necesario para poder desarrollar el capitulo. 2.1 CONCEPTO DE PROGRAMA Conjunto de instrucciones escritas que hacen funcionar la computadora. Hardware: son los componentes físicos: CPU y dispositivos periféricos Software: Conjunto de programas escritos para la computadora . 2.2 ALGORITMO Es la secuencia de pasos organizados que describen la solución de un problema. 2.3 DIAGRAMACION Es la forma lógica como se puede expresar gráficamente los pasos para la solución de un problema determinado. 2.3.1 Tipos de diagramación Existen en la actualidad dos tipos de diagramación, la libre y la estructurada. 2.3.1.1 Diagramación libre Como su nombre lo indica, en este tipo de diagrama la persona puede utilizar cualquier tipo de signo en el orden que lo desee sin importar su estructura. 2.3.1.2 Diagramación estructurada Este tipo de diagrama es mucho mas completa debido a que exige por parte de la persona que la realiza tener un orden en su estructura, la cual lo hace ver mucho más atractiva y entendible. 2.3.2 Elementos de diagramación

Upload: yersin-hayner

Post on 06-Nov-2015

17 views

Category:

Documents


1 download

DESCRIPTION

introduccion a la programacion basico

TRANSCRIPT

  • INTRODUCCION A LA DIAGRAMACIN Y PROGRAMACIN DE COMPUTADORES

    Primero que todo definiremos algunos conceptos importantes de la programacin que son necesario para poder desarrollar el capitulo.

    2.1 CONCEPTO DE PROGRAMA

    Conjunto de instrucciones escritas que hacen funcionar la computadora. Hardware: son los componentes fsicos: CPU y dispositivos perifricos

    Software: Conjunto de programas escritos para la computadora.

    2.2 ALGORITMO

    Es la secuencia de pasos organizados que describen la solucin de un problema.

    2.3 DIAGRAMACION

    Es la forma lgica como se puede expresar grficamente los pasos para la solucin de un problema determinado.

    2.3.1 Tipos de diagramacin

    Existen en la actualidad dos tipos de diagramacin, la libre y la estructurada.

    2.3.1.1 Diagramacin libre

    Como su nombre lo indica, en este tipo de diagrama la persona puede utilizar cualquier tipo de signo en el orden que lo desee sin importar su estructura.

    2.3.1.2 Diagramacin estructurada

    Este tipo de diagrama es mucho mas completa debido a que exige por parte de la persona que la realiza tener un orden en su estructura, la cual lo hace ver mucho ms atractiva y entendible.

    2.3.2 Elementos de diagramacin

  • Existen diferentes smbolos que se utilizan en la diagramacipresentan los ms utilizados.

    2.3.2.1 Bloques terminales

    2.3.2.2 Bloques de

    Existen diferentes smbolos que se utilizan en la diagramacipresentan los ms utilizados.

    Bloques terminales

    Bloques de acciones

    Bloque de inicio y fin de programa Indican los lmites del procedimiento considerado como principal. Generalmente se trata de un programa completo o de un mdulo funcionalmente autnomo.

    Bloques de inicio y fin de procedimientoIndican los lmites de un procedimiento considerado como una parte dependiente de otro mayor. Delimitan la explosin de un grupo de acciones que han sido consideradas como un procedimiento en otra parte del diagrama. Generalmente se trata de una funcin que hace una tarea especfica.

    Bloque de accin simple Representa una accin sencilla que puede ser considerada como nica y que generalmente se codifica con una sola instruccin. Por ejemplo: incrementar contador, ubicar cursor, abrir archivo, etc.

    Bloque de entrada/salida Representa una accin simple de entrada o salida de datos, generalmente desde o hacia un dispositivo perifrico como el teclado, la pantalla o el disco. Por ejemplo: ingresar valor, leer registro, mostrar resultado

    Bloque de procedimiento Representa un conjunto de acciones que se consideran juntas, sin analizar su detalle. Este grupo de acciones se describe generalmente como procedimiento en otra parte del diagrama. Por ejemplo: buscar elemento, ordenar conjunto, procesar dato, etc.

    Existen diferentes smbolos que se utilizan en la diagramacin, a continuacin se

    os lmites del procedimiento considerado como principal. Generalmente se trata de un programa completo o de un mdulo funcionalmente autnomo.

    Bloques de inicio y fin de procedimiento Indican los lmites de un procedimiento considerado como

    ndiente de otro mayor. Delimitan la explosin de un grupo de acciones que han sido consideradas como un procedimiento en otra parte del diagrama. Generalmente se trata de una funcin que hace

    cin sencilla que puede ser considerada como nica y que generalmente se codifica con una sola

    incrementar contador, ubicar

    Representa una accin simple de entrada o salida de datos, generalmente desde o hacia un dispositivo perifrico como el teclado, la pantalla o el disco. Por ejemplo: ingresar valor, leer registro, mostrar resultado, etc.

    Representa un conjunto de acciones que se consideran in analizar su detalle. Este grupo de acciones se

    describe generalmente como procedimiento en otra parte buscar elemento, ordenar

  • 2.3.2.3 Bloques de

    2.3.2.4 Flujos y conectores

    2.3.3 Estructuras de

    La estructura es el modo en que se pueden agrupar y organizar las acciones de un programa. Se reconocen tres estructuras bsicas: la iteracin.

    2.3.3.1 Estructuras de diagramacin libre

    Estructura de secuencia

    Bloques de decisin

    Flujos y conectores

    structuras de programacin

    a estructura es el modo en que se pueden agrupar y organizar las acciones de un programa. Se reconocen tres estructuras bsicas: la secuencia

    structuras de diagramacin libre

    Estructura de secuencia

    Bloque de decisin simple Representa la accin de analizar el valor condicin, que slo puede ser verdadera o falsa simple). Segn el resultado de esta evaluacin se sigue uno u otro curso de accin. Por lo tanto, de un bloque de decisin simple siempre salen exactamente dos flujos, uno por V (s) y otro por F (no).

    Bloque de decisin mltiple Representa la accin de analizar el valor de una variable, que puede tomar uno entre una serie de valores conocidos (seleccin mltiple). Segn el resultado de esta evaluacin, se sigue uno entre varios cursos de accin. Por lo tanto, de un bloque de decisin mltiple siempre salen varios flujos, uno por cada valor esperado de la variable analizada.

    Flecha o flujo Indica la secuencia en que se van ejecutando las acciones al pasar de un bloque a otro.

    Conector Indica la convergencia de dos o ms flujos. En la prctica determina el comienzo o el fin de una estructura.

    a estructura es el modo en que se pueden agrupar y organizar las acciones de un secuencia, la seleccin y la

    Representa la accin de analizar el valor de verdad de una condicin, que slo puede ser verdadera o falsa (seleccin

    . Segn el resultado de esta evaluacin se sigue uno u otro curso de accin. Por lo tanto, de un bloque de decisin simple siempre salen exactamente dos flujos, uno

    Representa la accin de analizar el valor de una variable, que puede tomar uno entre una serie de valores conocidos

    . Segn el resultado de esta evaluacin, rsos de accin. Por lo tanto, de

    un bloque de decisin mltiple siempre salen varios flujos, uno por cada valor esperado de la variable analizada.

    Indica la secuencia en que se van ejecutando las acciones

    Indica la convergencia de dos o ms flujos. En la prctica determina el comienzo o el fin de una estructura.

  • Se da cuando una accin sigue a la otra. Es la ms simple y la ms comn de todas y constituye la esencia de toda tarea programada. Se reconocen dos variantes bsicas: la

    Estructura de secuencia independiente

    Estructura de secuencia

    Estructura de seleccin

    Es la que permite a los programas adaptarse a situaciones diversas verificando ciertas condiciones y tomando uno u otro curso de accin segn corresponda. Se reconocen dos variantes b

    a accin sigue a la otra. Es la ms simple y la ms comn de todas y constituye la esencia de toda tarea programada. Se reconocen dos variantes bsicas: la secuencia independiente y la secuencia dependiente

    Estructura de secuencia independiente

    Estructura de secuencia dependiente

    Estructura de seleccin

    Es la que permite a los programas adaptarse a situaciones diversas verificando ciertas condiciones y tomando uno u otro curso de accin segn corresponda. Se reconocen dos variantes bsicas: la seleccin simple y la seleccin mltiple

    Instruccin 1

    Instruccin 2

    Se da cuando las acciones pueden intercambiarde ejecucin sin alterar el resultado final. Por ejemploaccin sumar 1 a la variable A seguida de variable B. En este caso, el orden en que se efecten las acciones es irrelevante para el resultado final.

    Se da cuando las acciones no pueden intercambiarorden de ejecucin sin alterar el ejemplo, la accin sumar 1 a la variable Amultiplicar la variable A por 2. En este caso, el orden en que se efecten las operaciones es determinante del resultado final.

    a accin sigue a la otra. Es la ms simple y la ms comn de todas y constituye la esencia de toda tarea programada. Se reconocen dos

    secuencia dependiente.

    Es la que permite a los programas adaptarse a situaciones diversas verificando ciertas condiciones y tomando uno u otro curso de accin segn corresponda. Se

    seleccin mltiple.

    pueden intercambiar su orden de ejecucin sin alterar el resultado final. Por ejemplo, la

    seguida de sumar 2 a la . En este caso, el orden en que se efecten las

    acciones es irrelevante para el resultado final.

    no pueden intercambiar su orden de ejecucin sin alterar el resultado final. Por

    sumar 1 a la variable A seguida de . En este caso, el orden en

    que se efecten las operaciones es determinante del

  • Estructura de

    Estructura de

    Se da cuando existedetermina la seleccin puede tomar uno entre varios valores numricos enteros previstos y se ejecutar uno entre varios grupos de acciones, segn corresponda. Puede haber tambin cuando la variable no toma ninguno de los valores predeterminados. Por ejemplo: examinar la variable insuficiente', si es 2 escribir 'Archivo no existe' yescribir 'Error desconocido'

    Estructura de seleccin simple

    Estructura de seleccin mltiple

    Se da cuando existen ms de dos alternativas. En este caso la variable que determina la seleccin puede tomar uno entre varios valores numricos enteros previstos y se ejecutar uno entre varios grupos de acciones, segn corresponda. Puede haber tambin -aunque no es obligatorio- un curso de accin previsto para cuando la variable no toma ninguno de los valores predeterminados. Por ejemplo: examinar la variable resultado; si es 0 escribir 'xito', si es 1 escribir 'Memoria insuficiente', si es 2 escribir 'Archivo no existe' y si es cualquier otro nmero escribir 'Error desconocido'.

    Se da cuando existen slo dos alternativasevala una condicin que puede tomar los valores lgicos de verdaderocondicin es verdadera se hace una cosa y si es falsa se hace otra. Por ejemplo: es inferior a 3, sumarle 1; si no, poner la variable B en 0. Es importante asiempre deben estar presentes las acciones correspondientes a ambas alternativas. En efecto, es posible -y muy comnalguna accin si se cumple alguna condicin y que no se haga nada en caso contrario. Por ejemplo: si la variable B es mayor que 20, asignarle el valor 0. En este caso, si no se cumple la condicin (esto es, si B no es superior a 20), simplemente no ocurre nada.

    . En este caso la variable que determina la seleccin puede tomar uno entre varios valores numricos enteros previstos y se ejecutar uno entre varios grupos de acciones, segn corresponda.

    un curso de accin previsto para cuando la variable no toma ninguno de los valores predeterminados. Por ejemplo:

    ; si es 0 escribir 'xito', si es 1 escribir 'Memoria si es cualquier otro nmero

    slo dos alternativas. Se que puede tomar los

    verdadero o falso. Si la condicin es verdadera se hace una cosa y si es falsa se hace otra. Por ejemplo: si la variable A es inferior a 3, sumarle 1; si no, poner la variable

    . Es importante aclarar aqu que no siempre deben estar presentes las acciones correspondientes a ambas alternativas. En

    y muy comn- que se ejecute alguna accin si se cumple alguna condicin y que no se haga nada en caso contrario. Por

    variable B es mayor que 20, . En este caso, si no se

    cumple la condicin (esto es, si B no es superior a 20), simplemente no ocurre nada.

  • Estructura de iteracin

    Es la que permite a los programas efectuar una tarea excdigo ejecutable, al reiterar una y otra vez la ejecucin de un mismo conjunto de instrucciones. Esta iteracin o repeticin est controlada por una llamada condicin de salidaverifica con cada ejecucin del ciclo. Si la condicin toma el valor adecuado (verdadero o falso, segn corresponda) se ejecuta las instrucciones incluidas en el ciclo. En caso contrario se le interrumpe y se abandona la estructura. Se reconocen dos variantes bsicas: la con evaluacin posterior

    Estructura de

    Estructura de

    Estructura de iteracin

    Es la que permite a los programas efectuar una tarea extensa con un mnimo de cdigo ejecutable, al reiterar una y otra vez la ejecucin de un mismo conjunto de instrucciones. Esta iteracin o repeticin est controlada por una

    condicin de salida- que toma la forma de una seleccin simple yverifica con cada ejecucin del ciclo. Si la condicin toma el valor adecuado

    , segn corresponda) se ejecuta las instrucciones incluidas en el ciclo. En caso contrario se le interrumpe y se abandona la estructura. Se

    riantes bsicas: la iteracin con evaluacin previacon evaluacin posterior.

    Estructura de Iteracin con evaluacin previa

    Estructura de Iteracin con evaluacin posterior

    Se da cuando la condicin de salida se evala antes de la ejecucin de cada ciclo. Se verifica primero la condicin y si resulta ser adecuada se ejecutan las acciones asociadas para volver a evaluar la condicin. En este tipo de estructuras puede ocurrir que la condicin sea inadecuada la primera vez que se evala y que, por lo tanto, las acciones asociadas no lleguen a ejecutarse nunca. La iteracin con evaluacin previa debe utilizarse entonces en aquellos casos en que la ejecucin de todo el ciclo est sujeta al estado previo de una condicin, y, por lo tanto, est previsto que las acciones puedannunca. Por ejemplo: mientras la variable A sea inferior a 10 escribir un salto de lnea y sumarle 1 a la variable A. En este caso, si ocurre que la variable A llega al ciclo con un valor no inferior a 10 -esto es, si la condicin es inicialmno se escribir ningn salto de lnea ni se incrementar la variable.

    tensa con un mnimo de cdigo ejecutable, al reiterar una y otra vez la ejecucin de un mismo conjunto de instrucciones. Esta iteracin o repeticin est controlada por una condicin -

    que toma la forma de una seleccin simple y se verifica con cada ejecucin del ciclo. Si la condicin toma el valor adecuado

    , segn corresponda) se ejecuta las instrucciones incluidas en el ciclo. En caso contrario se le interrumpe y se abandona la estructura. Se

    iteracin con evaluacin previa y la iteracin

    Se da cuando la condicin de salida se evala de cada ciclo. Se verifica

    primero la condicin y si resulta ser adecuada se ejecutan las acciones asociadas para volver a evaluar la condicin. En este tipo de estructuras puede ocurrir que la condicin sea inadecuada la primera vez que se evala y que, por lo tanto, las

    sociadas no lleguen a ejecutarse nunca. La iteracin con evaluacin previa debe utilizarse entonces en aquellos casos en que la ejecucin de todo el ciclo est sujeta al estado previo de una condicin, y, por lo tanto, est previsto que las acciones puedan no ejecutarse

    mientras la variable A sea inferior a 10 escribir un salto de lnea y sumarle 1

    . En este caso, si ocurre que la llega al ciclo con un valor no inferior a

    esto es, si la condicin es inicialmente falsa- no se escribir ningn salto de lnea ni se

  • Se da cuando la condicin de salida se evala despus de la ejecucin de cada ciclo. Se ejecutan primero las acciones asociadas al ciclo, se evala luego la condicin y, sadecuada, se repite el ciclo. En este tipo de estructuras ocurre que las acciones asociadas con el ciclo se ejecutan siempre, por lo menos una vez. La iteracin con evaluacin posterior debe utilizarse entonces en aquellos casos en que la evaluacin de la condicin est sujeta a la ejecucin del ciclo y, por lo tanto, est previsto que las acciones deban ejecutarse siempre, por lo menos una vez. Por ejemplo: mientras que la tecla apretada sea diferente de . En este caso es necesario primero oprimir por lo menos una tecla para poder evaluar luego si es y repetir eventualmente la accin de oprimir una tecla.

    Se da cuando la condicin de salida se evala de cada ciclo. Se

    ejecutan primero las acciones asociadas al ciclo, se evala luego la condicin y, si resulta ser adecuada, se repite el ciclo. En este tipo de estructuras ocurre que las acciones asociadas con el ciclo se ejecutan siempre, por lo menos una vez. La iteracin con evaluacin posterior debe utilizarse entonces en aquellos casos en

    luacin de la condicin est sujeta a la ejecucin del ciclo y, por lo tanto, est previsto que las acciones deban ejecutarse siempre, por lo menos una vez. Por ejemplo: apretar una tecla mientras que la tecla apretada sea diferente de

    o es necesario primero oprimir por lo menos una tecla para poder evaluar luego si es y repetir eventualmente la accin de oprimir una tecla.

  • Antes de comenzar con las diferentes terminologas del lenguaje, es bueno que conozcamos un poco sus historia, es decir como nace y del por que se diseo esta herramienta.

    Csharp o (C#) hace parte de la plataforma .NET. Csharp es un lenguaje orientado a objetos simple, seguro, moderno, de alto rendimiento y con especial nfasis en Internet y sus estndares (como XML). Es tambin la principal herramienta para programar en la plataforma .NET.

    Como se menciono al inicio de este capitulo la plataforma .NET es una plataforma de desarrollo de software con especial nfasis en el desarrollo rpido de aplicaciones, la independencia de lenguaje y la transparencia a travs de redes.

    La plataforma consiste de las siguientes partes:

    Un conjunto de lenguajes de programacin (C#, J#, JScript, C++ gestionado, Visual Bsic.NET, y otros proyectos independientes).

    Un conjunto de herramientas de desarrollo (entre ellos Visual Studio.NET de Microsoft o Monodevelop).

    Una librera de clases amplia y comn para todos los lenguajes. Un sistema de ejecucin de Lenguaje Comn. (CLR). Un conjunto de servidores .NET. Un conjunto de servicios .NET. Dispositivos electrnicos con soporte .NET (?).

  • Como se observa en la grafica anterior, nuestro lenguaje Csharp hace parte del conjunto de herramientas de VISUAL STUDIO .NET 3.1 CREACION DE CSHARP

    El lenguaje es muy sencillo, sigue el mismo patrn de los lenguajes de programacin modernos. Incluye un amplio soporte de estructuras, componentes, programacin orientada a objetos, manipulacin de errores, recoleccin de basura, etc, que es construido sobre los principios de C++ y Java. Como sabris, las clases son la base de los lenguajes de programacin orientados a objetos, lo cual permite extender el lenguaje a un mejor modelo para solucionar problemas. C Sharp contiene las herramientas para definir nuevas clases, sus mtodos y propiedades, al igual que la sencilla habilidad para implementar encapsulacin, herencia y polimorfismo, que son los tres pilares de la programacin orientada a objetos. C Sharp tiene un nuevo estilo de documentacin XML que se incorpora a lo largo de la aplicacin, lo que simplifica la documentacin en lnea de clases y mtodos. C Sharp soporta tambin interfaces, una forma de estipular los servicios requeridos de una clase. Las clases en C Sharp pueden heredar de un padre pero puede implementar varias interfaces. C Sharp tambin provee soporte para estructuras, un concepto el cual ha cambiado significativamente desde C++. Una estructura es un tipo restringido que no exige tanto del sistema operativo como una clase. Una estructura no puede heredar ni dar herencias de clases pero puede implementar una interfase. C Sharp provee caractersticas de componentes orientados, como propiedades, eventos y construcciones declaradas (tambin llamados atributos). La programacin orientada a componentes es soportada por el CLR. C Sharp provee soporte para acceder directamente a la memoria usando el estilo de punteros de C++ y mucho ms.

  • 3.1.1 Csharp frente a java C Sharp y Java son lenguajes similares, de sintaxis basada en C/C++, orientados a objetos, y ambos incluyen las caractersticas ms importantes de los lenguajes modernos, como son la gestin automtica de memoria y la compilacin a cdigo intermedio. Pero por supuesto, tambin hay diferencias.

    Una de las diferencias ms importantes es que C Sharp es mucho ms cercano a C++ en cuanto a diseo se refiere. C Sharp toma casi todos sus operadores, palabras reservadas y expresiones directamente de C++. Tambin se han mantenido algunas caractersticas que en Java se han desestimado. Por ejemplo las enumeraciones. No hay enumeraciones en Java y sin embargo era un concepto muy usado en C/C++. En C Sharp se han mantenido las enumeraciones, y se han adaptado al nuevo lenguaje, de forma que ahora las enumeraciones no son simplemente enteros, sino que son tipos de tipado seguro que derivan de System.Enum en la librera de clases base. Una enumeracin de tipo "ej1" no se puede cambiar con una enumeracin de tipo "ej2" sin una conversin. Otra caracterstica que no est presente en Java es la posibilidad de trabajar directamente con direcciones de memoria. Si bien tanto Java como .NET proporcionan gestin automtica de memoria, en C Sharp es posible usar lo que se denomina "cdigo no seguro". Cuando se usa cdigo no seguro en C Sharp es posible operar con punteros de forma muy similar a como se hara en C/C++, pero el cdigo que utiliza punteros se queda marcado como no seguro y no se ejecuta en entornos en los que no tiene permisos.

    3.1.2 Csharp frente a c++

    Puesto que C Sharp se ejecuta en una mquina virtual, sta se hace cargo de la gestin de memoria y por lo tanto el uso de punteros es mucho menos importante en C Sharp que en C++. C Sharp tambin es mucho ms orientado a objetos, hasta el punto de que todos los tipos usados derivan en ltima instancia el tipo 'object'. Adems, muchos tipos se usan de forma distinta. Por ejemplo, en C Sharp se comprueban los lmites de los arrays antes de usarlos, evitando as que se pueda escribir pasado el final del vector.

    Al igual que Java, C Sharp renuncia a la idea de herencia mltiple de clases presente en C++. Sin embargo, referido a clases, C Sharp implementa propiedades' del tipo de las que existen en Visual Basic, y los mtodos de las clases son accedidos mediante '.' en lugar de '::'.

  • 3.1.3 Por qu csharp?

    La plataforma .NET acepta varios lenguajes. Por ahora, C Sharp, Visual Basic, C++ gestionado, Nemerle, FORTRAN, Java, Python, etc, y con capacidad para aceptar prcticamente cualquier lenguaje. Entonces la pregunta es, por qu se eligi C Sharp en lugar de cualquier otro lenguaje?

    La razn fundamental es que C Sharp se dise para la plataforma .NET y es capaz de utilizar todo su potencial. Tambin es cierto que es un lenguaje "limpio" en el sentido de que al no tener que proporcionar compatibilidad hacia detrs se ha tenido ms libertad en el diseo y se ha puesto especial hincapi en la simplicidad. Por ejemplo, en C Sharp hay un tipo de clase y siempre se le aplica el recolector de basura mientras que en C++ gestionado hay dos tipos de clases, una a la que se aplica el recolector y otra a la que no.

    Ahora veamos la pantalla de inicio para crear un nuevo proyecto en csharp.

    Pantalla Nuevo proyecto Visual C# o Csharp

    Ahora miremos con detenida atencin cada una de las opciones que trae consigo el lenguaje como tal. 3.1.4 Plantillas instaladas de visual csharp

  • 3.1.4.1 Aplicacin para Windows Forms

    Las aplicaciones basadas en Windows de Visual Studio se generan en torno a .NET Framework, un conjunto enriquecido de clases que puede utilizar para desarrollar aplicaciones sofisticadas. Puede crear aplicaciones basadas en Windows utilizando cualquier lenguaje de programacin que funcione con .NET Framework (Visual Basic, C Sharp (C#), Visual J#, C++ y muchos otros) y las herramientas de depuracin de .NET Framework.

    Las aplicaciones basadas en Windows creadas con clases de .NET Framework proporcionan otras ventajas. Es posible obtener acceso a los servicios del sistema operativo y beneficiarse de las ventajas que proporciona el entorno de ejecucin del usuario. Puede tener acceso a los datos utilizando ADO.NET.

    Ahora observamos que pasa si escogemos esta opcin, si el usuario da clic con el Mouse deber primero colocarle un nombre al proyecto en la parte de abajo, luego si podr dar clic en aceptar. Despus de haber ejecutado esta accin el lenguaje le mostrara la pantalla en la cual usted podr disear cualquier tipo de programa, ver siguiente figura.

    Pantalla Inicial de Visual csharp en aplicacin Windows

  • 3.1.4.2 Biblioteca de clases

    .NET Framework incluye clases, interfaces y tipos de valor que aceleran y optimizan el proceso de desarrollo y proporcionan acceso a la funcionalidad del sistema. Para facilitar la interoperabilidad entre lenguajes, los tipos de .NET Framework cumplen la especificacin de lenguaje comn (CLS) y, por tanto, se pueden utilizar en todos los lenguajes de programacin cuyo compilador satisfaga los requisitos de CLS.

    Los tipos de .NET Framework son la base sobre la que se crean aplicaciones, componentes y controles de .NET. .NET Framework incluye tipos que realizan las funciones siguientes:

    Representar tipos de datos base y excepciones. Encapsular estructuras de datos. Realizar E/S. Obtener acceso a informacin sobre tipos cargados. Invocar las comprobaciones de seguridad de .NET Framework. Proporcionar: acceso a datos, interfaz grfica para el usuario (GUI)

    independiente de cliente e interfaz GUI de cliente controlada por el servidor.

    .NET Framework proporciona un conjunto completo de interfaces, as como clases abstractas y concretas (no abstractas). Se pueden utilizar las clases concretas tal como estn o, en muchos casos, derivar las clases propias de ellas. Para utilizar la funcionalidad de una interfaz se puede crear una clase que implemente la interfaz o derivar una clase de una de las clases de .NET Framework que implementa la interfaz.

    Miremos que pasara si damos clic sobre la opcin Biblioteca de clases, la ejecutar de accin el lenguaje nos lleva a la siguiente pantalla, ver figura.

  • Pantalla Inicial de Visual csharp en Biblioteca de clases

    Mas adelante en el capitulo dos dedicado a la programacin orientada a objetos hablaremos a fondo sobre este apartado, cuando desarrollemos el tema de CLASES en csharp.

    3.1.4.3 Biblioteca de controles de Windows

    La plantilla de proyecto Biblioteca de controles de Windows se utiliza para crear controles personalizados, para usarlos en formularios Windows Forms.

    La plantilla agrega automticamente las referencias y archivos de proyecto esenciales para utilizarlos como punto de inicio para la aplicacin.

    Cuando se esta diseando y modificando la interfaz de usuario de la aplicacin de Windows Forms, tendr que agregar, alinear y situar controles. Los controles son objetos contenidos en objetos de formulario. Cada tipo de control tiene su propio conjunto de propiedades, mtodos y eventos que lo hacen adecuado para un propsito en particular. Puede manipular los controles en el diseador y escribir cdigo para agregar controles dinmicamente, en tiempo de ejecucin.

  • Observemos ahora como se vera la pantalla de controles al dar clic sobre esta opcin, ver siguiente figura.

    Pantalla Inicial de Visual csharp en biblioteca de controles

    3.1.4.4 Aplicacin de consola

    C Sharp se puede utilizar para crear aplicaciones que admiten entrada de datos y muestran resultados en la consola de la lnea de comandos. Estas aplicaciones son ideales para aprender a programar en C Sharp, porque la interfaz de usuario es sumamente simple. Las aplicaciones de consola tambin resultan muy tiles para programas de utilidad que requieren poca o ninguna interaccin con el usuario.

    Para crear una aplicacin de consola en Visual C# (csharp), haga clic en Nuevo en el men Archivo y seleccione Proyecto. Haga clic en la plantilla de proyecto Aplicacin de consola de C# (C Sharp), proporcione los nombres de archivo que desee y haga clic en Aceptar, al dar clic sobre esta opcin la pantalla ser como la que se muestra a continuacin.

  • Pantalla Inicial de Visual csharp en aplicacin de consola

    3.1.4.5 Aplicacin de crystal reports

    Crystal reports de Visual csharp o C# incorpora la posibilidad de crear contenido interactivo con calidad de presentacin al entorno de Windows. Con Crystal Reports usted puede crear informes complejos y profesionales en un programa basado en GUI. Despus puede conectar el informe a casi todos los orgenes de base de datos, as como a datos proxy, como un conjunto de resultados (por ejemplo, un ADO.NET DataSet). Los asistentes del diseador de GUI le permiten establecer fcilmente los criterios de formato, agrupamiento y grficos. Puede almacenar el informe en una aplicacin Web o para Windows, con uno de los controles de visores de Crystal Reports para Visual Studio 2005. La presentacin de informes, tanto en clientes Windows como en HTML 3.2 4.0, es muy interactiva y proporciona funciones como la profundizacin en grficos, la exploracin de informes y la bsqueda de texto. Para pode acceder a esta opcin, se deber dar clic sobre el icono de Aplicacin de Crystal Reports, el cual lo llevara a la siguiente pantalla.

  • Pantalla Inicial de Visual csharp en aplicacin de crystal reports

    Despus de esto el usuario deber escoger una de las tres opciones que aparecen en la parte de arriba (Usar asistente de informes, Como informe en blanco, A partir de un informe existente). Tambin deber sealar en la parte de abajo el tipo de asistente (Estndar, Tablas cruzadas, Etiqueta). Luego de haber escogido la opcin que mas se ajuste a lo que se desea disear, se pasa a la siguiente pantalla, para empezar a elaborar el informe.

  • Pantalla de Visual csharp crystal reports para elaborar un informe

    3.1.4.6 Biblioteca de controles Web

    En ocasiones, es posible que necesite cierta funcionalidad en un control que no est incluida en los controles de servidor Web ASP.NET integrados. En estos casos, puede crear sus propios controles. C Sharp Dispone de dos opciones:

    Controles de usuario. Los controles de usuario son contenedores en los que puede colocar controles de formato y de servidor Web. A continuacin puede tratar el control de usuario como una unidad y definir propiedades y mtodos para el mismo.

    Controles personalizados. Un control personalizado es una clase escrita por un desarrollador que se deriva de Control o WebControl.

    Los controles de usuario son mucho ms fciles de crear que los controles personalizados, ya que es posible reutilizar los ya existentes. Esto permite crear con facilidad controles con elementos de interfaz de usuario complejos. Si el usuario digita esta opcin csharp lo llevara a la siguiente pantalla.

  • Pantalla Inicial de Visual csharp en biblioteca de controles Web

    Ahora que ya hemos echado un vistazo a las diferentes opciones que nos muestra la ventana de nuevo proyecto en Visual csharp o Visual C#, es el momento de ocuparnos de la sintaxis del lenguaje. 3.2 TIPOS DE DATOS, VARIABLES

    3.2.1 Variables

    Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecucin de un programa, estas a su vez son un conjunto de letras y/o nmeros que se utilizan para simbolizar todos los elementos que en un programa, son definibles por el usuario (programador o ingeniero de sistemas) del mismo, como son las variables donde se almacenan datos, funciones (pequeos mdulos con cdigo), etiquetas, clases, objetos, etc. En Visual csharp un identificador es una palabra compuesta de letras y/o nmeros de hasta 32 caracteres significativos, empezando siempre con una letra.

  • A continuacin mencionaremos las reglas a tener en cuenta al momento de declarar una variable:

    Claras y con referencia directa al problema. No espacios en blanco, ni smbolos extraos en ellas. Se pueden usar abreviaturas, pero solo de carcter general. No deben ser palabras reservadas del lenguaje.

    Ejemplos Nombre, edad, sdoDiario, ingmensual, permetro, nota1, etc.

    3.2.2 Tipos de datos

    Los tipos de datos bsicos como hemos dicho son espacios predefinidos y categorizados donde se almacena informacin. En Visual csharp se tienen los siguientes tipos de datos:

    Tipo CSharp

    Nombre para la plataforma .NET

    Con signo?

    Bytes utilizados Valores que soporta

    bool System.Boolean No 1 true o false (verdadero o falso en ingls) byte System.Byte No 1 0 hasta 255 sbyte System.SByte Si 1 -128 hasta 127 short System.Int16 Si 2 -32.768 hasta 32.767 ushort System.Uint16 No 2 0 hasta 65535 int System.Int32 Si 4 -2.147.483.648 hasta 2.147.483.647 uint System.Uint32 No 4 0 hasta 4.394.967.395

    long System.Int64 Si 8 -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807 ulong System.Uint64 No 8 0 hasta 18446744073709551615

    float System.Single Si 4 Aproximadamente 1.5E-45 hasta 3.4E38 con 7 cifras significativas

    double System.Double Si 8 Aproximadamente 5.0E-324 hasta 1.7E308 con 7 cifras significativas

    decimal System.Decimal Si 12 Aproximadamente 1.0E-28 hasta 7.9E28 con 28 29 cifras significativas

    char System.Char 2 Cualquier carcter Unicode (16 bits)

    Ahora se describe en detalle los ms utilizados.

  • 3.2.2.1 Enteros

    Los tipos que sirven para almacenar nmeros enteros son: byte, sbyte. Short, ushort, int, uint, long y ulong. Como se aprecia en la tabla, C Sharp define versiones con y sin signo para tipos con los mismos bytes utilizados. Cada tipo se distingue por la capacidad de almacenaje. Probablemente el tipo ms utilizado es el int, pes se utiliza para controlar matrices, indexar arreglos (arrays) adems de las operaciones normales con enteros. Adems, se trata de un entero de tamao medio: ms pequeo que long y ulong, pero ms grande que byte, sbyte, short y ushort.

    Ejemplo Int X, Y, Z; int minuto = 60; // segundos por minuto estos es un comentario int hora = minuto*60; int dia = hora*24; long anio = dia*365;

    3.2.2.2 De coma flotante

    Los tipos de coma flotante sirven para representar a nmeros con parte fraccionaria. La representacin por supuesto puede no ser exacta, bien por errores de la mquina, bien porque el nmero de decimales que se puede alojar es finito.

    Existen tres clases de tipos de punto flotante: float, double y decimal. De los dos, el ms usado es double, pes es el valor que devuelven la mayora de las funciones matemticas de la librera base.

    Ejemplo double pi = 3.1416; int a = 2; double log2 = Math.Log (a); double raiz2 = Math.Sqrt (a);

    En el anterior ejemplo, se define una variable llamada pi, el cual se le esta asignado de entrada una valor constante, por ultimo se calcula la raz cuadrada y el logaritmo de dos.

  • 3.2.2.3 El tipo decimal

    El tipo decimal es un tipo "nuevo" en el sentido de que no tiene equivalente en C/C++. Es muy parecido a los tipo de coma flotante float y double.

    En la aritmtica de los tipos de coma flotante ordinarios, se pueden producir leves errores de redondeo. El tipo decimal elimina estos errores y puede representar correctamente hasta 28 lugares decimales. Esta capacidad para representar valores decimales sin errores de redondeo lo hace especialmente eficaz para clculos monetarios.

    3.2.2.4 Tipo bool

    El tipo bool sirve para expresar los valores verdadero/falso, que en C# se muestran con las palabras reservadas true y false.

    En C Sharp, por ejemplo, una instruccin de condicin solo puede estar gobernada por un valor bool, no como en C/C++, que lo puede estar tambin por un entero. De esta forma se ayuda a eliminar el error tan frecuente en programadores de C/C++ cuando usa "=" en lugar de "==". En definitiva, la inclusin del tipo bool en el lenguaje ayuda a la claridad del cdigo y evita algunos errores muy comunes.

    Ejemplo bool b; b = true;

    3.2.2.4 Tipo char

    El tipo char permite almacenar un carcter en formato simple, unicode de 16 bits o caracteres de escape. Usando el formato unicode nos garantiza que los acentos se ven de forma adecuada y adems permite la representacin de otros alfabetos, como el japons, griego, cirlico, etc. Para introducir un carcter se utilizan comillas simples, de forma que declarar un carcter sigue la estructura.

    Ejemplo char letra1 = 'a'; //formato simple char letra2 = '\u0041'; //formato Unicode que representa la letra A char letra3 = '\n'; formato carcter de escape

  • 3.2.2.4 Tipo Cadena

    Los tipos cadena (palabra clave string) son tipos que almacenan un grupo de caracteres. En C Sharp los tipos cadena se crean con la palabra clave string seguido por el nombre de la variable que deseamos instanciar. Para asignar un valor a este tipo debemos hacerlo entre comillas de la siguiente forma:

    Ejemplo string miCadena = "Esta es una cadena de caracteres";

    string nombre= laura rueda;

    3.2.2.5 Tipo Enum

    La declaracin de un tipo enumerado es simplemente una lista de valores que pueden ser tomados por una variable de este tipo. La palabra clave enum declara un tipo enumerado. La sintaxis general de una enumeracin es:

    enum nom_variable {lista enumeracin};

    En la sintaxis anterior el nombre de tipo de enumeracin lo especifica nombre_variable. La lista de enumeracin es una lista de identificadores separados por comas. Ahora veamos algunos ejemplos.

    Ejemplo

    enum dia_semana {lunes, martes, mircoles, jueves, viernes, sbado, domingo};

    Una forma fcil de entender una enumeracin es que cada uno de los elementos de la lista, equivale a un valor entero, y cada elemento tiene un valor mayor que el anterior, de modo tal que el valor del primer elemento de la enumeracin es cero. Por tanto lunes tiene el valor de cero, martes tiene el valor de uno, mircoles tiene el valor de dos y as sucesivamente hasta terminar la lista.

    Veamos otro ejemplo.

    enum marca_carros {Mazda, Renault, Chevrolet, Hiunday, Pegeout, Nissan, Toyota};

    3.2.3 Constantes

  • Una constante es una variable cuyo valor puede determinar el compilador durante la compilacin y puede aplicar optimizaciones derivadas de ello. Para que esto sea posible se ha de cumplir que el valor de una constante no pueda cambiar durante la ejecucin, por lo que el compilador informar con un error de todo intento de modificar el valor inicial de una constante. Las constantes se definen como variables normales pero precediendo el nombre de su tipo del modificador const y dndoles siempre un valor inicial al declararlas. Sintaxis general.

    const = ;

    Veamos como se declara una constante

    const int a = 300; const int b = a + 250;

    3.3 OPERADORES

    Visual csharp posee un amplio conjunto de operadores u operaciones que les permiten a los programadores un control detallado en la construccin y evaluacin de expresiones. Veamos estos operadores.

    3.3.1 Operaciones aritmticas

    3.3.1.1 Operacin suma

    Permite sumar dos o ms cantidades bien sean enteras o reales. Ejemplo a=10; b= 5 c= a+b; RTA: c=15;

    3.3.1.2 Operacin resta (Tambin menos unario)

    Permite restar dos o ms cantidades enteras o reales.

    Ejemplo a=10; b= 5 c= a-b; RTA: c=5;

  • 3.3.1.3 Operacin multiplicacin

    Permite multiplicar dos o ms cantidades enteras o reales.

    Ejemplo a=10; b= 5 c= a*b; RTA: c=50;

    3.3.1.4 Operacin divisin

    Permite dividir una cantidad a en una cantidad b, teniendo en cuenta que b en este caso es denominador debe ser diferente de cero, debido a que la divisin entre cero no existe.

    Ejemplo a=10; b= 5 c= a/b; RTA: c=2;

    3.3.1.5 Operacin modulo (Residuo de la divisin)

    Permite hallar el residuo de dividir una cantidad a en una cantidad b.

    Ejemplo a=10; b= 7 c= a%b; RTA: c=3;

    3.3.1.6 Operacin incremento

    Permite incrementar en uno, el valor de una variable cualquiera.

    Ejemplo X=0; X=x+1; o X++; o ++x;

  • 3.3.1.7 Operacin decremento

    Permite decrementar en uno, el valor de una variable cualquiera.

    Ejemplo X=5; X=x-1; o X--; o --x;

    Es bueno aclarar lo siguiente amigo lector, con respecto a los dos anteriores operadores. Cuando el operador ++ y -- esta escrito despus de la variable, primero el programa hace uso del contenido de la variable y luego incrementa o disminuye en uno el valor de dicha variable. Si ocurre lo contrario el programa primero incrementa o disminuye en uno el valor de la variable y luego hace uso de su contenido.

    3.3.2 Operaciones relacionales

    Estos operadores se utilizan para establecer relaciones entre los valores de los operandos. En la siguiente tabla se muestran estos operadores.

    OPERADOR SIGNIFICADO == Igual que != Distinto que > Mayor que < Menor que

    >= Mayor o igual que

  • El resultado de los operadores relacionales y lgicos es un valor bool.

    3.3.4 Operaciones a nivel de bit

    Estos operadores actan directamente en los bits de sus operandos. Solo estn definidos para operar con valores enteros, y no se pueden utilizar en datos de tipo bool, float o double. Se denominan a nivel de bit por que se utilizan para probar, definir o desplazar los bits que componen un valor entero. La siguiente tabla muestra los operadores a nivel de bits existentes.

    OPERADOR RESULTADO & AND a nivel de bit | OR a nivel de bit ^ OR exclusivo a nivel de bit (XOR)

    >> Desplazamiento a la derecha

  • 4. ESTRUCTURAS DE CONTROL DE PROGRAMA

    4.1 ESTRUCTURAS DE CONTROL LINEAL

    Como su nombre lo indica es aquella en la cual, cada una de las instrucciones a ejecutar en un programa se ejecutan linealmente, es decir en un orden uno tras otro.

    Ahora pasemos a desarrollar una serie de ejercicios que nos ayudaran a aprender y a entender, como funciona la programacin procedimental.

    EJERCICIO 1:

    Dado 2 nmeros enteros y positivos hacer el diagrama y el programa en Visual Csharp, que permita sumar, restar, multiplicar, y dividir estos nmeros.

    Solucin: Variables de entrada de datos

    N1= Numero 1. N2= Numero 2.

    Variables de proceso

    sum= Toma el valor de la suma de N1 y N2. res= Toma el valor de la resta de N1 y N2. mul= Toma el valor de la multiplicacin de N1 y N2. div= Toma el valor de la divisin de N1 y N2.

    Ahora miremos como quedara el diagrama para este ejercicio.

  • Ya teniendo hecho el diagrama el siguiente paso es codificarlo en Visual Csharp, para ello primero que todo lo codificaremos en aplicacin consola y luego lo codificamos en aplicacin Windows que es la parte grafica. De esta manera se desarrollaran todos los ejercicios de este capitulo.

    Se puede definir una aplicacin consola como aquella que se ejecuta en una ventana de MS-DOS, es decir en lnea de comando.

    Inicio

    N1, N2

    sum=N1+N2 res=N1-N2 mul=N1*N2 div=N1/N2

    sum, res, mul, div

    Fin

  • Pantalla Aplicacin Consola de Visual csharp

    Antes de empezar a codificar nuestro ejercicio es bueno que conozcamos un poco sobre la clase principal que interacta con la consola de MS-DOS, llamada clase CONSOLE.

    Clase Console: Mediante esta clase se consigue mostrar informacin en la pantalla, as como capturar la informacin que es introducida por el usuario, cabe anotar que los mtodos de la clase Console son de tipo Shared. Esto significa que no es necesario crear un objeto a partir de la clase para invocar a sus mtodos, es posible hacerlo indicando el nombre de la clase seguido de un punto y el nombre del mtodo.

    El mtodo Writeline (): Se utiliza para mostrar texto en la consola, el mtodo escribe en la pantalla el valor que le pasemos como parmetro.

    Ejemplo

    Console.WriteLine("Digite su Nombre:");

  • Pantalla salida mtodo Writeline ()

    El mtodo Write (): Este mtodo tiene la misma funcin que el anterior, con la diferencia que este coloca el cursor enfrente del mensaje, mientras que el anterior ubica el cursor una lnea debajo del mensaje.

    Ejemplo

    Console.Write("Digite su Nombre:");

    Pantalla salida mtodo Write ()

    El parmetro que recibe este mtodo puede ser de varios tipos, es decir puede ser de tipo cadena de caracteres, un nmero entero, un real o una lnea en blanco.

    El mtodo Readline (): Se utiliza para recoger la informacin que el usuario introduce cuando la aplicacin as lo requiera. Cuando invocamos al mtodo Console.Redline () el sistema queda en espera hasta que el usuario pulsa la tecla Intro. Si se asigna la llamada a Console.Redline () a una variable se consigue capturar el dato introducido por el usuario, para despus operar con el.

  • Ahora miremos con un ejemplo mas concreto el uso de estos dos mtodos.

    static void Main(string[] args) { string cadena; // Declaramos una variable tipo cadena //mostramos un mensaje al usuario Console.Write("Por favor introduzca su Nombre:"); //capturamos el dato introducido por el usuario cadena = Console.ReadLine(); //operamos con el dato cadena = "El nombre introducido es:" + cadena; //mostramos la cadena Console.WriteLine(cadena); Console.ReadLine();//permite ver el resultado en la pantalla }

    Pantalla de resultados aplicacin consola

    El mtodo Read (): Tiene la misma funcin que el anterior, pero con la diferencia de que este no espera a que el usuario pulse intro para capturar el dato introducido, sino que lo hace tras la pulsacin de cualquier tecla, capturando el valor de la tecla pulsada en cdigo ASCCII.

    Despus de haber realizado esta corta explicacin de los mtodos, que se utilizan en una aplicacin consola, continuemos con nuestro ejercicio.

    PRIMERA PARTE: Aplicacin Consola

    a) Iniciemos el entorno de desarrollo de Visual Studio.Net.

  • b) Una vez iniciado este, dirjase al men Archivo, opcin Nuevo y en el submen emergente seleccione proyecto.

    c) Deber obtener un cuadro similar al siguiente.

    Pantalla nuevo proyecto Visual Studio.net

    Para esta primera aplicacin, buscamos Visual C# (Csharp) / Windows o proyectos de Visual C# dependiendo de la versin de Visual Studio con la que este trabajando.

    En la seccin derecha de este cuadro de dialogo, escogemos la de Aplicacin Consola.

    El nombre del proyecto y la localizacin pueden ser a su gusto, aunque recomiendo para nombre del proyecto operaciones_basicas_consola y en localizacin C:\TallerCsharp\Capitulo_uno.

    Seleccione Aceptar o Intro.

    El entrono de Visual Studio.Net nos hace todas las inicializaciones necesarias, y obtenemos una ventana como la que se muestra a continuacin.

  • Pantalla proyecto Operaciones_basicas_consola Visual csharp

    Es el momento de introducir el cdigo fuente para el ejercicio que estamos desarrollando. El cdigo que se escribe a continuacin se debe introducir dentro de las dos llaves que encierran al mtodo static void Main(string[] args).

    static void Main(string[] args) { //definimos las variables del programa int N1, N2, sum, res, mul, div; //introducimos cada uno de los numeros Console.Write("Por favor digite el primer numero:"); N1 = int.Parse(Console.ReadLine()); Console.WriteLine();//para darle espacio entre cada numero Console.Write("Por favor digite el segundo numero:"); N2 = int.Parse(Console.ReadLine()); //ahora realizamos cada una de las operaciones sum = N1 + N2; res = N1 - N2; mul = N1 * N2; div = N1 / N2;//N2 debe ser diferente de cero Console.WriteLine();//le damos mas espacio //ahora imprimos cada uno de las variables resultado

  • Console.WriteLine("La Suma de N1 y N2 es=" +sum); Console.WriteLine("La Resta de N1 menos N2 es=" +res); Console.WriteLine("La Multiplicacion de N1 por N2 es=" +mul); Console.WriteLine("El Resultado de Dividir N1 sobre N2 es=" +div); Console.ReadLine(); }

    Despus de haber escrito correctamente el cdigo, el siguiente paso es compilar el programar y mirar si tiene errores. Para estos vamos al men en la opcin Generar damos clic y luego clic en Generar solucin, si el cdigo tiene errores entonces este le mostrara en la parte de abajo lista de errores todos los errores y su descripcin. 6. Si ha terminado de compilar los errores esto quiere decir que el programa esta listo para ser su ejecucin. Para ejecutar existen tres maneras de hacerlo:

    1. Dando clic en el men sobre la opcin Depurar, clic en Iniciar depuracin. 2. Dando clic en el men la opcin que tiene un triangulo de color verde que al

    colocar el Mouse sobre el aparece el mensaje Iniciar Depuracin (F5) 3. Y por ultimo oprimiendo la tecla F5.

    En el caso de que no haya ningn problema podremos obtener despus de ejecutar el proyecto la siguiente pantalla de resultados.

    Pantalla proyecto Operaciones_basicas_consola Visual csharp Es bueno amigo lector que revisemos, con detenida atencin el cdigo anterior, con el objetivo de despejar algunas dudas que hayan podido quedar por ah sueltas.

    En la primera lnea despus de la llave que habr el mtodo Main, encontramos un comentario, les recuerdo que en Visual Csharp los comentarios se deben

  • escribir seguido del smbolo o mejo las dos barritas //, despus encontramos la definicin de las variables en este caso son de tipo entero (int). Despus vemos como se introducen cada uno de los nmeros. Tambin se observa que despus del mtodo Wirteline (), aparece la instruccin N1=int.parse (Console.Redline ()), pues el int.parse lo que hace es convertir esa cadena en un numero entero, por que lo que sucede es que Visual Csharp es cada vez que se lee un dato este es interpretado como una cadena de caracteres y no como un entero, es por eso que se hace necesario hacer la conversin, igual se debe hacer con otros tipos de datos como flota, char, double, long. Solo en el caso de que el tipo de datos que se va a leer sea de tipo string, no se hace necesario hacer la conversin puesto que los tipos de datos string son tambin una cadena de caracteres.

    Luego encontramos las instrucciones para realizar las respectivas operaciones de suma, resta, multiplicacin y divisin. Despus vemos por ultimo las instrucciones en donde se imprime las variable resultados, observemos que la cadena que va dentro de la clase Console.Writeline, siempre deben ir entre comillas dobles y seguido de la variable que se desea imprimir. Por ultimo vemos el mtodo Console.Readline (), el cual permite que cuando se realice la ejecucin el usuario pueda ver el resultado en la pantalla, si no se coloca este mtodo, tan pronto como el usuario termine de ingresar los datos y el programa realice las operaciones este se sale y vuelve al cdigo principal, sin permitir que se vean los resultados, como vera es importante que nos vayamos familiarizando con este mtodo por que de aqu en adelante lo utilizaremos siempre.

    EJERCICIO 2:

    Hacer el diagrama y el programa en Visual csharp, que permita calcular el rea del rectngulo.

    Solucin: Variables de entrada de datos

    b= base. h= altura.

    Variables de proceso

    rea= almacena el valor calculado para el rea del rectngulo Ahora miremos como quedara el diagrama para este ejercicio.

  • Ahora pasemos a codificarlos en Visual Csharp.

    PRIMERA PARTE: Aplicacin Consola

    Nuevamente nos dirigimos al men Archivo, Nuevo, Proyecto. Al hacerlo nos muestra la pantalla de nuevo proyecto, escogemos Visual C#, Aplicacin consola, le damos el nombre al proyecto, en este caso area_rectangulo_consola, luego aceptar, tal y como se muestra en la siguiente pantalla.

    Pantalla nuevo proyecto Visual csharp

    Inicio

    b, h

    rea =b*h/2

    El rea del rectngulo es =, rea

    Fin

  • Despus de esto tendremos la pantalla en donde podremos digitar el cdigo correspondiente para el ejercicio que estamos trabajando. La pantalla es la siguiente.

    Pantalla proyecto area_rectangulo_consola Visual csharp Nos ubicamos dentro de las llaves que encierran al mtodo static void Main(string[] args) y digitamos el siguiente codigo.

    // Definimos las varibales a utilizar en programa int b, h, area; //Digitamos los datos de entrada Console.Write("Digite el valor de la base: "); b = int.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Digite el valor de la altura: "); h = int.Parse(Console.ReadLine()); Console.WriteLine(); //Hallamos el area area = b * h; //Imprimimos el area Console.WriteLine("El area del rectangulo es =" +area); Console.ReadLine();

    Ahora le damos Depurar, Iniciar depuracin o F5, el cual nos permite ir a la pantalla en donde podremos digitar los valores de entrada, tal y como se muestra a continuacin en la siguiente pantalla.

  • Pantalla proyecto area_rectangulo_consola Visual csharp

    EJERCICIO 3:

    De un educando se conoce su codigo, el nombre, y las notas de los tres parciales efectuados por el docente durante el semestre, en una materia cualquiera. Hacer el diagrama y el programa en Csharp, que permita calcular la nota final del periodo, teniendo en cuenta que los porcentaje para cada una de las notas son: 35, 30, y 35% para cada parcial. Al final se debe imprimir el codigo, el nombre y la nota final. Solucin: Variables de entrada de datos

    cdigo= cdigo del educando. nombre= nombre del educando. nota1, nota2, nota3= notas del estudiante.

    Variables de proceso

    nota_final= nota final o definitiva del estudiante.

    Inicio

    cdigo, nombre, nota1, nota2, nota3

    nota_final = ((nota1*0.35)+ (nota2*0.30)+ (nota3*0.35))

  • PRIMERA PARTE: Aplicacin Consola

    Nuevamente nos dirigimos al men Archivo, Nuevo, Proyecto. Al hacerlo nos muestra la pantalla de nuevo proyecto, escogemos Visual C#, Aplicacin consola, le damos el nombre al proyecto, en este caso nota_educando_consola, luego aceptar, tal y como se muestra en la siguiente pantalla.

    Pantalla nuevo proyecto Visual csharp

    Despus de esto tendremos la pantalla en donde podremos digitar el cdigo correspondiente para el ejercicio que estamos trabajando. La pantalla es la siguiente.

    cdigo, nombre, nota_final

    Fin

  • Pantalla proyecto nota_educando_consola Visual csharp Nos ubicamos dentro de las llaves que encierran al mtodo static void Main(string[] args) y digitamos el siguiente codigo.

    // Definimos las varibales a utilizar en el programa long codigo; double nota1, nota2, nota3,nota_final; string nombre; //Digitamos los datos de entrada Console.Write("Digite el codigo: "); codigo = long.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Digite el nombre: "); nombre =Console.ReadLine();//Observe que no hay necesidad de hacer la conversion. Console.WriteLine(); Console.Write("Digite la nota 1: "); nota1 = double.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Digite la nota 2: "); nota2 = double.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Digite la nota 3: "); nota3 = double.Parse(Console.ReadLine()); Console.WriteLine(); //Se calcula la nota final nota_final = ((nota1 * 0.35) + (nota2 * 0.30) + (nota3 * 0.35));

  • //Se imprimen las variables Console.WriteLine("Codigo:" + codigo); Console.WriteLine(); Console.WriteLine("Nombre:" + nombre); Console.WriteLine(); Console.WriteLine("Nota final:" + nota_final); Console.ReadLine();

    Ahora le damos Depurar, Iniciar depuracin o F5, el cual nos permite ir a la pantalla en donde podremos digitar los valores de entrada, tal y como se muestra a continuacin en la siguiente pantalla.

    Pantalla proyecto nota_educando_consola Visual csharp