Este documento presenta una introducción a los lenguajes de programación. Explica conceptos clave como los tipos de lenguajes de programación, la programación estructurada, y los orígenes del lenguaje C. También describe características del lenguaje C como su popularidad, portabilidad y estructura. Finalmente, cubre temas como la declaración y manejo de variables en C.
1. Introducción a los Lenguaje de
Programación
Profesor: MSc. José Luis Alonso
Correo: jl.alonso@ce.pucmm.edu.do
2. Objetivos de la clase
Conceptos y características de los lenguajes de
programación.
Pasos para la creación de un programa.
Origenes lenguaje C.
Caracteristicas del C.
Estructura General programa en C.
De Seudocodigo a lenguaje C.
Variables en C.
4. Programación estructurada
Teorema del programa estructurado:
Todo programa puede escribirse utilizando
únicamente las tres instrucciones de control
siguientes:
•Secuencia
•Instrucción condicional.
•Iteración (bucle de instrucciones)
5. Programación estructurada(2)
Ventajas
1.Los programas son más fáciles de entender, ya que pueden ser leídos de
forma secuencial, sin necesidad de hacer seguimiento a saltos de línea.
2. La estructura del programa es clara, puesto que las instrucciones están más
ligadas o relacionadas entre sí.
3. El seguimiento de los fallos o errores del programa ("debugging") se facilita
debido a la estructura más visible, por lo que los errores se pueden detectar y
corregir más fácilmente.
4. Programas más sencillos y más rápidos (ya que es más fácil su optimización).
Desventajas
Único bloque de programa, que cuando se hace demasiado grande puede
resultar problemático su manejo
6. Orígenes del C
Dennis Ritchie (Laboratorios Bell) en1972,
cuando trabajaba en el diseño del sistema
operativo UNIX.
El ‘C’ se creó como herramienta para
programadores, en consecuencia su principal
objetivo es ser un lenguaje útil.
7. Lenguaje C
Potencia y flexibilidad: Se ha usado en contextos tan dispares como el desarrollo
de sistemas operativos, procesadores de texto, gráficos, bases de datos,
compiladores de otros lenguajes, etc.
Popularidad: Existe una gran variedad de compiladores, librer´ıas, herramientas
de apoyo a la programaci´on, etc. Es el lenguaje predominante en el entorno UNIX.
Portabilidad: El mismo programa escrito en C puede compilarse y ejecutarse sin
practicamente ningún cambio en diferentes ordenadores. Esto se debe en gran
parte al estandar ANSI C.
Sencillez: C utiliza pocas palabras clave, por lo que puede aprenderse f´acilmente.
Estructura y modularidad: Los programas en C pueden escribirse agrupando el
codigo en funciones. Reutilizable.
8. Es un lenguaje compilado.
CÓDIGO FUENTE: es el programa que nosotros escribimos, se graba con la
extensión .C
CÓDIGO OBJETO: es el programa fuente pero traducido a lenguaje máquina
(sucesión de ceros y unos), se graba con la extensión .OBJ
PROGRAMA EJECUTABLE: es el programa objeto más las “librerías del C”, se
graba con la extensión .EXE. Y no necesita el programa que hemos utilizado
para crearlo, para poder ejecutarlo.
Lenguaje C
9. Estructura Gral de un Programa en C
INICIO
DECLARACIÓN DE VARIABLES Y CONSTANTES
ACCIONES DEL ALGORITMO
FIN
ENCABEZADO-DIRECTIVAS
10. Ejemplo
Realizar un algoritmo que solicite al usuario dos números
enteros, realice su suma y la imprima en pantalla.
Analisis del problema:
Datos de entrada:
Los dos números (necesito dos variables para llevarlos.
llamemoslos a y b).
Datos de salida:
Variable en la cual se almacena el resultado de la suma (c).
Proceso: ¿Que es lo que tengo que hacer?
Solicitar al usuario los datos de entrada.
Sumar los dos datos de entrada.
Desplegar el resultado.
11. Ejemplo…
LENGUAJE C
Seudocódigo y diagrama de Flujo:
Algoritmo(sumar)
INICIO
ESCRIBA(“Digite el primer numero (entero)”)
LEA(a)
ESCRIBA(“Digite el segundo numero (entero)”)
LEA(b)
c a + b
ESCRIBA(“La suma es: ”,c)
FIN_INICIO
Fin(sumar)
Variables:
entero: a, b, c
12. Ejemplo…
Traducción al lenguaje C
Básicamente el primer paso es familiarizarnos con la
sintaxis (expresiones, reglas, etc.) del lenguaje C.
Realizar la formulación del algoritmo en términos de
esa nueva sintaxis.
13. Ejemplo…
LENGUAJE C
Algoritmo(sumar)
Variables:
entero: a, b, c
INICIO
ESCRIBA(“Digite el primer numero (entero)”)
LEA(a)
ESCRIBA(“Digite el segundo numero (entero)”)
LEA(b)
c a + b
ESCRIBA(“La suma es: ”,c)
FIN_INICIO
Fin(sumar)
#include<stdio.h>
int main(){
int a, b, c = 0;
printf(“Digite el primer numero (entero): ”);
scanf(“%d”,&a);
printf(“Digite el segundo numero (entero): ”);
scanf(“%d”,&b);
c = a + b;
printf(“El resultado de la suma es: %dn”,c);
return 0;
}
14. Introducción al Lenguaje C
#include<stdio.h>
int main(){
int a, b, c = 0;
printf(“Digite el primer numero: ”);
scanf(“%d”,&a);
printf(“Digite el segundo numero: ”);
scanf(“%d”,&b);
c = a + b;
printf(“El resultado de la suma es: %dn”,c);
return 0;
}
Librerías (uso de
directivas del
preprocesador)
Declaración de
variables (las variables
son locales en este
caso).
Instrucciones
(Expresiones aritméticas
y lógicas, condicionales
(SI), ciclos (HAGA,
MIENTRAS)).
Programa principal
ANATOMIA DE UN PROGRAMA EN C
15. Esto nos lleva a la siguiente conclusión
algoritmo (nombre_algoritmo)
INICIO
Declaracion variables
sentencia_1
sentencia_2
. . .
sentencia_N
FIN_INICIO
#include <librerias_del_sistema>
#include “librerias_propias”
variables_globales;
int main() {
variables_locales;
sentencia_1;
sentencia_2;
. . .
sentencia_N;
Return 0;
}
Introducción al Lenguaje C
18. Manejo de Variables
Declaración: consiste en definir cada una de las variables que van a ser
usadas en el programa. Sigue la siguiente Sintaxis:
tipo nom_var1 , nom_var2, nom_var3 = valor_inicial,
nom_varN;
En C Toda variable debe ser declarada antes de ser usada. Cosa que no se
declara cosa que no existe y error!!!. La inicialización de esta es opcional
TABLA SENCILLA DE EQUIVALENCIAS C-
PSEUDOCODIGO
Pseudocódigo Lenguaje C
entera int
real float
double
alfanumérica char
variables:
entero: num_estudiantes
real: prom_grupo, estatura, peso
entero: num_clases = 0
int num_estudiantes;
float prom_grupo, estatura, peso;
int num_clases = 0;
19. Variables Enteras (TIPO int)
• Declaración:
int nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
• Tamaño de almacenamiento: Depende de la arquitectura puede ser 2 o 4 bytes.
• Rango de la variable: Depende del tamaño de almacenamiento
2 bytes: -32768 a 32767
4 bytes: -2147483648 a 2147483647
entero: num_vacas
entero: num_perros, num_gatos , num_gallos
entero: num_est = 45, num_prof = 3
entero: num_x = -9, num_y, num_z
entero: num_deudas = 400000
int num_vacas;
int num_perros, num_gatos , num_gallos;
int num_est = 45, num_prof = 3;
int num_x = -9, num_y, num_z;
int num_deudas = 400000;
20. Variables Reales (TIPO float o double)
• Declaración: Se manejan dos tipos de datos para las variables reales, por un lado
están los datos tipo float empleadas para variables con precisión simple por el otro
están los datos tipo double para variables con doble precisión. La sintaxis para
declarar este tipo de variables se muestra a continuación:
float nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
double nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
• Tamaño de almacenamiento: Depende de la precisión del tipo de dato:
float: 4 bytes. (Precisión de 6 dígitos).
double: 8 bytes (Precisión de 15 dígitos).
• Rango de la variable:
float: -3.4e38 a 3.4e38. (Siendo 1.2e-38 el valor positivo mas pequeño
posible)
double : -1.7e308 a 1.7e308 . (Siendo 2.3e-308 el valor positivo mas
pequeño posible)
real: x
real: y
real: a = 4.5, b = 3.0
real: c = -9., d, e = 1.5e-15
real: f = 4.03e19, g =.03
float x;
double y;
float a = 4.5, b = 3.0;
float c = -9., d, e = 1.5e-15;
double f = 4.03e19, g =.03;
21. Variables Tipo Caracter (TIPO char)
• Declaración: Estas variables son empleadas para el manejo de datos
alfanumericos tales como letras del alfabeto y otros caracteres tales como #, $, % y
* entre otros, tambien pueden ser usadas para la representación de números
enteros:
char nom_var1 <, nom_var2, nom_var3 <= v_inicial3>,…,nom_varN>;
• Tamaño de almacenamiento: 1 byte
• Rango de la variable: 0 a 255
• Los caracteres representados se hallan en la tabla ASCII la cual asocia un valor
entero positivo a un carácter determinado.
• Nota: Es de anotar que solo hablamos de un solo carácter. El caso de las cadenas
alfanuméricas después lo trataremos.
alfanumerico: sexo = ‘F’
alfanumerico: grado = ‘A’, caracter = 64
alfanumerico: letra
char sexo = ‘F’;
char grado = ‘A’, caracter = 64;
char letra
22. Sobre los nombres de las variables
• Identificadores: Nombres que se le dan a las constantes o variables.
• Reglas a seguir en el momento de nombrar una variable:
Los identificadores no pueden tener el mismo nombre de las palabras
reservadas.
Elegir nombres significativos (es decir, relacionados con aquello a lo que esta
haciendo referencia la variable).
El primer carácter del nombre de una variable puede ser un letra (mayúscula
o minúscula) o una raya baja (_).
Un nombre de una variable puede tener como caracteres letras (mayúsculas
y minúsculas), dígitos y el carácter raya baja (_).
Declaración
errónea de las
variables
Declaración
correcta de las
variables
23. Resumen Declaración de variables
• Cuando declaro una variable la elección del tipo de dato depende del propósito
para el cual voy a usar la variable.
Tipo Ejemplo Tamaño en
bytes
Rango (minimo-maximo)
char ´c´ 1 0,…,255
int 1024 2 (o 4, depende de
la arquitectura)
-32768,…,32767 (si el tamaño en
bytes es 2)
float 10.5 4 3.4E-38 ,….,3.4E38
double 1e-8 8 1.7E-308,…,1.7E308
Declaración e inicialización de variables
tipo nom_var1 <, nom_var2, nom_var3 <= valor_inicial>, nom_varN>;
24. Resumen declaración de variables (2)
Una variable no puede ser
usada si antes no ha sido
previamente declarada.
25. Introducción a los Lenguaje de
Programación
Profesor: MSc. José Luis Alonso
Correo: jl.alonso@ce.pucmm.edu.do