clase 10. agenda 1 repaso 2 operadores 3 directivas 14 entrada y salida de datos
TRANSCRIPT
![Page 1: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/1.jpg)
INFORMATICA ILenguaje de Programación C (2)
CLASE 10
![Page 2: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/2.jpg)
AGENDA
1 Repaso
2 Operadores
3 Directivas
1 Repaso
4 Entrada y Salida de Datos
![Page 3: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/3.jpg)
CaracterísticasEs un lenguaje compilado.
Potencia y flexibilidadPopularidadPortabilidadSencillezEstructura y modularidad
Repaso
![Page 4: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/4.jpg)
Estructura General
INICIO
FIN
Declaración de variables
Acciones del Algoritmo
Encabezado
Directivas
Repaso
![Page 5: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/5.jpg)
Pseudocódigo → Lenguaje C
algoritmo(nombre)
INICIODeclaracion variables sentencia_1 sentencia_2 . . . sentencia_NFIN_INICIO
#include <librerias>#include ”librerias”
variables_globales;
int main(void) { variables_locales; sentencia_1; sentencia_2; . . . sentencia_N;return 0;}
Repaso
![Page 6: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/6.jpg)
Anatomía de un programa en C#include<stdio.h>
int main(void){
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, condicionales, ciclos).
Programa principal
Repaso
![Page 7: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/7.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 nom_var1,nom_var2, nom_var3 = valor_inicial, nom_varN;
Repaso
Tipo Ejemplo Tamaño en bytes Rango
char ‘C’ 1 0 a 255
short -15 2 -128 a 127
int 1024 2 -32768 a 32767
unsigned int 42325 2 0 a 65535
long 262144 4 -2147483648 a 2147483637
float 10.5 4 3.4x10-38 a 4.4x1038
double 0.00045 8 1.7x10-308 a 1.7x10308
long double 1e-8 8 Igual que double
![Page 8: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/8.jpg)
Declaración de variables
int num_est = 45, num_prof = 3;float c = -9, d, e = 1.5e-15;char grado = ‘A’, caracter = 64;bool diaLunes = FALSE;
Repaso
![Page 9: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/9.jpg)
Palabras reservadas
Repaso
![Page 10: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/10.jpg)
Nombres de las variables
Declaración errónea de las variables
Declaración correcta de las variables
Repaso
![Page 11: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/11.jpg)
Resumen declaración de variables
Una variable no puede ser usada antes no ha sido
previamente declarada.
Repaso
![Page 12: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/12.jpg)
Variables Globales
• Declaraciones globales– Indican al usuario que las variables y constantes
definidas son comunes a todas las funciones del programa
#include <stdio.h>
/* Declaraciones globales*/int calificaciones;int ejemplo(int x)
int main(){ …}
Repaso
![Page 13: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/13.jpg)
AGENDA
1 Repaso
2 Operadores
3 Directivas
2 Operadores
4 Entrada y Salida de Datos
![Page 14: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/14.jpg)
Constantes
• Una constante es un valor que no puede cambiar su valor a lo largo de la ejecución de un programa
Constantes enteras: Sucesión de dígitos precedidas por + ó – dentro de un rango determinado (-345, 234, etc)
Constantes reales: Números reales (82.347, .63, 6e+4) Constantes carácter (char): Carácter del código ASCII encerrado
entre apóstrofes (‘a’, ‘B’) Constantes cadena: “Hola”, “Informática I”, “Esto es una cadena de
caracteres”. En memoria, las cadenas se representan por una serie de caracteres ASCII más un 0 o nulo que es definido en C mediante la constante NULL
![Page 15: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/15.jpg)
Constantes
• Definición de constantes
– Constantes definidas (simbólicas)
#define PI 3.1415929
– Constantes declaradas const y volatileconst int c = 30;
![Page 16: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/16.jpg)
Expresiones y operadoresOperadores
•Operadores y expresiones:AsignaciónAritméticosIncrementales y DecrementalesDe manipulación de bits.Relacionales.Lógicos.•Cuando concurren en una misma expresión
diferentes tipos de operadores se dan las reglas de prioridad y asociatividad.
![Page 17: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/17.jpg)
Asignación• Operador de asignación (=)– Sintaxis:
Variable = expresión;
– Ejemplos: • a = b*n;• c = c + 1;• d = d%3;• e = 14;
Operadores
![Page 18: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/18.jpg)
Aritméticos• Operadores aritméticos– De dos operandos (+, -, *, /, %)
Operadores
OPERACIÓN OPERADOR EJEMPLOSuma + f + 7Resta - p – c
Multiplicación * b * nDivisión / x * yMódulo % r % s
Agrupación () (a + b) * c
![Page 19: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/19.jpg)
Aritméticos• Operadores aritméticos– De dos operandos (+, -, *, /, %)
Operadores
OPERADOR ASOCIATIVIDAD() Izquierda - derecha
*,/,% Izquierda – derecha+,- Izquierda - derecha= Derecha - izquierdaPr
iorid
ad
![Page 20: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/20.jpg)
Incrementales y Decrementales• De asignación aritmética:– Es una abreviatura de las expresiones de
asignación:
Operadores
OPERACIÓN OPERADOR EJEMPLO SIGNIFICADOSuma += c += 7 c = c + 7Resta -= d -= 4 d = d – 4
Multiplicación *= e *= 5 e = e * 5División /= f /= 3 f = f / 3Módulo %= g %=9 g = g % 9
![Page 21: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/21.jpg)
Incrementales y Decrementales• Aritméticos:– De un operando (++, – –)
Operadores
OPERACIÓN OPERADOR EJEMPLO SIGNIFICADO
Preincremento ++ ++a 1. Se incrementa2. Se utiliza el valor
Predecremento -- --a 1. Se decrementa2. Se utiliza el valor
Postincremento ++ b++ 1. Se utiliza el valor2. Se incrementa
Postdecremento -- b-- 1. Se utiliza el valor2. Se decrementa
![Page 22: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/22.jpg)
Incrementales y Decrementales• Ejemplo: Para analizar
Operadores
#include <stdio.h>
int main(void) { int c;
c=5; printf(“%d”,c); printf(“%d”,c++); printf(“%d”,c);
c=5; printf(“%d”,c); printf(“%d”,++c); printf(“%d”, c);return 0;}
c Pantalla
5 5566
5 5
6 66
![Page 23: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/23.jpg)
Incrementales y Decrementales• Ejemplo: Las siguientes expresiones
pueden tener el mismo significado:
student = student + 1;student +=1;++student;
Operadores
![Page 24: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/24.jpg)
Relacionales• Operadores Relacionales– Sintaxis:
operador_1 operador_relacional operador_2
Operadores
OPERACIÓN OPERADOR EJEMPLO SIGNIFICADOIgualdad == x == y x es igual a yDiferente != x != y x no es igual a y
Menor < x < y x es menor que yMayor > x > y x es mayor que y
Menor Igual <= x <= y x es menor o igual que yMayor Igual >= x >= y x es mayor o igual que y
![Page 25: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/25.jpg)
Lógicos
• Operadores Lógicos
INSTRUCCIONES
OPERACIÓN OPERADOR EJEMPLO SIGNIFICADONegación ! !m No m (inverso de m)
Y && m && n m Y nO || m || n m Ó n
![Page 26: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/26.jpg)
AGENDA
1 Repaso
2 Operadores
3 Directivas3 Directivas
4 Entrada y Salida de Datos
![Page 27: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/27.jpg)
Directivas del preprocesador
– El preprocesador consta de directivas que son instrucciones al compilador
– Comienzan con el símbolo (#)– No son instrucciones de lenguaje C– #include <nombrearch.h> indica al compilador
que lea el archivo fuente (de cabecera o de inclusión) que viene a continuación de ella.
– También es de la forma #include “archivo.h”
![Page 28: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/28.jpg)
Directivas
Directivas
#include<stdio.h>#define PI 3.1416
int main(void){
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; }
Directivas(uso de directivas del preprocesador): Librerías y MACROS
Son las líneas que comienzan por el carácter #
![Page 29: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/29.jpg)
#include
Directivas
Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones.
Estos ficheros se suelen llamar "de cabecera“.La directiva #include incluye la librería que se desee.
#include <libreriaSistema.h>#include “libreriaUsuario.h”
![Page 30: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/30.jpg)
Librerías de sistema
DirectivasLibrería Contenido
assert.h macros para el diagnóstico dentro de los programas
ctype.h funciones para comprobación de tipos y transformación de caracteres
errno.h macros usadas para informar de errores
limits.h macros que definen constantes para el tamaño de tipo enteros
float.h macros que definen constantes para el tamaño de tipo flotante
math.h macro y varias funciones matemáticas
stddef.h tipos y macros que también están definidas en otras librerías, como size_t
stdio.h tipos, macros y funciones para la realización de tareas de E/S
stdlib.h tipos, macros y funciones para la conversión numérica, generación de números aleatorios, búsquedas y ordenación, gestión de memoria y tareas similares
string.h tipos, macros y funciones para la manipulación de cadenas de caracteres
time.h tipos, macros y funciones para la manipulación de información sobre fechas y horas
![Page 31: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/31.jpg)
#define
Directivas
La directiva #define define una macro.
Las macros proporcionan un mecanismo de reemplazo directo, alias. Se utilizan para definir constantes o mensajes que se utilizaran mucho en el programa.
#define PI 3.1416#define mensaje "Bienvenidos"
![Page 32: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/32.jpg)
AGENDA
1 Repaso
2 Operadores
3 Directivas
4 Entrada y Salida de Datos4 Entrada y Salida de Datos
![Page 33: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/33.jpg)
Elementos de un programa en C
• Signos de puntuación y separadores: – Todas las sentencias en C deben terminar con punto y coma– Los separadores en C son espacios en blanco, tabulaciones, retornos
de carro y avances de línea.– Existen otros signos de puntuación como: ! % ^ & * () - + “ ‘ , etc.
• Archivos de cabecera– Un archivo de cabecera contiene las declaraciones de objetos y
funciones de la biblioteca que son añadidos en el lugar donde se insertan.
– Un archivo de cabecera se inserta con la directiva #include
Repaso
![Page 34: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/34.jpg)
ENTRADA Y SALIDA DE DATOSEntrada y Salida de Datos
Se debe incluir la librería de sistema stdio.h
scanf (“-----);
printf(“-----);
![Page 35: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/35.jpg)
SALIDA DE INFORMACIÓNESCRIBA(‘cadena1’,…,’cadenaN’,var1,…,varM)
printf(“cadena de caracteres”, variable);
Entrada y Salida de Datos
![Page 36: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/36.jpg)
• Descripción: Permite mostrar en pantalla un texto (cadena), con formato. – Sintaxis:
• Cadena de control: Contiene los datos y la forma de mostrarlos. Es lo que va entre comillas, los formatos los identificamos porque van precedidos de un %.
• Datos (dato1, dato2,…,datoN): Variables, constantes o en general expresiones de salida.
printf
Entrada y Salida de Datos
printf(“cadena_de_control_y_formato”,dato1,…,datoN);
![Page 37: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/37.jpg)
Entrada y Salida de Datos
printf
printf(“mensaje1 mensaje2 mensajeN ”,dato1,dato2…,datoN);
Especificadores
![Page 38: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/38.jpg)
Especificadores de conversión con printf()%c Carácter sencillo%d Entero decimal con signo (int)%e Valor flotante con signo en notación científica (E)%f Valor flotante con signo (float)
%g Valor flotante con signo en notación %e o %f, dependiendo de la representación mas corta
%i Entero decimal sin signo (int)%o Entero octal (en base 8) sin signo (int)%s Cadena de caracteres%u Decimal entero sin signo (int)%x Entero hexadecimal (base 16) sin signo
Entrada y Salida de Datos
printf
![Page 39: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/39.jpg)
Entrada de información
LEA(var1,var2,…,varN)
scanf(“%formato1%formato2,…”, &var1,&var2,…);
Entrada y Salida de Datos
![Page 40: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/40.jpg)
• Descripción: Permite ingresar los datos mediante el teclado. – Sintaxis:
• formatos: Indican que tipo de datos deben ser ingresados por el usuario.• &: indica la dirección de la variable. Siempre debe ir
(excepto con cadena de caracteres y matrices)• Datos (dato1, dato2,…,datoN): Nombre de las
Variables.
scanf
Entrada y Salida de Datos
scanf(“formatos”,&dato1,…,&datoN);
![Page 41: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/41.jpg)
#include <stdio.h> int main (void){
char nombre[10]; int edad;
printf(“Ingrese su nombre: "); scanf("%s",nombre); printf(“Ingrese su edad: "); scanf("%d",&edad);
printf(“Su nombre es: %s y tienes %d años",nombre,edad);
return 0;}
![Page 42: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/42.jpg)
Bibliografía
• Joyanes Aguilar, Luis. PROGRAMACIÓN EN C. Metodología, algoritmos y estructura de datos Capitulo3.
• H.M. Deitel, P.J. Deitel. Como programar en C y C++
![Page 43: CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos](https://reader035.vdocuments.mx/reader035/viewer/2022062519/5665b4e81a28abb57c94aefd/html5/thumbnails/43.jpg)
GRACIAS POR SU ATENCIÓN