Vous êtes sur la page 1sur 10

Instituto Tecnolgico Superior de Misantla

Ingeniera en Sistemas Computacionales


Inteligencia Artificial
Bsqueda informada y exploracin

Alumna: Gnesis Hernndez Mndez


Docente: MIA. Jos Rubn Snchez Lpez

Misantla, Ver., a 19 de Febrero del 2014.

Introduccin
C es el lenguaje de programacin de propsito general asociado, de modo universal,
al sistema operativo UNIX (la base de los sistemas operativos actuales). La
popularidad, eficacia y potencia de C, ha producido que este lenguaje no est
prcticamente asociado a ningn sistema operativo, ni a ninguna mquina, en
especial. sta es la razn, por la cual C, es conocido como el lenguaje fundamental de
programacin de sistemas.
C es un lenguaje de alto nivel, que permite programar con instrucciones de lenguaje
de propsito general. Tambin, C se define como un lenguaje de programacin
estructurado de propsito general; aunque en su diseo tambin prim el hecho de
que fuera especificado como un lenguaje de programacin de Sistemas, lo que
proporciona una enorme cantidad de potencia y flexibilidad.
En este tiempo C ha sido un poco aventajado por otros lenguajes de programacin,
pero no significa que no ha dejado de ser importante en esta rea ya que actualmente
los lenguajes se han basado en algunas caractersticas del lenguaje C y las han
mejorado, permitiendo una programacin ms eficaz para muchos usuarios. Por ello
es necesario e importante conocer las bases de este lenguaje.

Conceptos Bsicos de Programacin


Concepto de algoritmo
Un algoritmo es un mtodo para resolver un problema. Aunque la popularizacin del
trmino ha llegado con el advenimiento de la era informtica, algoritmo proviene de
Mohammed al-KhoWirizmi, matemtico persa que vivi durante el siglo I X y
alcanz gran reputacin por el enunciado de las reglas paso a paso para sumar, restar,
multiplicar y dividir nmeros decimales; la traduccin al latn del apellido en la
palabra algorismus deriv posteriormente en algoritmo. Se considera con AlKhowirizmi el otro gran padre de la algoritmia (ciencia que trata de los algoritmos).
La resolucin de un problema exige el diseo de un algoritmo que resuelva el
problema propuesto.
o En la Figura 1 se muestra un diagrama de la resolucin de un
problema.

Figura 1. Diagrama de resolucin de un problema.

Los pasos para la resolucin de un problema son:


1. Diseo del algoritmo que describe la secuencia ordenada de pasos -sin
ambigedades- que conducen a la solucin de un problema dado. (Anlisis del
problema y desarrollo del algoritmo.)
2. Expresar el algoritmo como un programa en un lenguaje de programacin
adecuado. (Fase de codificacin.)
3. Ejecucin y validacin del programa por la computadora.
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
a) Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.
b) Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe
obtener el mismo
c) Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en
algn momento; o sea, debe tener un nmero finito de pasos.
La definicin de un algoritmo debe describir tres partes: Entrada, Proceso y Salida
3

Conceptos de codificacin, compilacin, ejecucin, verificacin y depuracin


Cuando se tiene la solucin del problema por medio algoritmo se debe de codificara
un lenguaje mquina.
Codificacin es la escritura en un lenguaje de programacin de la representacin del
algoritmo desarrollada en las etapas precedentes. Dado que el diseo de un algoritmo
es independiente del lenguaje de programacin utilizado para su implementacin, el
cdigo puede ser escrito con igual facilidad en un lenguaje o en otro.
El programa fuente debe ser traducido a lenguaje mquina, este proceso se realiza con
el compilador y el sistema operativo que se encarga prcticamente de la compilacin.
Si tras la compilacin se presentan errores (errores de compilacin) en el programa
fuente, es preciso volver a editar el programa, corregir los errores y compilar de
nuevo. Este proceso se repite hasta que no se producen errores, obtenindose el
programa objeto que todava no es ejecutable directamente. Suponiendo que no
existen errores en el programa fuente, se debe instruir al sistema operativo para que
realice la fase de montaje o enlace (link), carga, del programa objeto con las libreras
del programa del compilador. El proceso de montaje produce un programa ejecutable.
Cuando el programa ejecutable se ha creado, se puede ya ejecutar (correr o rodar)
desde el sistema operativo con slo teclear su nombre. Suponiendo que no existen
errores durante la ejecucin (llamados errores en tiempo de ejecucin), se obtendr la
salida de resultados del programa.
La verificacin o compilacin de un programa es el proceso de ejecucin del
programa con una amplia variedad de datos de entrada, llamados datos de test o
prueba, que determinarn si el programa tiene errores in bugs). Para realizar la
verificacin se debe desarrollar una amplia gama de datos de test: valores normales de
entrada, valores extremos de entrada que comprueben los lmites del programa y
valores de entrada que comprueben aspectos especiales del programa.
La depuracin es el proceso de encontrar los errores del programa y corregir o
eliminar dichos errores.
Cuando se ejecuta un programa, se pueden producir tres tipos de errores:
1. Errores de compilacin. Se producen normalmente por un uso incorrecto de las
reglas del lenguaje de programacin y suelen ser errores de sintaxis. Si existe un error
4

de sintaxis, la computadora no puede comprender la instruccin, no se obtendr el


programa objeto y el compilador imprimir una lista de todos los errores encontrados
durante la compilacin.
2.

Errores de ejecucin. Estos errores se producen

por instrucciones que la

computadora puede comprender pero no ejecutar. Ejemplos tpicos son: divisin por
cero y races cuadradas de nmeros negativos. En estos casos se detiene la ejecucin
del programa y se imprime un mensaje de error.
3. Errores lgicos. Se producen en la lgica del programa y la fuente del error suele
ser el diseo del algoritmo. Estos errores son los ms difciles de detectar, ya que el
programa puede funcionar y no producir errores de compilacin ni de ejecucin, y
slo puede advertir el error por la obtencin de resultados incorrectos. En este caso se
debe volver a la fase de diseo del algoritmo, modificar el algoritmo, cambiar el
programa fuente y compilar y ejecutar una vez ms.
Conjunto de caracteres de lenguaje C
Para formar los elementos bsicos del programa (constantes, variables, operadores,
expresiones, etc.), C utiliza como bloques de construccin las letras maysculas de la
A a la Z, las minsculas de la a a la z, los dgitos del O al 9 y ciertos caracteres
especiales.
o En la Figura 2 se muestra una lista de caracteres especiales de C.

Figura 2. Caracteres especiales del lenguaje de Programacin de C.

C utiliza ciertas combinaciones de estos caracteres, como \b, \n y \ t, para representar


elementos especiales como el retroceso de un espacio, nueva lnea y un tabulador,
respectivamente. Estas combinaciones de caracteres se conocen como secuencias de
escape. Cada secuencia de escape representa un solo carcter, aun cuando se escriba
con dos o ms caracteres.
Identificadores y palabras reservadas
Los identificadores son nombres que se les da a varios elementos de un programa,
como variables, funciones y formaciones. Un identificador est formado por letras y
5

dgitos, en cualquier orden, excepto el primer carcter, que debe ser una letra. Se
pueden utilizar maysculas y minsculas, aunque es costumbre utilizar minsculas
para la mayora de los identificadores. No se pueden intercambiar maysculas y
minsculas (esto es, una letra mayscula no es equivalente a la correspondiente
minscula.) El carcter de subrayado se puede incluir tambin, y es considerado como
una letra. Se suele utilizar este carcter en medio de los identificadores. Un
identificador tambin puede comenzar con un carcter de subrayado, aunque en la
prctica no se suele hacer.
Hay ciertas palabras reservadas que tienen en un significado predefinido estndar. Las
palabras reservadas slo se pueden utilizar para su propsito ya establecido; no se
pueden utilizar como identificadores definidos por el programador.
o En la Figura 3 se muestra una lista de palabras reservadas de C.

Figura 3. Palabras reservadas del lenguaje de Programacin de C.

Tipos de Datos
C ofrece distintos tipos de datos, cada uno de los cuales se puede encontrar
representado de forma diferente en la memoria de la computadora.
o En la Tabla 1 se muestran los tipos de datos bsicos en C.

Tabla 1. Tipos de Datos del lenguaje de Programacin de C.

char, int, float y double son palabras reservadas, o ms especficamente,


especificadores de tipos. Cada tipo de dato tiene su propia lista de atributos que
definen las caractersticas del tipo y pueden variar de una mquina a otra. Los tipos
char, int y double tienen variaciones o modificadores de tipos de datos, tales como
short, long, signed y unsigned, para permitir un uso ms eficiente de los tipos de
datos.
Constantes
C tiene cuatro tipos bsicos de constantes: constantes enteras, constantes en coma
flotante, constantes de carcter y constantes de cadena de caracteres. Es ms, hay
distintas clases de constantes enteras y en coma flotante. Las constantes enteras y en
coma flotante representan nmeros, son denominadas constantes de tipo numrico.
Las siguientes reglas se pueden aplicar a todas las constantes numricas.
1. No se pueden incluir comas ni espacios en blanco en la constante.
2. Si se desea, la constante puede ir precedida de un signo menos (-).
(Realmente, el signo menos es un operador que cambia el signo de una
constante positiva, aunque se puede ver como parte de la constante
misma.)
3. El valor de una constante no puede exceder un lmite mximo y un mnimo
especificados. Para cada tipo de constante, estos lmites varan de un
compilador de C a otro.
Las constantes de carcter tienen valores enteros determinados por el conjunto de
caracteres particular de la computadora. Por tanto, el valor de una constante de
carcter puede variar de una computadora a otra. Sin embargo, las constantes en s son
independientes del conjunto de caracteres.
Variables y Arrays
Una variable es un identificador que se utiliza para representar un dato individual; es
decir, una cantidad numrica o una constante de carcter. En alguna parte del
programa se asigna el dato a la variable. Este valor se puede recuperar despus en el
programa con simplemente hacer referencia al nombre de la variable.
7

A una variable se le pueden asignar diferentes valores en distintas partes del


programa. De esta forma la informacin representada .puede cambiar durante la
ejecucin del programa. Sin embargo, el tipo de datos asociado a la variable no puede
cambiar.
El array es otra clase de variable que se utiliza con frecuencia en C. Un array es un
identificador que referencia una coleccin de datos con el mismo nombre. Los datos
deben ser del mismo tipo (por ejemplo, todos enteros, todos caracteres, etc.). Cada
uno de estos datos es representado por su elemento del array correspondiente (por
ejemplo, el primer dato es representado por el primer elemento del array, etc.). Los
elementos individuales del array se distinguen unos de otros por el valor que se le
asigna al ndice.
o En la Figura 4 se muestra un ejemplo de Array

Figura 4. Ejemplo de un arreglo de caracteres en C.

Declaraciones
Una declaracin asocia un tipo de datos especificado a un grupo de variables. Se
deben declarar todas las variables antes de que aparezcan en las instrucciones
ejecutables. Una declaracin consta de un tipo de datos, seguido de uno o ms
nombres de variables, finalizando con un punto y coma. Cada variable array debe ir
seguida de un par de corchetes, con un entero positivo dentro de stos que especifica
el tamao (el nmero de elementos) del array.

Conclusiones
El lenguaje de programacin ha sido por algunos aos el lenguaje predominante en su
tipo y con el paso del tiempo ha sido modificado, y teniendo diferentes versiones
podemos mencionar como C++, o C#, el ltimo basado con pequeas caractersticas
en Java. Pero este lenguaje ha sido muy completo, y no ha quedado exclusivo para
una computadora sino se volvi la base para otros lenguajes y para otros sistemas
operativos, se puede decir que esa es la principal razn de conocer ms sobre este
lenguaje, aunque slo sea lo bsico como, el algoritmo que es una serie de pasos
lgicos para la resolucin de problemas de una manera eficaz, as como saber los
tipos de datos, las estructuras que soporta para crear programas dentro de este
lenguaje.

Bibliografa
Zahonero M., Ignacio, J. A., L. Programacin en C, Metodologa, algoritmos y
Estructura de datos. Primera Edicin. Editorial Mc Graw Hill. Ao 2000. 541 pginas.
Gottfried, Byron S. Programacin en C. Segunda Edicin. Editorial Mc Graw Hill/
Interamericana de Espaa. Ao 2005. 660 pginas.

10

Vous aimerez peut-être aussi