Tema 2: Elementos básicos de un programa · 2013-07-10 · Tema 2: Elementos básicos de un...
Transcript of Tema 2: Elementos básicos de un programa · 2013-07-10 · Tema 2: Elementos básicos de un...
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