martes, 8 de febrero de 2011

Variables en C++

Variable
Una variable se define como un identificador que se utiliza para almacenar todos los datos generados durante la ejecución de un programa.
Existen ciertas reglas en cuanto a variables:
ü      Claras y con referencia directa al problema.
ü      No espacios en blanco, ni símbolos extraños en ellas.
ü      Se pueden usar abreviaturas, pero solo de carácter general.
ü      No deben ser palabras reservadas del lenguaje.
Ejemplos de buenas variables:  Nombre, Edad, SdoDiario, etc.


¿Dónde se declaran las variables?
Existen dos posibilidades, una es declararla como global y otra como local. Es global aquella variable que se declara fuera de la función main y local la que se declara dentro.
Constantes.
Las constantes se declaran, como en C, igual que una variable normal, pero añadiendo la palabra const delante. Por ejemplo, para declarar una constante con valor 33:
const int numero = 33;
Estas constantes no pueden ser modificadas a lo largo del programa. Por eso deben ser definidas al mismo tiempo que declaradas.


Tipos básicos y variables
Los tipos de datos básicos definidos por C son caracteres, números enteros y números en coma flotante. Los caracteres son representados por char, los enteros por short, int, long y los números en coma flotante por float y double. Los tipos básicos disponibles y su tamaño son:


Char
Carácter
(normalmente 8 bits)
Short
Entero corto con signo
(normalmente 16 bits)
Int
Entero con signo
(depende de la implementación)
Unsigned
Entero sin signo
(depende de la implementación)
Long
Entero largo con signo
(normalmente 32 bits)
Float
Flotante simple
(normalmente 32 bits)
Double
Flotante doble
(normalmente 64 bits)




Librerias
En general, el término librería se utiliza para referirse a un conjunto de módulos objeto .obj / .o (resultados de compilación) agrupados en un solo fichero que suele tener las extensiones .lib, .bpl [6] .a, .dll, etc.



Aplicaciones
En informática, una aplicación es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se crean los programas informáticos).



Cómo desarrollar aplicaciones “multiplataforma” en Lenguaje C
¿Qué es eso de aplicaciones multiplataforma?
Decimos que una aplicación es multiplataforma si es capaz de ejecutarse en diferentes sistemas operativos (Windows, Mac OS, Linux, etc). Para ilustrar el concepto con un ejemplo  podemos hablar de Java, que es un lenguaje que permite desarrollar aplicaciones multiplataforma gracias a la Máquina Virtual (Java Virtual Machina, JVM). En el caso de Java es posible correr la aplicaciones sin hacer ningún cambio a nivel de código, es decir, un código hecho en Java bajo Windows puede correr sin problemas en Mac OS.


 Clasificación de las Estructuras de Datos


a)      Según su Implementación:

ü      Primitivas: Implementadas a nivel de hardware.  Ejemplos: arreglos, registros, etc.

ü      No Primitivas: Implementadas a nivel de software utilizando estructuras de datos primitivas.  Ejemplos: listas, colas, etc.



b)      Según su Representación en Memoria:

ü      Secuencial: En esta estructura de Datos el almacenamiento es inmediato. Son lineales los elementos acumulados.

ü      Enlazada: En esta estructura el almacenamiento es disperso.  Aquí la ubicación física de un elemento no determina una posición relativa.


c)      Según el Tipo de Almacenamiento:

ü      Estáticas: Se le asigna una cantidad fija de memoria cuando se declara la estructura de datos.

ü      Dinámicas: La asignación de memoria es variable, se puede aumentar o disminuir en tiempo de ejecución.

Resumen diapositivas Prof. Héctor Mendoza

viernes, 4 de febrero de 2011

LENGUAJE DE PROGRAMACIÓN C

Concepto
El lenguaje C es un tipo de programa con el cual podemos realizar distintos tipos de operaciones, con las cuales se facilita el manejo y realización de implementaciones.

Una pequeña historia de lenguaje C.
            El lenguaje C nació en los Laboratorios Bell de AT and T y ha sido asociado con el sistema operativo UNIX, ya que su desarrollo se realizó en este sistema y debido a que tanto UNIX como el propio compilador C y la casi totalidad de los programas y herramientas de UNIX, fueron escritos en C. Su eficacia y su claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX. El lenguaje C fue creado entre los años 1970 y 1972 por Brian Kernighan y Dennos Ritchie para escribir el código del sistema operativo UNIX. Fue uno de los lenguajes de programación mas aceptados por los programadores, por que hace una conjugación en lenguaje de alto nivel y lenguaje máquina. El lenguaje C es el resultado de un proceso de desarrollo que inició con un lenguaje denominado BCPL. Este influenció a otro llamado B (inventado por Ken Thompson). En los años 70; éste lenguaje llevó a la aparición del C. Los tipos básicos de datos eran "CHAR" (carácter), "INT" (enteros), "FLOAT" (Reales en simple presición), y "DOUBLE" (Reales en doble Presición). Posteriormente se añadieron los tipos "SHORT" (Enteros de longitud<=longitud de un int), "LONG" (Enteros de longitud >= longitud de un entero), "UNSIGNED" (Enteros sin signo), y "ENUMERACIONES". Los tipos estructurados básicos de C son las estructuras, las uniónes, y los arrays. Estos permiten la definición y declaración de tipos de mayor complejidad. En 1978 Kernighan y Ritchie publican su descripción en el libro "The C Programming Language", versión que es llamada hoy en día 'K&R C'. A mediados de los ochenta ya había en el mercado numerosos compiladores C, y muchas aplicaciones habían sido rescritas a él para aprovechar sus ventajas. http://docente.ucol.mx/~al985953/historia.htm

Evolución

            Este Lenguaje a evolucionado paralelamente con el UNIX, que a su vez ha pasado por diversas versiones entre las que destaca Microsoft con su XENIX para micros de 16 bits.
http://docente.ucol.mx/al989508/public_html/Hc1.htm#Evolucion



Características

  • Su principal característica es que es portable, quiere decir que puedes adaptar los programas escritos para un tipo de computadora en otra. También es estructurado, por que se divide en módulos que son independientes entre si.
  • El lenguaje C inicialmente fue creado para la programación de Sistemas Operativos, Interpretes, Editores, Ensambladores, Compiladores, Administradores de bases de datos y actualmente puede ser utilizado para todo tipo de programas.
  • El compilador debe ser lo más pequeño y eficiente posible. Pocas palabras reservadas, como, un conjunto reducido de sentencias.
  • No existe anidamiento de procedimientos.
  • La entrada/salida no se considera parte del lenguaje en sí, sino que se apoya a través de funciones de librería.
  • Para escribir un programa se debe poder escribir poco texto. Para lograr esto se reduce el número de palabras claves. Con ello se llegó a un compilador con un juego de instrucciones, que permite aumentar la productividad por día de los programadores.
  • C es un lenguaje rápido de aprender, que deriva en compiladores sencillos de diseñar, robustos, y que generan objetos pequeños y eficientes.


Ventajas
Características de bajo nivel de las que se disponen normalmente en lenguaje ensamblador o lenguaje de máquina. Tiene características de lenguaje de alto nivel. Modularidad y eficiencia en el diseño de programas. Hace posible la escritura de programas fuente muy concisa, debido en gran parte al gran  número de operadores que incluye el lenguaje C. http://orbita.starmedia.com/~prog201eq3/tarea1.htm

Desventajas

            Las desventajas que se pueden encontrar al Lenguaje C son las siguientes: Carece de instrucciones de entrada/salida, de instrucciones para el manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad  en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas.


Aplicabilidad

Todo lo que veas en windows de microsoft están hechos en C
Office por ejemplo
Lenguajes de programación
Paint
http://es.answers.yahoo.com/question/index?qid=20090323085609AAXlfM4

Bibliotecas o Librerias
Ø  assert.h Contiene una macro para el diagnóstico dentro de los programas.
Ø  ctype.h Contiene varias funciones para comprobación de tipos y transformación de caracteres.
Ø  errno.h Contiene varias macros usadas para informar de errores.
Ø  limits.h Contienen varias macros que definen constantes para el tamaño de tipo enteros.
Ø  float.h Contienen varias macros que definen constantes para el tamaño de tipo flotante.
Ø  locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dígitos, etc.
Ø  math.h Contiene una macro y varias funciones matemáticas.
Ø  setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones.
Ø  signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución.
Ø  stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido.
Ø  stddef.h Contiene varios tipos y macros que también están definidas en otras librerías, como size_t.
Ø  stdio.h Contiene tipos, macros y funciones para la realización de tareas de E/S.
Ø  stdlib.h Contiene tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares.
Ø  string.h Contiene tipos, macros y funciones para la manipulación de cadenas de caracteres.
Ø  time.h Contiene tipos, macros y funciones para la la manipulación de información sobre fechas y horas.
 
Char, int, float, long, long long, short, double, void.



Compilaciones

Existen muchos compiladores de C. El cc es el compilador estándar de Sun. El compilador GNU de C es gcc, el cual es bastante popular y esta disponible en varias plataformas.
Existen también compiladores equivalentes de C++ los cuales usualmente son nombrados como CC. Por ejemplo, Sun provee CC y GNU GCC. El compilador de GNU es también denotado como g++.
Existen otros compiladores menos comunes de C y C++. En general todos los compiladores mencionados operan esencialmente de la misma forma y comparten muchas opciones comunes en la línea de opciones. Más adelante se listan y se dan ejemplos de opciones comunes de los compiladores. Sin embargo, la mejor referencia de cada compilador es a través de las páginas en línea, del manual del sistema. Por ejemplo: man gcc.
Para compilar el programa usaremos el comando gcc. El comando deberá ser seguido por el nombre del programa en C que se quiere compilar. Un determinado número de opciones del compilador pueden ser indicadas también. Por el momento no haremos uso de estas opciones todavía, se irán comentando algunas más esenciales.
Por lo tanto, el comando básico de compilación es: gcc programa.c  http://www.fismat.umich.mx/mn1/manual/node2.html#SECTION00212000000000000000

El compilador GCC es un compilador integrado del proyecto GNU para C, C++, Objective C y Fortran; es capaz de recibir un programa fuente en cualquiera de estos lenguajes y generar un programa ejecutable binario en el lenguaje de la máquina donde ha de correr.
Logre ver los blog de mis compañeras y buenas amigas Debora y Nailee.

El blog de Debora me parece que tiene un color de fondo muy sutil, pues es un color claro, donde cualquier información se vería con facilidad en letras negras. Esta hecho como ella, con un toco de tranquilidad y paz. En verdad está muy bonito y armonizado, como para expresar !! aaaaahhh!!!

El blog de Nailee esta super con esas letras grandes en el titulo 1era semana y con colores muy llamativos y con esos circulos de diferentes tamaños, en verdad mi primera impresión fue !!guaooo!!!. Este blog nadie lo pasará por alto. Esta super.