SlideShare uma empresa Scribd logo
1 de 9
Karina Alejandra Ojeda Robles 4to A Informatica
3.- Poner a punto el programa mediante el uso de un editor de lenguaje de
programación estructurado.
El lenguaje C se conoce como un lenguaje compilado. Existen dos tipos de lenguaje:
interpretados y compilados. Los interpretados son aquellos que necesitan del código
fuente para funcionar (Basic). Los compilados convierten el código fuente en un fichero
objeto y éste en un fichero ejecutable. Este es el caso del lenguaje C. Podemos decir
que el lenguaje C es un lenguaje de nivel medio, pero muy versátil y eficiente, que
revolucionó las técnicas y estilo de programación, ya que combina elementos de
lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Se caracteriza por
ser un lenguaje estructurado. el programa se divide en módulos (funciones)
independientes entre sí, que permite crear procedimientos en bloques dentro de otros
procedimientos. Sigue el paradigma de la programación estructurada: Algoritmos +
estructuras de datos = programas El lenguaje C inicialmente fue creado para la
programación de: Sistemas operativos Intérpretes Editores Ensambladores
Compiladores Administradores de bases de datos. Actualmente, debido a sus
características, puede ser utilizado para todo tipo de programas. Hay que destacar
principalmente que el C es un lenguaje portable, que puede utilizar el mismo código en
diferentes equipos y sistemas informáticos: el lenguaje es independiente de la
arquitectura de cualquier maquina en particular y del sistema operativo que se utiliza
para desarrollar aplicaciones portables. C es un lenguaje de programación de propósito
general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un
buen conjunto de operadores. Por ser un lenguaje de nivel intermedio es sencillo y no
está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con
un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco
tiempo, un programador puede utilizar la totalidad del lenguaje. El lenguaje de
programación de sistemas debido a su utilidad para escribir compiladores y sistemas
operativos, aunque de igual forma se pueden desarrollar cualquier tipo de aplicación. C
trabaja con tipos de datos que son directamente tratables por el hardware de la
mayoría de computadoras actuales, como son los caracteres, números y direcciones.
Estos tipos de datos pueden ser manipulados por las operaciones aritméticas que
proporcionan las computadoras. No proporciona mecanismos para tratar tipos de
Karina Alejandra Ojeda Robles 4to A Informatica
datos que no sean los básicos, debiendo ser el programador el que los desarrolle. Esto
permite que el código generado sea muy eficiente y de ahí el éxito que ha tenido como
lenguaje de desarrollo de sistemas. Ello permite que el lenguaje sea reducido y los
compiladores de fácil implementación en distintos sistemas. Por el contrario, estas
carencias se compensan mediante la inclusión de funciones de librería para realizar
todas estas tareas, que normalmente dependen del sistema operativo. Las
instrucciones de control de flujo de C son las habituales de la programación
estructurada: IF, FOR, WHILE, SWITCH - CASE, todas incluidas en su predecesor BCPL. C
incluye también punteros y funciones. Los argumentos de las funciones se pasan por
valor, esto es copiando su valor, lo cual hace que no se modifiquen los valores de los
argumentos en la llamada. Cuando se desea modificar los argumentos en la llamada,
éstos se pasan por referencia, es decir, se pasan las direcciones de los argumentos. Por
otra parte, cualquier función puede ser llamada recursivamente. Una de las
peculiaridades de C es su riqueza de operadores. Puede decirse que prácticamente
dispone de un operador para cada una de las posibles operaciones en código máquina.
Hay toda una serie de operaciones que pueden hacerse con el lenguaje C, que
realmente no están incluidas en el compilador propiamente dicho, sino que las realiza
un preprocesador justo antes de cada compilación. Las dos más importantes son
#define (directriz de sustitución simbólica o de definición) e #include (Directriz de
inclusión en el fichero fuente). Finalmente, C, que ha sido pensado para ser altamente
transportable y para programar lo improgramable, igual que otros lenguajes tiene sus
inconvenientes: Carece de instrucciones de entrada/salida, de instrucciones para
manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de
rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad en la
escritura de los programas puede llevar a errores en la programación que, por ser
correctos sintácticamente no se detectan a simple vista. Por otra parte las
precedencias de los operadores convierten a veces las expresiones en pequeños
rompecabezas. A pesar de todo, C ha demostrado ser un lenguaje extremadamente
eficaz y expresivo. Algunos de las C existentes son: Quick C C++ Turbo C Turbo C ++
Borland C Borland C++ Microsoft C
Karina Alejandra Ojeda Robles 4to A Informatica
3.1. Captura y edición del programa
La programación estructurada consiste en dotar al programa de un cierto orden,
dividiéndolo en bloques independientes unos de otros, que se encargan de cada una de
las tareas necesarias. Esto hace un programa más fácil de leer y modificar.
La programación orientada a objetos se tratará más adelante, cuando ya se tenga una
buena base de programación "convencional". Como simple comentario, para que
vayan sonando las cosas a conocidas, diré que "Objects Pascal" es el nombre que se
suele dar a un lenguaje Pascal que permita programación orientada a objetos (como es
el caso de Turbo Pascal), y que "C++" es una ampliación del lenguaje C, que también
soporta P.O.O.
En lo que sigue vamos a ver los fundamentos de la programación en Pascal, primero
intentando ceñirnos al Pascal estándar, y luego ampliando con las mejoras que incluye
Turbo Pascal, la versión más difundida.
Los primeros programas, los más sencillos, se podrán compilar con cualquier versión
del lenguaje Pascal (o casi), aunque la mayoría de los más avanzados (los que incluyan
manejo de gráficos, por ejemplo) estarán creados pensando en el que posiblemente
sea en estos momentos el compilador de Pascal más usado: Free Pascal, o bien en el
clásico Turbo Pascal 7.0 para Dos.
Lo primero que llama la atención es que casi todas las palabras están escritas en inglés.
Esto será lo habitual: la gran mayoría de las palabras clave de Pascal (palabras con un
significado especial dentro del lenguaje) son palabras en inglés o abreviaturas de éstas.
En el lenguaje Pascal no existe distinción entre mayúsculas y minúsculas, por lo que
"BEGIN" haría el mismo efecto que "begin" o "Begin". Así, lo mejor será adoptar el
convenio que a cada uno le resulte más legible: algunos autores emplean las órdenes
en mayúsculas y el resto en minúsculas, otros todo en minúsculas, otros todo en
minúsculas salvo las iniciales de cada palabra... Yo emplearé normalmente minúsculas,
y a veces mayúsculas y minúsculas combinadas cuando esto haga más legible algún
Karina Alejandra Ojeda Robles 4to A Informatica
comando "más enrevesado de lo habitual" (por ejemplo, si están formados por dos o
más palabras inglesas como OutText o SetFillStyle.)
Otra cosa que puede extrañar es eso de que algunas líneas terminen con un punto y
coma. Pues bien, cada sentencia (u orden) de Pascal debe terminar con un punto y
coma (;), salvo el último "end", que lo hará con un punto.
También hay otras tres excepciones: no es necesario un punto y coma después de un
"begin", ni antes de una palabra "end" o de un "until" (se verá la función de esta
palabra clave más adelante), aunque no es mala técnica terminar siempre cada
sentencia con un punto y coma, al menos hasta que se tenga bastante soltura.
Cuando definamos variables, tipos, constantes, etc., veremos que tampoco va punto y
coma después de las cabeceras de las declaraciones.
Comienza con la palabra program. Esta palabra no es necesaria en muchos
compiladores, como Turbo Pascal o Surpas, pero sí lo era incialmente en Pascal
estándar, y el formato era
program NombrePrograma (input, output);
Entre paréntesis se escribía "input, output" para indicar que el programa iba a manejar
los dispositivos de entrada y salida. Por ejemplo, como este programa escribe en la
pantalla, si alguien usa una de las primeras versiones del Pascal de GNU, o algún otro
compilador que siga estrictamente el Pascal estándar, deberá poner:
program Saludo(output);
Karina Alejandra Ojeda Robles 4to A Informatica
Aunque para nosotros no sea necesario, su empleo puede resultar cómodo si se quiere
poder recordar el objetivo del programa con sólo un vistazo rápido a su cabecera.
En algunos compiladores, puede que "nos regañe" si la palabra que sigue a "program"
es distinta del nombre que tiene el fichero (es el caso de las primeras versiones de Tmt
Pascal Lite), pero normalmente el programa funcionará a pesar de ello.
En nuestro caso, a nuestro programa lo hemos llamado "Saludo". La palabra "Saludo"
es un identificador. Los "identificadores" son palabras que usaremos para referirnos a
una variable, una constante, el nombre de una función o de un procedimiento, etc. Ya
iremos viendo todos estos conceptos, pero sí vamos a anticipar un poco uno de ellos:
una variable equivale a la clásica incógnita "x" que todos hemos usado en matemáticas
(eso espero), que puede tomar cualquier valor. Ahora nuestras "incógnitas" podrán
tener cualquier valor (no sólo un número: también podremos guardar textos, fichas
sobre personas o libros, etc) y podrán tener nombres más largos (y que expliquen
mejor su contenido, no hará falta limitarnos a una única letra, como en el caso de "x").
Estos nombres de "identificadores" serán combinaciones de letras (sin acentos) y
números, junto con algunos (pocos) símbolos especiales, como el de subrayado (_). No
podrán empezar con un número, sino por un carácter alfabético (A a Z, sin Ñ ni
acentos) o un subrayado, y no podrán contener espacios.
Las palabras "begin" y "end" marcan el principio y el final del programa, que esta vez
sólo se compone de una línea. Nótese que, como se dijo, el último "end" debe terminar
con un punto.
"Write" es la orden que permite escribir un texto en pantalla. El conjunto de todo lo
que se desee escribir se indica entre paréntesis. Cuando se trata de un texto que
queremos que aparezca "tal cual", éste se encierra entre comillas.
Karina Alejandra Ojeda Robles 4to A Informatica
El punto y coma que sigue a la orden "write" no es necesario (va justo antes de un
"end"), pero tampoco es un error, y puede ser cómodo, porque si después añadimos
otra orden entre "write" y "end", sería dicha orden la que no necesitaría el punto y
coma (estaría justo antes de "end"), pero sí que pasaría a requerirlo el "write".
La orden "write" aparece algo más a la derecha que el resto. Esto se llama escritura
indentada, y consiste en escribir a la misma altura todos los comandos que se
encuentran a un mismo nivel, algo más a la derecha los que están en un nivel inferior, y
así sucesivamente, buscando mayor legibilidad.
Los detalles concretos sobre cómo probar este programa dependerán del compilador
que se esté utilizando. Unos tendrán un Entorno Integrado, desde el que escribir los
programas y probarlos (como Free Pascal, Turbo Pascal y Surpas), mientras que en
otros hará falta un editor para teclear los programas y el compilador para probarlos
(como Tmt Lite) y otros no incluyen editor en la distribución normal, pero es fácil
conseguir uno adaptado para ellos (es el caso de FPK y de Gnu Pascal).
Las variables son algo que no contiene un valor predeterminado, una posición de
memoria a la que nosotros asignamos un nombre y en la que podremos almacenar
datos. En el primer ejemplo que vimos, puede que no nos interese escribir siempre el
mensaje "Hola", sino uno más personalizado según quien ejecute el programa.
Podríamos preguntar su nombre al usuario, guardarlo en una variable y después
escribirlo a continuación de la palabra "Hola", con lo que el programa quedaría
3.2. Compilar el programa Depurar el programa Ejecutar el programa
Windows
Para compilar un programa C en entornos Windows, debemos seguir una serie de
pasos que varían según el compilador de C que queramos utilizar. Antes que nada, sería
bueno que se revises la documentación del compilador elegido para conocer los
comandos exactos.
Karina Alejandra Ojeda Robles 4to A Informatica
Compilación del código fuente
Si se utiliza un entorno de desarrollo, será posible compilar directamente desde el
entorno, mediante un botón o una combinación de teclas.
Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según el
compilador utilizado. A continuación algunos ejemplos de ciertos comandos según el
compilador:
En Turbo C de Borland es: tcc hola.c
En C++ de Borland: bcc hola.c
En Visual C de Microsoft: cl hola.c
En GNU gcc: gcc hola.c o cc hola.c
El C de Zortech: ztc hola.c
Una vez compilado el código fuente se genera un archivo llamado archivo objeto o
programa objeto que es luego enlazado mediante el enlazador, para generar el archivo
ejecutable.
Los compiladores actuales suelen hacer dos funciones de una vez, compilando y
enlazando todo en una sola función, aunque es posible pedirles que no lo hagan
mediante parámetros adicionales.
Según el compilador y la configuración utilizada, se obtendrán dos o tres archivos:
El archivo fuente
Este último es el que nos interesa, puesto a que es el código ejecutable, el programa en
sí. Al ejecutarlo se producirá la salida deseada en una ventana de consola.
Salida por pantalla [editar]
Si ejecutamos en entorno Windows el programa directamente desde el navegador de
archivos, o también desde algunos entornos de desarrollo, lo que sucederá será que
apenas abierta la ventana de la consola, se mostrará la cadena esperada y luego de
terminada la función, la consola se cerrará sin tener el tiempo suficiente de ver nuestro
mensaje en pantalla.
Karina Alejandra Ojeda Robles 4to A Informatica
Para poder ver la salida por pantalla será necesario ejecutar el programa desde la línea
de comandos, o modificar la configuración del entorno de desarrollo para que muestre
la salida por pantalla al ejecutar el programa.
Una posible solución es agregar una función adicional a nuestro "hola.c"
Las dos líneas agregadas permiten que utilicemos la biblioteca stdlib, que incluye la
función system y que mediante esta función se ejecute el comando pause del sistema,
que evita que el programa siga hasta que se presione una tecla.
Así es posible visualizar que la salida de hola.c se completó perfectamente.
Linux [editar]
Si bien existen otros compiladores, lo más usual y más sencillo para compilar un
programa en GNU/Linux es el compilador gcc, ya que es el que se incluye en todas las
distribuciones.
De cualquier forma, es posible realizar la compilación desde línea de comandos o desde
el entorno gráfico.
Para realizarla desde línea de comandos, será necesario contar con una terminal
(xterm, konsole, gnome-terminal, etc). No es necesario contar con permisos de root
para crear o compilar programas. En esa terminal será necesario escribir
Si no existen errores en el código, este comando nos creará un archivo ejecutable, que
por omisión se llama "a.out", y que podemos ejecutar
Es una buena idea especificar el nombre que el archivo ejecutable tendrá, pasando
como parámetro al compilador la opción
Con lo cual, el nombre del archivo creado será hola. Este archivo no tiene extensión ya
que es la forma usual de llamar a los archivos ejecutables en los entornos UNIX y
GNU/Linux, Existen otros parámetros que podemos especificar al compilador en la línea
de comandos, dependiendo del tipo de programa, y en función de la complejidad del
mismo; La opción -Wall nos mostrará todos los avisos que produzca el compilador, no
solamente los errores. Los avisos nos indican dónde y/o porqué podría surgir algún
error en nuestro programa.
La opción -pedantic nos aporta más información sobre los errores y los avisos
mostrados por GCC
Karina Alejandra Ojeda Robles 4to A Informatica

Mais conteúdo relacionado

Mais procurados

Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidadIzabeliita
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionSergio Maidana
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Manual de python
Manual de pythonManual de python
Manual de pythonULEAM
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...Wilson Bautista
 
Tutorial de Python - Pyar
Tutorial de Python - PyarTutorial de Python - Pyar
Tutorial de Python - PyarSergio Vallejo
 

Mais procurados (10)

Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
 
Tutorial de Python
Tutorial de PythonTutorial de Python
Tutorial de Python
 
Jag
JagJag
Jag
 
Tarea3
Tarea3 Tarea3
Tarea3
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacion
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Manual de python
Manual de pythonManual de python
Manual de python
 
Int a la computacion
Int a la computacionInt a la computacion
Int a la computacion
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...
 
Tutorial de Python - Pyar
Tutorial de Python - PyarTutorial de Python - Pyar
Tutorial de Python - Pyar
 

Destaque (10)

Practica 27
Practica 27Practica 27
Practica 27
 
Practica 25
Practica 25Practica 25
Practica 25
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Sopa de letras
Sopa de letrasSopa de letras
Sopa de letras
 
Practica 29
Practica 29Practica 29
Practica 29
 
Practica 26
Practica 26Practica 26
Practica 26
 
Presentación Multimedia - Django
Presentación Multimedia - DjangoPresentación Multimedia - Django
Presentación Multimedia - Django
 
Unidad2
Unidad2Unidad2
Unidad2
 
Practica 30
Practica 30Practica 30
Practica 30
 

Semelhante a Lenguaje C

Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores947369
 
Herramientas de software libre
Herramientas de software libreHerramientas de software libre
Herramientas de software librejorge987456
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion juanjokobrax
 
Lógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalLógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalFernando Galvez
 
Poner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionPoner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionlupitagarcia07
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelEstefhany1
 
Unidad 3
Unidad 3Unidad 3
Unidad 3luz0987
 
Trabajo de software
Trabajo de softwareTrabajo de software
Trabajo de softwarefabio crtez
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores947369
 

Semelhante a Lenguaje C (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Jag
JagJag
Jag
 
Herramientas de software libre
Herramientas de software libreHerramientas de software libre
Herramientas de software libre
 
EXPO PERL UTT
EXPO PERL UTTEXPO PERL UTT
EXPO PERL UTT
 
Lenguajes de programacion
Lenguajes de programacion Lenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de PascalLógica De La Programación Y Lenguaje de Pascal
Lógica De La Programación Y Lenguaje de Pascal
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Poner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacionPoner a punto mediante el uso de un editor de lenguaje de programacion
Poner a punto mediante el uso de un editor de lenguaje de programacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivelCompiladores, interpretadores y lenguajes de bajo, medio y alto nivel
Compiladores, interpretadores y lenguajes de bajo, medio y alto nivel
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Trabajo de software
Trabajo de softwareTrabajo de software
Trabajo de software
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Trabajo De Software
Trabajo De SoftwareTrabajo De Software
Trabajo De Software
 

Mais de karinarobles21 (20)

Practica 28
Practica 28Practica 28
Practica 28
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Practica 14
Practica 14Practica 14
Practica 14
 
Practica 15
Practica 15Practica 15
Practica 15
 
Practica 16
Practica 16Practica 16
Practica 16
 
Practica 17
Practica 17Practica 17
Practica 17
 
Practica 18
Practica 18Practica 18
Practica 18
 
Practica 19
Practica 19Practica 19
Practica 19
 
Practica 20
Practica 20Practica 20
Practica 20
 
Practica 21
Practica 21Practica 21
Practica 21
 
Practica 22
Practica 22Practica 22
Practica 22
 
Practica 23
Practica 23Practica 23
Practica 23
 
Practica 24
Practica 24Practica 24
Practica 24
 
Voculario
VocularioVoculario
Voculario
 
Cuestionario p5
Cuestionario p5Cuestionario p5
Cuestionario p5
 
Practica 5
Practica 5Practica 5
Practica 5
 
Practica 4 (2) kaor
Practica 4 (2) kaorPractica 4 (2) kaor
Practica 4 (2) kaor
 
Practicas 3 crear símbolo kaor
Practicas 3 crear símbolo kaorPracticas 3 crear símbolo kaor
Practicas 3 crear símbolo kaor
 
Practica no. 2 flash8 (2)
Practica no. 2 flash8 (2)Practica no. 2 flash8 (2)
Practica no. 2 flash8 (2)
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 

Lenguaje C

  • 1. Karina Alejandra Ojeda Robles 4to A Informatica 3.- Poner a punto el programa mediante el uso de un editor de lenguaje de programación estructurado. El lenguaje C se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente para funcionar (Basic). Los compilados convierten el código fuente en un fichero objeto y éste en un fichero ejecutable. Este es el caso del lenguaje C. Podemos decir que el lenguaje C es un lenguaje de nivel medio, pero muy versátil y eficiente, que revolucionó las técnicas y estilo de programación, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Se caracteriza por ser un lenguaje estructurado. el programa se divide en módulos (funciones) independientes entre sí, que permite crear procedimientos en bloques dentro de otros procedimientos. Sigue el paradigma de la programación estructurada: Algoritmos + estructuras de datos = programas El lenguaje C inicialmente fue creado para la programación de: Sistemas operativos Intérpretes Editores Ensambladores Compiladores Administradores de bases de datos. Actualmente, debido a sus características, puede ser utilizado para todo tipo de programas. Hay que destacar principalmente que el C es un lenguaje portable, que puede utilizar el mismo código en diferentes equipos y sistemas informáticos: el lenguaje es independiente de la arquitectura de cualquier maquina en particular y del sistema operativo que se utiliza para desarrollar aplicaciones portables. C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. Por ser un lenguaje de nivel intermedio es sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje. El lenguaje de programación de sistemas debido a su utilidad para escribir compiladores y sistemas operativos, aunque de igual forma se pueden desarrollar cualquier tipo de aplicación. C trabaja con tipos de datos que son directamente tratables por el hardware de la mayoría de computadoras actuales, como son los caracteres, números y direcciones. Estos tipos de datos pueden ser manipulados por las operaciones aritméticas que proporcionan las computadoras. No proporciona mecanismos para tratar tipos de
  • 2. Karina Alejandra Ojeda Robles 4to A Informatica datos que no sean los básicos, debiendo ser el programador el que los desarrolle. Esto permite que el código generado sea muy eficiente y de ahí el éxito que ha tenido como lenguaje de desarrollo de sistemas. Ello permite que el lenguaje sea reducido y los compiladores de fácil implementación en distintos sistemas. Por el contrario, estas carencias se compensan mediante la inclusión de funciones de librería para realizar todas estas tareas, que normalmente dependen del sistema operativo. Las instrucciones de control de flujo de C son las habituales de la programación estructurada: IF, FOR, WHILE, SWITCH - CASE, todas incluidas en su predecesor BCPL. C incluye también punteros y funciones. Los argumentos de las funciones se pasan por valor, esto es copiando su valor, lo cual hace que no se modifiquen los valores de los argumentos en la llamada. Cuando se desea modificar los argumentos en la llamada, éstos se pasan por referencia, es decir, se pasan las direcciones de los argumentos. Por otra parte, cualquier función puede ser llamada recursivamente. Una de las peculiaridades de C es su riqueza de operadores. Puede decirse que prácticamente dispone de un operador para cada una de las posibles operaciones en código máquina. Hay toda una serie de operaciones que pueden hacerse con el lenguaje C, que realmente no están incluidas en el compilador propiamente dicho, sino que las realiza un preprocesador justo antes de cada compilación. Las dos más importantes son #define (directriz de sustitución simbólica o de definición) e #include (Directriz de inclusión en el fichero fuente). Finalmente, C, que ha sido pensado para ser altamente transportable y para programar lo improgramable, igual que otros lenguajes tiene sus inconvenientes: Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas. A pesar de todo, C ha demostrado ser un lenguaje extremadamente eficaz y expresivo. Algunos de las C existentes son: Quick C C++ Turbo C Turbo C ++ Borland C Borland C++ Microsoft C
  • 3. Karina Alejandra Ojeda Robles 4to A Informatica 3.1. Captura y edición del programa La programación estructurada consiste en dotar al programa de un cierto orden, dividiéndolo en bloques independientes unos de otros, que se encargan de cada una de las tareas necesarias. Esto hace un programa más fácil de leer y modificar. La programación orientada a objetos se tratará más adelante, cuando ya se tenga una buena base de programación "convencional". Como simple comentario, para que vayan sonando las cosas a conocidas, diré que "Objects Pascal" es el nombre que se suele dar a un lenguaje Pascal que permita programación orientada a objetos (como es el caso de Turbo Pascal), y que "C++" es una ampliación del lenguaje C, que también soporta P.O.O. En lo que sigue vamos a ver los fundamentos de la programación en Pascal, primero intentando ceñirnos al Pascal estándar, y luego ampliando con las mejoras que incluye Turbo Pascal, la versión más difundida. Los primeros programas, los más sencillos, se podrán compilar con cualquier versión del lenguaje Pascal (o casi), aunque la mayoría de los más avanzados (los que incluyan manejo de gráficos, por ejemplo) estarán creados pensando en el que posiblemente sea en estos momentos el compilador de Pascal más usado: Free Pascal, o bien en el clásico Turbo Pascal 7.0 para Dos. Lo primero que llama la atención es que casi todas las palabras están escritas en inglés. Esto será lo habitual: la gran mayoría de las palabras clave de Pascal (palabras con un significado especial dentro del lenguaje) son palabras en inglés o abreviaturas de éstas. En el lenguaje Pascal no existe distinción entre mayúsculas y minúsculas, por lo que "BEGIN" haría el mismo efecto que "begin" o "Begin". Así, lo mejor será adoptar el convenio que a cada uno le resulte más legible: algunos autores emplean las órdenes en mayúsculas y el resto en minúsculas, otros todo en minúsculas, otros todo en minúsculas salvo las iniciales de cada palabra... Yo emplearé normalmente minúsculas, y a veces mayúsculas y minúsculas combinadas cuando esto haga más legible algún
  • 4. Karina Alejandra Ojeda Robles 4to A Informatica comando "más enrevesado de lo habitual" (por ejemplo, si están formados por dos o más palabras inglesas como OutText o SetFillStyle.) Otra cosa que puede extrañar es eso de que algunas líneas terminen con un punto y coma. Pues bien, cada sentencia (u orden) de Pascal debe terminar con un punto y coma (;), salvo el último "end", que lo hará con un punto. También hay otras tres excepciones: no es necesario un punto y coma después de un "begin", ni antes de una palabra "end" o de un "until" (se verá la función de esta palabra clave más adelante), aunque no es mala técnica terminar siempre cada sentencia con un punto y coma, al menos hasta que se tenga bastante soltura. Cuando definamos variables, tipos, constantes, etc., veremos que tampoco va punto y coma después de las cabeceras de las declaraciones. Comienza con la palabra program. Esta palabra no es necesaria en muchos compiladores, como Turbo Pascal o Surpas, pero sí lo era incialmente en Pascal estándar, y el formato era program NombrePrograma (input, output); Entre paréntesis se escribía "input, output" para indicar que el programa iba a manejar los dispositivos de entrada y salida. Por ejemplo, como este programa escribe en la pantalla, si alguien usa una de las primeras versiones del Pascal de GNU, o algún otro compilador que siga estrictamente el Pascal estándar, deberá poner: program Saludo(output);
  • 5. Karina Alejandra Ojeda Robles 4to A Informatica Aunque para nosotros no sea necesario, su empleo puede resultar cómodo si se quiere poder recordar el objetivo del programa con sólo un vistazo rápido a su cabecera. En algunos compiladores, puede que "nos regañe" si la palabra que sigue a "program" es distinta del nombre que tiene el fichero (es el caso de las primeras versiones de Tmt Pascal Lite), pero normalmente el programa funcionará a pesar de ello. En nuestro caso, a nuestro programa lo hemos llamado "Saludo". La palabra "Saludo" es un identificador. Los "identificadores" son palabras que usaremos para referirnos a una variable, una constante, el nombre de una función o de un procedimiento, etc. Ya iremos viendo todos estos conceptos, pero sí vamos a anticipar un poco uno de ellos: una variable equivale a la clásica incógnita "x" que todos hemos usado en matemáticas (eso espero), que puede tomar cualquier valor. Ahora nuestras "incógnitas" podrán tener cualquier valor (no sólo un número: también podremos guardar textos, fichas sobre personas o libros, etc) y podrán tener nombres más largos (y que expliquen mejor su contenido, no hará falta limitarnos a una única letra, como en el caso de "x"). Estos nombres de "identificadores" serán combinaciones de letras (sin acentos) y números, junto con algunos (pocos) símbolos especiales, como el de subrayado (_). No podrán empezar con un número, sino por un carácter alfabético (A a Z, sin Ñ ni acentos) o un subrayado, y no podrán contener espacios. Las palabras "begin" y "end" marcan el principio y el final del programa, que esta vez sólo se compone de una línea. Nótese que, como se dijo, el último "end" debe terminar con un punto. "Write" es la orden que permite escribir un texto en pantalla. El conjunto de todo lo que se desee escribir se indica entre paréntesis. Cuando se trata de un texto que queremos que aparezca "tal cual", éste se encierra entre comillas.
  • 6. Karina Alejandra Ojeda Robles 4to A Informatica El punto y coma que sigue a la orden "write" no es necesario (va justo antes de un "end"), pero tampoco es un error, y puede ser cómodo, porque si después añadimos otra orden entre "write" y "end", sería dicha orden la que no necesitaría el punto y coma (estaría justo antes de "end"), pero sí que pasaría a requerirlo el "write". La orden "write" aparece algo más a la derecha que el resto. Esto se llama escritura indentada, y consiste en escribir a la misma altura todos los comandos que se encuentran a un mismo nivel, algo más a la derecha los que están en un nivel inferior, y así sucesivamente, buscando mayor legibilidad. Los detalles concretos sobre cómo probar este programa dependerán del compilador que se esté utilizando. Unos tendrán un Entorno Integrado, desde el que escribir los programas y probarlos (como Free Pascal, Turbo Pascal y Surpas), mientras que en otros hará falta un editor para teclear los programas y el compilador para probarlos (como Tmt Lite) y otros no incluyen editor en la distribución normal, pero es fácil conseguir uno adaptado para ellos (es el caso de FPK y de Gnu Pascal). Las variables son algo que no contiene un valor predeterminado, una posición de memoria a la que nosotros asignamos un nombre y en la que podremos almacenar datos. En el primer ejemplo que vimos, puede que no nos interese escribir siempre el mensaje "Hola", sino uno más personalizado según quien ejecute el programa. Podríamos preguntar su nombre al usuario, guardarlo en una variable y después escribirlo a continuación de la palabra "Hola", con lo que el programa quedaría 3.2. Compilar el programa Depurar el programa Ejecutar el programa Windows Para compilar un programa C en entornos Windows, debemos seguir una serie de pasos que varían según el compilador de C que queramos utilizar. Antes que nada, sería bueno que se revises la documentación del compilador elegido para conocer los comandos exactos.
  • 7. Karina Alejandra Ojeda Robles 4to A Informatica Compilación del código fuente Si se utiliza un entorno de desarrollo, será posible compilar directamente desde el entorno, mediante un botón o una combinación de teclas. Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según el compilador utilizado. A continuación algunos ejemplos de ciertos comandos según el compilador: En Turbo C de Borland es: tcc hola.c En C++ de Borland: bcc hola.c En Visual C de Microsoft: cl hola.c En GNU gcc: gcc hola.c o cc hola.c El C de Zortech: ztc hola.c Una vez compilado el código fuente se genera un archivo llamado archivo objeto o programa objeto que es luego enlazado mediante el enlazador, para generar el archivo ejecutable. Los compiladores actuales suelen hacer dos funciones de una vez, compilando y enlazando todo en una sola función, aunque es posible pedirles que no lo hagan mediante parámetros adicionales. Según el compilador y la configuración utilizada, se obtendrán dos o tres archivos: El archivo fuente Este último es el que nos interesa, puesto a que es el código ejecutable, el programa en sí. Al ejecutarlo se producirá la salida deseada en una ventana de consola. Salida por pantalla [editar] Si ejecutamos en entorno Windows el programa directamente desde el navegador de archivos, o también desde algunos entornos de desarrollo, lo que sucederá será que apenas abierta la ventana de la consola, se mostrará la cadena esperada y luego de terminada la función, la consola se cerrará sin tener el tiempo suficiente de ver nuestro mensaje en pantalla.
  • 8. Karina Alejandra Ojeda Robles 4to A Informatica Para poder ver la salida por pantalla será necesario ejecutar el programa desde la línea de comandos, o modificar la configuración del entorno de desarrollo para que muestre la salida por pantalla al ejecutar el programa. Una posible solución es agregar una función adicional a nuestro "hola.c" Las dos líneas agregadas permiten que utilicemos la biblioteca stdlib, que incluye la función system y que mediante esta función se ejecute el comando pause del sistema, que evita que el programa siga hasta que se presione una tecla. Así es posible visualizar que la salida de hola.c se completó perfectamente. Linux [editar] Si bien existen otros compiladores, lo más usual y más sencillo para compilar un programa en GNU/Linux es el compilador gcc, ya que es el que se incluye en todas las distribuciones. De cualquier forma, es posible realizar la compilación desde línea de comandos o desde el entorno gráfico. Para realizarla desde línea de comandos, será necesario contar con una terminal (xterm, konsole, gnome-terminal, etc). No es necesario contar con permisos de root para crear o compilar programas. En esa terminal será necesario escribir Si no existen errores en el código, este comando nos creará un archivo ejecutable, que por omisión se llama "a.out", y que podemos ejecutar Es una buena idea especificar el nombre que el archivo ejecutable tendrá, pasando como parámetro al compilador la opción Con lo cual, el nombre del archivo creado será hola. Este archivo no tiene extensión ya que es la forma usual de llamar a los archivos ejecutables en los entornos UNIX y GNU/Linux, Existen otros parámetros que podemos especificar al compilador en la línea de comandos, dependiendo del tipo de programa, y en función de la complejidad del mismo; La opción -Wall nos mostrará todos los avisos que produzca el compilador, no solamente los errores. Los avisos nos indican dónde y/o porqué podría surgir algún error en nuestro programa. La opción -pedantic nos aporta más información sobre los errores y los avisos mostrados por GCC
  • 9. Karina Alejandra Ojeda Robles 4to A Informatica