You are on page 1of 20

Ingeniera Electrnica y Ambiental Introduccin a los Lenguajes de Programacin

Informtica

(Nota: mucha de la informacin suministrada en este documento fue recopilada de diversos sitios de internet y adaptada para la materia). Lenguaje de Programacin Un lenguaje de programacin es un idioma artificial diseado para expresar computaciones que pueden ser llevadas a cabo por mquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana. Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el cdigo fuente de un programa informtico se le llama programacin. Tambin la palabra programacin se define como el proceso de creacin de un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de los siguientes pasos: El desarrollo lgico del programa para resolver un problema en particular. Escritura de la lgica del programa empleando un lenguaje de programacin especfico (codificacin del programa). Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina. Prueba y depuracin del programa. Desarrollo de la documentacin. Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin' y 'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el marcado de pginas web que no es propiamente un lenguaje de programacin, sino un conjunto de instrucciones que permiten disear el contenido de los documentos). Permite especificar de manera precisa sobre qu datos debe operar una computadora, cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador pueda usar un conjunto comn de instrucciones que sean comprendidas entre ellos para realizar la construccin de un programa de forma colaborativa. Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido como cdigo de mquina, el cual la mquina comprende fcilmente, pero que lo hace excesivamente complicado para las personas. De hecho slo consiste en cadenas extensas de nmeros 0 y 1. ste es el lenguaje que entienden los microprocesadores y el nico que son capaces de ejecutar. Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls; ste se conoce como lenguaje ensamblador (o assembler). Por ejemplo, para sumar se usa la instruccin ADD de la palabra inglesa (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje mquina, pero las letras y palabras son ms fciles de recordar y entender que los nmeros. Ejemplo: la instruccin ADD 3 (que sumara 3 al valor de un registro especfico (tpicamente el acumulador) pordra traducirse como 0001 0011 (eleccin arbitraria donde los primeros 4 nmeros binarios (1 en decimal) se referira a la instruccin sumar y los ltimos 4 nmeros binarios (3 en decimal) se referira al valor que se debe sumar.

1 / 20

Ingeniera Electrnica y Ambiental

Informtica

La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denomin instrucciones, y a este conjunto de instrucciones se le llam lenguaje ensamblador (o assembler). Posteriormente aparecieron diferentes lenguajes de programacin, los cuales reciben su denominacin porque tienen una estructura sintctica similar a los lenguajes escritos por los humanos, denominados tambin lenguajes de alto nivel. Programacin La programacin es el proceso de disear, escribir, probar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Para crear un programa, y que la computadora interprete y ejecute las instrucciones escritas en el, debe usarse un Lenguaje de programacin. Como vimos, la computadora slo entiende lenguaje de mquina, pero para nuestra facilidad y comodidad existen los lenguajes de alto nivel. Escribir un programa en un lenguaje de alto nivel es mucho ms sencillo que estar escribiendo ceros y unos. Una vez que se termina de escribir un programa, sea en assembler o en un lenguaje de alto nivel, es necesario compilarlo. Compilar un programa es traducirlo a lenguaje de mquina; es decir, traducir un programa de un lenguaje de alto nivel a un lenguaje de mquina. La programacin se rige por reglas y un conjunto ms o menos reducido de rdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en ingls); y que adems tienen la particularidad de una reducida ambigedad. Cuanto menos ambiguo es un lenguaje de programacin, se dice, es ms potente. Bajo esta premisa, y en el extremo, el lenguaje ms potente existente es el binario, con ambigedad nula. Programas y Algortmos Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programacin concreto) uno o ms algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma grfica, como un diagrama de flujo, en forma de cdigo como en pseudocdigo o un lenguaje de programacin, en forma explicativa, etc. Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la complejidad algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una prctica muy utilizada y se conoce como "refino progresivo". Un programa est formado por algoritmos y estructuras de datos. Compilacin El programa escrito en un lenguaje de programacin (fcilmente comprensible por el programador) es llamado programa fuente y no se puede ejecutar directamente en una 2 / 20

Ingeniera Electrnica y Ambiental

Informtica

computadora. La opcin ms comn es compilar el programa obteniendo un mdulo objeto, aunque tambin puede ejecutarse en forma ms directa a travs de un intrprete informtico. El cdigo fuente del programa se debe someter a un proceso de traduccin para convertirlo en lenguaje mquina (que es nico ejecutable por el procesador). A este proceso se le llama compilacin. Normalmente la creacin de un programa ejecutable lleva dos pasos. El primer paso se llama compilacin (propiamente dicho) y traduce el cdigo fuente escrito en un lenguaje de programacin almacenado en un archivo a cdigo en bajo nivel (normalmente en cdigo objeto, no directamente a lenguaje mquina). El segundo paso se llama enlazado en el cual se enlaza el cdigo de bajo nivel generado de todos los ficheros y subprogramas que se han mandado compilar y se aade el cdigo de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo as finalmente el cdigo objeto a cdigo mquina, y generando un mdulo ejecutable. Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase de compilacin en archivos objetos; para enlazarlos en fases posteriores, o crear directamente el ejecutable; con lo que la fase de compilacin se almacena slo temporalmente. Un programa podra tener partes escritas en varios lenguajes (por ejemplo C, C++ y ensamblador), que se podran compilar de forma independiente y luego enlazar juntas para formar un nico mdulo ejecutable. Conceptos fundamentales Cdigo Fuente El cdigo fuente es un conjunto de lneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa. Por tanto, en el cdigo fuente de un programa est descrito por completo su funcionamiento. El cdigo fuente de un programa es el escrito por un programador en algn lenguaje de programacin. Como vimos, en este primer estado no es directamente ejecutable por la computadora, sino que debe ser traducido a lenguaje de mquina. Para esta traduccin se usan los llamados compiladores. Cdigo Objeto En programacin, se llama cdigo objeto al cdigo que resulta de la compilacin del cdigo fuente. Consiste en lenguaje de mquina y se distribuye en varios archivos que corresponden a cada cdigo fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de cdigo objeto con un programa llamado enlazador (linker). Cdigo Ejecutable El cdigo que es capz de ejecutar un procesador.

3 / 20

Ingeniera Electrnica y Ambiental

Informtica

Llevando estos conceptos a la prctica Supongamos el siguiente cdigo fuente en lenguaje C, en un archivo llamado hola.c. #include<stdio.h> int main() { printf(Hola mundo!\n); } Para generar el cdigo objeto debemos tipear en la consola: gcc c hola.c Esto genera el archivo hola.o. Este archivo no ser ya ms comprensible por nosotros. Para generar el cdigo ejecutable a partir del cdigo objeto: gcc -o hola hola.o Esto genera el archivo ejecutable hola. Para ejecutarlo en la computadora bastar con tipear: ./hola Es posible realizar todos estos pasos automticamente, es decir, generar un archivo ejecutable a partir de un archivo fuente (tener en cuenta que el proceso siempre generar todos los pasos anteriores, pero ser transparente a nuestros ojos). Para esto: gcc o hola hola.c

Preprocesador El lenguaje C realiza un paso ms a los recien vistos: antes de la compilacin se realiza un preprocesamiento del archivo fuente. Esta tarea es realizada por el preprocesador y se utiliza para resolver caractersticas que permite realizar el lenguaje (inclusin de archivos, definicin de constantes, compilacin condicional, etc). Para ver el cdigo duente luego de ser preprocesado debemos tipear en la consola: gcc -E hola.c

IDE Un IDE es un entorno de desarrollo integrado (Integrated Development Environment) que permite desde un programa corriendo en el entrorno grfico, crear, editar, compilar y ejecutar programas desarrollados por nosotros.

4 / 20

Ingeniera Electrnica y Ambiental

Informtica

Uno muy sencillo de utilizar, gratuito, y que funciona tanto en Windows como en Linux es el CodeBlocks (www.codeblocks.org). Creando un nuevo proyecto de consola.

Elegir siguiente y luego C:

5 / 20

Ingeniera Electrnica y Ambiental

Informtica

Indicar el nombre de proyecto y directorio:

Elegir el compilador y estructura de directorios de los programas fuente y objetos:

6 / 20

Ingeniera Electrnica y Ambiental


Editar el cdigo fuente:

Informtica

Generar el ejecutable eligiendo del men Build (o Construr), la opcin que dice Build (o construr):

Ejecutar el programa eligiendo del menu Build (contrur) la opcin Run (Ejecutar):

7 / 20

Ingeniera Electrnica y Ambiental

Informtica

CONCEPTOS BSICOS Un algoritmo es una serie de instrucciones que realizadas en orden conducen a la solucin de un problema. Tambin se puede decir que un algoritmo es la fase preliminar a escribir un programa en cualquier lenguaje de programacin, por lo que la forma de escribirlo puede ser muy personal segn el programador que lo est diseando, pero en general se debe hacer en una forma tan clara que cualquier otro programador pueda coger dicho algoritmo, entenderlo fcilmente y poderlo traducir a su lenguaje de programacin favorito. El programador de computadoras es ante que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemtico. RESOLUCION DE PROBLEMAS Programacin: Establecer una secuencia de acciones que tras ser ejecutadas por un procesador resuelva un determinado problema. Fases: 1. Anlisis del problema 2. Estudio de su solucin 3. Diseo del Algoritmo 4. Codificacin del programa 5. Depuracin y prueba Ejemplo: a)Diseo del Algoritmo 1. Tomar un vaso. 2. Colocar algunos cubitos de hielo en el vaso. 3. Echar vino tinto en el vaso.

8 / 20

Ingeniera Electrnica y Ambiental


4. Aadir gaseosa al contenido del vaso. 5. Agitar el contenido.

Informtica

b) Diseo del Algoritmo 1. Tomar un vaso vaco. 2. Colocar tres cubitos de hielo en el vaso. 3. Echar vino tinto hasta la mitad del vaso. 4. Aadir gaseosa hasta llenar el vaso. 5. Agitar tres segundos el contenido. c)Diseo del Algoritmo 1. Tomar un vaso vaco. 2. Colocar tres cubitos de hielo en el vaso. a) Sacar la cubitera del congelador. b) Rociar la parte inferior con agua. c) REPETIR d) Extraer un cubito. e) Echarlo al vaso. f) HASTA QUE el no de cubitos sea 3. g) Rellenar los huecos de la cubitera con agua. h) Meter de nuevo la cubitera en el congelador. 3. Echar vino tinto hasta la mitad del vaso. 4. Aadir gaseosa hasta llenar el vaso. 5. Agitar tres segundos el contenido. DEFINICIONES Procesador: Entidad capaz de entender una secuencia finita de acciones y ejecutarlas en la forma en que se especifican Entorno: Conjunto de condiciones necesarias para la ejecucin de un algoritmo Acciones primitivas: Son acciones que el procesador es capaz de entender y ejecutar directamente Algoritmo Dado un procesador y un entorno bien definido, es el enunciado de una secuencia finita de acciones primitivas que resuelven un determinado problema

9 / 20

Ingeniera Electrnica y Ambiental

Informtica

TIPOS DE PROGRAMACIN En general, hay varias formas de escribir un algoritmo, pero explicaremos las dos mas conocidas: Diagrama de Flujo Que consta de rectngulos que encierran las instrucciones y lneas que apuntan hacia la siguiente instruccin de modo que no se pierda el orden. Adems, las operaciones elementales como la entrada de datos, salida de datos, ciclos, etc. se reconocen de las dems instrucciones porque no se encierran en rectngulos sino en otra clase de figuras por lo que segn la figura en la que est encerrada la instruccin se reconoce su significado; Es muy didctico, por lo que es muy fcil de entender as ni siquiera se conozca al programador que dise el algoritmo. Ejemplo: Hacer un programa que me muestre la suma de dos valores

Pseudocodigo En el pseudocodigo, cada instruccin es una lnea y las operaciones elementales se escriben de una forma tan clara que ser imposible que algn programador no las entienda. Aqu utilizaremos un pseudocodigo un poco personalizado, para hacer ms sencilla la explicacin. NOTA: Aunque normalmente, en el pseudocodigo, cada lnea escrita es una instruccin diferente, a veces, no se puede escribir en una sola lnea todo el contenido de una instruccin por lo que si se quiere dividir una instruccin en dos o ms lneas diferentes debern estar unidas por el signo _ al final, que indicar que la lnea que est bajo hace parte de la misma instruccin y no de otra diferente. Para realizar dichas instrucciones, se utilizan bsicamente Variables y Operadores. Ejemplo: Hacer un programa que me muestre la suma de dos valores INICIO DECLARAR VARIABLES NUM1, NUM2, SUMA Leer <-- NUM1 Leer <-- NUM2 SUMA <-- NUM1+NUM2 Mostrar --> SUMA FIN

10 / 20

Ingeniera Electrnica y Ambiental


PASOS PARA DISEAR UN ALGORITMO

Informtica

Aunque no hay un mtodo general para disear algoritmos, si se puede decir que lo ms adecuado es seguir con los siguientes pasos al tratar de resolver un problema determinado: 1. EL ANLISIS: Es importantsimo hacer un buen anlisis de cual es especficamente el problema a resolver. Para esto es bueno ayudarse mediante grficos del problema o en caso de que no sea graficable, tambin se puede resolver el problema para casos especficos y luego generalizarlo para todos los posibles casos. Tambin se deben observar cuales seran los casos especiales, es decir, aquellos casos que no cumplan la norma general, y tratar de evaluarlos de otra forma. Este paso es el que ms tiempo debe llevarle a un buen programador, ya que de un buen anlisis depende los buenos resultados que arroje el algoritmo. 2. ESCRIBIR EL ALGORITMO: Despus de haber analizado el problema en una forma abstracta, se debe llevar al papel, mediante instrucciones adecuadas al anlisis. Si el problema fue bien analizado, este paso es muy rpido a comparacin del anterior. 3. PRUEBA DE ESCRITORIO: Este paso es opcional y se aplica siguiendo paso por paso las instrucciones del algoritmo, anotando los diferentes valores que van tomando las variables, de forma que se pueda verificar si hay errores en alguna instruccin. Obviamente, ste mtodo es muy engorroso para algoritmos muy extensos, por lo que en estos casos no sera aplicable. ESTRUCTURAS ALTERNATIVAS Determinan la ejecucin de una u otra parte del programa dependiendo de que se cumpla o no una cierta condicin. A su vez las estructuras alternativas se subdividen en simples, dobles, etctera como veremos a continuacin.. Alternativa simple Si se cumple una determinada condicin se ejecutar un conjunto de instrucciones (que en caso contrario no se ejecutaran). Pseudocdigo: Si (condicin) { instrucciones } Lenguaje C: if (condicin) { instrucciones }

Donde: - condicin es cualquier expresin que devuelva un valor lgico (true/false). - instrucciones es un bloque de una o ms instrucciones que se ejecutarn solo en el caso de que se cumpla la condicin. Alternativa doble Si se cumple la condicin se ejecutar el primer bloque de instrucciones, si no se cumple se ejecutar el segundo bloque. Pseudocdigo: Si (condicion) { instrucciones1 } sino { instrucciones2 } Lenguaje C: if (condicin) { instrucciones1 } else { instrucciones2 }; 11 / 20

Ingeniera Electrnica y Ambiental


Estructuras repetitivas

Informtica

En ocasiones necesitaremos que un bloque de instrucciones se ejecute varias veces seguidas; en estos casos utilizaremos estructuras repetitivas o bucles. Estructura for (para). La estructura for ejecuta un bucle un nmero determinado de veces controlando automticamente el nmero de iteraciones. La utilizaremos siempre que sepamos previamente el nmero de veces que se ejecutar el bucle. Su formato genrico es el siguiente: Pseudocdigo: Para (VariablaControl;CondicinContinuacion;ExpresinIncremento) {

Instrucciones
}

Lenguaje C: For (i=0;i<=10;i++) {

Instrucciones
}

Donde: - VariableControl: es una variable interna o local al bucle (no hay que declararla previamente) que se utiliza normalmente como contador del numero de ejecuciones del bucle en cada momento. - ValorInicio: es el valor inicial que tomar la VariableControl. - CondicionContinuacion: es una condicin que ser comprobada antes de realizar cada ejecucin del bucle. Si se cumple, se ejecutar el bloque de instrucciones; en caso contrario pasar el control a la lnea siguiente al final de la estructura. - ExpresionIncremento: es una expresin que modificar el valor de la variable de control. Normalmente se trata de una simple suma pero puede ser cualquier expresin que permita en algn momento la salida del programa. Estructura while (mientras). La estructura while ejecuta un bloque de instrucciones y repite dicha ejecucin mientras que se cumpla una condicin. Pseudocdigo: Mientras (condicion) { Instrucciones } Lenguaje C: while(condicin) {

instrucciones
}

12 / 20

Ingeniera Electrnica y Ambiental

Informtica

Donde: - condicin es la condicin cuyo valor deber ser true para que se produzca la entrada en el bucle y que ser comprobado antes de cada nueva ejecucin del bloque de instrucciones. -

instrucciones es el bloque de instrucciones que se ejecutar.

Funcionamiento: 1.- Al encontrar la estructura while lo primero que hace (antes de entrar por primera vez en el bucle) es evaluar la condicin: si es verdadera entra en el bucle y ejecuta el bloque de instrucciones, pero si es falsa ni siquiera llegar a entrar en el bucle. 2.- Una vez ejecutadas las instrucciones del bucle se evala de nuevo la condicin para determinar si se vuelve a ejecutar el bloque o no (si es verdadera se ejecuta, si es falsa deja de ejecutarse). Este punto se repite hasta que la condicin deja de ser verdadera. 3.- Cuando al evaluar la condicin el resultado es false, el flujo del programa va a la lnea siguiente al final del bucle. Observaciones: Debemos asegurarnos de que en algn momento se produzca la salida del bucle ya que de lo contrario estaramos ante un bucle sin fin. Por ejemplo, si en lugar de la condicin while (Nota < 0 || Nota > 10) hubisemos escrito: while (Nota > 0 || Nota < 10) el bucle hubiese estado iterando constantemente y no finalizara nunca. Para que esta salida se produzca se deber modificar el valor de la expresin. En nuestro caso la modificacin se produce al leer un nuevo valor del teclado. Se puede forzar una salida del bucle en cualquier momento m ediante la clusula break. Tambin se puede forzar a realizar un nuevo ciclo an sin terminar todas las instrucciones del bucle mediante la clusula continue. Pero ninguna de estas dos ltimas opciones es recomendable ya que dificultan la legibilidad de los programas y, por tanto, su posterior mantenimiento. Estructura do..while. (hacer mientras) La estructura do..while es similar a la anterior pero en este caso la comprobacin se produce despus de ejecutar el bloque de instrucciones. Pseudocdigo: Hacer { instrucciones } mientras (condicin) Lenguaje C: Do {

instrucciones

} while(condicion)

13 / 20

Ingeniera Electrnica y Ambiental

Informtica

La nica diferencia entre la estructura while y la estructura do..while est en la primera vez que se ejecuta el bucle: - la estructura while comprueba la condicin antes de entrar por primera vez en el bucle y si la condicin no se cumple, no entrar. - la estructura do..while ejecuta el bucle la primera vez sin comprobar la condicin. Para las dems iteraciones el funcionamiento es idntico en ambas estructuras (nicamente se producen variaciones en el caso de utilizar la clusula continue).

Operadores Lgicos
Existen tres Operaciones Lgicas fundamentales: 1 - Conjuncin Lgica o Producto Lgico: El operador correspondiente se representa mediante los smbolos '^' (propio de la Lgica Proposicional) 'AND' y '.' En el Lenguaje de Programacin C se utiliza el smbolo '&&'. El efecto de este Operador es la evaluacin simultnea del Estado de Verdad de la variables lgicas involucradas. LLamamos Estado de Verdad, a uno cualquiera de los dos valores del conjunto L. En tal sentido a los Operadores Lgicos en general, se los denomina Conectores Lgicos, puesto que "conectan" predicados (o variables lgicas). As tendremos, por ejemplo que la expresin : A && B, ser Verdadera nicamente si A y B lo son. Cualquier otro arreglo de Estados de Verdad para ambas variables, dar como resultado el Valor Falso, puesto que basta con que una de la dos variables tenga valor Falso, para que ambas no sean simultneamente Verdaderas. Variables Lgicas P Q Verdadero Verdadero Verdadero Falso Falso Verdadero Falso Falso 2 - Disyuncin Lgica Inclusiva o Suma Lgica: El Operador correspondiente, se representa mediante los smbolos 'v' (propio de la Lgica Proposicional), 'OR' y '+' En el Lenguaje de Programacin C se utiliza el smbolo '||'. El efecto de este operador, es la evaluacin no simultnea del Estado de Verdad de las variables lgicas involucradas. Esto implica que al tener Estado Verdadero por lo menos una de las variables afectadas, la operacin dar un resultado verdadero . As tendremos que la expresin : A || B, ser Falsa nicamente cuando el Estado de ambas variables sea Falso. En cualquier otro caso, la operacin ser Verdadera. Variables Lgicas P Q Verdadero Verdadero Verdadero Falso Falso Verdadero Falso Falso 3 - Negacin o Complemento Lgico: Este Operador representado por un guin sobre la Variable a Complementar ejemplo y tambin la palabra NOT al aplicarse a un predicado lgico (simple o compuesto) , devuelve el valor opuesto; es decir : si el predicado en cuestin es Falso ( valor lgico F), el resultado Resultado P || Q Verdadero Falso Falso Falso Resultado P && Q Verdadero Falso Falso Falso

14 / 20

Ingeniera Electrnica y Ambiental

Informtica

ser Verdadero ( valor lgico T) y recprocamente. En el Lenguaje de Programacin C se utiliza el smbolo '!'. As se tendr que la expresin : A || B = ! ( A || B ), devolver como resultado T, nicamente cuando las variables A y B adopten simultneamente el estado F .

VARIABLES Y CONSTANTES
Un objeto es una Variable, cuando su valor puede modificarse y adems posee un Nombre que lo identifica y un Tipo que describe su uso. Un objeto es una Constante, cuando su valor no puede modificarse y adems posee un Nombre que lo identifica y un Tipo que describe su uso. Cuando definimos una Variable, estamos creando un objeto para el Procesador. La diferencia respecto de la definicin de una constante, es que en el momento de su creacin, el valor del objeto es desconocido, mientras que para una constante no solamente es conocido sino que permanece inalterado durante la ejecucin del procedimiento resolvente. Recurdese que la definicin de los objetos, siempre tiene lugar en el Ambiente. TIPOS DE DATOS El concepto formalmente definido de Dato, se da a continuacin :

Es la expresin general que describe los objetos con los cuales opera un procesador. Si

llevamos esta definicin al mbito de Programas Codificados en algn lenguaje, la palabra Procesador se sustituye por Computador. Por Tipo de Dato, entenderemos la Clase que agrupa Datos con idnticas capacidades de operacin. Existen diferencias entre los distintos lenguajes de programacin en cuanto a los Tipos de Datos que se utilizan, las operaciones permitidas entre ellos y el modo en que pueden organizarse (Estructuras mas complejas). En cambio, s podemos encontrar como matiz comn en todos los lenguajes, que los mismos proporcionan un conjunto fijo de Tipos de Datos, llamados Datos Primitivos o Bsicos. Cada Tipo de Dato Primitivo o Bsico, define como se mencion anteriormente, el conjunto de valores que puede asumir una variable, as definida, como potencial contenido. De aqu se desprende que el Tipo de Dato, fija el conjunto de Operaciones aplicables a todos los Datos de su Clase. Los Tipos de Datos Bsicos que manejan la mayora de los Procesadores son: Tipo NUMERICO Tipo LOGICO Tipo CARACTER Estos Tipos se aplican tanto a las Variables como a las Constantes, pero debe observarse que

una variable de un determinado Tipo, slo puede tomar como valor una constante del mismo Tipo.
A continuacin, se analizarn cada uno de los distintos Tipos Bsicos mencionados: Tipo Numrico : Bsicamente se distinguen dos Subtipos : Tipo Numrico Entero. Tipo Numrico Real.

15 / 20

Ingeniera Electrnica y Ambiental

Informtica

Los Datos Numricos Enteros, debern siempre estar comprendidos entre los valores mnimo y mximo que cada computador establezca. Los Datos Numricos Reales, tendrn en general dos formas de representacin : Apelando a un punto Decimal que separe la mantisa de la parte entera ,o bien segn la Notacin Cientfica, utilizable para expresar nmeros muy grandes o muy chicos. Esto entraa a dos maneras de considerar a las expresiones decimales de los nmeros Reales: Notacin Cientfica o Exponencial, y Coma o Punto Flotante, en la cual se fija la cantidad de dgitos significativos (sin considerar ceros a izquierda). En realidad, la notacin de punto flotante, es un tipo de notacin cientfica en un formato particular, denominado normalizado en base 2 (dos). No se har incapi aqu sobre estos mecanismos de representacin, ya que se supone que el lector est familiarizado con ellos. En cuanto a la representacin interna de nmeros reales dentro de un ordenador, dada su complejidad respecto de la representacin de nmeros enteros, se har alguna referencia ms adelente. Tipo Lgico : A este Tipo de Dato, se lo suele llamar tambin Tipo Booleano, en honor al matemtico ingls George Boole, quien cre un Algebra para el tratamiento de los mismos. Por tal razn muchas veces se presentar a tales variables bajo la denominacin de Variables Booleanas. La principal caracterstica que posee este Tipo, es que su valor no es cuantitativo, sino cualitativo. Adems mientras que una variable del tipo numrico puede asumir un gran conjunto de valores (idealmente infinitos) como contenido, una variable Booleana, es binaria y por consiguiente podr asumir dos valores solamente : Verdadero (True) o Falso (False). De este dominio impuesto para el Tipo en estudio, se explica su caracter cualitativo. Estas variables permiten describir Estados del Ambiente mediante un enunciado implcito en las mismas que puede resultar verdadero o falso, dependiendo del instante de la observacin. Las operaciones posibles de definir entre ellas as como tambin sus aplicaciones sern luego estudiadas detalladamente. Tipo Caracter : Involucran a un conjunto ordenado y finito de smbolos que el procesador puede reconocer . Si bien no existe un conjunto estandar, podemos decir que dicho conjunto est bsicamente integrado por: 1) Letras maysculas (desde la A hasta la Z), sin incluir la CH y la LL (eventualmente puede no ser incluida la ). 2) Letras minsculas (desde la a hasta la z), con las mismas restricciones que para las maysculas. 3) Dgitos (del 0 al 9). 4) Caracteres especiales. Estn incluidos aqu smbolos tales como: *,+,-,:,;,,,",/,<,>,=,|,\,~,@,#,$,.,%,^,&,(,),{,},[,],`,!,?,' y otros. El espacio en blanco, tambin puede ser considerado como un caracter. A continuacin mostramos una tabla con los tipos de datos bsicos y sus rangos de valores:

16 / 20

Ingeniera Electrnica y Ambiental

Informtica

Pseudocdigo a Lenguaje C
En este apunte se explica la sintaxis en C de las instrucciones ya aprendidas en pseudocdigo. Ejemplos de los ciclos de repeticin (de pseudocdigo pasados a C): Mientras: Leer(dato); Mientras (dato > 0) { total = total + dato; Leer(dato); } total = 0; scanf(%d , dato); while (dato > 0) { total = total + dato; scanf(%d, dato); } Para: Para (i = 0; i< 100; i+=2) { Imprimir(El numero, i, es par); } for (i=0; i < 100; i+=2) { printf (El numero %d es par, i); } Hacer Mientras: Hacer { Imprimir(Hola); cant = cant + 1; } Mientras (cant < 100)

17 / 20

Ingeniera Electrnica y Ambiental


do { } while (cant < 100); printf(Hola); cant = cant + 1;

Informtica

Tener en cuenta: - La indentacin sigue valiendo para los programas escritos en C. - C es sensible a maysculas y minsculas, por lo tanto, a != A. Todas las palabras claves vistas son con minsculas, while no es lo mismo que While. - En C, todas las instrucciones finalizan con ; (punto y coma). Notar que existen estructuras que no finalizan con ;. Un ejemplo, es la condicin de un while no finaliza con ; ya que no es la finalizacin de una instruccin. Todo programa escrito en C est en el contexto de una funcin principal, llamada main (principal en ingls). Entonces, todos los programas estarn en el contexto de esta funcin: Inicio { Leer(x); Leer(y); z = x + y; Imprimir(La suma es: , z); } void main() { int x, y, z; scanf(%d, &x); scanf(%d, &y); z = x + y; printf(La suma es: %d, z); }

Otro ejemplo, donde se anidan estructuras: dentro de una condicin hay un ciclo de repeticin: observar cmo se va indentando ms hacia la derecha en cada bloque de instrucciones.

Inicio { Imprimir(Escriba un nmero); Leer(dato); Si (dato > 0) { Para (i = 0; < dato; i++) { Imprimir(i); } } }

void main() { printf(Escriba un numero ); scanf(%d, &dato); if (dato > 0) { for (i=0; i < dato; i++) { printf(%d, i); } } }

18 / 20

Ingeniera Electrnica y Ambiental


VARIABLES Y CONSTANTES EN C Nombres de las variables

Informtica

Slo estn permitidas letras de la 'a' a la 'z' (la no vale), nmeros y el smbolo '_', puede contener nmeros, pero no en el primer carcter. Ejemplos de nombres vlidos: camiones numero buffer a1 j10hola29 num_alumnos Ejemplos de nombres no vlidos: 1abc nombre? num/alumnos Tampoco valen como nombres de variable las palabras reservadas que usa el compilador. Por ejemplo: for, main, do, while. C distingue entre maysculas y minsculas. Por lo tanto: Nombre nombre NOMBRE seran tres variables distintas. Dnde se declaran las variables? Tenemos dos posibilidades, una es declararla como global y otra como local. Es global aquella variable que se declara fuera de la funcin main y local la que se declara dentro: Variable Global Variable Local #include <stdio.h> int x; int main() { } #include <stdio.h> int main() { int x; }

Las variables globales se pueden usar en cualquier procedimiento y las locales slo pueden usarse en el procedimiento en el que se declaran. Es buena costumbre usar variables locales en vez de globales. Podemos declarar ms de una variable en una sola lnea: int x, y; En C++, las variables pueden ser declaradas en cualquier lugar dentro de un programa. No es necesario, como en C, que sean declaradas al comienzo de una funcin o de un bloque. Esto puede ser til en cdigos grandes, cuando una variable se utiliza en un trozo de cdigo lejano al comienzo del bloque. En este caso, el declarar el tipo de la variable cerca del lugar donde se va a utilizar puede hacer que el programa sea ms fcil de leer. Un ejemplo de esta posibilidad de C++ es la declaracin del contador dentro de un bucle. Por ejemplo: # include main () { for (int i=0; i < 10; i++) { cout << 'hola' << '\n'; } }

19 / 20

Ingeniera Electrnica y Ambiental

Informtica

El ndice i se ha definido dentro del bucle for. En algunos compiladores, su validez se extiende hasta el final del bloque donde han sido definidos Constantes. Las constantes se declaran, como en C, igual que una variable normal, pero aadiendo la palabra const delante. Por ejemplo, para declarar una constante con valor 14: const int numero = 14; Estas constantes no pueden ser modificadas a lo largo del programa. Por eso deben ser definidas al mismo tiempo que declaradas.

20 / 20

You might also like