Upload
monica-martinez
View
381
Download
0
Embed Size (px)
Citation preview
Lenguaje de Programación C
Agenda
– Generalidades– Origenes lenguaje C– Caracteristicas del C– Estructura General programa en C– De Seudocodigo a lenguaje C– Variables en C.– Instrucciones y operadores.– Entrada y salida de información
GeneralidadesGENERALIDADES
LenguajesDe
Programación
ALTONIVEL
BAJONIVEL
ESTRUCTURADOS
ORIENTADOSA OBJETOS
FortranBasicCPascal
Java
C++
Programación estructuradaTeorema del programa estructurado:Todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:
• Secuencia• Instrucción condicional.• Iteración (bucle de instrucciones)
GENERALIDADES
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
GENERALIDADES
Orígenes del CORIGENES 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.
Lenguaje CCARACTERISTICAS
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.
Lenguaje CCARACTERISTICAS
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.
ESTRUCTURA GRAL DE UN PROGRAMA EN C
INICIO
DECLARACIÓN DE VARIABLES Y CONSTANTES
ACCIONES DEL ALGORITMO
FIN
LENGUAJE C
ENCABEZADO-DIRECTIVAS
EjemploLENGUAJE C
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.
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_INICIOFin(sumar)
Variables: entero: a, b, c
Ejemplo…LENGUAJE C
Traducción al lenguaje C
Básicamente el primer paso es familizarnos con la sintaxis (expresiones, reglas, etc.) del lenguaje C.
Realizar la formulación del algoritmo en términos de esa nueva sintaxis.
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_INICIOFin(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: %d\n”,c); return 0; }
INTRODUCCION 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: %d\n”,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
INTRUDUCCIÓN AL LENGUAJE C
• Esto nos lleva a la siguiente conclusión
algoritmo (nombre_algoritmo)INICIODeclaracion variables sentencia_1 sentencia_2 . . . sentencia_NFIN_INICIO
#include <librerias_del_sistema>#include “librerias_propias”
variables_globales;
int main() { variables_locales; sentencia_1; sentencia_2; . . . sentencia_N;Return 0;}
INTRUCCION AL LENGUAJE C
• Plantilla básica de un programa en C
MANEJO DE VARIABLES
floatdouble
int
charCarácter-
AlfaNúmerica
Num. Enteras
Num. Reales
Variables en C (Tipos de datos)
Tipos de Variables
BoolBooleano
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 floatdouble
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;
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_vacasentero: num_perros, num_gatos , num_gallosentero: num_est = 45, num_prof = 3entero: num_x = -9, num_y, num_zentero: 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;
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: xreal: yreal: a = 4.5, b = 3.0real: c = -9., d, e = 1.5e-15real: 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;
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 = 64alfanumerico: letra
char sexo = ‘F’;char grado = ‘A’, caracter = 64;char letra
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
PALABRAS RESERVADAS
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>;
Resumen declaracion de variables (2)
Una variable no puede ser usada antes no ha sido previamente declarada.
Ampliación del rango de valores de las variable
Modificadores de tipos• long int a;• unsigned long int c;
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos.