CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.

Post on 25-Jan-2016

220 views 0 download

Transcript of CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.

INFORMATICA ILenguaje de Programación C (2)

CLASE 10

AGENDA

1 Repaso

2 Operadores

3 Directivas

1 Repaso

4 Entrada y Salida de Datos

CaracterísticasEs un lenguaje compilado.

Potencia y flexibilidadPopularidadPortabilidadSencillezEstructura y modularidad

Repaso

Estructura General

INICIO

FIN

Declaración de variables

Acciones del Algoritmo

Encabezado

Directivas

Repaso

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

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

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

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

Palabras reservadas

Repaso

Nombres de las variables

Declaración errónea de las variables

Declaración correcta de las variables

Repaso

Resumen declaración de variables

Una variable no puede ser usada antes no ha sido

previamente declarada.

Repaso

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

AGENDA

1 Repaso

2 Operadores

3 Directivas

2 Operadores

4 Entrada y Salida de Datos

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

Constantes

• Definición de constantes

– Constantes definidas (simbólicas)

#define PI 3.1415929

– Constantes declaradas const y volatileconst int c = 30;

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.

Asignación• Operador de asignación (=)– Sintaxis:

Variable = expresión;

– Ejemplos: • a = b*n;• c = c + 1;• d = d%3;• e = 14;

Operadores

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

Aritméticos• Operadores aritméticos– De dos operandos (+, -, *, /, %)

Operadores

OPERADOR ASOCIATIVIDAD() Izquierda - derecha

*,/,% Izquierda – derecha+,- Izquierda - derecha= Derecha - izquierdaPr

iorid

ad

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

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

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

Incrementales y Decrementales• Ejemplo: Las siguientes expresiones

pueden tener el mismo significado:

student = student + 1;student +=1;++student;

Operadores

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

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

AGENDA

1 Repaso

2 Operadores

3 Directivas3 Directivas

4 Entrada y Salida de Datos

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”

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 #

#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”

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

#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"

AGENDA

1 Repaso

2 Operadores

3 Directivas

4 Entrada y Salida de Datos4 Entrada y Salida de Datos

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

ENTRADA Y SALIDA DE DATOSEntrada y Salida de Datos

Se debe incluir la librería de sistema stdio.h

scanf (“-----);

printf(“-----);

SALIDA DE INFORMACIÓNESCRIBA(‘cadena1’,…,’cadenaN’,var1,…,varM)

printf(“cadena de caracteres”, variable);

Entrada y Salida de Datos

• 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);

Entrada y Salida de Datos

printf

printf(“mensaje1 mensaje2 mensajeN ”,dato1,dato2…,datoN);

Especificadores

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

Entrada de información

LEA(var1,var2,…,varN)

scanf(“%formato1%formato2,…”, &var1,&var2,…);

Entrada y Salida de Datos

• 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);

#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;}

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++

• Google

GRACIAS POR SU ATENCIÓN