31
Tema 2: Elementos básicos de un programa Tipos de datos, variables y constantes Asignación Operadores y expresiones

Tema 2: Elementos básicos de un programa · 2013-07-10 · Tema 2: Elementos básicos de un programa Tipos de datos, variables y constantes Asignación Operadores y expresiones

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Tema 2: Elementos básicos de un programa

Tipos de datos, variables y constantes

Asignación

Operadores y expresiones

Fundamentos de Informática. DSIC/UPV 2

Ejemplo de programa

Dados dos números, leídos desde el teclado, visualizar el mayor#include <stdio.h>

main()

{

int primer_numero, segundo_numero;

/* Declaracion de variables */scanf(" %d ",&primer_numero);

scanf(" %d ",&segundo_numero);

/* leer dos valores por teclado */if (primer_numero>segundo_numero)

printf("%d",primer_numero);

else

printf("%d",segundo_numero);

/* Imprimir por pantalla el valor correcto */

}

Fundamentos de Informática. DSIC/UPV 3

Ejemplo de programa

Instrucciones en su versión básica:

-scanf; para poder pasar datos al programa desde el teclado.

-printf: para poder escribir resultados desde el programa a la pantalla

-if…else: Para hacer una cosa u otra, dependiendo de una condición.

(Todas estas instrucciones se explicarán con mas detalle mas adelante).

Fundamentos de Informática. DSIC/UPV 4

Tema 2: Elementos básicos de un programa

• Representación de la información

– Prácticamente toda la información se representa con

letras y números.

– Necesitamos poder guardar esa información y

manejarla dentro de un programa.

– Necesitamos poder guardar:

• Caracteres (letras)

• Números enteros

• Números reales

Estos son los tipos de datos básicos que vamos a manejar en los

programas.

Fundamentos de Informática. DSIC/UPV 5

Tema 2: Elementos básicos de un programa

• Tipos de datos, variable y constantes

– Variable: Simbolo que nos permite asociar un nombre a

un almacén de información temporal en un programa.

Esta información puede variar durante la ejecución

– Constante: Lo mismo que la variable pero su contenido

permanece constante

Fundamentos de Informática. DSIC/UPV 6

Tema 2: Elementos básicos de un programa

– Tipos de datos

• Numéricos

– Enteros

– Reales

– Lógicos: Sólo pueden tomar los valores cierto y falso: 1 o 0.

• Caracteres: Valores alfanuméricos del código ASCII

– caracteres alfabéticos: (a,b,…,z,A,B,C, …,Z),

– caracteres numéricos: (1,2,…,9), y

– caracteres especiales (+,-,*,/,.,<, …), entre los cuales se

encuentran los caracteres llamados no imprimibles como el

retorno de carro, el final de cadena, etc

Fundamentos de Informática. DSIC/UPV 7

Tema 2: Elementos básicos de un programa

Ejemplos de declaración de variables:int contador

unsigned int edad

char sexo

• La declaración tiene dos funciones: reservar la memoria necesaria para la información y permitir utilizar esa información en el programa para realizar operaciones.

• Es posible dar valores iniciales a las variables en el instante de declararlas:

int i=10, maximo = 1000;

Double pi=3.1416;

Char car=„c‟;

Fundamentos de Informática. DSIC/UPV 8

Tema 2: Elementos básicos de un programa

– Constantes

• La información que tiene una constante no varía, por lo que se suelen utilizar para definir valores que se repiten a lo lago del programa

Ejemplo:

#define PI 3.1415927

int main()

{

int a,r;

r=5;

a=2*PI*5;

}

Fundamentos de Informática. DSIC/UPV 9

La instrucción de asignación

-La asignación es una operación fundamental,

permite guardar el resultado de operaciones en

variables

Parece igualdad matemática, pero no lo es:

A=5 Asignación correcta

A=A+1 Asignación correcta

5=A Asignación INCORRECTA

variable = expresion;

Fundamentos de Informática. DSIC/UPV 10

La instrucción de asignación

main()

{

int A;

A = 25;

A = 134;

A = 5;

}

vacío

vacío

vacío

A

Nombres

de variable.

Contenido de las

variables

Fundamentos de Informática. DSIC/UPV 11

La instrucción de asignación

main()

{

int A;

A = 25;

A = 134;

A = 5;

}

vacío

25

vacío

A

Nombres

de variable.

Contenido de las

variables

Fundamentos de Informática. DSIC/UPV 12

La instrucción de asignación

main()

{

int A;

A = 25;

A = 134;

A = 5;

}

vacío

134

vacío

A

Nombres

de variable.

Contenido de las

variables

Fundamentos de Informática. DSIC/UPV 13

La instrucción de asignación

main()

{

int A;

A = 25;

A = 134;

A = 5;

}

vacío

5

vacío

A

Nombres

de variable.

Contenido de las

variables

La asignación se puede combinar con expresiones y operadores

Fundamentos de Informática. DSIC/UPV 14

La instrucción de asignación

main()

{

int A,B;

A = 25;

B = 7;

...?

}

Ejercicio: Como intercambiar el valor de dos variables

Fundamentos de Informática. DSIC/UPV 15

La instrucción de asignación

main()

{

int A,B,AUX;

A = 25;

B = 7;

AUX = B;

B = A;

A = AUX;

}

Programa correcto

Traza de un programa:

Ejecutarlo manualmente,

comprobando cual es el

valor de cada variable

despues de cada

instrucción.

Fundamentos de Informática. DSIC/UPV 16

Tema 2: Elementos básicos de un programa

• Operadores y expresiones

– Operador: Símbolo que se asocia a una determinada

operación básica que se realiza con los datos en algún

punto del programa

– Expresión: Combinación de variables, constantes,

operadores, paréntesis y nombres de función escritas en

un determinado orden que tiene la propiedad de ser

evaluada y obtener un valor

Fundamentos de Informática. DSIC/UPV 17

OPERADORES ARITMÉTICOS

– Signo negativo (-): Ejemplo: int i = -10;

– Incremento (++): Se utiliza para aumentar el valor de su operandoen una unidad.

Ejemplo:

int i = 0 ; i++;

/* La variable "i" contiene el valor +1 después de esta instrucción */

– Decremento (--): Se utiliza para disminuir el valor de su operandoen una unidad.

Ejemplo: int i = 0 ; i--;

/* La variable "i" contiene el valor -1 después de esta instrucción */

Fundamentos de Informática. DSIC/UPV 18

OPERADORES ARITMÉTICOS

Binarios: Necesitan dos valores numéricos para realizar la operación.» Suma (+), Resta (-),Multiplicación (*)

» División (/): Dependiendo del tipo de datos (entero/real) la división obtendrá decimales o no.

Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j/k;

/* La variable "k" contiene la división entera de los valores contenidos en las variables "j" y "k", es decir 10/7=1, después de esta instrucción

» Resto módulo (%): Se utiliza para obtener el resto de la división entera dos valores numéricos. Los operandos deben ser necesariamente números enteros.

Ejemplo: int i = 0 ; j=10 ; k = 7 ; i=j+k;

/* La variable "k" contiene el resto de dividir de los valores contenidos en las variables "j" y "k", es decir resto(10/7)=3, después de esta instrucción */

Fundamentos de Informática. DSIC/UPV 19

OPERADORES RELACIONALES

• Operadores relacionales: Sirven para realizar

comparaciones sencillas entre valores, el resultado

será un valor lógico

Menor que (<), Mayor que (>), Menor o igual que

(<=), Mayor o igual que (>=):

Ejemplo: int i = 7 ; j=10 ;

if i<j printf(“i es menor que j”); else printf(“j es menor que i”);

Fundamentos de Informática. DSIC/UPV 20

Igual (= =): Devuelve verdadero si el primer operando es estríctamente igual que el segundo operando.Ejemplo: int i = 7 ; j=10 ;

if i = = j printf(“i es igual a j”);

else printf(“i es distinto de j”);

Distinto (! =): Devuelve verdadero si el primer operando es estríctamente distinto del segundo operando.Ejemplo: int i = 7 ; j=10 ;

if i != j printf(“i es distinto de j”);

else printf(“i es igual a j”);

OPERADORES RELACIONALES

Fundamentos de Informática. DSIC/UPV 21

• Operadores lógicos: permiten realizar expresiones

relacionales o lógicas más complejas

– Y (&&): Indica que se deben cumplir simultáneamente

(a la vez) las dos condiciones o expresiones lógicas que

se proporcionan como operandos.

Ejemplo: int i = 7 ; j=10 ; k=15;

if (i < j) && (i < k) printf(“i es menor que ambas j,k”);

else printf(“i no es menor que ambas j,k”);

OPERADORES LÓGICOS

Fundamentos de Informática. DSIC/UPV 22

• Operadores lógicos: permiten realizar expresiones

relacionales o lógicas más complejas

– O (||): Indica que se deben cumplir al menos una de las

dos condiciones o expresiones lógicas que se

proporcionan como operandos.

if (i < j) || (i < k) printf(“i es menor que j o k”);

else printf(“i es menor que ambas j,k”);

OPERADORES LÓGICOS

Fundamentos de Informática. DSIC/UPV 23

• Operadores lógicos: permiten realizar expresiones

relacionales o lógicas más complejas

• NO (!): Este operador necesita un único operando y

su efecto es negar la condición que representa dicho

operando.

Ejemplo: int i = 7 ; j=10 ;

if ! (i < j) printf(“i no es menor que j”);

else printf(“i es menor que j”);

OPERADORES LÓGICOS

Fundamentos de Informática. DSIC/UPV 24

Expresiones

– Expresiones: En general, una variable, constante, valor

numérico, etc. es una expresión por sí misma, aunque

eso sí, muy sencilla. Lo importante de la expresión es

que puede ser evaluada y por lo tanto su resultado será

de un tipo de datos determinado

Fundamentos de Informática. DSIC/UPV 25

Expresión Resultado Expresión Resultado

4 / 8 0 7 + 2.3 9.3

3.2 / 0.4 8.0 7 % 2 1

4.0 / 8.0 0.5 6.0 / 2.0 3.0

30 / 30 1 11 / -3 -3

-11 / 3 -3 11 % -3 2

-11 % 3 -2 4.5 - 0.66 3.84

Expresiones Aritméticas

Fundamentos de Informática. DSIC/UPV 26

Expresión Resultado Expresión Resultado

4 / 8 0 7 + 2.3 9.3

3.2 / 0.4 8.0 7 % 2 1

4.0 / 8.0 0.5 6.0 / 2.0 3.0

30 / 30 1 11 / -3 -3

-11 / 3 -3 11 % -3 2

-11 % 3 -2 4.5 - 0.66 3.84

Fundamentos de Informática. DSIC/UPV 27

Expresiones relacionales

Expresión Resultado Expresión Resultado

1 < 2 1 12.5 < 10 0

(1 + 2) >= 3 1 2 == 2 1

(2+3) > (1+5) 0 6.3 < 3 0

„A‟ < „B‟ 1 „c‟ != „C‟ 1

3 != 3 0 5.5 > 5 1

Fundamentos de Informática. DSIC/UPV 28

Ejemplos

Expresión Resultado Expresión Resultado

1 < 2 1 12.5 < 10 0

(1 + 2) >= 3 1 2 == 2 1

(2+3) > (1+5) 0 6.3 < 3 0

„A‟ < „B‟ 1 „c‟ != „C‟ 1

3 != 3 0 5.5 > 5 1

Fundamentos de Informática. DSIC/UPV 29

Ejemplos

Expresión Resultado Expresión Resultad

o

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0

Fundamentos de Informática. DSIC/UPV 30

Ejemplos

Expresión Resultado Expresión Resultad

o

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0

Fundamentos de Informática. DSIC/UPV 31

Ejemplos

Expresión Resultado Expresión Resultad

o

(7 >= 6) && (3 == 3) 1 (3 > 5) || (7<=10) 1

(6 >= 7) && (3 == 3) 0 (5 + 8) <= 10 0

(5.5 < 11) && (1 > 100) 0 !(7 > 5) 0

7 > 5 1 (!( 3 > 2)) || (5 > 8) 0