You are on page 1of 26

Programacin I

Prof. Lesbia Valerio Lacayo


"Aprender a programar es lo mejor que uno puede hacer para sacar
el mximo provecho del increble futuro que est por venir"
Marc Andreessen
Bibliografa

Texto Bsico

Deitel / Deitel
Programacin En C / C++
Tercera Edicin. Mc Graw Hill, Mxico, 1997.

Textos Complementarios

1) Byron Gottriend
Programacin en C , Segunda Edicin. Schaum, Mxico, 1995.

2) Ceballos Francisco Javier


Programacin en C , Tercera Edicin. Mc Graw Hill, Mexico, 1997.

3) Herbert Schildt
Programacin en C, Tercera Edicin. Mc Graw Hill, Mxico 1990.

4) Ceballos Francisco Javier


Curso de programacin con C, Tercera Edicin. Macrobit, Espaa 1990
I- unidad: Lenguajes de programacin y Programas.

Contenido:
1. Los lenguajes de programacin
- Lenguaje de mquina
- Lenguaje de bajo nivel
- Lenguaje de alto nivel

2. Traductores de Lenguajes (compiladores)

3. Programa
-Concepto, partes de un programa, elementos bsicos

4. Historia de C
- Biblioteca de C
- Entorno de C
- Fundamento del entorno de C.
Lenguajes de Programacin

Los lenguajes de programacin son idiomas artificiales diseados para expresar clculos y
procesos que sern llevados a cabo por ordenadores. Un lenguaje de programacin est
formado por un conjunto de palabras reservadas, smbolos y reglas sintcticas y semnticas
que definen su estructura y el significado de sus elementos y expresiones. El proceso de
programacin consiste en la escritura, compilacin y verificacin del cdigo fuente de un
programa.

Antes de disear un programa es necesario entender completamente el problema que


queremos resolver y conocer las restricciones de operacin de la aplicacin.

La programacin es una tarea compleja y es muy importante abordar la solucin a un


problema especifico desde un punto de vista algortmico.
Lenguajes de Programacin

Para programar de forma eficaz es necesario aprender a resolver problemas de una


forma sistemtica y rigurosa. Solo se puede llegar a realizar un buen programa si
previamente se ha diseado un algoritmo.

Un algoritmo dar lugar a un programa que puede codificarse en cualquier lenguaje de


programacin.
Introduccin a la Programacin

"Los buenos programadores usan sus cerebros, pero unas buenas directrices nos
ahorran de tener que hacerlo en cada caso"
( Francis Glassborow)
Introduccin a la Programacin

Los Lenguajes utilizados para escribir programas de computadoras que pueden ser
entendidos por ellas se denominan Lenguajes de programacin.

Los Lenguajes de programacin se clasifican en tres grandes categoras:

Lenguaje de mquina

Lenguaje de bajo nivel

Lenguaje de alto nivel


Introduccin a la Programacin

1- Lenguaje de mquina:
Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no
necesitan traduccin posterior para que la UCP pueda comprender y ejecutar el programa.
Las instrucciones en lenguaje de mquina se expresa en trminos de la unidad de memoria
ms pequea.

2- Lenguaje de Bajo Nivel:

Los lenguajes de mquina son generalmente dependiente de la mquina es decir dependen


de un conjunto de instrucciones especificas de la computadora , un lenguaje tpico de bajo
nivel es el lenguaje ensamblador. En este lenguaje las instrucciones se escriben en cdigos
alfabticos conocidos como nemotcnicos (abreviatura de palabras ingles o espaol)
EJ: ADD (suma) MPY (multiplicar) STO (almacenar)
SUB (restar) DIV (dividir)
ADD X, Y STO Z
Introduccin a la Programacin

3- Lenguaje de Alto Nivel:

Los lenguajes de programacin de alto nivel (Ada, Basic, Cobol, Fortran, Modula-2, Pascal, etc)
son aquellos en que las instrucciones o sentencias en la computadora son escritas con palabras
similares a los lenguajes humano.

Ej: if (x = y) and (z= w) then write ( Esto es un prueba)

Los lenguajes de programacin son en general transportables, esto significa que un programa
escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificacin en
diferentes tipos de computadora.
Los programas escritos en lenguajes de alto nivel no son entendibles directamente por la mquina.
Necesitan ser traducidos a instrucciones en lenguaje de mquina que entiendan las computadoras.
Introduccin a la Programacin

Los programas que realizan esta traduccin se llaman compiladores y los programas escrito
en un lenguaje de alto nivel se llaman programas fuente.

El compilador traduce el programa fuente en un programa llamado programa objeto


Este programa objeto se utiliza en la fase de ejecucin del programa. El proceso de traduccin
de un programa se denomina compilacin y tras la fase de enlace se obtiene un programa
ejecutable directamente por la computadora.

Traductores de Lenguaje : Compiladores


Una vez que el algoritmo se ha convertido en un programa fuente, es preciso introducirlo en
memoria mediante el teclado y almacenarlo posteriormente en un disco. Esta operacin se
realiza con un programa editor, luego el programa fuente se convierte en un archivo de
programa que se guarda en disco.
Introduccin a la Programacin

El programa fuente debe ser traducido a lenguaje de 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 de compilacin en el programa fuente, es preciso
volver a editar el programa, corregir 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.

Verificacin y Depuracin de un programa:


La verificacin o compilacin de un programa es el proceso de ejecucin con una amplia
variedad de datos de entrada, llamados datos de test o prueba, que determinarn si el
programa tiene errores. Para realizar las verificacin se debe desarrollar una amplia gama de
datos de test: valores normales de entrada.
Introduccin a la Programacin

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:

Errores de compilacin: Se producen por uso incorrecto de las reglas


del lenguaje de programacin y suele ser errores de sintaxis.
Errores de Ejecucin: Estos errores se producen por instrucciones que la
computadora pude comprender pero no ejecutar . Ej.Divisin por cero, raz
cuadrada de nmeros negativos.
Errores lgicos: Se producen en la lgica del programa y la fuente del error
suele ser el diseo del algoritmo.

Estos errores son difciles de detectar ya que el programa puede funcionar y no producir errores
de compilacin ni de ejecucin, y solo puede advertir el error por la obtencin de resultados
incorrectos.
Introduccin a la Programacin

Documentacin y Mantenimiento:

La documentacin de un problema consta de la descripcin de los pasos a dar en el proceso


de resolucin de un problema. La importancia de la documentacin debe ser destacada por su
decisiva influencias en el producto final.
Programas pobremente documentados son difciles de leer, ms difciles de depurar y casi
imposible de mantener y modificar.
La documentacin de un programa puede ser interna y externa. La documentacin interna es
la contenida en lneas de comentarios.
La documentacin externa incluye anlisis, diagramas de flujo y pseudocdigos, manuales de
usuarios con instrucciones para ejecutar el programa y para interpretar los resultados.
Introduccin a la Programacin

Programa:
Grupo de instrucciones electrnicas, detalladas ordenadas que hacen que la computadora
obedezca y realice esa orden, indica a la computadora lo que debe hacer.

Partes de un programa
Cabecera del programa
Seccin de declaracin
Cuerpo del programa
Historia de C

Antes de empezar con la historia del lenguaje C se definir Que es el lenguaje C? El C es un


lenguaje de programacin de nivel medio ya que combina los elementos del lenguaje de alto
nivel con la funcionalidad del ensamblador.

En 1967 Martin Richard creo el lenguaje BCPL que fue la base para la creacion del lenguaje B
escrito por Ken Thompson en 1970 con la intencin de recodificar el UNIX, que en su fase de
arranque estaba codificado en lenguaje ensamblador.

El lenguaje C fue creado por Dennis Ritchie en los laboratorios Bell Telephone en 1972, el C fue
creado con un fin especfico: el diseo del sistema operativo UNIX. Este lenguaje solo es una
modificacin del lenguaje B. El lenguaje C se llama de esta forma debido a que su predecesor
fue llamado B.
Historia de C

La novedad que proporcion el lenguaje C sobre el B fu el diseo de tipos y estructuras de


datos. Los tipos estructurados bsicos de C son las estructuras, las unines, y los arreglos.
Estos permiten la definicin y declaracin de tipos de mayor complejidad.

Los tipos bsicos de datos en el lenguaje C eran "CHAR" (carcter), "INT" (enteros), "FLOAT"
(Reales en simple precisin), y "DOUBLE" (Reales en doble Precisin). Posteriormente se
aadieron los tipos "SHORT" (Enteros de longitud<=longitud de un int), "LONG" (Enteros de
longitud >= longitud de un entero), "UNSIGNED" (Enteros sin signo), y "ENUMERACIONES".

Como el C es un lenguaje muy poderoso y flexible su uso se difundi muy rpidamente mas all
de los laboratorios Bell.
Historia de C

Los programadores de todo el mundo comenzaron a usarlo para escribir todo tipo de

programas. Sin embargo, diferentes organizaciones comenzaron a utilizar muy pronto

sus propias versiones del C, las pequeas diferencias entre las implementaciones

comenzaron a dar problemas a los programadores. Para resolver este problema, el

American National Stndards (ANSI) formo un comit en 1983 para establecer una

definicin estndar del C, que llego a ser conocida como C estndar ANSI. Con unas

cuantas excepciones, todos los compiladores del C modernos de adhieren a este

estndar.
Historia de C

El lenguaje C inicialmente fue creado para la programacin de

-Sistemas operativos
-Intrpretes
-Editores
-Ensambladores
-Compiladores
-Administradores de bases de datos.

Actualmente, debido a sus caractersticas, puede ser utilizado para todo tipo de programas.
La Biblioteca Estndar de C

Los programas en C consisten de mdulos o piezas que se denominan funciones usted puede
programar todas las funciones que necesita para formar un programa en C, pero la mayor parte de
los programadores de C aprovechan una gran recopilacin de funciones existentes que se
conocen como la biblioteca estndar de C.
Entonces para aprender el Universo de C de hecho existen dos parte:

1. Aprender el lenguaje C mismo


2. Aprender como utilizar las funciones de la biblioteca estndar de C.

El usar funciones de la biblioteca estndar ANSI en vez de escribir sus propias


versiones comparables, puede mejorar el rendimiento de los programas, porque
estas funciones estn escritas de forma cuidadosa para que se ejecuten con eficacia.

El usar funciones de biblioteca estndar ANSI en vez de escribir sus propias


versiones comparables, puede mejorar la portabilidad del programa porque
estas funciones estn incluidas en casi todas las implantaciones de ANSI C.
Fundamentos del entorno de C

Todos los sistemas C consisten en general de 3 partes:


1. El entorno
2. El lenguaje
3. Biblioteca estndar de C.

Los programas en C casi siempre pasan a travs de 6 fases para su ejecucin, estas fases son:
Editar
Preprocesar
Compilar
Enlazar
Cargar
Ejecutar
Pasos para la elaboracin y Ejecucin de un programa

Edicin. El cdigo se escribe en un editor de texto o en un editor de cdigo preparado para


esta accin. El archivo se suele guardar con extensin .c cpp.

Preprocesador. Antes de compilar el cdigo, el preprocesador lee las instrucciones de


preprocesador y las convierte al cdigo fuente equivalente.

Compilacin. El cdigo fuente resultante en lenguaje C se compila mediante el software apropiado,


obteniendo un cdigo mquina llamado archivo objeto (cuya extensin suele ser .obj). Este cdigo
an no es ejecutable ya que necesita incluir el cdigo mquina relativo a las funciones y mdulos
que se utilizaban en nuestro cdigo. Estas funciones estn incluidas en archivos externos (libreras).

Enlazado. El cdigo objeto se une al cdigo compilado de las libreras y mdulos invocados por el
cdigo anterior. El resultado es un archivo ejecutable (extensin .exe en Windows)

Cargado. Normalmente lo realiza el propio entorno de ejecucin. El archivo ejecutable se lanza en


el Sistemas Operativo.

Ejecucin de las instrucciones por la CPU. Es entonces cuando el procesador accede al cdigo mquina
del programa ya convertido y ejecuta las acciones. Ser entonces cuando veamos los resultados.

Estas dos ltimas fases cubren lo que se conoce como ejecucin del programa
Fases para la elaboracin y Ejecucin de un programa

C
Programar es un desafo. La programacin requiere el uso de habilidades de pensamiento
abstracto, entrenamiento, dedicacin, mucho tiempo y enfrentarse con problemas una y otra
vez, y si le sumamos a esto poco inters estamos perdidos.

Es cierto que igual que en todas las ciencias e ingenieras tiene un aspecto recursivo y es
que lo ms sencillo se enlaza con aspectos muy complicados y es difcil introducir a alguien
en este mundo sin que queden preguntas sin resolver y huecos que en el futuro se
rellenarn.
"Una de las habilidades ms importantes que puede tener un emprendedor es aprender a
programar una computadora. Es una habilidad crtica para empezar cualquier emprendimiento
tecnolgico, pero un conocimiento bsico de programacin es til incluso en campos ms
tradicionales, porque el software est cambiando todo

(Reid Hoffman)

You might also like