2. Contenidos de la unidad
Unidad 1: Lenguajes de programación.
Clasificación del software. Lenguajes de Programación. Lenguajes de
Máquina. Lenguajes de Alto Nivel.
Lenguajes de Bajo Nivel. Paradigmas de Programación. Programación
Estructurada.
El lenguaje C. Proceso de desarrollo. Variables y expresiones. El
preprocesador. Constantes.
3. ¿Cuáles son los elementos que integran un sistema informático?
HARDWARE
SOFTWARE
PERSONAS
DATOS
4. ¿Qué es el software?
Se define el software como el componente lógico de las computadoras (son los programas).
Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos
asociados, que forman parte de las operaciones de un sistema de computación.
6. ¿Qué es un lenguaje de programación?
Es un lenguaje formal que, mediante una serie de instrucciones, le permite a un programador
escribir un conjunto de órdenes, acciones consecutivas, datos y algoritmos para, de esa forma,
crear programas que controlen el comportamiento físico y lógico de una máquina.
8. Lenguaje Máquina
El lenguaje de máquina es aquel cuyas instrucciones son directamente entendibles por la
computadora y no necesitan traducción posterior para que la CPU pueda comprender y ejecutar el
programa.
Las instrucciones en lenguaje maquina se expresan en términos de la unidad de memoria más pequeña
(bit) = digito binario 0 o 1, en esencia una secuencia de bits que especifican la operación y las celdas de
memoria implicadas en una operación
Ejemplo: Instrucciones en lenguaje de máquina :
0010, 0000, 1001, 1001, 10001, 1110.
9. Lenguaje Ensamblador
● Representación más entendible para el humano .
● Cada instrucción en lenguaje ensamblador representa una instrucción en el lenguaje máquina.
● El lenguaje ensamblador aparece casi a la par con el lenguaje máquina, esto debido a que los
fabricantes de hardware diseñan sus Chips pensando ya en las instrucciones de un lenguaje de
ensamblado.
11. Lenguajes de Alto nivel
● Son lenguajes más afines con el programador en los que una instrucción puede representar varias
instrucciones en lenguaje máquina. Incluyen los lenguajes estructurados y no estructurados. Como
ejemplos tenemos: Basic, Pascal, C, APL, FORTRAN (Aplicaciones Científicas), COBOL (para
aplicaciones de procesamiento de datos), LISP Y PROLOG (para Inteligencia Artificial), etc.
● Los lenguajes de alto nivel necesitan de un traductor que pueden ser interpretados o compilados. Los
interpretadores o intérpretes, necesitan de un programa auxiliar que traduce en tiempo real las
instrucciones al lenguaje máquina, por lo tanto, cada vez que un programa interpretado se ejecuta debe
ejecutarse también su intérprete. Ejemplos de lenguajes interpretados: Basic, PROLOG, LISP, entre
otros.
● Los lenguajes compilados son aquellos que necesitan de un compilador para la traducción al lenguaje
máquina. La traducción o compilación se hace solo una vez, y el resultado es un código objeto
entendible por la máquina. Para ejecutar un programa compilado no se necesita de su compilador.
Ejemplos de lenguajes compilados: Pascal, C, Fortran, Cobol, Modula-2 (evolución del Pascal), etc.
12. Lenguajes de Alto nivel
Algunas de las características de los lenguajes de alto nivel:
Depuración más sencilla: Debido a que el código es más legible, la depuración también se hace más fácil.
Con la ayuda editores (IDEs – Entornos de Desarrollo Integrados) la compilación, depuración y ejecución se
hacen más fácilmente.
- Productividad aceptable: son más productivos que los lenguajes de alto nivel.
- Algunos permiten la Portabilidad: generalmente los interpretados.
13. ¿Qué es un paradigma de programación?
● Un estilo de desarrollo de programas.
● Modelo para resolver problemas computacionales.
Los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la
vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con
su sintaxis.
14. ¿Cuáles son los principales paradigmas de programación?
● Imperativo. Los programas se componen de un conjunto de sentencias que cambian su estado. Son
secuencias de comandos que ordenan acciones a la computadora.
● Declarativo. Opuesto al imperativo. Los programas describen los resultados esperados sin mostrar
explícitamente los pasos a llevar a cabo para alcanzarlos.
● Lógico. El problema se modela con enunciados de lógica de primer orden.
● Funcional. Los programas se componen de funciones, es decir, implementaciones de comportamiento
que reciben un conjunto de datos de entrada y devuelven un valor de salida.
● Orientado a objetos. El comportamiento del programa es llevado a cabo por objetos, entidades que
representan elementos del problema a resolver y tienen atributos y comportamiento.
Otros son de aparición relativamente reciente y no forman parte del grupo principal:
● Dirigido por eventos. El flujo del programa está determinado por sucesos externos (por ejemplo, una
acción del usuario).
● Orientado a aspectos. Apunta a dividir el programa en módulos independientes, cada uno con un
comportamiento bien definido.
16. Programación estructurada
La programación estructurada es un paradigma de programación basado en utilizar funciones o
subrutinas, y únicamente tres estructuras de control:
● secuencia: ejecución de una sentencia tras otra.
● selección o condicional: ejecución de una sentencia o conjunto de sentencias, según el valor de
una variable booleana.
● iteración (ciclo o bucle): ejecución de una sentencia o conjunto de sentencias, mientras una
variable booleana sea verdadera.
18. Lenguaje C
● Es un lenguaje de propósito general.
● Altamente transportable.
● Se considera un lenguaje de alto nivel orientado a la máquina
● C fue creado por Brian Kernighan y Dennis Ritchie en los laboratorios Bell de AT&T.
● El sistema operativo Unix está escrito principalmente en C.
● El sistema Linux es de la familia Unix
19. Lenguaje C
Breve Historia
● El lenguajes C nació en los Laboratorios Bell de AT&T
● Asociado con el Sistema Operativo UNIX
● Su eficacia y claridad han hecho que el lenguaje ensamblador apenas haya sido utilizado en UNIX.
● Este lenguaje está inspirado en el lenguaje B escrito por Ken Thompson en 1970
● B era un lenguaje evolucionado e independiente de la máquina, inspirado en lenguajes BCPL
concedido por Martin Richard en 1967.
● En 1972, Dennis Ritchie, modifica el lenguaje B, creando el lenguaje C y reescribiendo el UNIX en
dicho lenguaje.
● La novedad que proporcionó el lenguaje C sobre el B fue el diseño de tipos y estructuras de datos.
21. Lenguaje C
● 1967, Martin Richard crea el lenguaje BCPL (Lenguaje de Programación Básico Combinado)
● 1970, Ken Thompson crea el lenguaje B.
○ Transportable.
○ Lenguaje evolucionado e independiente de la máquina.
● 1972, Dennis Ritchie y Brian Kernighan en los Laboratorios Bell de AT&T crean el lenguaje C
modificando el lenguaje B. Ken Thompson reescribe Unix en C.
○ Se diseñan tipos y estructuras de datos.
○ Incluye punteros y funciones.
○ Riqueza de operadores.
● 1983, el instituto de estándares americano (ANSI) crea un estándar que definiera el lenguaje C.
● 1990, el estándar es adoptado.
22. Lenguaje C
● El lenguaje C se hizo muy popular en los años 80 puesto que comenzó a desplazar a BASIC
● Compiladores se hicieron muy populares y, además, de empezarse a usar en los IBM PC.
● En paralelo, Bjarne Stroustrup (que también trabajaba en los Laboratorios Bell) desarrolla C++
○ Complementando C con clases y funciones virtuales,
○ Tipos genéricos y expresiones de ADA y un
○ Motor de objetos que permitía combinar la programación imperativa de C con la programación
orientada a objetos.
● En 1983, el Instituto Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para
establecer una especificación estándar de C que, tras un proceso largo, completó el estándar en
1989 (ANSI X3.159-1989), el C89
23. Lenguaje C Características
● Programación Estructurada.
● Economía de expresiones.
● Gran cantidad de operadores y tipos de datos.
● Codificación en alto y bajo nivel simultáneamente.
● Reemplaza ventajosamente la programación en el ensamblador.
● Utilización natural de las funciones primitivas del sistema operativo (Unix)
24. Lenguaje C Desventajas
● No posee instrucciones de entrada y salida.
● No posee instrucciones de manejo de cadena de caracteres.
● La libertad en la escritura en los programas lleva a errores en la programación que, por ser correctos
sintácticamente no se detectan a simple vista.
● La precedencia de operadores convierten las expresiones en pequeños rompecabezas.
26. Librerías
● Conjunto de funciones que se identifican con un nombre y que
tenemos que llamar al principio del programa para utilizar unas
funciones concretas.
● Lista de librerías usuales:
● Stdio.h funciones de entrada-salida
● Conio.h más funciones de entrada-salida
● Math.h funciones matemáticas
● Stdlib.h más funciones matemáticas
● Ctype.h funciones de conversión de caracteres
● String.h funciones de cadena
● Graphics.h funciones gráficas
27. Variables
● Son combinaciones de letras y números que permiten almacenar
cualquier valor en la memoria del ordenador.
● Estos valores los podremos utilizar en el programa haciendo
referencia al nombre de la variable.
● Al finalizar la ejecución del programa las variables se borran.
28. Variables
● Modificadores de variables: Son parámetros que permiten modificar los rangos de los tipos de
variables, principalmente del tipo (int)
● Modificadores:
○ Signed
○ Unsigned
○ Long
○ short
29. Variables
● Modificador signed
Es el modificador por defecto que utiliza “C”, en el caso de una variable definida como:
signed int
almacenará valores entre -32000 y 32000
● Modificador unsigned
Este modificador en una variable INT se definirá como :
unsigned int
almacenará valores entre o y 65000 (pasa todo el rango de números negativos a positivos)
● Modificador long
Este modificador en una variable INT se definirá como:
long int
almacenará valores entre -2000000000 y 2000000000
30. Ejemplo Declaración de Variables
Declaración de una variable como un entero
int variable;
int variable2;
int variable3;
Declaración de variables y asignación de valores en una línea
int variable = 1000, variable2 = 2, variable3;
Declaración de variables tipo texto
char variable ;
Con tamaño fijo de caracteres:
char variable[15];
Con asignación de valor
char variable = 'a' ;
33. Identificadores en C
El compilador utiliza identificadores iniciados con doble subrayado o con un
subrayado seguido de una letra mayúscula.
Evite el uso del subrayado para iniciar un identificador. Esto reducirá los errores
de compilación.
La legibilidad de un programa se incrementa notablemente al utilizar nombres
descriptivos para las variables.
Los programadores de Pascal tienden a utilizar nombres descriptivos largos, pero
la mayoría de los programadores C por lo general utilizan nombres cortos y
crípticos.
Se remarca la importancia de utilizar nombres descriptivos que a su vez eviten
comentarios redundantes.
34. Mi primer programa en C
Los comentarios se escriben entre /* */
y pueden tener varios renglones
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50. Analice el siguiente código e indique cuáles son las instrucciones
correctas y cuáles las incorrectas.
61. Tipo de dato lógico
En C no existe el tipo de dato lógico. En su lugar se utiliza
un entero representando con 0 el valor falso y cualquier otro
valor (generalmente 1) el valor verdadero.
65. Ejercicio 3
Escriba un programa C que lea de teclado un número
entero correspondiente a una temperatura en grados
fahrenheit e imprima otro valor entero correspondiente a
su conversión a grados celsius según la siguiente
ecuación
C = (5/9)*(F – 32)