Consultar...

domingo, 7 de noviembre de 2010

Lenguaje C

Reseña Historica
Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX.

Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje.

A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc.

A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios.

Fases de desarrollo de un programa en C

El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:

Eliminar los comentarios.
Incluir en el fuente el contenido de los ficheros declarados con #include (a estos ficheros se les suele llamar cabeceras)
Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto.

Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.

El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios.

El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas.

Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf).

Componentes del lenguaje C

Sigue el paradigma de la programación estructurada:

Algoritmos+estructuras de datos = programas.

Estructuras de datos
literales
tipos básicos (todos numéricos)
tipos enumerados
tipos estructurados (struct, union)
punteros y vectores

Construcciones algorítmicas
construcciones condicionales (if,switch)
construcciones iterativas(while,for,do...while)
subrutinas (funciones)

Además de lo anterior, el C tiene otros elementos:

comentarios
inclusión de ficheros
macros
compilación condicional
El preprocesador es quien normalmente se encarga de interpretar estas construcciones.
Comentarios
En el C original, tienen la forma /* cualquier texto */

Los comentarios se pueden extender varias líneas

No se pueden anidar comentarios (comentarios dentro de otros)

En C++ se usan también comentarios de una sola línea. La sintaxis es

// cualquier texto

Todo lo que se escriba a partir de las dos barras es un comentario. El comentario termina con el final de la línea.

Ejemplos:

{
/* Esto es un comentario
que ocupa varias líneas
*/

// esto es un comentario de C++
// y esto es otro comentario
}
Manipulación básica de datos
Literales
Tipos básicos
Declaraciones de variables
Rangos de valores y tipos modificados
Nombres de variables (identificadores)
Expresiones
Asignaciones
Operadores booleanos
Operadores avanzados


Tipos básicos

Los datos en C han de tener un tipo. Las variables contienen datos, y se han de declarar del tipo adecuado a los valores que van a contener.

El C dispone de estos tipos básicos:

int
enteros (números enteros positivos y negativos)

char
caracteres (letras)

float
números en coma flotante (números reales)

double
números en coma flotante de doble precisión

void
no-tipo (se emplea con punteros)

Todos estos tipos -salvo void- son tipos numéricos. Incluso el tipo char.

Se pueden construir tipos de datos más elaborados a partir de estos tipos básicos:

Vectores y matrices
Punteros
Tipos estructurados (registros)


viernes, 29 de octubre de 2010

Decisiones, Opción multiple y Ciclos...!!!

Decisiones: Son estructuras de control que realizan una pregunta la cual retorna verdadero o falso (evalúa una condición) y selecciona la siguiente instrucción a ejecutar dependiendo la respuesta o resultado. El siguiente enlace nos dará una mejor visión con respecto a las decisiones:















Opción múltiple: En este caso hay un Indicador es una variable o una función cuyo valor es comparado en cada caso con los valores "Valor", si en algún caso coinciden ambos valores, entonces se ejecutarán las Instrucciones correspondientes. La sección en otro caso es análoga a la sección si no del ejemplo anterior. El siguiente enlace nos dará una mejor visión con respecto a la opcion multiple:



http://www.mailxmail.com/curso-algoritmos-lenguaje-c/seleccion-multiple-switch


Ciclos o bucles (repetir hasta, repetir mientras y repetir desde): Es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
El bucle y los condicionales representan la base de la programación estructurada. Es una evolución del código ensamblador, donde la única posibilidad de iterar un código era establecer una sentencia jump (que en los lenguajes de programación fue sustituida por el "ir a" o GOTO).
Los tres bucles más utilizados en programación son el bucle while, el bucle for y el bucle repetir. El siguiente enlace nos dará una mejor visión con respecto a los ciclos:

http://es.wikipedia.org/wiki/Bucle_(programaci%C3%B3n)

Bucle mientras
El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Bucle repetir
Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condición:

Bucle para
Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar un número conocido de veces, empleando como índice una variable que se incrementa (o decrementa).

Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que diferentes autores podrían dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.

Contenido..!!!







  • Variables


  • Decisiones


  • Opcion multiple


  • Ciclos o Bucles


Existen ciertas reglas en cuanto a la declaración de variables
• Las variables son definidas utilizando un identificador de tipo de dato seguido del nombre de la variable.
• Deben ser claras y con referencia directa al problema.
• No deben contener espacios en blanco
• Se pueden usar abreviaturas.

Se clasifican en:
- Numéricas: en las cuales se almacenan números.
- Lógicas: ellas solo almacenan dos valores (verdadero o falso).
- Alfanuméricas: almacenan caracteres alfanuméricos (letras, números y caracteres especiales).
Uso de variables:



Constante: Es un tipo de dato que permanece sin cambio durante la ejecución del programa. La mayoría de los lenguajes de programación nos permiten el manejo de diferentes tipos de constantes, estas pueden ser enteras, reales, caracteres y cadenas.
Ejemplo: pi= 3,1416


Contador: Este permite contar los procesos repetitivos y acciones internas. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada repetición. La forma en que se construye un contador es la siguiente:
contador=1;
contador=contador+1;

Acumulador: Es una variable cuya función es almacenar cantidades resultantes de operaciones sucesivas. Realiza la misma función que un contador con la diferencia que el incremento o decremento es variable en lugar de constante.
acumulador=0;
acumulador= acumulador + valor;

Bandera: Es también denominada interruptor o conmutador es una variable que puede tomar uno de dos valores (verdadero o falso) a lo largo de la ejecución del programa y permite comunicar información de una parte a otra del mismo.
primo;
primo=0;
primo=1;

Expresiones: Son combinaciones de constantes, variables, símbolos de operación (operadores), paréntesis y nombre de funciones especiales. Por ejemplo:
sqrt= ((p-a)*(p-b)*(p-c));
(a+b+c)/p;
Una expresión toma un valor que se determina por el resultado de la ejecución de las operaciones indicadas, tomando los valores de las variables y constantes, además aplicando las prioridades de las operaciones.

jueves, 28 de octubre de 2010

Definiciones Basicas de Programacion...!!!

Comencemos....

Antes de leer y comprender el tema de programación, es necesario entender que es un algoritmo y pseudocódigo, los algoritmos se implementan en forma de sentencias en algún lenguaje de programación, pueden ser interpretados por una computadora y así ser ejecutados; los algoritmos también pueden representarse gráficamente empleando diagramas de flujo o formas similares. De esta manera, son fácilmente comprensibles, especialmente para personas que no son programadores. Los algoritmos también pueden escribirse en pseudocódigo, lo que también los hace fáciles de entender; pseudocódigo: es una descripción de secuencias de instrucciones de alto nivel que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo (pseudocódigo).
Ahora bien cuando se habla de programación es la creación de programas para computadoras o la planificación ordenada de secuencias de código. Es aquella actividad por la cual se crean programas para computadoras, tales programas pueden ser códigos fuentes interpretados (como por ejemplo scripts en BASH) o códigos fuentes que serán compilados (como por ejemplo programas en C++) hacia lenguajes binarios y ejecutados desde el kernel del sistema operativo.
No es normal escribir un programa en lenguaje de máquina dado que es muy difícil, en cambio, se utilizan lenguajes de programación inteligibles por un ser humano. No es necesario que un programa sea escrito en un sólo lenguaje, puede poseer diversas partes escritas en distintos lenguajes de programación, como por ejemplo C, C++ y Asm.

La diferencia entre algoritmo y programa es que este último implementa, en general, traduciendo a un lenguaje de programación en concreto, un algoritmo, el cual es una secuencia finita, ordenada y no ambigua de instrucciones que resuelven determinado problema. Esta secuencia de instrucciones luego podrá ser repetida cuantas veces sea necesario, dentro del mismo programa, o con la ejecución del programa en varias oportunidades.
Los desarrolladores de programas aprenden técnicas de programación, como por ejemplo la división del problema en partes menores, creando módulos para reducir la complejidad algorítmica global. Entre las diferentes técnicas existentes podemos mencionar la orientada a objetos, la modular, la estructurada y la lineal, buscando normalmente mejorar el proceso de creación, expansión y mantenimiento.
En el siguiente enlace les ayudara a tener una definición mas exacta y compleja sobre este tema:
http://www.mastermagazine.info/termino/6400.php

http://www.scribd.com/doc/3108616/Definiciones-basicas-en-Programacion-lineal