jueves, 17 de septiembre de 2009

Tipos de datos en C#

Tipo--Estructura---Bytes-Rango de valores

bool--Boolean-------?-----true y false
byte--Byte----------1-----0 a 255
char--Char----------2-----0 a 6553588(U+0000 a U+FFFF)
DataTime-DataTime---8-----1/enero/1 a 31/Diciembre /9999 00:00:00 AM a 11:59:59 PM
decimal-Decimal-----16----+/-79228162514264337593543950335 ó
--------------------------+/-7.9228162514264337593543543950335E+28
double-- Double-----8-----+/-1.797669313486231570E+308
int-----Int32-------4----- -2147483648 a +2147483647
long----Int64-------8----- -9223372036854775808 a + 9223372036854775807
object--Object------4---- Cualquier tipo puede ser almacenado en una variable tipo ----------------------------object
sbyte---SByte-------1---- -128 a 127
short---Int16-------2------32768 a 32767
float---Single------4----- +/- 3.4028235E+38
string--String------?----- 0 a 2 billones de carecteres UNICODE
uint----UInt32------4-----0 a 4294967295
ulong---UInt64------8-----0 a 18446744073709551615
ushort--UInt16------2----- 0 a 65535

lunes, 7 de septiembre de 2009

Simbolos de diagrama de flujo



Libro: C++ para Ingeniería y Ciencias
Autor: Gary J. Bronson
Editorial International Thomson

viernes, 4 de septiembre de 2009

Solución de problemas y desarrollo de software

El método utilizado para desarrollar software para comprender un problema y para encontrar una solución eficiente, recibe el nombre procedimiento de desarrollo de software.Contiene tres fases:

Fase I Desarrollo y diseño
Fase II Documentación
Fase III Mantenimiento

La Ingeniería de software se ocupa de crear programas y sistemas eficientes,confiables, mantenibles, utiliza el procemiento de desarrollo de software.

La Fase I inicia con el plantamiento de un problema o solicitud específica para realizar un programa esto son los requerimientos de programa.
Una vez que se plantea un problema , empieza la fase de desarrollo y diseño.
Esta fase consta de cuatro de pasos :
Paso 1 Analisis del problema
El problema debe estar bien definido y que se entienda claramente. Cuando el problema esta claramente definido , mediante un analisis deben comprender cuales entradas y salidas se necesitan.
En esta fase es muy importante analizar y entender los requerimientos del programa.
Para esto debe estar muy claro:
Que debe hacer el programa
Que datos desea procesar
Que datos se requieren para obtener los resultados deseados.

Despues de hacer este analisis es importante Generar una solución.

Paso 2 Generar una Solución
Por medio de un algoritmo donde se describe paso a paso la solución de un problema.
Este algoritmo debe revisarse para asegurar que los resultados son los deseados.
Tambien se describe en forma grafica la solución de un problema por medio del diagrama de flujo.
El diagrama de flujo utiliza un conjunto de simbolos para representar paso a paso la solución de un problema.


Paso 3 Codificar la solución
Una vez que se tiene la solución , se codifica la solución del programa , por medio de un lenguaje de programación, utilizando un conjunto de instrucciones para formar un programa , que da la solución del problema.

Paso 4 Verificar y corregir el programa
En esta fase se debe verificar que el programa funciona correctamente, si es necesario corregir ,nuevamente se va a la solución del problema, se vuelve a codificar y por último a la verificación, hasta que funcione correctamente.

Fase II Documentación
Existen cinco documentos para cada solución de un programa:

1.-Descripcion del programa
2.-Desarrollo y cambios del algoritmo
3.-Documentar la codigo del programa
4.-Resultados de las pruebas efectuadas
5.-Manual del usuario.

Fase III Mantenimiento

Todo desarrollo de programa , tiene una revisión continua , para cumplir con las necesidades cambiantes y agregar nuevas características. Cuando la documentación de un programa esta bien hecha , el proceso de mantenimiento es más eficiente.

Respaldo
Es necesario conservan copias de respaldo del programa y datos, para evitar cualquier perdida de información.

jueves, 3 de septiembre de 2009

Lenguaje de Programación

Un programa esta compuesto por un conjunto de instruccion en un lenguaje que el procesador entiende.
Los elementos internos que contiene la computadora representan los datos en formato binario, es decir, cada elemento tiene dos niveles de voltaje. Cada estado se llama bit y se representa por 0 o 1. Para representar y manipular datos numericos, alfabeticos y alfanumericos se emplean cadenas de bits. Se denominda byte a la cantidad de información empleada por el cpu para representar un caracter, y es una cadena de ocho bits.
Por ejemplo, cuando un programa le indica al procesador que visualice un mensaje sobre el monitor, o que lo imprima sobre la impresora, las instrucciones correspondientes para llevar a cabo esta acción, y para que el procesador pueda entenderlo, tiene que almacenarse en la memoria como una cadena de bits.

Todos los programas de computadora hacen lo mismo: indican a la computadora aceptar datos (entrada de datos), manupilar los datos (procesar datos) y producir reportes (salida de datos).Los lenguajes de programación utilizan instrucciones para efectuar estas operaciones. En C# los grupos de intrucciones predeterminadas estas incluidas en librerias de objetos. Existen varios tipos de lenguajes de programación como por ejemplo: Fortran,Basic,Cobol,Pascal, C, C++ etc...

viernes, 28 de agosto de 2009

Tipos de programación

PROGRAMACION ESTRUCTURADA

Es tipo de programación permite escribir programas de computadora en forma ordenada y clara. Para solucionar problemas utiliza el diseño descendente( Top-Down)descomponiendo el problemas en modulos jerarquicos
Utiliza tres tipos de estructuras basicas:secuencial,selección y repetición, eliminado el uso de la estructuras de transferencia incondicional.
Las estructuras secuenciales: Cada acción sigue a otra secuencialmente.
Las estructuras de selección: Este tipo de estructura evalúa condiiones y dependiendo del resultado realiza unas acciones u otras.
Las estructuras repetitivas: son secuencias de instrucciones se repiten una cantidad de veces.


PROGRAMACION ORIENTADA A OBJETOS (POO)

El elemento principal es objeto. Un objeto en el mundo real es cualquier cosa que vemos a nuestro alrededor.

En la POO todo programa esta construido en base a diferentes componentes llamados objetos, cada uno tiene una función especifica en el programa y todos los objetos se pueden comunicar entre ellos de forma predefinida.
Todo objeto tiene dos componentes: caracteristicas y comportamiento.
Por ejemplo los automóviles tiene características (Marca, Modelo, Color, Velocidad Máxima) y comportamiento (Frenar, Acelerar, Retroceder, Llenar combustible, Cambiar llantas..etc)
Los objetos de software tienen definidas sus caracteristicas en una o mas variables e implementa su comportamiento con métodos. Un método es una función asociada al objeto.

PROGRAMACION DE DESCRIPCION DE HARDWARE

Son lenguajes que permiten describir un circuito electrico o digital.

Por ejemplo:
VHDL Es un lenguaje usado por ingenieros definido por IEEE que se usa para diseño de circuitos digitales. Otros lenguajes que tiene el mismo proposito es VeriLog y ABEL.
Aunque puede ser usado en forma general para describir cualquier circuito como el
PLD (Programable Logic Device, FPGA (Field Programable Gate Array), ASIC .

Sistemas Operativos

Un sistema operativo es el programa más importante en la computadora. Ya que controla la computadora, administra los servicios que necesitan los programas que son compatibles con el.

Sistemas Operativos mas comunes: Dos, Windows, Unix, Linux, Mac Dos, ...etc.

Al encender una computadora , al finalizar el trabajo del BIOS empieza a funcionar el programa del sistema operativo, que contiene una interface que puede ser grafica o de texto, para que el usuario tenga comunicación con la computadora.

Arquitectura de computadora





Figura 1 Introducción a la ciencia de las computadoras enfoque algorítmico
autor: Tremblay
Figura 2 Metodología de la Programación Orientada a Objetos
autor: Leobardo López Román
Figura 3 C++ para Ingeniería y Ciencias
Autor Gary J. Bronson

jueves, 27 de agosto de 2009

Sistemas Numéricos

Cuando se escriben nuestro sistema decimal, se utiliza notación posicional, cada dígito es multiplicado por una potencia de 10 depeniendo de su posición en el numero.
Por ejemplo:
935.78= 9x10^2+ 3x10^1+ 5x10^0+ 7x10^-1+8x10^-2
solo se escriben digito del 0 al 9 para el sistema decimal y dependiendo de la posicion en el string, cada dígito tiene un valor asociado de un entero para la potencia de 10.
En general un numero decimal con n digitos a la izquierda del punto decimal y m digitos a la derecha del punto decimal se representa por un string de coeficientes:

A^n-1 A^n-2....A^2 A^1 A^0.A^-1 A^-2.....A^m+1 A^m

cada coeficiente A^i es uno de los 10 digitos (0,1,2,3,4,5,6,7,8,9).Donde i da la posicion del coeficiente , por la potencia 10^i multiplicados por los coeficientes.

el sistema numerico decimal se dice que es de base o radix 10. Debido a que los coeficientes son multiplicados por la potencia de 10 y el sistema usa 10 digitos distintos.


Sistema numerico binario

Sistema binario es un sistema de base 2 con dos digitos: 0 y 1 . Un numero binario tal como 11010 es expresado con un string de 0 y 1 y algunas representaciones tienen parte decimal.

Por ejemplo:
(11010)^2 = 1x2^4 + 1x2^3 + 0x2^2 + 1x2^1+ 0x2^0=26(base 10)

El digito es un numero binario es llamado bits. Cuando un bit es igual a cero no contribuye a la suma durante la conversion. Por lo tanto la conversión a decimal puede obtenerse sumando los numeros con la potencia de dos correspondiente al bit que es igual a 1.

Otro ejemplo de un numero binario con punto decimal:
(110101.11)= 1x2^5 + 1x2^4 +0x2^3 + 1x2^2+0x2^1+ 1x2^0+ 1x2^-1 1x 2^-2= 32+16+0+4+0+1+0.5+0.25=53.75


Potencia de dos

n 2^n
0-----1
1-----2
2-----4
3-----8
4-----16
5-----32
6-----64
7-----128
8-----256
9-----512
10----1024
11----2048
12----4096
13----8192
14---16384
15---32768
16---65536
17--131072
18--262144
19--524288
20-1048576
21-2097152
22-4194304
23-8388608

Los primeros 24 numeros obtenidos de 2 a la potencia de n.
En el trabajo por computadora, 2^10 es referido como K(kilo),
2^20 como M(mega) y 2^30 como G (giga).

Los sistemas digitales y todas las computadoras usan la representación binaria

martes, 25 de agosto de 2009

Introducción a la computación

Una computadora es una máquina electrónica capaz de procesar datos y generar un información.

Datos --> Proceso --> Información

Los elementos básicos que forman una computadora son:
La unidad central de proceso es el cerebro de la computadora que controla el funcionamiento de los componentes y ejecuta operaciones aritmeticas y lógicas.

La memoria se utiliza para almacenar datos. Existen dos tipos la memoria principal y la memoria auxiliar.
La memoria principal permite almacenar y extraer datos en forma temporal, este tipo de memoria es vólatil, es decir trabaja con energia, es una memoria de acceso rápido.
La memoria auxiliar almacena grandes cantidades de datos en forma permanente, estos pueden ser disco magnéticos, disco removibles, flexibles...entre otros.

La unidad de entrada y salida proporciona la interface a la que se conectan los componentes perifericos como el teclado,monitor,impresora, mouse ...etc

Programa de una computadora es un conjunto de instrucciones utilizadas para operar una computadora.
Al conjunto de programas de una computadora recibe el nombre de software.

Al proceso de escribir un programa o software se llama programación y al conjunto de instruuciones que se utilizan para hacer un programa se le llama lenguaje ensamblador.

Lenguaje Máquina contiene los códigos binarios que puede ejecutar una computadora. Estos lenguajes se les llama ejecutables.

Lenguaje Ensamblador permite usar nombres simbólicos para las operaciones matemáticas y las direcciones de memoria. Cada computadora tiene su proprio lenguaje máquina, la serie de instrucciones contenidas dentro de un programa en lenguaje ensamblador se debe traducir a un programa en lenguaje máquina, a los programas traductores se les conoce como ensambladores.

Los lenguajes de nivel de máquina y los de ensamblador se clasifican como lenguajes de nivel bajo. Esto es porque las instrucciones están vinculadas directamentente a un tipo de computadora.
Un lenguaje de nivel alto utiliza instrucciones similares a las de los lenguajes escritos . como el inglés y se pueden ejecutar en diversos tipos de computadora. Fortan, Basic, Pascal, C,C++,C# son ejemplos de lenguaje de alto nivel.

A los programas escritos en un lenguaje de computadora de nivel alto o bajo se le conoce como programa fuente o código fuente. Una vez que un programa se escribe en un lenguaje de alto nivel, tambien se debe traducir a lenguaje máquina, por medio de un compilador.

lunes, 24 de agosto de 2009

Tareas de la Unidad 1

Tarea 1
Crear un correo electrico con el nombre del alumno
Crear un blog en blogger.com

Hacer tabla de la historia de los lenguajes de programacion C, C++, Java , C#
indicando la fecha de desarrollo, creadores, la aportación mas importe en la computación.

Temario de Programacion I

Materia: Programacion I


Aportación de la asignatura al perfil del egresado

Le permite programar en un lenguaje de alto nivel
Fomenta el análisis lógico
Desarrolla una metodología de trabajo
Adquiere habilidad para trabajo en equipo

Objetivo General del curso

El alumno desarrollará algoritmos computacionales y programará en un lenguaje de programación .


Temario

Unidad 1
Introducción a la computación
1.1 Breve reseña de la computación ( desde 1980 a 2009)
1.2 Impacto de las computadoras en la sociedad
1.3 Definiciones Básicas
Lenguaje de Alto Nivel
Lenguaje de Bajo Nivel
Lenguaje Ensamblador
Lenguaje maquina
Compilador
Sistemas Numéricos
Arquitectura de computadores
Sistemas operativos
1.4 Descripción de tipos de programación
1.4.1 Programación estructurada
1.4.2 Programación orientada a objetos
1.4.3 Programación de descripción de hardware sistemas numéricos
1.5 Lenguajes de Programación
1.6 Diseño de Algoritmos
1.6.1 Conceptos Básicos
1.6.2 Metodología de la programación
1.6.3 Diagrama de Flujo
1.6.4 Pseudocodigos





Unidad 2 Fundamentos de programación

2.1 Estructura general de un programa
2.2 Palabras reservadas
2.3 Representación de datos básicos
2.4 Declaración de variables, constantes, funciones o procedimientos
2.5 Operaciones aritméticas, lógicas y relacionales.
2.6 Diseño, edición, compilación y ejecución de programas
2.7 Instrucciones de Entrada y salida
2.8 Estructura de transferencia incondicional y condicional
2.9 Estructuras de repetición
2.10 Aplicación


Unidad 3 Arreglos
3.1 Arreglos Unidimensionales
3.2 Arreglos Bidimensionales
3.3 Archivos
3.4 Aplicaciones

Unidad 4 Métodos (funciones o procedimientos)
4.1 Declaración de métodos
4.2 Llamadas a métodos
4.3 Como escribir y realizar llamadas a métodos
4.4 Que es una clase
4.4.1 como se declara una clase
4.5 Que es un objeto
4.6 Constructor de una Clase
4.7 Aplicaciones con clases.


Unidad 5 Proyecto
5.1 Selección del problema
5.2 Objetivos General y especificos
5.3 Analisis de datos
5.4 Diseño de solución
5.5 Codificación
5.6 Funcionalidad del programa
5.7 Conclusiones


Libros Recomendados

Como programar en C#
Autor: Deitel y Deitel
Editorial Prentice Hall

Microsoft C#
Curso de programación
Autor: Fco. Javier Ceballos
Editorial Alfaomega

Enciclopedia de Microsoft
Visual C#
Autor: Fco. Javier Ceballos
Editorial Alfaomega