Buscar este blog

martes, 3 de enero de 2012

Procedimientos

Un camino para dividir un gran programa en partes mas pequeñas es el uso de los llamados procedimientos.
Un procedimiento es un grupo de instrucciones, variables, constantes, etc, que estan diseñados con un próposito particular y tiene su nombre propio.
Es decir un procedimiento es un modulo de un programa que realiza tareas especificas y que no puede regresar valores a la parte principal del programa u otro procedimiento que lo este invocando.
Despues de escribir un procedimiento se usa su propio nombre como una sola instrucción o llamada al procedimiento.
Los procedimientos se podran escribir despues del cuerpo principal del programa utilizando el formato:
void NomProc(){instrucciones;};
Pero tambien los procedimientos deberan declararse antes del main como lo muestra el programa ejemplo.
Sin embargo el procedimiento se construye antes del main() entonces no hay necesidad de declararlo antes.
Un programa puede tener tantos procedimientos como se deseen para hacer una llamada o invocación al procedimiento durante la ejecución de un programa solo se debera escribir el nombre del procedimiento y los parentesis en blanco.

Funciones void

Las funciones void dan una forma de emular, lo que en otros lenguajes se conocen como procedimientos (por ejemplo, en PASCAL). Se usan cuando no requiere regresar un valor. Se muestra un ejemplo que imprime los cuadrados de ciertos números.
void cuadrados()
{
    int contador;

    for( contador=1; contador<10; contador++)
        printf("%d\n",contador*contador);
}

main()
{
    cuadrados();
}
En la función cuadrados no esta definido ningún parámetro, y por otra parte tampoco se emplea la sentencia return para regresar de la función.

Funciones

Una función es un conjunto de declaraciones, definiciones, expresiones y sentencias que realizan una tarea específica.
El formato general de una función en C es
especificador_de_tipo nombre_de_función( lista_de_parámetros )
{
variables locales
código de la función
}
El especificador_de_tipo indica el tipo del valor que la función devolverá mediante el uso de return. El valor puede ser de cualquier tipo válido. Si no se específica un valor, entonces la computadora asume por defecto que la función devolverá un resultado entero. No se tienen siempre que incluir parámetros en una función. la lista de parámetros puede estar vacía.
Las funciones terminan y regresan automáticamente al procedimiento que las llamó cuando se encuentra la última llave }, o bien, se puede forzar el regreso antes usando la sentencia return. Ademas del uso señalado la función return se usa para devolver un valor.
Se examina a continuación un ejemplo que encuentra el promedio de dos enteros:
float encontprom(int num1, int num2)
{
    float promedio;
 
    promedio = (num1 + num2) / 2.0;
    return(promedio);
}

main()
{
    int a=7, b=10;
    float resultado;

    resultado = encontprom(a, b);
    printf("Promedio=%f\n",resultado);
}

Arrays (arreglos)

Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua. La dirección más baja corresponde al primer elemento y la más alta al último. Un arreglo puede tener una o varias dimensiones. Para acceder a un elemento en particular de un arreglo se usa un índice.
El formato para declarar un arreglo unidimensional es:
tipo nombre_arr [ tamaño ]
Por ejemplo, para declarar un arreglo de enteros llamado listanum con diez elementos se hace de la siguiente forma:
int listanum[10];
En C, todos los arreglos usan cero como índice para el primer elemento. Por tanto, el ejemplo anterior declara un arreglo de enteros con diez elementos desde listanum[0] hasta listanum[9].
La forma como pueden ser accesados los elementos de un arreglo, es de la siguiente forma:
listanum[2] = 15; /* Asigna 15 al 3er elemento del arreglo listanum*/
num = listanum[2]; /* Asigna el contenido del 3er elemento a la variable num */
El lenguaje C no realiza comprobación de contornos en los arreglos. En el caso de que sobrepase el final durante una operación de asignación, entonces se asignarán valores a otra variable o a un trozo del código, esto es, si se dimensiona un arreglo de tamaño N, se puede referenciar el arreglo por encima de N sin provocar ningún mensaje de error en tiempo de compilación o ejecución, incluso aunque probablemente se provoque el fallo del programa. Como programador se es responsable de asegurar que todos los arreglos sean lo suficientemente grandes para guardar lo que pondrá en ellos el programa.
C permite arreglos con más de una dimensión , el formato general es:
tipo nombre_arr [ tam1 ][ tam2 ] ... [ tamN];
Por ejemplo un arreglo de enteros bidimensionales se escribirá como:
int tabladenums[50][50];

¿Que es lenguaje de programación?

Un lenguaje de programación es un lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.


Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma.


El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático.


En su uso, un lenguaje de programación puede acercarse a la forma humana de expresarse y, por eso, este tipo de lenguajes es llamado de alto nivel. Esto significa que utilizan palabras y formas en sus estructuras que se asemejan al lenguaje natural (especialmente al inglés). En cambio, aquellos lenguajes que se aproximan más a la forma en la cual la computadora se maneja, son llamados lenguajes de bajo nivel. Esto significa que lo que el programador deba escribir se acercará al lenguaje máquina, que es, en definitiva, lo que las computadoras pueden interpretar.

¿Que es C++?

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.
Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.
Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.

¿Que es un programa?

Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas máquinas no pueden funcionar. Al conjunto general de programas, se le denomina software, que más genéricamente se refiere al equipamiento lógico o soporte lógico de una computadora digital.
En informática, se los denomina comúnmente binarios, (propio en sistemas Unix, donde debido a la estructura de este último, los ficheros no necesitan hacer uso de extensiones. Posteriormente, los presentaron como ficheros ejecutables, con extensión .exe, en los sistemas operativos de la familia Windows) debido a que una vez que han pasado por el proceso de compilación y han sido creados, las instrucciones que se escribieron en un lenguaje de programación que los humanos usan para escribirlos con mayor facilidad, se han traducido al único idioma que la máquina comprende, combinaciones de ceros y unos llamada código máquina. El mismo término, puede referirse tanto a un programa ejecutable, como a su código fuente, el cual es transformado en un binario cuando es compilado.

¿Que es una variable?

En programación, una variable es un espacio de memoria reservado para almacenar un valor que corresponde a un tipo de dato soportado por el lenguaje de programación. Una variable es representada y usada a través de una etiqueta (un nombre) que le asigna un programador o que ya viene predefinida.

Por ejemplo, en la variable de nombre "num", se almacena el número 8 (de tipo entero). De forma genérica, para utilizarla y sumarle un uno se debería programar: num = num + 1.
Una variable puede ser del tipo boleano, entero, decimal de coma flotante, caracter, cadena de texto, arreglo, matriz, tipo definido por el usuario, etc. Estos son tipos de datos.

Una variable, por lo general, como su nombre lo indica, puede variar su valor durante la ejecución delprograma. Dependiendo del lenguaje de programaciónusado, también puede cambiar el tipo de dato que almacena.

¿Que es una constante?

Las constantes son valores inmutables que se conocen en tiempo de compilación y no cambian mientras dura el programa. Las constantes se declaran con el modificador const. Solo los tipos integrados de C# (excluido System.Object) se pueden declarar como const. Para obtener una lista de los tipos integrados, vea Tabla de tipos integrados (Referencia de C#). Los tipos definidos por el usuario, incluidas las clases, los structs y las matrices, no pueden ser const. Use el modificadorreadonly para crear una clase, un struct o una matriz que se inicialice una vez en tiempo de ejecución (por ejemplo, en un constructor) y que posteriormente no se pueda cambiar.
C# no admite los métodos, propiedades o eventos const.
El tipo de enumeración permite definir constantes con nombre para los tipos integrados enteros (por ejemplo intuintlong, etc.). Para obtener más información, veaenum (Referencia de C#).

¿Que es compilacion?

Los compiladores son programas o herramientas encargadas de compilar. Un compilador toma un texto (código fuente) escrito en un lenguaje de alto nivel y lo traduce a un lenguaje comprensible por las computadoras (código objeto).

Básicamente, existen dos grandes formas de ejecutar programas: programas compilados (previamente pasados por un compilador) y programas interpretados (necesitan pasar por un intérprete para ejecutarse en tiempo real).

Características de un compilador

Generalmente un compilador se divide en dos partes:

* Front End: parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el que funcionará.

* Back End: parte en donde se genera el código máquina exclusivo para una plataforma a partir de lo analizado en el front end.

Por lo general el resultado del back end no puede ser ejecutado directamente, se necesita pasar por un proceso de enlazado (linker).

Existen varios tipos de compiladores: Compiladores cruzados, Compiladores optimizadores, Compiladores de una sola pasada, Compiladores de varias pasadas, Compiladores JIT (Just In Time).

¿Que es un programa fuente?

El concepto de "Programa Fuente" se relaciona de forma directa con los lenguajes de programación y las aplicaciones creadas, porque precisamente "Programa Fuente" describe el argumento escrito por el programador que da inicio al desarrollo de su obra de software. 
De este modo, el paso siguiente está dado por la Compilación de lo escrito, de tal forma que la máquina sea capaz de entenderlo y "correrlo", dando lugar a un archivo ejecutable. 
  El "Código Fuente" no se inclina por el software libre o propietario, porque está destinado al programador que lo crea y modifica. Es por eso, que existen luego otras denominaciones, como Código Abierto (Open Source), el cual hace posible que el acceso al "Código Fuente" del programa no esté limitado a su autor. Es importante aclarar que Open Source y Free Software son dos áreas diferencias más allá de que compartan la virtud de mostrar el detrás de escena de una aplicación. La diferencia principal y más visible entre ambos movimientos, es que los programas Open Source pueden comercializarse. 
Para conocer sobre el Software Libre, nadie mejor que su principal representante, Richard Stallman, a quien desde MasterMagazine tuvimos el gusto de entrevistar.

¿Que es un programa objeto?

El programa objeto se llama absoluto, si debe cargarse de unas posiciones fijas de memoria, y localizable si se puede cargaar en cualquier lugar  de la memoria.
     Además, antes de cargar el programa objeto es necesario unirlos a otros programas .
     Los formatos de los programas objetos localizables son casi flexibles como los estudiados
 para los lenguaje de nivel ensamblador, aunque el montaje en memoria requiere bastante tiempo. Esta función la realiza el montador de enlaces , mientras que en los sistemas operativos complejos, la carga final la efectúa el cargador.  Si el sistema opresivo es mas sencillo, existen solo un solo paso realizado por el cargador enlazador.

     El programa objeto consta de cuatro partes:  el diccionario de símbolos externos, el texto, el diccionario localizable y la ficha END.

     . El directorio de símbolos externos define las secciones de control las referencias externas, los puntos de entradas y las arcas COMMON.
     
     . El texto comprende las instrucciones en el lenguaje de maquina y los datos del programa objeto.
    
     . El direccionario localizable contiene las direcciones que tienen que modificarse en el . Momento de la ejecución.

¿Que es un ciclo?

Un bucle o ciclo, en programación, 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..

¿Cuales son las estructuras en un lenguaje de programación?

El concepto de variables

Las variables se utilizan en la mayoría de los lenguajes, donde un nombre se asocia a un contenido. Por ejemplo, podemos llamar a una variable "maniquí" y asignarle el valor 8.

Tipos de datos

Algunos lenguajes permiten asociar cualquier tipo de dato con una variable (ya sea un número completo o un carácter), dicho lenguaje se denomina lenguaje sin tipos.
Como puede verse en el capítulo representación de datos, el tipo de datos establece el número de bytes en que el dato está codificado, es decir, la cantidad de memoria que este dato ocupa, así como el formato en el que está representado.
Por esta razón, los lenguajes evolucionados (C, Java) son lenguajes con tipo, lo que significa que una variable no se asocia solamente con un nombre sino también con un tipo de datos que debe especificarse cuando se declara la variable; es decir, cuando el nombre de la variable se escribe por primera vez, debe especificar en el compilador el tipo de datos que esta variable contendrá (la manera de declarar la variable dependerá del lenguaje utilizado).

Sintaxis

Los lenguajes de programación requieren una sintaxis estricta, por lo tanto, no es posible escribir de la manera que se desea.
Así, algunos lenguajes distinguen entre minúsculas y mayúsculas, lo que significa que un nombre escrito en minúscula no es considerado el equivalente del mismo nombre escrito en mayúscula. En este caso, la variable "Maniquí" sería diferente a la variable "maniquí".
Los nombres de variables requieren comúnmente una longitud máxima (dependiendo del lenguaje) y de un determinado conjunto de caracteres. Generalmente, se utilizan los siguientes caracteres:
abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890_ 
De esta forma, un espacio (" ") se considera un tipo de carácter diferente, llamado un carácter especial. Por lo tanto, no es muy común que un lenguaje permita el uso de caracteres especiales en nombres de variables.

Palabras reservadas

En la mayoría de los lenguajes, existe un puñado de palabras que no deben utilizarse como variables de nombres, llamadas palabras reservadas. Se especifican en el capítulo correspondiente al lenguaje específico.

Constantes

Las constantes son datos cuyo valor no puede modificarse. Por lo general, se definen al comienzo del programa. El valor de la constante puede ser de cualquier tipo permitido por el lenguaje de programación.

Comentarios

Al escribir un programa es útil poder agregar líneas de texto a las que el compilador no considera como códigos. Estas líneas de texto generalmente están precedidas (o rodeadas) por comandos especiales que ordenan al compilador omitirlas.Los comentarios son útiles para aclarar cómo está escrito el programa, explicando las partes del código. Los comentarios también sirven si otra persona está tratando de comprender cómo funciona el programa leyendo el archivo fuente, o incluso, si la persona que escribió el programa está leyendo el archivo de origen nuevamente, varios años después de haber escrito el código... 

Esas solo son algunas de las estructuras pero pueden encontrar mas informacion en el siguiente enlace  http://es.kioskea.net/contents/langages/structure.php3