Sei sulla pagina 1di 32

INTRODUCCIÓN A LA

PROGRAMACIÓN

2008

Elaborado por jjcm docente UTEPSA  1


MATERIA INTRODUCCIÓN A LA PROGRAMACIÓN SIGLA SIS-110
CARRERA Ing. Informática y Sistemas Administrativos SEMESTRE Segundo
Ing. Electrónica y Sistemas HORAS 80
Ing. Redes y Telecomunicaciones
HORAS TEÓRICAS 40
Ing. Sistemas
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 Sistema
El 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 HEXADECIMALES
Conversiones 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ón
DIAGRAMAS DE FLUJO. Símbolos gráficos
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
EJERCICIOS

TEMA-5 CODIFICACIÓN.
• TECNOLOGÍA .NET
CONCEPTOS BÁSICOS de NET, La plataforma .NET. el FRAMEWORK.NET y el VISUAL STUDIO.NET
El 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érpretes
PARTES de la ESTRUCTURA del CÓDIGO en C#.NET. Declaración de Variables
ELEMENTOS BÁSICOS del CÓDIGO C#.NET
OPERADORES 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 EVENTOS
EJERCICIOS

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


MODELO DE PLANIFICACIÓN POR CLASES

TIPO DE
# TEMA
CLASE
TEMA-1 ARQUITECTURA DEL COMPUTADOR.
El Microprocesador – CPU. Tareas. UC, ALU y Registros del Sistema
1 Teórica
El BUS. Bus de Control, Dirección y Datos. La Memoria. ROM y RAM
Controladores
TEMA-2 SISTEMAS DE NUMERACIÓN.
Sistemas Numéricos Posicionales. Teórica
2
Números BINARIOS, OCTALES y HEXADECIMALES. Conversiones Práctica
entre sistemas numéricos posicionales.
Operaciones Aritméticas con números no decimales
Teórica
3 Suma y Resta. Operaciones Aritméticas con números no decimales.
Práctica
EJERCICIOS
TEMA-3 REPRESENTACIÓN DE LA INFORMACIÓN.
Teórica
4 GENERALIDADES. Sistemas de procesamiento de la información.
Práctica
Tipos de datos. Constantes y variables. Expresiones: Aritméticas.
Expresiones: Relacionales, Lógicas y de Caracteres Asignaciones. Teórica
5
EJERCICIOS. Representación algorítmica de expresiones algebraicas. Práctica
6 EXÁMEN PARCIAL I TEMAS 1,2 Y 3 Evaluación
TEMA-4 DISEÑO DE ALGORITMOS.
PASOS EN LA RESOLUCIÓN DE UN PROBLEMA. Definición y
7 Teórica
Análisis, Diseño del algoritmo, Codificación y Validación. DIAGRAMAS
DE FLUJO. Símbolos gráficos. EJERCICIOS
ESTRUCTURAS BÁSICAS DE ALGORITMOS. Estructuras selectivas.
Teórica
8 BIFURCACIONES. (Salida simple, Salida doble y Salida múltiple.
Práctica
EJEMPLOS
9 Estructuras selectivas. BIFURCACIONES. EJERCICIOS Práctica
Estructuras Repetitivas BUCLES (Condición al final, Condición al inicio,
Teórica
10 BUCLES: Conociendo el número de iteraciones, Contadores y
Práctica
acumuladores. EJEMPLOS
11 Estructuras Repetitivas BUCLES. EJERCICIOS Práctica
12 EXAMEN PARCIAL II TEMA 4 Evaluación
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
13 Proyecto en C#.NET LAB-01
El 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ódigo
LAB-1 EXPLORANDO EL ENTORNO DE DESARROLLO
Lenguajes Tipos: máquina, de bajo nivel, de alto nivel. Compiladores e
intérpretes.
14 Teórica
Declaración de Variables. Tipos de Datos. ELEMENTOS BÁSICOS del
CÓDIGO C#.NET
TIPOS DE SENTENCIAS. Sentencias simples, Sentencias
CONDICIONALES
15 <if( ), if( ) .. else .., switch( )> EJERCICIOS LAB-02
LAB-2 CODIGO DE ALGORITMOS – ESTRUCTURAS
CONDICIONALES

Elaborado por jjcm docente UTEPSA  3


LAB-3 CODIGO DE ALGORITMOS – ESTRUCTURAS LAB-03
16
REPETITIVAS 1
Sentencias REPETITIVAS <while( ), for( ), do .. while( )>. Teórica
17
EJERCICIOS Práctica
LAB-4 CODIGO DE ALGORITMOS– ESTRUCTURAS
18 LAB-04
REPETITIVAS 2
19 LAB-5 EXAMEN FINAL PRÁCTICO Evaluación LAB
20 EXAMEN FINAL TEÓRICO Evaluación

EVALUACIONES

Evaluaciones escritas
Evaluación Temas a evaluar Puntos Fecha
Primer Parcial Temas 1,2 y 3 20 Clase 7
Segundo Parcial Tema 4: Diseño de Algoritmos 20 Clase 13
Exámenes Finales Se evalúa el alcance de los objetivos de la 50 Clases 19 y 20
<práctico y teórico> 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.

TRABAJOS PRÁCTICOS

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

TRANSVERSALIZACIÓN DEL IDIOMA INGLÉS

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.

Elaborado por jjcm docente UTEPSA  4


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 Computador

1.2 El 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 Sistema
1.3 El BUS
• Función
• Tipos de Buses: Bus de Control,
Bus de Dirección y
Bus de Datos.
1.4 La Memoria
• La Memoria. ROM: (PROM, EPROM, EEPROM) Arranque, BIOS y Extensiones al BIOS
• La Memoria RAM
• La Memoria Caché
1.5 Otros Componentes
• Controlador de Interrupciones.
• Generador de Reloj
• Controlador de Acceso Directo a Memoria DMA
• Dispositivos de Almacenamiento
• Periféricos

RESUMEN
El 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 BUS
El 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.

Elaborado por jjcm docente UTEPSA  5


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.

PREGUNTAS DE AUTOCONTROL
1. ¿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 interrupciones
6. Describa como funciona el controlador de DMA
7. 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.

RESUMEN
En 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 1
Aunque 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.

Elaborado por jjcm docente UTEPSA  6


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.

EJERCICIOS RESUELTOS
CONVERSIONES
Convertir 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 octal
467 / 8 = 58 residuo 3 (lsb)
/ 8 = 7 residuo 2
/ 8 = 0 residuo 7 (msb)

luego:
46710 = 7238

c) 341710 a hexadecimal
3417 / 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

Elaborado por jjcm docente UTEPSA  7


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:
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ÁSICAS


SUMA
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
= 727
Y 389 6058 6 . 82+0 . 81+5 . 80 = 384+0+5 = 389
1116 21348 2 . 8 +1 . 8 +3 . 81+4 . 80 = 1024+64+24+4 = 1116
3 2

C acarreo <01100>
X 51174 C7E616 12 . 163+7 . 162+14 . 161+6 . 160
=49152+1792+224+6 = 51174
Y 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

Elaborado por jjcm docente UTEPSA  8


B préstamo <1010>
X 51174 C7E616 12 . 163+7 . 162+14 . 161+6 . 160
=49152+1792+224+6 = 51174
Y 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  9


EJERCICIOS PROPUESTOS
CONVERSIONES
Convertir 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ÁSICAS


Realizar 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 2
Tabla de Números Decimales, Binario, Octales y Hexadecimales.

DECIMA BINARIO OCTAL HEXADECIMAL


L
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Elaborado por jjcm docente UTEPSA  10


RESUMEN DE CONVERSIONES PARA BASES COMUNES:
• De cualquier base a base decimal
Uso de la fórmula:
p −1


D =di * r i
i =− n
donde: r = base del número en cuestión
p = cantidad de dígitos a la izquierda del punto
n = cantidad de dígitos a la derecha del punto
di = dígito en la posición i

• De base decimal a otra base


Mediante 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 viceversa


Mediante 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 viceversa


Mediante 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 c
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

ci y c son acarreo inicial y acarreo

Tabla de Resta Binaria


bi X Y X–Y b
0 0 0 0 0
0 0 1 1 1
0 1 0 1 0
0 1 1 0 0
1 0 0 1 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

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

Elaborado por jjcm docente UTEPSA  11


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ón
CONTENIDO:
3.1 Generalidades.
• Sistema de Procesamiento de la Información
3.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


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 + 5
b  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 / 26
z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.05
F
12. no(16 * 2 > 5 * 5) y (24 % 5 / 2 == 2)
no(32 > 25) y (4 / 2 == 2)
no(V) y V

Elaborado por jjcm docente UTEPSA  13


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

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


(16 + 9) > 25
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)
FoV
V

EJERCICIOS PROPUESTOS
1. Indicar el valor de cada una de las siguientes variables:
a) x  ( 2 + 3) * 6
b) x  4 2 + 7 * 6
c) x  ( 4 2 + 7 ) * 6

d) x  4 2 + ( 7 * 6)
9
e) y  +7
5
54
f) y 
33
126
g) y  3
21

2. Indicar el valor de cada una de las siguientes variables:


a) a 3 b 6 c 8 d a+b–c
b) a 2 b  10 c  7 d  (a + b) % c
c) w 9 x 2 y  3 z  x +w / y
d) q 2 e  34 r  8 h  ((e / q) % q -r) * 3
e) q 2 e  34 r  8 h  ((e+r) % 7) * (q – r)

3. Evaluar las siguientes expresiones:


a) – 4 * 7 + (2 * 2 * 2) / 4 – 5
b) (24 % 5) / 2
c) 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 * 5
b) X  3.0
Y  2.0
VALOR  X * Y – Y

Elaborado por jjcm docente UTEPSA  14


c) VALOR  5
X3
VALOR  VALOR * X
d) 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
B  A+1
B  B+1
A  B

ANEXOS TEMA 3
EXPRESIONES
Expresiones aritméticas
Los 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 significado


no no p Negación de p
y pyq Conjunción de p y q
o poq 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 Multiplicación,
Aritméticos

División y
*/%
Resto de la división entera
4
Suma,
+ –
Resta
5 <, >, <=, >=
Operadores relacionales
6 == !=

Elaborado por jjcm docente UTEPSA  15


7 Lógicas Conjunción, Disyunción yo
8 Asignación =

TABLA DE EXPRESIONES ALGEBRAICAS - ALGORITMICAS


Exp. algebraica Significado Exp. algorítmica
|x| Valor absoluto de x abs(x)
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), Logaritmos natural y base 10 del valor x ln(x),
log10(x) log10(x)
Redondeo del valor x redondeo(x)
Ejemplos:
7.25 a 7; 7.85 a 8; 7.5 a 8; 6.5 a 6
x2 Cuadrado del valor x cuadrado(x)
x Raíz cuadrada de x raiz2(x)
Truncar el valor x trunc(x)
(eliminar la parte fraccionaria de un valor real,
devolviendo un entero)
Ejemplo: 4.998 a 4

Elaborado por jjcm docente UTEPSA  16


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étodos
CONTENIDO:
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

Elaborado por jjcm docente UTEPSA  17


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.
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 Problema
Datos.- 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 0
El 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ón
Se comprobará mediante el siguiente juego de valores:
15, 8, 23, 102, 0 de donde Promedio = (15 + 8 + 23 + 102) / 4 = 148/4 = 37
Corrida 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 4
n 15 8 23 102
c 0 c= 0+1= 1 c= 1+1= 2 c= 2+1= 3 c= 3+1= 4
S 0 S= 0 + 15 = S= 15 + 8 = S= 23 + 23 = S= 46 + 102

Elaborado por jjcm docente UTEPSA  18


15 23 46 =148
Vprom = S / c = 148 / 4 = 37
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 teclado
7. Determinar si un número es múltiplo de 6 y 9 a la vez
8. Intercambiar dos variables a y b en caso de que a sea mayor a b
9. Determinar el mayor de tres números
10. 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úmeros
23. 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, 89
b.) 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, 1
f.) -1, 1, -2, 3, -5, 8, -13, 21, -34, 55
g.) 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


ANEXOS TEMA 4
DIAGRAMAS 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)
Comparación de una expresión booleana con
:
salida simple
fin
si (b == 0)
:
sino Comparación de una expresión booleana con
: salida doble
fin
Conexión entre líneas de flujo
Líneas de flujo. Indican los flujos del diagrama

Comentario para referenciar algún proceso

hacer
Ciclo repetitivo para la ejecución de una o más
:
sentencias con la condición al final del bucle
mientras que (e==0)

mientras (g >1)
Ciclo repetitivo para la ejecución de una o más
:
sentencias con la condición al inicio del bucle
fin

para i=1 hasta n hacer


Ciclo repetitivo para la ejecución de uno o más
:
sentencias con un número de iteraciones dadas
fin
 Asignación de datos a una variable

Elaborado por jjcm docente UTEPSA  20


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


TEMA-5 CODIFICACIÓN
COMPETENCIAS 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.NET
Visual Studio.NET
• El Entorno de Desarrollo IDE.
Diseño de Formularios y Editor de código
La ventana de Propiedades
• Creación de un Proyecto en C#.NET
El proceso de desarrollo
Creación de la Interfaz de usuario
Fijando propiedades a los controles y añadiendo el código asociado
Construyendo 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 Variables
Elementos Básicos del Código C#.NET
Operadores 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 Eventos
Ejercicios

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.

Elaborado por jjcm docente UTEPSA  22


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.
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 positivos
solo 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


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

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

Objeto Nombre Propiedad


Form1
Label1 Text = CÁLCULO del ÁREA de un TRIÁNGULO
Label2 Text = Base
Label3 Text = Altura
Label4 Text = Área
Label5 lblRes BackColor = Silver
TextBox1 txtBase
TextBox2 txtAlt
Button1 btnCalc Text = Calcular

Código de la Aplicación
En 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();

Elaborado por jjcm docente UTEPSA  24


}

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

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 Usuario
Se comienza agregando los controles necesarios en un formulario nuevo como se muestra en la
imagen:

Objeto Nombre Propiedad


Form1 Text = Circunferencia
Label1 Text = Radio
Label2 Text = Área
Label3 Text = Longitud
TextBox1 txtRadio
TextBox2 txtArea
TextBox3 txtLong
Button1 btnCalc Text = Calcular
Button2 btnFin Text = Terminar

Código de la Aplicación
public 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();

Elaborado por jjcm docente UTEPSA  25


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

EJERCICIOS PROPUESTOS
1.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

Elaborado por jjcm docente UTEPSA  26


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:

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 calculado
b. El área menor

Elaborado por jjcm docente UTEPSA  27


c. 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*H
Cono: V = 3.14 * R^2/3
Donde
V : Volumen
R : Radio de la base
H : Altura
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 iguales
Escaleno: Tres lados diferentes
Isósceles: Dos lados iguales y uno diferente

ANEXOS TEMA 5
TIPOS DE DATOS PRIMITIVOS
Dim
TIPO <byt RANGO de VALORES
es>
byte
1 0 a 255
Entero sin signo
short
2 –32 768 a +32 767
Enteros

Entero con signo


int
4 – 2 147 483 648 a +2 147 483 647
Entero con signo
long
8 –9 223 372 036 854 775.808 a +9 223 372 036 854 775.808
Entero con signo
float
Punto flotante de 4 – 3.4028235 e38 a +3.4028235 e38
precisión simple
double
Reales

Punto flotante de 8 –1.79769313486232 e308 a +1.79769313486232 e308


precisión doble
decimal
Números decimales
16 ±1.0 × 10 e−28 a ±7.9 × 10 e28
con 29 dígitos
significativos
char
2 Símbolos Unicode utilizados en textos
Un carácter Unicode
Caracteres

string varía Secuencia de caracteres Unicode

boolean
Lógicos

Tipo dato lógico o 2 True, False


booleano

FUNCIONES PRINCIPALES

Elaborado por jjcm docente UTEPSA  28


Expresión Expresión Función C#.NET
algebraica algorítmica
|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), ln(x), Math.Log(x), Math.Log10(x)
log10(x) log10(x) Devuelve el logaritmo natural y el logaritmo en base 10 de un
número especificado.
redondeo(x) Math.Round(x [,pos])
Redondea un valor al entero más próximo o al número
especificado de posiciones decimales.
xn cuadrado(x) Math.Pow(x,2)
En general devuelve un número especificado elevado a la
potencia especificada
x 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 CONDICIONALES
Sentencia de salida simple:
Sintaxis:
if ( expression )
statement
Esta 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:

Elaborado por jjcm docente UTEPSA  29


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  30


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

donde:
expression se le denomina selector
constant-expression se denominan constantes case
Ejemplo:
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 REPETITIVAS
Condició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  31


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 control
cond-expression = Condición de evaluación del bucle
loop-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  32

Potrebbero piacerti anche