maap prog-0-2008-c#

43
Elaborado por jjcm docente UTEPSA 1 INTRODUCCIÓN A LA PROGRAMACIÓN 2008

Upload: jose-antonio-escalier-dorado

Post on 06-Jun-2015

5.573 views

Category:

Documents


0 download

DESCRIPTION

GUIA MAAP

TRANSCRIPT

Page 1: MAAP Prog-0-2008-C#

Elaborado por jjcm docente UTEPSA 1

INTRODUCCIÓN A LA PROGRAMACIÓN

2008

Page 2: MAAP Prog-0-2008-C#

MATERIA INTRODUCCIÓN A LA PROGRAMACIÓN SIGLA SIS-110

CARRERA Ing. Informática y Sistemas Administrativos Ing. Electrónica y Sistemas Ing. Redes y Telecomunicaciones Ing. Sistemas

SEMESTRE Segundo HORAS 80

HORAS TEÓRICAS 40

PRERREQUISITO No tiene HORAS PRACTICAS 60

COMPETENCIA GENERAL CAPACIDAD DE ANALIZAR Y SINTETIZAR UN PROBLEMA EN PARTES CON EL FIN DE DISEÑAR SU

REPRESENTACION ALGORITMICA

CONTENIDO

TEMA-1 ARQUITECTURA DEL COMPUTADOR.El Microprocesador – CPU. Tareas. UC, ALU y Registros del SistemaEl BUS. Bus de Control, Dirección y Datos.La Memoria. ROM, RAM y CachéOtros dispositivos: Controlador de Interrupciones, DMA, Periféricos, etc.

TEMA-2 SISTEMAS DE NUMERACIÓN.Sistemas Numéricos Posicionales.Números BINARIOS, OCTALES y HEXADECIMALESConversiones entre sistemas numéricos posicionales.Operaciones Aritméticas con números no decimales

TEMA-3 REPREENTACIÓN DE LA INFORMACIÓN.GENERALIDADES. Sistemas de procesamiento de la información.Tipos de datos. Constantes y variables. Expresiones: (Aritméticas, Relacionales, Lógicas). Asignaciones. EJERCICIOS

TEMA-4 DISEÑO DE ALGORITMOS.PASOS EN LA RESOLUCIÓN DE UN PROBLEMA. Definición y Análisis, Diseño del algoritmo, Codificación y ValidaciónDIAGRAMAS DE FLUJO. Símbolos gráficosESTRUCTURAS BÁSICAS DE ALGORITMOS. Estructuras selectivas. BIFURCACIONES. (Salida simple, Salida doble y Salida múltiple.Estructuras repetitivas. BUCLES (Condición al final, Condición al inicio, Conociendo el número de iteraciones, Contadores y acumuladoresEJERCICIOS

TEMA-5 CODIFICACIÓN. TECNOLOGÍA .NET

CONCEPTOS BÁSICOS de NET, La plataforma .NET. el FRAMEWORK.NET y el VISUAL STUDIO.NETEl ENTORNO de DESARROLLO IDE.Diseño de Formularios y Editor de código CREACIÓN de un PROYECTO en C#.NET

EL CÓDIGO DE PROGRAMACIÓN. Lenguajes de máquina, de bajo nivel , de alto nivel o súper lenguajes, Compiladores e intérpretesPARTES de la ESTRUCTURA del CÓDIGO en C#.NET. Declaración de VariablesELEMENTOS BÁSICOS del CÓDIGO C#.NETOPERADORES y FUNCIONES C#.NET.TIPOS DE SENTENCIAS. Sentencias simples, Sentencias CONDICIONALES (if ( ).., if( ) ..else .., switch( ) ) y Sentencias REPETITIVAS (while( ), for ( ) y do .. while( ))CONVERSIONES DE CÓDIGO A DIAGRAMAS DE FLUJO. PROGRAMAS EN MODO CONSOLA Y ORIENTADOS A EVENTOSEJERCICIOS

BIBLIOGRAFÍA

¨Algoritmos y Estructuras de datos ¨ ………………….………………..………………..… LUIS JOYANES AGUILAR , “Microsoft VISUAL C# STEP by STEP” ………….…………………………………………. JHON SHARP & JON JAGGER

Elaborado por jjcm docente UTEPSA 2

Page 3: MAAP Prog-0-2008-C#

MODELO DE PLANIFICACIÓN POR CLASES

# TEMA TIPO DE CLASE

1

TEMA-1 ARQUITECTURA DEL COMPUTADOR. El Microprocesador – CPU. Tareas. UC, ALU y Registros del SistemaEl BUS. Bus de Control, Dirección y Datos. La Memoria. ROM y RAMControladores

Teórica

2

TEMA-2 SISTEMAS DE NUMERACIÓN.Sistemas Numéricos Posicionales.Números BINARIOS, OCTALES y HEXADECIMALES. Conversiones entre sistemas numéricos posicionales.

TeóricaPráctica

3Operaciones Aritméticas con números no decimalesSuma y Resta. Operaciones Aritméticas con números no decimales. EJERCICIOS

TeóricaPráctica

4TEMA-3 REPRESENTACIÓN DE LA INFORMACIÓN.GENERALIDADES. Sistemas de procesamiento de la información.Tipos de datos. Constantes y variables. Expresiones: Aritméticas.

TeóricaPráctica

5 Expresiones: Relacionales, Lógicas y de Caracteres Asignaciones. EJERCICIOS. Representación algorítmica de expresiones algebraicas.

TeóricaPráctica

6 EXÁMEN PARCIAL I TEMAS 1,2 Y 3 Evaluación

7

TEMA-4 DISEÑO DE ALGORITMOS.PASOS EN LA RESOLUCIÓN DE UN PROBLEMA. Definición y Análisis, Diseño del algoritmo, Codificación y Validación. DIAGRAMAS DE FLUJO. Símbolos gráficos. EJERCICIOS

Teórica

8ESTRUCTURAS BÁSICAS DE ALGORITMOS. Estructuras selectivas. BIFURCACIONES. (Salida simple, Salida doble y Salida múltiple.EJEMPLOS

TeóricaPráctica

9 Estructuras selectivas. BIFURCACIONES. EJERCICIOS Práctica

10Estructuras Repetitivas BUCLES (Condición al final, Condición al inicio, BUCLES: Conociendo el número de iteraciones, Contadores y acumuladores. EJEMPLOS

TeóricaPráctica

11 Estructuras Repetitivas BUCLES. EJERCICIOS Práctica

12 EXAMEN PARCIAL II TEMA 4 Evaluación

13

TEMA-5 CODIFICACIÓN en C#.NET.TECNOLOGÍA .NET CONCEPTOS BÁSICOS de NET, La plataforma .NET. El FRAMEWORK.NET y el VISUAL STUDIO.NET. Creación de un Proyecto en C#.NETEl IDE: La Barra de Menú y Herramientas. Diseño de Formularios. Controles Básicos La Ventana de Propiedades. Explorador de Soluciones. El Editor de CódigoLAB-1 EXPLORANDO EL ENTORNO DE DESARROLLO

LAB-01

14

Lenguajes Tipos: máquina, de bajo nivel, de alto nivel. Compiladores e intérpretes.Declaración de Variables. Tipos de Datos. ELEMENTOS BÁSICOS del CÓDIGO C#.NET

Teórica

15

TIPOS DE SENTENCIAS. Sentencias simples, Sentencias CONDICIONALES <if( ), if( ) .. else .., switch( )> EJERCICIOSLAB-2 CODIGO DE ALGORITMOS – ESTRUCTURAS CONDICIONALES

LAB-02

16 LAB-3 CODIGO DE ALGORITMOS – ESTRUCTURAS REPETITIVAS 1 LAB-03

Elaborado por jjcm docente UTEPSA 3

Page 4: MAAP Prog-0-2008-C#

17 Sentencias REPETITIVAS <while( ), for( ), do .. while( )>. EJERCICIOS

TeóricaPráctica

18 LAB-4 CODIGO DE ALGORITMOS– ESTRUCTURAS REPETITIVAS 2 LAB-04

19 LAB-5 EXAMEN FINAL PRÁCTICO Evaluación LAB

20 EXAMEN FINAL TEÓRICO Evaluación

EVALUACIONES

Evaluaciones escritasEvaluación Temas a evaluar Puntos Fecha

Primer Parcial Temas 1,2 y 3 20 Clase 7Segundo Parcial Tema 4: Diseño de Algoritmos 20 Clase 13Exámenes Finales<práctico y teórico>

Se evalúa el alcance de los objetivos de la materia. Este examen tendrá un componente práctico (habilidades en máquina) que se sugiere que tenga un peso correspondiente a la mitad del puntaje.

50 Clases 19 y 20

TRABAJOS PRÁCTICOS

Descripción Puntos

Se sugiere que el docente oriente diferentes evaluaciones periódicas de control para verificar el aprendizaje de los diferentes temas avanzados en la materia, así como la evaluación de los LABs

10

TRANSVERSALIZACIÓN DEL IDIOMA INGLÉS

Elaborado por jjcm docente UTEPSA 4

Se sugiere al docente orientar un trabajo de clases (5 ptos) de buscar el significado de palabras y estructuras de lenguajes C#.NET, como pudieran ser por ejemplo: referente a los tipos de datos, terminología de programación, sintaxis empleada en C#.NET, etc.

Page 5: MAAP Prog-0-2008-C#

TEMA-1 ARQUITECTURA BÁSICA DEL COMPUTADOR.COMPETENCIAS ESPECÍFICAS:Al terminar el tema el alumno debe: Conocer a fondo el esquema básico del computador. Identificar y conocer el papel de las diferentes unidades que forman parte de la arquitectura básica

del computador CONTENIDO:1.1 Generalidades

Conceptos de: Hardware, Software e Informática Esquema básico del ComputadorEl Microprocesador – CPU. Tareas de la Unidad Central de Procesamiento CPU Componentes del CPU: La Unidad de Control La Unidad Aritmético - Lógica

Los Registros del Sistema1.2 El BUS

Función Tipos de Buses: Bus de Control,

Bus de Dirección y Bus de Datos.

1.3 La Memoria La Memoria. ROM: (PROM, EPROM, EEPROM) Arranque, BIOS y Extensiones al BIOS La Memoria RAM La Memoria Caché

1.4 Otros Componentes Controlador de Interrupciones. Generador de Reloj Controlador de Acceso Directo a Memoria DMA Dispositivos de Almacenamiento Periféricos

RESUMENEl tema plantea la composición interna del ordenador mediante su representación de forma muy esquemática. La Unidad Central de Procesamiento es referida como su componente principal destacándose las tareas a las cuales está encaminada y las funciones que cumplen sus componentes principales como son las unidades de control y aritmético – lógica.En los ordenadores la interconexión de todos los circuitos de control internos se realiza mediante un diseño de circuitos conocido con el nombre de BUSEl BUS es un conjunto de pistas trazadas en la placa principal que conectan todas las partes que controlan y forman la PC y sirve para el paso de la información de un componente a otro.Si parte del software necesario para el funcionamiento de un ordenador se encuentra siempre grabado en el interior del mismo resulta mucho más fácil este funcionamiento, es por ello que parte del software se encuentra grabado en la memoria ROM (Read Only Memory).Los ordenadores vienen con una cantidad de ROM que contiene las unidades, programas y datos que son necesarios para activar y hacer funcionar al ordenador y sus periféricos.Por otra parte la RAM (Random Access Memory) es el área de trabajo donde el ordenador almacena temporalmente las órdenes o comandos a ejecutar y los datos que deben manipularse por dichas órdenes.Finalmente se mencionan los elementos de control los cuales sirven de apoyo al funcionamiento del microprocesador, o sea que éstos están especializados en determinadas operaciones descargando al microprocesador de estas actividades permitiéndole una mayor rapidez y efectividad en el manejo del sistema.

Elaborado por jjcm docente UTEPSA 5

Page 6: MAAP Prog-0-2008-C#

PREGUNTAS DE AUTOCONTROL1. ¿Qué función cumple cada uno de los elementos que componen el microprocesador?2. ¿Qué función cumple el reloj en el microprocesador?3. Describa brevemente las características principales de la memoria: RAM, ROM, PROM, y

EPROM?4. ¿Qué es la ROM BIOS?5. Describa como funciona el controlador de interrupciones6. Describa como funciona el controlador de DMA7. Para comunicarse con el resto de los componentes del computador el microprocesador cuenta con

tres buses. ¿Cuáles son? Describa las características principales de cada uno. TEMA-2 SISTEMAS DE NUMERACIÓN.COMPETENCIAS ESPECÍFICAS:Al terminar el tema el alumno debe: Conocer a cabalidad que es un sistema numérico posicional. Identificar los sistemas Binarios, Octales y Hexadecimales. Dominar la conversión entre los sistemas Binarios, Octales y Hexadecimales. Dominar las operaciones aritméticas de suma y resta en los sistemas Binarios, Octales y

Hexadecimales CONTENIDO:2.1 Sistemas Numéricos Posicionales

Definición Representación del sistema decimal según suma de potencias

2.2 El Sistema Binario Representación del sistema binario como suma de potencias de base 2 Representación gráfica de un byte y su relación del sistema binario a nivel de bit

2.3 Los Sistemas Octal y Hexadecimal Tabla de números decimales, binario, octal y hexadecimal

2.4 Conversiones entre Sistemas Numéricos Posicionales Cualquier base a decimal Base decimal a otra base Bases Octal y Hexadecimal a Binaria y viceversa Base Octal a Hexadecimal y viceversa

2.5 Operaciones Aritméticas con Números no Decimales Suma y resta de números binarios, octales y hexadecimales.

RESUMENEn capítulo se analizan los sistemas numéricos posicionales SNP que son aquellos en los cuales la posición de los dígitos que componen al número tienen un “peso asociado” en el valor del mismo. Estos números se pueden representar como una suma de potencias donde cada sumando es un dígito multiplicado por la base o raíz del número elevado a una potencia acorde a la posición del mismo.Como bien los circuitos digitales tienen señales que normalmente están en una de dos condiciones: alto-bajo, cargado-descargado, activado-desactivado, estos representan a bits que toman los valores 0 y 1Aunque las bases octales y hexadecimales no se emplean frecuentemente éstas son convenientes para números con múltiples bits en un sistema digital y por ello son motivo de estudio.El sistema octal necesita 8 dígitos por lo que emplea los dígitos de 0 a 7, esto implica que se necesitan 3 bits para poder representar su máximo valor (7)El sistema hexadecimal necesita 16 dígitos por lo que complementa los dígitos decimales 0 a 9 con las letras A a la F, de igual forma se necesitan 4 bits para la representación de su máximo valor (F=15)Las conversiones entre sistemas de distintas bases son a veces necesarias para el trabajo de los sistemas informáticos, luego se establecen las reglas para las conversiones entre los distintos sistemas numéricos vistos en el tema.El capítulo termina haciendo referencia a la ejercitación de las operaciones aritméticas de SNP de bases no decimales.

Elaborado por jjcm docente UTEPSA 6

Page 7: MAAP Prog-0-2008-C#

EJERCICIOS RESUELTOSCONVERSIONESConvertir de binario a decimal los siguientes números:

100112 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20 = 1*16 + 1*2 + 1*1 = 1910

1000102 = 1*25 + 1*21 = 3410

101. 0012 = 1*22 + 0*21 + 1*20 + 0*2-1 + 0*2-2 + 1*2-3

= 1*4 + 0*2 + 1*1 + 0*0,5 + 0*0,25 + 1*0,125 = 5,12510

Convertir:a) 17910 binario

179 / 2 = 89 residuo 1 (lsb)/ 2 = 44 residuo 1

/ 2 = 22 residuo 0/ 2 = 11 residuo 0

/ 2 = 5 residuo 1/ 2 = 2 residuo 1

/ 2 = 1 residuo 0/ 2 = 0 residuo 1

(msb)luego:17910 = 101100112

b) 46710 a octal467 / 8 = 58 residuo 3 (lsb)

/ 8 = 7 residuo 2/ 8 = 0 residuo 7 (msb)

luego:46710 = 7238

c) 341710 a hexadecimal3417 / 16 = 213 residuo 9 (lsb)

/ 16 = 13 residuo 5/ 16 = 0 residuo 13 (msb)

luego:341710 = D5916

Convertir de binario a octal los siguientes números:1000110011102 = 100 011 001 1102 = 43168 111011011101010012 = 011 101 101 110 101 0012 = 3556518 10.10110010112 = 010 . 101 100 101 100 = 2.54548

Convertir de binario a hexadecimal los siguientes números:1000110011102 = 1000 1100 11102 = 8CE16

111011011101010012 = 1 1101 1011 1010 10012 = 1DBA916 10.10110010112 = 0010 . 1011 0010 1100 = 2.B2C16

Convertir de octal a binario los siguientes números:13578 = 001 011 101 1112 2046.178 = 010 000 100 110 . 001 1112

Convertir de hexadecimal a binario los siguientes números:BEAD16 = 1011 1110 1010 11012 9F.46C16 = 1001 1111 . 0100 0110 11002

Comprobar los resultados de las conversiones siguientes:Convertir de Binario a Octal y Hexadecimal los siguientes valores:

0100111011102 (23568 4EE16)1110111011102 (73568 EEE16)10110111011112 (133578 16EF16)111101.1101101002 (75.6648 6D.DA16)

Convertir de Octal y Hexadecimal a Binario los siguientes valores:

Elaborado por jjcm docente UTEPSA 7

Page 8: MAAP Prog-0-2008-C#

2578 (010 101 1112)352116 (0011 0101 0010 00012)47516 (0100 0111 01012)27208 (010 111 010 0002)363016 (0011 0110 0011 00002)

Realizar las conversiones de Octal a Hexadecimal y viceversa siguientes:12348 (001 010 011 1002 0010 1001 11002 29C16)C0DE16 (1100 0000 1101 11102 001 100 000 011 011 1102

1403368)

OPERACIONES ARITMÉTICAS BÁSICASSUMA C acarreo <011111110> C acarreo <000000000>

X 127 011111112 X 170 101010102

Y 63 001111112 Y 85 010101012

190 101111102 255 111111112

C acarreo <01010>X 727 13278 1 . 83+3 . 82+2 . 81+7 . 80 = 512+192+16+7 = 727Y 389 6058 6 . 82+0 . 81+5 . 80 = 384+0+5 = 389

1116 21348 2 . 83+1 . 82+3 . 81+4 . 80 = 1024+64+24+4 = 1116

C acarreo <01100>X 51174 C7E616 12 . 163+7 . 162+14 . 161+6 . 160 =49152+1792+224+6 = 51174Y 6585 19B916 1 . 163+9 . 162+11 . 161+9 . 160 = 4096+2304+176+9 = 6585

57759 E19F16 57759 / 16 = 3609 res 15 (lsb)

/ 16 = 225 res 9/ 16 = 14 res 1

/ 16 = 0 res 14 (msd)

RESTA B préstamo <00000000> B préstamo <10101010>

X 127 011111112 X 170 101010102

Y 63 001111112 Y 85 010101012

64 010000002 85 010101012

B préstamo <1000>X 727 13278 1 . 83+3 . 82+2 . 81+7 . 80 = 512+192+16+7 = 727

Y 389 6058 6 . 82+0 . 81+5 . 80 = 384+0+5 = 389

338 5228 5 . 82+2 . 81+2 . 80 = 320+16+2 = 338

B préstamo <1010>X 51174 C7E616 12 . 163+7 . 162+14 . 161+6 . 160 =49152+1792+224+6 = 51174Y 6585 19B916 1 . 163+9 . 162+11 . 161+9 . 160 = 4096+2304+176+9 = 6585

44589 AE2D16 10 .163+14 .162+2 . 161+13 . 160 =40960+3584+32+13 = 44589

Elaborado por jjcm docente UTEPSA 8

Page 9: MAAP Prog-0-2008-C#

Elaborado por jjcm docente UTEPSA 9

Page 10: MAAP Prog-0-2008-C#

EJERCICIOS PROPUESTOSCONVERSIONESConvertir de binario a decimal los siguientes números:a)1012 b)01112 c)101011112 d)10001110101012

Convertir de decimal a binario los siguientes números:a)278 b)936 c)1897 d)5863

Convertir de decimal a hexadecimal los siguientes números:a)15 b)59 c)268 d)873

Convertir de hexadecimal a decimal los siguientes números:a)1A16 b)D816 c)5C216 d)4FB16

Convertir de octal a decimal los siguientes números:a)648 b)1058 c)10258 d)45308

Convertir de decimal a octal los siguientes números:a)43 b)80 c)236 d)4586

Convertir de binario a octal los siguientes números:a)110101012 b)111100112 c)1000011110112 d)11000011111012

OPERACIONES ARITMÉTICAS BÁSICASRealizar las siguientes sumas binarias:a)1012 + 102 b)1102 + 112

c)10012 + 11102 d)101002 + 110112

Realizar las siguientes restas binarias:a)10112 – 1002 b)1011101102 – 1000002

c)10000010002 – 11100112 d)11010000102 – 1111112

ANEXO TEMA 2Tabla de Números Decimales, Binario, Octales y Hexadecimales.

DECIMAL BINARIO OCTAL HEXADECIMAL0 0 0 01 1 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 67 111 7 78 1000 10 89 1001 11 9

10 1010 12 A11 1011 13 B12 1100 14 C13 1101 15 D14 1110 16 E15 1111 17 F

RESUMEN DE CONVERSIONES PARA BASES COMUNES: De cualquier base a base decimal

Elaborado por jjcm docente UTEPSA 10

Page 11: MAAP Prog-0-2008-C#

Uso de la fórmula:

D =

donde: r = base del número en cuestiónp = cantidad de dígitos a la izquierda del punton = cantidad de dígitos a la derecha del puntodi = dígito en la posición i

De base decimal a otra baseMediante divisiones sucesivas del número en cuestión entre la base a la que se quiere llevar, hasta obtener un cociente igual a cero, siendo el resultado los residuos colocados en forma inversa.

De bases Octal y Hexadecimal a Binaria y viceversaMediante sustitución de cada dígito octal o hexadecimal por su valor binario, sabiendo que cada dígito octal se representa mediante 3 dígitos binarios y a cada Hexadecimal le corresponden 4 dígitos binarios.De Binario a Octal o Hexadecimal se procede de forma inversa o sea a cada 3 o 4 dígitos binarios le corresponde un dígito Octal o uno Hexadecimal respectivamente.

De base Octal a Hexadecimal y viceversaMediante sustitución a través de la base binaria, es decir se pasa de Octal a binario y luego a Hexadecimal acorde al punto anterior y de la misma forma en caso de ser de Hexadecimal a Octal.

Tabla de Suma Binaria ci X Y X+Y c0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1

ci y c son acarreo inicial y acarreo

Tabla de Resta Binaria bi X Y X – Y b0 0 0 0 00 0 1 1 10 1 0 1 00 1 1 0 01 0 0 1 11 0 1 0 11 1 0 0 11 1 1 1 1

bi y b son préstamo inicial y préstamo

Elaborado por jjcm docente UTEPSA 11

Page 12: MAAP Prog-0-2008-C#

TEMA-3 REPRESENTACIÓN DE LA INFORMACIÓN.COMPETENCIAS ESPECÍFICAS:Al terminar el tema el alumno debe: Identificar los conceptos generales que se tomarán en cuenta a lo largo de la materia para la

resolución de problemas como son variables, constantes, tipos de datos, operadores y expresiones Identificar las operaciones de asignación y las de entrada – salida como operaciones básicas de

cualquier programa de computaciónCONTENIDO:3.1 Generalidades.

Sistema de Procesamiento de la Información3.2 Representación de la Información

Tipos de datos. Constantes y variables. Expresiones: (Aritméticas, Relacionales, Lógicas, de Caracteres). Asignaciones.

RESUMEN:En el tema se plantea el mecanismo de procesamiento de la información (datos, programa, salida), como

sistema de información, considerándose fundamentalmente los tipos de datos numéricos (enteros y reales), booleanos o lógicos y los de carácter – cadena. Los programas de computación contienen ciertos valores que no cambian durante la ejecución del programa y otros que pueden cambiar durante la ejecución del mismo, a los primeros se les denominan constantes mientras que a los últimos se les conoce como variables.Las expresiones en su forma mas simple están definidas según: operando – operador – operando siendo, generalmente, los operandos, variables y constantes y los operadores símbolos que indican la operación (aritmética o lógica) a realizar con los operandos.Cuando las expresiones son simples no existe duda en cuanto a la operación a realizar, pero cuando son compuestas, es decir, cuando intervienen mas de dos operadores, debe existir un orden o precedencia para realizar las operaciones señaladas.Cuando una constante, variable o resultado de una expresión se asigna a una variable el valor contenido en ésta es reemplazado por el valor asignado conociéndose esta operación como operación de asignación. Un algoritmo no es mas que una serie de instrucciones o sentencias que especifican la secuencia de pasos a seguir en la resolución de un problema, estando éste último regido por, al menos, de una serie de pasos como la definición y análisis del problema, el desarrollo del algoritmo, la codificación o representación mediante un lenguaje de programación y la validación o corrección de la representación del problema hasta alcanzar los resultados esperados.Finalmente en el tema se estudia la representación algorítmica de diversas expresiones algebraicas.

PREGUNTAS de AUTOCONTROL:

¿A que se denomina dato en programación? ¿Qué se entiende por algoritmo y como puede ser representado? ¿Qué características poseen las operaciones de entrada – salida en un programa? ¿Dónde pueden ser usadas las expresiones relacionales y lógicas en un programa? Diga, a su criterio, ¿que importancia revisten las operaciones de entrada – salida? Como Ud. conoce en una operación de asignación es posible asignar el contenido de una expresión a

una variable, a lo que se denomina operación de asignación. ¿Podría esa misma variable encontrarse como un operando de la expresión? Explique.

Elaborado por jjcm docente UTEPSA 12

Page 13: MAAP Prog-0-2008-C#

EJEMPLOS RESUELTOS:I Indicar el valor de cada una de las siguientes variables:

1. a (2 * 2 * 2) + 9 / 5 – 6 * 8 a 8 + 1.8 – 48 a -38.2

2. b 4 * (3 * 3) / 8 + 5 b 4 * 9 / 8 + 5 b 36 / 8 + 5b 9.5

3. c ((4 * 3) * (4 * 3)) / (8 + 5) c (12 * 12) / 13 c 144 / 13 c 11.07

4. d (3 * 3) – 9 / (5 – 6 ) * 8 d 9 – 9 / (-1 ) * 8 d 9 + 9 * 8 d 81

5. e 125 / (5 * 5) – 5 e 125 / 25 – 5 e 5 – 5 e 0

II Hallar el valor de la variable z en cada una de las expresiones:Si:

a 6 b a * 10 – 3 (b 6 * 10 – 3 b 57) c 7 + b / 3 (c 7 + 57 / 3 c 7 + 19 c 26)

6. z a + b % c z 6 + 57 % 26 z 6 + 5 z 11

7. z (a + b) / c z (6 + 57) / 26 z 63 / 26z 2

8. z b / a + (c * c) z 57 / 6 + (26 * 26) z 9 + 676 z 685

9. z a * b / (c – 6 ) z 6 * 57 / (26 – 6) z 6 * 57 / 20 z 17

10. z (b + c) / a + (b + c) % a z (57 + 26) / 6 + (57 + 26) % 6 z 83 / 6 + 83 % 6 = 13 + 5 z 18

III Evaluar las expresiones algorítmicas siguientes:11. cuadrado(3) > abs(9.05)

9 > 9.05F

12. no(16 * 2 > 5 * 5) y (24 % 5 / 2 == 2)no(32 > 25) y (4 / 2 == 2) no(V) y V F y VF

13. raiz2(625) == cuadrado(5)25 = 25V

14. (4 * 4 + 9) > cuadrado(5)(16 + 9) > 25

Elaborado por jjcm docente UTEPSA 13

Page 14: MAAP Prog-0-2008-C#

25 > 25 F

15. ((6 + 3 * 3) > abs(15.1)) o (25 == (9 + 4 * 4))((6 + 9) > 15.1) o (25 == (9 + 16))(15 > 15.1) o (25 == 25)F o VV

EJERCICIOS PROPUESTOS1. Indicar el valor de cada una de las siguientes variables:

a) x

b) x

c) x

d) x

e) y

f) y

g) y

2. Indicar el valor de cada una de las siguientes variables:a) a 3 b 6 c 8 d a + b – cb) a 2 b 10 c 7 d (a + b) % cc) w 9 x 2 y 3 z x +w / yd) q 2 e 34 r 8 h ((e / q) % q -r) * 3e) q 2 e 34 r 8 h ((e+r) % 7) * (q – r)

3. Evaluar las siguientes expresiones:a) – 4 * 7 + (2 * 2 * 2) / 4 – 5b) (24 % 5) / 2c) 5 * 5 / (15 + 5 * 2)d) 12 + 3 * 7 + 5 * 4 e) (4 * 4 + 2 * 2) < (10+ 5 / 2)f) (1.0 * 3.0) == raiz2 (9)g) cuadrado (4) >= abs (16.5)h) (5 * 5 > 16 * 2) o (3 * 3 > 2 * 4)i) no ((24 % 5) / 2 == 2 )j) no (raiz2(31 + 5) == 6) y (0 < 1)

4. Encontrar el valor de la variable VALOR después de la ejecución de las siguientes operaciones.a) VALOR 4.0 * 5b) X 3.0

Y 2.0VALOR X * Y – Y

c) VALOR 5 X 3 VALOR VALOR * Xd) VALOR (10 > 6) Y (10 == 6)e) VALOR 2 * 2 + 5 * 5

VALOR VALOR + 1

5. Deducir el valor que tienen las variables A y B al final de la siguiente secuencia de instrucciones.A 4 B 5

Elaborado por jjcm docente UTEPSA 14

Page 15: MAAP Prog-0-2008-C#

B A + 1 B B + 1 A B

ANEXOS TEMA 3EXPRESIONES Expresiones aritméticasLos operadores de las expresiones aritméticas son:+, – suma, resta*, / multiplicación, división (cuando ambos operandos son enteros el resultado es un valor entero, si

uno de ellos es real el resultado es de tipo real)% resto de la división entera

Expresiones relacionales

Operador significado < menor que > mayor que== igual que<= menor o igual que>= mayor o igual que!= distinto de

Expresiones lógicas

operador lógico expresión lógica significadono no p Negación de py p y q Conjunción de p y qo p o q Disyunción de p y q

Precedencias de las operaciones Lenguaje C#.NET:

nivel tipo Descripción Operador 1 Paréntesis (agrupamiento) ( )2 Lógicas Negación no

3

Ari

tmét

icos

Multiplicación, División y Resto de la división entera

* / %

4Suma, Resta

+ –

5Operadores relacionales

<, >, <=, >=6 == !=

7 Lógicas Conjunción, Disyunción y o

8 Asignación =

TABLA DE EXPRESIONES ALGEBRAICAS - ALGORITMICASTABLA DE EXPRESIONES ALGEBRAICAS - ALGORITMICAS Exp. algebraica Significado Exp. algorítmica

| x | Valor absoluto de x abs(x)

Elaborado por jjcm docente UTEPSA 15

Page 16: MAAP Prog-0-2008-C#

Tan-1 (x) Ángulo cuya tangente es x arctan(x)sin(x), cos(x) Seno y coseno del ángulo x sen(x), cos(x)ln(x), log10(x)

Logaritmos natural y base 10 del valor x ln(x),log10(x)

Redondeo del valor xEjemplos:7.25 a 7; 7.85 a 8; 7.5 a 8; 6.5 a 6

redondeo(x)

x 2 Cuadrado del valor x cuadrado(x)Raíz cuadrada de x raiz2(x)

Truncar el valor x(eliminar la parte fraccionaria de un valor real, devolviendo un entero)Ejemplo: 4.998 a 4

trunc(x)

Elaborado por jjcm docente UTEPSA 16

Page 17: MAAP Prog-0-2008-C#

TEMA-4 DISEÑO DE ALGORITMOS.COMPETENCIAS ESPECÍFICAS:Al terminar el tema el alumno debe: Desarrollar el pensamiento lógico y la capacidad de descomponer la solución de un problema en

pasos ordenados con el fin de diseñar algoritmos sencillos Identificar las estructuras básicas de los algoritmos y aplicarlas adecuadamente en la resolución de

problemas Representar gráficamente los algoritmos mediante diferentes métodosCONTENIDO:4.1 Pasos en la Resolución de un Problema.

Definición y Análisis, Diseño del algoritmo, Codificación y Validación

4.2 Diagramas de Flujo. Símbolos gráficos

4.3 Estructuras Básicas de Algoritmos. Estructuras selectivas. BIFURCACIONES.

Salida simple, Salida doble y Salida múltiple.

Estructuras repetitivas. BUCLES Condición al final, Condición al inicio, Conociendo el número de iteraciones, Contadores y acumuladores

RESUMEN:Se detallan los pasos a seguir en la resolución de un problema, vistos en el tema anterior, siendo el paso del análisis desglosado en los datos de entrada, los resultados, las fórmulas necesarias si éstas existieran y la lógica a emplear, es decir, que herramientas de programación se emplearán y como para resolver el problema.La definición del problema es un aspecto crucial pues el programador debe de estar muy claro en que es lo que se le está solicitando.El análisis debe aprovecharse para definir mediante identificadores cuales son las variables que intervendrán en el problema.Existen varios métodos para el desarrollo de un algoritmo como son los de seudo código, los diagramas de flujo y los lenguajes de programación. El seudo código es el planteamiento del problema mediante un lenguaje coloquial, los diagramas de flujo mediante símbolos gráficos y los lenguajes de programación mediante el código directo que interpretará la PC, éste último constituye la forma mas avanzada de plantear el algoritmo por lo que para ello el programador debe contar con suficiente experiencia. En el caso de los dos primeros métodos es necesaria la codificación, es decir, pasarlo a un lenguaje de programación determinado.En el caso de los diagramas de flujo se estudian las estructuras selectivas o bifurcaciones que son las empleadas para la consideración de variantes de acuerdo al comportamiento de una determina condición, de esta forma se plantean las bifurcaciones de salida simple cuando el resultado de la condición es verdadero o de salida doble cuando el flujo de la ejecución toma caminos en dependencia si la condición es verdadera o si es falsa, asimismo se plantea el caso de la bifurcación con salidas múltiples donde al evaluar una expresión o variable, el flujo seguirá acorde al valor tomado.Un bucle o lazo es un segmento del programa que se repite un número de veces mientras se cumpla una condición determinada y donde en cada ciclo o iteración se comprueba la condición. Existen bucles en los que la condición se encuentra al final y otros donde ésta está al inicio, así como pueden existir bucles donde la cantidad de iteraciones o repeticiones son conocidas de antemano.

Elaborado por jjcm docente UTEPSA 17

Page 18: MAAP Prog-0-2008-C#

Los procesos repetitivos son la base del uso de las computadoras. En estos procesos se necesita, frecuentemente, contar las repeticiones que se efectúan, esto es lo que se denomina un contador. Luego un contador es una variable cuyo valor se incrementa o disminuye en una cantidad constante en cada iteración, asimismo un acumulador o totalizador es una variable cuya misión es almacenar cantidades variables resultantes de sumas sucesivas. Los contadores y los acumuladores necesitan ser inicializados con un valor antes de la ejecución del bucle, ya que las variables que lo identifican se encuentran en la expresión que se les asignará.

PREGUNTAS de AUTOCONTROL: ¿Por qué son necesarios, en algunos casos, el uso de contadores en las estructuras repetitivas de los

programas de computación? ¿Cuál es la diferencia entre dos bucles en uno de los cuales la condición se encuentra al inicio de

éste y en otro en la que se encuentra al final del mismo?

EJEMPLO RESUELTO:1 Calcular la media de una serie de números enteros y positivos dados por el usuario desde teclado. El

valor cero (0) indica el fin de la entrada.Análisis del ProblemaDatos.- n (diferentes valores dados por el usuario, es decir n1, n2, .. ,nn)R/s.- Vprom (valor promedio)Fórmulas.- Vprom = (n1 + n2 + … + nk)/k (sumatoria de los # dados entre la cantidad)Lógica.- Se usará un acumulador para la sumatoria y un contador para la cantidad de valores

entrados, en un ciclo hasta la lectura del valor 0El valor 0 => la impresión de Vprom y fin del algoritmo

Diseño del Algoritmo

Codificación (se verá próximamente cuando se estudie la programación en C#.NET)

ValidaciónSe comprobará mediante el siguiente juego de valores:15, 8, 23, 102, 0 de donde Promedio = (15 + 8 + 23 + 102) / 4 = 148/4 = 37Corrida a mano del algoritmo( consiste en ir evaluando paso a paso las distintas variables acorde al flujo del diagrama)

var val inicial ciclo 1 ciclo 2 ciclo 3 ciclo 4n 15 8 23 102c 0 c= 0+1= 1 c= 1+1= 2 c= 2+1= 3 c= 3+1= 4S 0 S= 0 + 15 =

15S= 15 + 8 =

23S= 23 + 23 =

46S= 46 + 102

=148Vprom = S / c = 148 / 4 = 37

Elaborado por jjcm docente UTEPSA 18

Page 19: MAAP Prog-0-2008-C#

Lo cual coincide con el resultado a priori.

EJERCICIOS PROPUESTOS:1. Plantear los pasos lógico que usted sigue para ir desde su casa hasta su universidad.2. Una persona solo sabe sumar dos números y dividir 2 números. Escribir los pasos que se deben

seguir para que esta persona calcule el promedio entre los números 9, 4, 12.3. Modificar el anterior- ejercicio para calcular el promedio de 3 números cualesquiera.4. Calcular la velocidad promedio que emplea un corredor de maratón en su Carrera. Los datos del

tiempo empleado, expresado en minutos, se introducen desde el teclado y el resultado se visualiza en pantalla en kilómetros por horas.

5. Convertir una temperatura expresada en grados Celsius a grados Fahrenheit. La formula de conversión es F = 9/5+32

6. Determinar el área y el volumen de un cilindro cuyas dimensiones se leen por teclado7. Determinar si un número es múltiplo de 6 y 9 a la vez8. Intercambiar dos variables a y b en caso de que a sea mayor a b9. Determinar el mayor de tres números10. Imprimir el día de la semana en caso de que su inicial coincida con una tecla oprimida por el

usuario. En caso de que no coincida imprimir un mensaje de error.11. Calcular el salario de un empleado si se sabe que para los de turno diurno la tarifa en el caso de

horas normales de trabajo es de 1.3 $/hora y en el caso de horas extras es de 2. l si el empleado es de turno diurno, la tarifa será horas normales es de 1.8 y para horas extras es de 2.5.

12. Determinar si un carácter tecleado por el usuario es un dígito, una mayúscula, una minúscula o un carácter especial

13. Determinar el mayor entre 4 números.14. Generar los 10 primeros números naturales 15. Generar los primeros N número naturales.16. Sumar los N primeros números naturales 17. Sacar el promedio de los primeros N números naturales.18. Generar los N números enteros antes del 100.19. Generar los N últimos números enteros antes de un número A.20. De un conjunto de N números enteros, sacar el promedio de los pares.21. De un conjunto de N números, sumar sólo aquellos que llegan en forma ascendente.22. Escoger el menor entre N números23. Escoger el mayor y menor de un conjunto de N números.24. Generar las siguientes series:

a.) Serie de Fibonacci-. 1, 1, 2,3, 5, 8, 13, 21, 34, 55, 89b.) 1, 3, 4, 7, 11, 18, 29,c.) 1, 20, 3, 18, 5, 16, 7, 14, 9, 12, 11, 10, 13, 8, 15, 6, 17, 4, 19, 21, 0 d.) 1, 2, 4, 8, 16, 32, 64, -128 e.) 1, 2, 3, 4, 5, 5, 4, 3, 2, 1, 1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 3, 3, 2, 1, 1, 2, 2, 1, 1, 1f.) -1, 1, -2, 3, -5, 8, -13, 21, -34, 55g.) 1, 2, 6, 24, 120, 720 ……………….n!h.) - 1, 1, -2, 2, -3, 4, -4, 8, -5, 1 6, -6, 32

25. Teniendo un número natural cualquiera, calcular la cantidad de dígitos que contiene.26. Determinar el factorial de un número N

Elaborado por jjcm docente UTEPSA 19

Page 20: MAAP Prog-0-2008-C#

ANEXOS TEMA 4DIAGRAMAS DE FLUJO. SÍMBOLOS GRÁFICOS Y SEUDO CÓDIGOS

DF SEUDO CÓDIGO DESCRIPCIÓN

inicio, fin Indica el inicio y fin del programa

Indica un proceso predefinido o procedimiento<método>

leer a Entrada de datos por teclado

mostrar x Salida de resultados por pantalla

a b + c Asignación de datos, expresiones o variables

si (a > 0):fin

Comparación de una expresión booleana con salida simple

si (b == 0):sino:fin

Comparación de una expresión booleana con salida doble

Conexión entre líneas de flujo

Líneas de flujo. Indican los flujos del diagrama

Comentario para referenciar algún proceso

hacer :mientras que (e==0)

Ciclo repetitivo para la ejecución de una o más sentencias con la condición al final del bucle

mientras (g >1) :fin

Ciclo repetitivo para la ejecución de una o más sentencias con la condición al inicio del bucle

para i=1 hasta n hacer:fin

Ciclo repetitivo para la ejecución de uno o más sentencias con un número de iteraciones dadas

Asignación de datos a una variable

Elaborado por jjcm docente UTEPSA 20

Page 21: MAAP Prog-0-2008-C#

Bifurcación Condicional Tipos:

Estructuras Repetitivas Tipos:

Condición al final Condición al inicio Se conoce el # de repeticiones

Elaborado por jjcm docente UTEPSA 21

Page 22: MAAP Prog-0-2008-C#

TEMA-5 CODIFICACIÓNCOMPETENCIAS ESPECÍFICAS:Al terminar el tema el alumno debe:

Comenzar a usar proyectos en C Sharp.NET < C#.NET> a través del entorno .NET. Utilizar las herramientas de diseño y programación en el entorno de desarrollo de trabajo con las

aplicaciones. Crear mediante el empleo de la PC, en el laboratorio, una aplicación simple. Identificar conceptos relacionados con el entorno de la programación como son: lenguajes de alto y

bajo nivel, compiladores, intérpretes, etc. Utilizar el lenguaje de programación C#.NET como herramienta para la resolución de diversos

problemas Traducir, de forma eficiente, a código de programación las diversas estructuras algorítmicas

estudiadas.CONTENIDO:

5.1 Tecnología .NET Conceptos Básicos de NET,

La plataforma .NET. Framework.NETVisual Studio.NET

El Entorno de Desarrollo IDE.Diseño de Formularios y Editor de códigoLa ventana de Propiedades

Creación de un Proyecto en C#.NETEl proceso de desarrolloCreación de la Interfaz de usuarioFijando propiedades a los controles y añadiendo el código asociadoConstruyendo un archivo ejecutable

5.2 EL Código de Programación. Lenguajes de Programación

Lenguajes de máquina, de bajo nivel , de alto nivel o súper lenguajes.Compiladores e intérpretes

Estructura del Código en C#.NET. Declaración de VariablesElementos Básicos del Código C#.NETOperadores y Funciones C#.NET.Tipos de Sentencias. Sentencias simples, Sentencias Condicionales <if ( ), if ( ) .. else, switch ( ) > Sentencias Repetitivas <while( ), for( ), do .. while( )>Conversiones de Código a Diagramas de Flujo. Programas en Modo Consola y Orientados a EventosEjercicios

RESUMEN:En la primera parte del tema se presenta al lenguaje C#.NET explicando a grandes rasgos como se inserta el mismo en la plataforma .NET y como se emplean las herramientas de programación en VS.NET proveyendo los elementos necesarios para la creación de una aplicación.Es importante conocer previamente, algunos conceptos básicos de .NET como son la plataforma que posibilita el uso de la tecnología .NET, el FrameWork y el VisualStudio entre otros.Por otra parte en el tema se señalan las principales características del entorno de desarrollo usado para la creación y modificación de las aplicaciones como la ventana de formularios y la caja de herramientas.Finalmente se explica como se procede para la creación de una aplicación en C#.NET, atendiendo al proceso de desarrollo que involucra a la misma y se proveen detalles de la sintaxis del lenguaje e implementación.

Elaborado por jjcm docente UTEPSA 22

Page 23: MAAP Prog-0-2008-C#

Las acciones de un algoritmo definidas en sus pasos se traducen en la codificación del programa como instrucciones o sentencias, luego el código consta de una serie de instrucciones o sentencias cada una especificando las operaciones que debe hacer la computadora.El código puede estar escrito en lenguaje de máquina, en lenguaje de bajo nivel o en superlenguaje, los primeros solo lo entienden las computadoras ya que son cadenas binarias (0 y 1) que especifican las operaciones y direcciones en memoria empleadas por lo que este lenguaje depende del hardware de la máquina lo cual dificulta su portabilidad, los de bajo nivel usan instrucciones que son conocidas como nemotécnicas siendo mas fáciles de usar que los anteriores pero al igual que ellos dependen del hardware, mientras que los superlenguajes están diseñados para un fácil entendimiento de las personas, es decir, poseen una sintaxis sencilla parecida al lenguaje coloquial y no dependen del hardware de la computadora lo cual garantiza su portabilidad.El código escrito en un lenguaje por encima al de máquina se denomina código fuente, el cual tiene que ser traducido, al lenguaje de máquina para que la computadora pueda entenderlo, mediante programas del lenguaje denominados traductores. En el caso de los súper lenguajes estos traductores se denominan compiladores. Luego los compiladores crean un nuevo tipo de código denominado código objeto el cual el sistema utiliza para la creación del código ejecutable (.exe)Sin embargo no es esencial la traducción de los lenguajes de alto nivel para la ejecución de un programa. Algunas veces es mejor realizar la traducción a una forma de lenguaje intermedio que es ejecutado por otro programa denominado intérprete. Luego un intérprete es un programa que lee el programa a ser interpretado y lo ejecuta sentencia a sentencia. La codificación en el lenguaje consta de varias partes esenciales, entre las que se encuentran la declaración de constantes y variables que se utilizarán en el código de la aplicación y las sentencias de éste que especifican las acciones a realizar por la PC.Existen varios tipos de sentencias; las simples como las de asignación, de llamado a procedimientos Sub y las de GoTo, las sentencias condicionales y las repetitivas, estas dos últimas analizadas algorítmicamente anteriormente.Finalmente resulta interesante realizar el proceso inverso a la codificación, es decir dado el código en lenguaje C#.NET poder representarlo mediante un diagrama de flujo.

PREGUNTAS de AUTOCONTROL:1. ¿Cómo se accede al editor de código para la creación de un formulario? Mencione un ejemplo de por

qué sería necesario hacer esto.2. ¿Cómo puede el CLR (Common Language RunTime) administrar la ejecución de aplicaciones

escritas en diferentes lenguajes de programación?3. Después que se crean las especificaciones de diseño para una aplicación. ¿Cómo puede UD. crear

objetos para la interfaz de usuario? 4. Mientras UD. está creando una aplicación en C#.NET. ¿Cómo puede UD. asegurarse que trabaja

correctamente cuando se realiza un cambio de consideración en la misma?5. ¿Qué herramienta de programación se usa para cambiar el color y la captura de información de un

objeto en la interfaz de usuario?6. ¿A que se denomina codificación?7. ¿Qué tipo de dato óptimo asociado Ud, usaría para una variable que represente:

valores enteros y positivossolo valores enteros (positivos y/o negativos)la edad de una persona.el sexo de una persona

8. ¿Por qué los lenguajes de programación vienen acompañados por programas denominados compiladores?

9. ¿Cual es el problema fundamental que presentan los lenguajes de programación que no llegan a constituir un súper lenguaje?

10. Señale que diferencias existen entre un programa fuente y un programa ejecutable.

Elaborado por jjcm docente UTEPSA 23

Page 24: MAAP Prog-0-2008-C#

EJERCICIOS RESUELTOS:1. Calcular y visualizar por pantalla, el área de un triangulo, suministrándole por teclado la base y la

altura.

Interfaz de UsuarioSe comienza agregando los controles necesarios en un formulario nuevo como se muestra en la imagen:

Código de la AplicaciónEn el evento Click del botón btnCalc cuyo texto es Calcular se coloca el código que se puede ver en el listado completo del programa. public Form1()

: private void btnCalc_Click(object sender, EventArgs e) {

float Base, Altura, Area;Base = float.Parse(this.txtBase.Text);Altura = float.Parse(this.txtAlt.Text);Area = (Base * Altura) / 2;this.lblRes.Text = Area.ToString();

} La aplicación una vez ejecutada se muestra en la figura que sigue:

Elaborado por jjcm docente UTEPSA 24

Objeto Nombre PropiedadForm1Label1Label2Label3Label4Label5 lblRes

Text = CÁLCULO del ÁREA de un TRIÁNGULOText = BaseText = AlturaText = ÁreaBackColor = Silver

TextBox1TextBox2

txtBasetxtAlt

Button1 btnCalc Text = Calcular

Page 25: MAAP Prog-0-2008-C#

2. Realizar un programa que lea del teclado un número correspondiente al radio de la circunferencia, visualizando la longitud de la misma y el área del círculo correspondiente.

Interfaz de UsuarioSe comienza agregando los controles necesarios en un formulario nuevo como se muestra en la imagen:

Objeto Nombre PropiedadForm1 Text = CircunferenciaLabel1Label2Label3

Text = RadioText = ÁreaText = Longitud

TextBox1TextBox2TextBox3

txtRadiotxtAreatxtLong

Button1Button2

btnCalcbtnFin

Text = CalcularText = Terminar

Código de la Aplicaciónpublic Form1()

: private void btnCalc_Click(object sender, EventArgs e) { double r, area, Lng; r = double.Parse(this.txtRadio.Text); area = Math.PI * r * r; Lng = 2 * Math.PI * r; this.txtArea.Text = area.ToString(); this.txtLong.Text = Lng.ToString();

} private void btnFin_Click(object sender, EventArgs e)

{ this.Close();

}La aplicación una vez ejecutada se muestra como la figura que sigue:

Elaborado por jjcm docente UTEPSA 25

Page 26: MAAP Prog-0-2008-C#

EJERCICIOS PROPUESTOS1. Crear una aplicación denominada Propiedades de

Adición que muestre las propiedades Asociativa (a + b) + c = a + (b + c) y Conmutativa a + b = b + a cuando se haga clic en los botones agregados al Formulario a tales efectos. La Interfaz de Usuario debe lucir como la siguiente:

2. Crear una aplicación denominada Conversión de Temperatura que cuando el usuario entre un valor en grados centígrados (Celsio) se muestre su correspondiente en grados Fahrenheit cuando se haga clic en el botón agregado al Formulario a tales efectos <fórmula C = 5/9(F – 32)>. La Interfaz de Usuario debe lucir como la siguiente:

3. El costo de hacer una pizza en una pizzería es el siguiente: Mano de obra $0,75 por pizza, independiente del

tamaño de las misma Costo de renta $1.00 por pizza, independiente del

tamaño de las misma Materiales $0.05 * diámetro2 (el diámetro se mide

en pulgadas)Cree una aplicación denominada Costo de Pizzas que permita al usuario entrar el valor del diámetro de la pizza y muestre el costo de la misma cuando se haga clic en el botón Costo, agregado a tal efecto en el formulario. La Interfaz de Usuario debe lucir como la siguiente:

4. Crear una aplicación que permita al usuario entrar una cantidad menor de Bs 10 y muestre el número mínimo de monedas para efectuar el cambio cuando se haga clic en el botón Monedas, el cambio puede ser efectuado en monedas de Bs 0.10, Bs 0.20, Bs 0.50, Bs 1.00, Bs 2.00 y Bs 5.00. La Interfaz de Usuario debe lucir como la siguiente:

Elaborado por jjcm docente UTEPSA 26

Page 27: MAAP Prog-0-2008-C#

5. Crear una aplicación denominada Número de Dígitos que permita al usuario entrar un valor numérico entero y cuando el usuario haga clic en el botón Dígitos se muestre la cantidad de dígitos que posee el número entrado. La Interfaz de Usuario debe lucir como la siguiente:

6. Crear la aplicación Test Matemático que muestre una expresión aritmética mediante la creación aleatoria de 5 números y 4 operadores aritméticos (+, –, *, /, \) y donde el usuario tenga que escribir el resultado. La aplicación comprobará la respuesta y mostrará un mensaje de si es correcta o no y permitirá al usuario ver mediante una caja de mensajes la respuesta correcta.La Interfaz de Usuario debe lucir como la siguiente:

7. Crear una aplicación denominada Sumatoria que calcule la suma de un determinado rango de valores entrados por el usuario y que muestre en una etiqueta el resultado de dicha sumatoria. La Interfaz de Usuario debe lucir como la siguiente:

8. Crear la Interfaz de Usuario y escribir el código para un problema que dado un conjunto de n números enteros encontrar el promedio de los mismos

9. Crear la Interfaz de Usuario y escribir el código para un problema que permita invertir un número de 3 dígitos, dado como entrada por el usuario. Use los controles a su elección que le permitan lo anterior.

10. Diseñar un algoritmo que calcule el área de un conjunto de círculos. El radio de cada círculo en centímetros se leerá mediante una caja de texto (TextBox) y se almacenará en una caja de lista (ListBox). El algoritmo deberá mostrar la siguiente información por pantalla a través de una caja de mensaje (MessageBox):a. El área mayor calculadob. El área menorc. El promedio de las áreas de todos los círculos

11. En una empresa se fabrican dos tipos de piezas: Cónicas y Cilíndricas. Para confección de dichas piezas es necesario conocer el volumen de las mismas. Cree la Interfaz de Usuario y escriba el código para el proceso de calculo del volumen de cualquier pieza si se conoce que las fórmulas para el cálculo de volumen son las siguientes:

Cilindro: V= 3.14*R^2*HCono: V = 3.14 * R^2/3DondeV : VolumenR : Radio de la baseH : Altura

Elaborado por jjcm docente UTEPSA 27

Page 28: MAAP Prog-0-2008-C#

Nota: El programa debe servir para calcular el volumen de cualquier cantidad de piezas.12. Escriba un programa (Interfaz de Usuario y confección del código) que permita clasificar triángulos

según la longitud de sus lados. Los triángulos se clasifican según el siguiente criterio:Equilátero: Tres lados igualesEscaleno: Tres lados diferentesIsósceles: Dos lados iguales y uno diferente

ANEXOS TEMA 5TIPOS DE DATOS PRIMITIVOS

TIPO Dim <bytes> RANGO de VALORES

Ent

eros

byteEntero sin signo

1 0 a 255

shortEntero con signo

2 –32 768 a +32 767

intEntero con signo

4 – 2 147 483 648 a +2 147 483 647

longEntero con signo

8 –9 223 372 036 854 775.808 a +9 223 372 036 854 775.808

Rea

les

floatPunto flotante de precisión simple

4 – 3.4028235 e38 a +3.4028235 e38

doublePunto flotante de precisión doble

8 –1.79769313486232 e308 a +1.79769313486232 e308

decimalNúmeros decimales con 29 dígitos significativos

16 ±1.0 × 10 e−28 a ±7.9 × 10 e28

Car

acte

res

charUn carácter Unicode

2 Símbolos Unicode utilizados en textos

string varía Secuencia de caracteres Unicode

Lóg

icos boolean

Tipo dato lógico o booleano

2 True, False

FUNCIONES PRINCIPALESExpresión algebraica

Expresión algorítmica

Función C#.NET

|x| abs(x) Math.Abs(x)Devuelve el valor absoluto de un número especificado.

tan-1 (x) arctan(x) Math.Atan(x)Devuelve el ángulo cuya tangente corresponde al número especificado.

Sin(x), Cos(x) sen(x), cos(x) Math.Sin(x), Math.Cos(x)Devuelve el seno y coseno del ángulo especificado

ln(x), log10(x)

ln(x),log10(x)

Math.Log(x), Math.Log10(x)Devuelve el logaritmo natural y el logaritmo en base 10 de un número especificado.

Elaborado por jjcm docente UTEPSA 28

Page 29: MAAP Prog-0-2008-C#

Expresión algebraica

Expresión algorítmica

Función C#.NET

redondeo(x) Math.Round(x [,pos])Redondea un valor al entero más próximo o al número especificado de posiciones decimales.

x n cuadrado(x) Math.Pow(x,2)En general devuelve un número especificado elevado a la potencia especificada

raiz2(x) MathSqrt(x)Devuelve la raíz cuadrada de un número especificado

trunc(x) Math.Truncate(x)Calcula la parte entera de un número

SENTENCIAS CONDICIONALESSentencia de salida simple:

Sintaxis: if ( expression )      statementEsta sentencia ejecuta una o ninguna sentencia acorde al resultado de su expresión de condición.Si la condición expresada en expression == True entonces se ejecuta S y si expression == False no se ejecuta nada.Ejemplo: if (x==1.5) z = x + y; //en línea if (x==1.5) //en bloque delimitado por { } { z = x+y; }

Sentencia de salida doble:Sintaxis: if ( expression )      statement1[else      statement2]

Si la condición que refleja la condición es expression == True entonces se ejecuta la sentencia S1 de otra forma (expression == False) se ejecuta la sentencia S2. Ejemplo: if (x==1.5) z = x + y; else z = 1.5; //en línea if (x==1.5) //en bloque { z = x + y; } else { z = 1.5; }

Elaborado por jjcm docente UTEPSA 29

Page 30: MAAP Prog-0-2008-C#

Sentencia condicional de salida múltipleSintaxis: switch ( expression )      case constant-expression : statement   [default : statement]

donde:expression se le denomina selector constant-expression se denominan constantes caseEjemplo: siendo a un valor numérico de tipo entero, se quiere que si: 3 < a < 1 entonces x=0, de otra forma si a==1 x=b+c, a==2 x=(b+c)/2 y si a==3 x=(b+c)2, luego se haría:

switch (a) { case 1: x = b + c; break; case 2: x = (b + c)/2; break; case 3: x = Math.Pow((b + c),2); break; default: x=0; break; }MessageBox.Show(x.ToString());

SENTENCIAS REPETITIVASCondición al final do statement while (exp);

Sintaxis: do { S1; : Sn; } while (exp);La instrucción do ejecuta una instrucción o un bloque de instrucciones entre {} repetidamente hasta que una expresión especificada se evalúe como false. Nótese que el bucle siempre se ejecuta al menos una vez ya que la condición se encuentra al final de éste.Ejemplo: public static void Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x < 5); }

Elaborado por jjcm docente UTEPSA 30

Page 31: MAAP Prog-0-2008-C#

Condición al inicio while(exp) statements; Sintaxis: while (exp) { S1; : Sn; }La instrucción while ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una expresión especificada se evalúa como false.Nótese que el bucle podría no ejecutarse nunca ya que la condición se encuentra al inicio de éste.Ejemplo: static void Main() { int n = 1; while (n < 6) { Console.WriteLine("Current value of n is {0}", n); n++; } }

Número de iteraciones conocidas de antemano for (vc, cond, inc) {…}Sintaxis:for ( init-expression ; cond-expression ; loop-expression )      statement

donde:init-expression = Variable de controlcond-expression = Condición de evaluación del bucleloop-expression = Incremento de la variable de control

El bucle for ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una determinada expresión se evalúa como false. El bucle for es útil para recorrer en iteración matrices y para procesar secuencialmente.Ejemplo: int main() {int i;for ( i = 0 ; i < 2 ; i++ ) printf_s( "\n%d\n",i );}Nota importante:La variable de control NO debe modificarse en el Bucle.

Elaborado por jjcm docente UTEPSA 31