clase_3

31
VARIABLES, CONSTANTES Y LENGUAJE C

description

VARIABLES

Transcript of clase_3

VARIABLES, CONSTANTES Y LENGUAJE C

Identificadores

Los identificadores son las palabras con las que identificamos o llamamos a una variable o constante.

A la hora de dar nombre a una variable, o sea a la hora de identificar una variable debemos de tener en cuenta unas reglas de nomenclatura, marcadas por el lenguaje de programación en C son las siguientes.

Reglas de nomenclatura para los identificadores

Los nombres de los identificadores pueden llevar caracteres alfanuméricos. Letras de la A a la Z excluyendo la ñ . Y todos los números.

Si es obligatorio que el nombre del identificador empiece por una letra y no un numero u otro signo.

Los identificadores solo aceptan el signo _ (guión bajo-subrayado), por tanto quedan excluidos otros como el signo de interrogación, los paréntesis, etc.

Tampoco podremos usar como identificadores las palabras reservadas de un lenguaje, palabras tales como: if, else, goto, etc.

El numero de caracteres de un identificador nunca debe sobrepasar los 31. Algunos compiladores solo

reconocen los 8 primeros caracteres de los identificadores. Esto ya depende del potencial del compilador.

Recordemos que en C se distinguen entre mayúsculas y minúsculas con lo cual es distinto un identificador tal como, Suma que otro como suma

(Por convenio se ha decidido que los identificadores estén escritos en minúsculas.)

variable

Definir una variable es indicar el tipo de dato que va a contener y almacenar, y en función de esto mas o menos grande dependiendo del tipo de dato que vaya a albergar dicha variable reservar una determinada dirección de memoria o palabra de memoria (es la cantidad de bytes que ocupa un tipo de dato).

Con lo que si queremos que una variable contenga un dato numérico deberemos de definirla de distinta forma que si queremos que contenga una cadena de caracteres. Cuando definimos una variable no le estamos introduciendo ningún valor, sino que únicamente estamos indicando que tipo de valor va almacenar posteriormente.

Es obligatorio que siempre definamos una variable antes de introducir en ella un valor, y esto es así porque es necesario que se reserve en memoria un espacio limitado mas o menos grande dependiendo del tipo de dato que vaya a albergar dicha variable.

Constantes

Elementos de almacenamiento de datos o direcciones de memoria, que no varían de ninguna forma durante el proceso del programa. Con lo que su valor será el mismo tanto al comienzo como al final de este.

Las constantes no solo funcionan en cualquier parte del procedimiento como las variables globales sino que también devuelven su valor almacenado en cualquier parte del código o programa

TIPOS DE DATOS SIMPLES

Tipos de datos simples• Numéricos (Enteros, reales).• Lógicos (booleanos).• Alfanuméricos (Carácter, cadenas).

Enteros: Representan los números enteros, no poseen parte decimal, ejemplo: 5, 6, -15, -100,1000,…

Reales: Representan números reales, poseen parte decimal, ejemplo: 0.08, 3.14, 3.7452, -8.003, 3.0.

Booleanos: Aquellos que pueden tomar dos posibles valores; falso (false) o verdadero (true).

Alfanuméricos: Conjunto finito y ordenado que el computador reconoce

ANATOMIA DE UN PROGRAMAAlgoritmo(Nombre_algoritmo) Declaracion_de_variables INICIO INSTRUCCIÓN_1 INSTRUCCIÓN_2 INSTRUCCIÓN_3 . . . INSTRUCCIÓN_N FIN_INICIOFin(Nombre_algoritmo)

variable variable, constante, expresión

Operador de asignación (,=)

b PIc -9.8d “Nerón Navarrete”

b ac fd n

b a + 4*gc c + 1z (x+y)/w + v^3

variable variable variable constante variable expresión

PSEUDOCODIGO, DIAGRAMAS DE FLUJO Y ALGO DE C

ProblemaRealizar un algoritmo que solicite al usuario

dos números enteros, realice su suma y la imprima en pantalla.

PSEUDOCODIGO, DIAGRAMAS DE FLUJO Y ALGO DE C

• Solución : ANALISIS– Datos de entrada: Los dos números

(necesito dos variables para llevarlos. Bauticémoslas como 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.

PSEUDOCODIGO, DIAGRAMAS DE FLUJO Y ALGO DE C

Desarrollar Diagrama Flujo

• Todo lo anterior esta bien, pero a la hora de la verdad eso no entiende el computador como llevarlo a cabo.

• Lenguajes de alto nivel (Lenguaje C).

PSEUDOCODIGO, DIAGRAMAS DE FLUJO Y ALGO DE C

Computadora mata a Flanders

???????

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

INTRUCCION AL LENGUAJE CPlantilla básica de un programa en C

INTRUCCION AL LENGUAJE CEsto nos lleva a la siguiente conclusionalgoritmo (nombre_algoritmo)variables: tipo_1: lista_variables_1 tipo_2: lista_variables_2 . . . tipo_N: lista_variables_Nconstantes: lista_identificadores = valorINICIO sentencia_1 sentencia_2 . . . sentencia_NFIN_INICIOfin(nombre_algoritmo)

#include <librerias_del_sistema>#include “librerias_propias”

variables_globales;

int main() { variables_locales; sentencia_1; sentencia_2; . . . sentencia_N;Return 0;}

MANEJO DE VARIABLES Variables: Existen tres tipos de datos básicos; los enteros,

los números de coma flotante (reales) y caracteres. C cuenta con varias clases de tipos de datos

fundamentales: enteros, caracteres y datos de coma flotante.

floatdouble

int

charalfanuméricas

Enteras

Reales

Variables en C (Tipos de datos)

Variables Pseudocódigo

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;

SOBRE LOS NOMBRES DE LAS VARIABLES• Identificadores: Nombres que se le dan a las constantes o variables.

Declaración errónea de las variables

Declaración correcta de las variables

#define M 10#define N 10. /* Es un double */#define PI 3.14159265 /* double */#define PIf 3.14159265f /* float */#define A -1.2345e-17 /* double en notación científica */#define salto_de_linea '\n'#define HOLA "HOLA"

EJEMPLO CONSTANTES

#include <stdio.h>#define PI 3.1416main () {printf( "\n El numero PI vale: %f”, PI);}

RECORDERIS TIPOS FUNDAMENTALES DE DATOS• 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

IMPRIMIENDO VARIABLES EN PANTALLA - ASPECTOS BASICOS (1)Como hemos visto ya hemos trabajado con algunos de los diferentes tipos de datos que C nos brinda pero aun no tenemos manera de ver que valor tienen pues no las hemos desplegado en pantalla.

C proporciona varias funciones para imprimir datos en pantalla, por ahora solo nos vamos a centrar en la función printf la cual es una de las implementaciones en C de la función ESCRIBA (vista antes por nosotros en Pseudocódigo).

IMPRIMIENDO VARIABLES EN PANTALLA – ASPECTOS BASICOS (2)

ESCRIBA(‘cadena1’,…,’cadenaN’,var1,var2,…,varN);

printf(“cadena_de_control_y_formato”, <dato1,dato2,. . .,datoN>);

• Cadena de control: Contiene los datos y la forma de mostrarlos. Es lo que va entre comillas.• Datos (dato1, dato2,…,datoN): Variables, constantes o en general expresiones de salida.

Ejemplo simple :printf("Hola Mundo");printf("Función printf, para mostrar información en pantalla");

IMPRIMIENDO VARIABLES EN PANTALLA - ASPECTOS BASICOS (3)

Para imprimir variables en pantalla usando la función printf, cada tipo de dato tiene su especificador de control, la siguiente tabla muestra los especificadores básicos

Especificador

Significado

%d Usado para imprimir un valor entero en decimal

%f Usado para imprimir un valor reales

%n.d f Usado para imprimir un valor reales con n dígitos enteros y d dígitos decimales

%u Permite imprimir valores enteros sin signo

%c Usado para imprimir caracteres sencillos

%s Usado para imprimir cadenas de caracteres

printf("El número entero es %d y el número flotante es %f",numeroEntero,numeroFlotante);printf("La letra que falta sera %c",letra);

Tipos de Caracteres:Alfabéticos: a ... z, A ... ZNuméricos: 0 ... 9

Especiales: +, -, *, /, <, ... incluyendo los caracteres no imprimibles (retorno de carro, fin de cadena,...).

\n Nueva línea\t Tabulado\b Retroceso\r Retorno de carro\f Salto de página\\ Contrabarra\‘ Apóstrofe (comilla simple)\“ Comillas

MANEJO DE VARIABLES – ¿COMO ENTRAR INGRESAR VALORES A LAS VARIABLES?

¿Ahora entramos en el caso opuesto como puedo yo como usuario y no como programador asignar el valor a una variable, es decir como llevo un valor ingresado por teclado a una variable?

Al igual que en el caso escriba, C proporciona varias funciones para la entrada de datos. Una de las funciones de C que implementa la función LEA (implementada en Pseudocódigo) es la función scanf.

ASPECTOS BASICOS DE LA ENTRADA EN C

LEA(var1,var2,…,varN);

scanf(“especificacion_de_formato”, <<&>dato1,<&>dato2,. . .,<&>datoN>);

• Especificación de formato: Contiene caracteres de control asociados a las variables a las cuales serán los datos llevados.• Datos (dato1, dato2,…,datoN): Variables, en las cuales seran almacenados los datos ingresados desde el teclado.

scanf("%d",&numeroEntero);scanf("%f",&numeroFlotante);scanf("%c",&letra);

Ejemplo :

#include <stdio.h>   int main() { int a; float b;  printf( "Introduce los datos: " ); scanf( "%i %f", &a, &b ); printf( "\nHas introducido el entero %i y el flotante %f.\n", a, b ); return 0; }

Utilizando solo las técnicas que aprendió en este capitulo, escriba un programa que calcule los cuadrados y cubos de los números enteros del 0 al 10, y que imprima los valores resultantes en formato de tabla

Escriba un programa que reciba como entrada un numero entero de cinco digitos, que separe ese numero en sus digitosindividuales y los imprima, cada uno separado de los demas por tres espacios. [Sugerencia: use los operadores de division entera y modulo.] Por ejemplo, si el usuario escribe el numero 42339, el programa debe imprimir:4 2 3 3 9

Ejercicios: Desarrollar Pseudocodigo, diagrama flujo y Programa en C

* Ejercicios 1-4 de Diapositiva anterir

¿Qué se imprime (si acaso) cuando se ejecuta cada una de las siguientes instrucciones de C++? Si no se imprime nada,entonces responda “nada”. Suponga que x = 2 y y = 3.a) cout << x;b) cout << x + x;c) cout << "x=" ;d) cout << "x = " << x;e) cout << x + y << " = " << y + x;f) z = x + y;g) cin >> x >> y;h) // cout << "x + y = " << x + y;i) cout << "\n";