presentacion1 lenguaje de-programacion_c
TRANSCRIPT
![Page 1: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/1.jpg)
Lenguaje de Programación C
![Page 2: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/2.jpg)
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
![Page 3: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/3.jpg)
GeneralidadesGENERALIDADES
LenguajesDe
Programación
ALTONIVEL
BAJONIVEL
ESTRUCTURADOS
ORIENTADOSA OBJETOS
FortranBasicCPascal
Java
C++
![Page 4: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/4.jpg)
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
![Page 5: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/5.jpg)
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
![Page 6: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/6.jpg)
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.
![Page 7: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/7.jpg)
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.
![Page 8: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/8.jpg)
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.
![Page 9: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/9.jpg)
ESTRUCTURA GRAL DE UN PROGRAMA EN C
INICIO
DECLARACIÓN DE VARIABLES Y CONSTANTES
ACCIONES DEL ALGORITMO
FIN
LENGUAJE C
ENCABEZADO-DIRECTIVAS
![Page 10: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/10.jpg)
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.
![Page 11: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/11.jpg)
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
![Page 12: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/12.jpg)
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.
![Page 13: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/13.jpg)
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; }
![Page 14: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/14.jpg)
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
![Page 15: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/15.jpg)
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;}
![Page 16: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/16.jpg)
INTRUCCION AL LENGUAJE C
• Plantilla básica de un programa en C
![Page 17: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/17.jpg)
MANEJO DE VARIABLES
floatdouble
int
charCarácter-
AlfaNúmerica
Num. Enteras
Num. Reales
Variables en C (Tipos de datos)
Tipos de Variables
BoolBooleano
![Page 18: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/18.jpg)
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;
![Page 19: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/19.jpg)
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;
![Page 20: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/20.jpg)
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;
![Page 21: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/21.jpg)
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
![Page 22: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/22.jpg)
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
![Page 23: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/23.jpg)
PALABRAS RESERVADAS
![Page 24: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/24.jpg)
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>;
![Page 25: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/25.jpg)
Resumen declaracion de variables (2)
Una variable no puede ser usada antes no ha sido previamente declarada.
![Page 26: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/26.jpg)
Ampliación del rango de valores de las variable
Modificadores de tipos• long int a;• unsigned long int c;
![Page 27: Presentacion1 lenguaje de-programacion_c](https://reader038.vdocuments.pub/reader038/viewer/2022110310/559126a01a28ab7f7b8b45bd/html5/thumbnails/27.jpg)
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos.