Tipos de datos y Operadores Básicos

Documentos relacionados
Elementos de un programa en C

Datos y tipos de datos

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

El lenguaje C. 1. Identificadores, constantes y variables

Principios de Computadoras II

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Programación en java. Estructuras algorítmicas

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Datos y tipos de datos

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Curso de Programación Avanzada en C

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Ficha de Aprendizaje N 13

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Curso de Programación en C. Licenciatura, FCQeI. APUNTADORES.

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN

Laboratorio de Arquitectura de Redes. Punteros en lenguaje C

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Tema 2. El lenguaje JAVA

Representación de la Información

Expresiones y sentencias

2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA

OPERADORES Y EXPRESIONES

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Apuntadores (Punteros)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Programación Estructurada

Tema 3 Elementos básicos de programación

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

LENGUAJE. Tema 2 Elementos de un programa

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Informática Básica: Representación de la información

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Fundamentos de programación

Aritmética de Enteros

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Introducción a la programación

1 Estructura básica de un programa C++

INTRODUCCIÓN A LA PROGRAMACIÓN EN FORTRAN. Métodos Numéricos Carlos Zotelo

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

FUNCIONAMIENTO DIGITAL DE UN SISTEMA. EL SISTEMA BINARIO. Sistema Digital. Fr. Casares. Sistema Digital. Sistema Digital

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Conectados con el pasado, proyectados hacia el futuro Plan Anual de Matemática II Año PAI VII Grado

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Sistemas de Numeración Operaciones - Códigos

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CENTRO UNIVERSITARIO MONTEJO A.C. SECUNDARIA Temario Matemáticas 1

Representación de la información

Elementos léxicos del lenguaje de programación C

VARIABLES Y CONSTANTES

Práctica de constantes, expresiones y operadores. Programación en C 1

Organización del Computador. Prof. Angela Di Serio

ELO311 Estructuras de Computadores Digitales. Números

Tema 2. Sistemas de representación de la información

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

TEMA 1 Representación de la información

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Definición de Memoria

Java para programadores

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 1 CONJUNTOS NUMÉRICOS

Programación orientada a objetos. Resumen de Temas Unidad 4: Sobrecarga

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

1 ELEMENTOS BASICOS DEL LENGUAJE

Tema 2. El lenguaje de programación Java (Parte 1)

Programación estructurada (Introducción a lenguaje C)

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Estructura de Datos. Unidad I Tipos de Datos

Computación II. Introducción a Visual Basic

Sistemas de numeración, operaciones y códigos.

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Numeración Maya. Numeración indo-arábiga. Sistemas de Numeración Posicional. Conversión de una base cualquiera a base 10 = 4! !

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.


PRÁCTICA MANEJO INTERNO DE DATOS

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Representación de números enteros: el convenio exceso Z

Ejercicios Representación de la información

TEMA 2 REPRESENTACIÓN BINARIA

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Profesor(a): M. A. Zeferino Galarza Hernández

TEMA 4. ESTRUCTURAS DE CONTROL

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

Representación de la Información en los Sistemas Digitales

4. Operadores Operador asignación

Resolución de problemas mediante algoritmos

Variables. Profesor Leonardo Carámbula - Programación III EMT I.S.B.O.

Computación I Representación Interna Curso 2011

Transcripción:

Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático? Tema 5. Tipos de datos y operadores básicosb Tema 6. Sentencias de Control Tipos de datos y Operadores Básicos Fundamentos de la Programación Tema 5 Conocimientos y Habilidades Después de este tema, el alumno debería ser capaz de: Problema Conocer los tipos de datos básicos y su representación interna Conocer las características de las variables y las constantes Conocer el uso de los operadores Saber evaluar expresiones de distintos tipos Calcular la distancia en línea recta entre dos puntos de un plano Fundamentos de la Programación - 2005/06 1

Resolución de Problemas 1. Establecer el problema con claridad 2. Describir la información de entrada y salida 3. Hacer el problema a mano, para un caso sencillo 4. Desarrollar una solución y convertirla a un programa de ordenador 5. Comprobar la solución con varios conjuntos de datos 1. Enunciar el problema Calcular la distancia en línea recta entre dos puntos de un plano 2. Descripción de E/S El segundo paso es describir cuidadosamente: 1. la información que se proporciona para resolver el problema 2. Identificar los valores a calcular Entrada (Input) Salida (Output) 3. Ejemplo a mano El tercer paso es hacer el problema a mano (o con calculadora) usando un pequeño conjunto de datos No se debe pasar al siguiente paso hasta que este no esté completo Punto 1 Punto 2 Distancia entre puntos Diagrama E/S (I/O) Diagrama E/S (I/O) Fundamentos de la Programación - 2005/06 2

y Distancia entre dos puntos distancia (1,1) lado1 (4,3) lado2 p1 = ( 1,1); p2 = (4,3) x dis tan cia = = = = = 3.61 2 ( lado ) + ( lado ) 2 ( 4 1) + ( 3 1) 13 = 1 2 2 2 = = 4. Desarrollo del algoritmo Se descompone en problema en pasos: 1. Dar valores a los dos puntos 2. Calcular la distancia de los dos lados del triángulo rectángulo generado por los dos puntos 3. Calcular la distancia entre los dos puntos, que es igual a la hipotenusa del triángulo 4. Imprimir la distancia entre los dos puntos Qué necesitamos almacenar? Para que la solución sirva para cualquier pareja de puntos, necesitamos algo que nos permita almacenar diferentes valores: variable Constantes: PI, 3.14159 Números o Enteros (coordenadas, ) o Reales (coordenadas, distancia,...) Caracteres Tipos de datos en C: Variables Constantes Fundamentos de la Programación - 2005/06 3

Qué necesitamos representar? Fórmulas Otras expresiones matemáticas Tipos de dato Constantes: mantienen su valor durante todo el programa Operadores en C Variables: pueden modificar su valor en algún momento de la ejecución del programa Expresiones en C Resumen de tipos de datos Qué es una variable? Fundamentos de la Programación - 2005/06 4

La despensa del cocinero La 'despensa' del ordenador Una variable es una posición de memoria a la que se asigna un identificador, y puede almacenar un dato Dirección de memoria Valor almacenado Qué es una variable? Registro en memoria etiquetado con un nombre (identificador) A toda variable que se use en un programa, se le asocia (generalmente al principio del programa) un tipo de dato específico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa y a lo largo de toda la vida útil del propio programa. Variables Almacena un valor de un cierto tipo de dato El dato puede ser modificado ( es variable!) El nombre (etiqueta) ha de ser un identificador válido (carácter alfanumérico ó _ ) salario dia_de_la_semana 4oros edad_alumno _fax Fundamentos de la Programación - 2005/06 5

Declaración de variables Es una sentencia que proporciona información sobre la variable: <tipo> <nombre_variable>; Ejemplos: long dnumero; double HorasAcumuladas; float HorasPorSemana; Sólo se pueden definir al principio de un archivo o bloque de código, SIEMPRE ANTES DE CUALQUIER SENTENCIA Algunos operadores Operadores básicos Operadores aritméticos Asignación Monarios Signo negativo - Aritméticos Incremento Decremento ++ -- Operador de tamaño Binarios Suma Resta + - Operador de dirección, & Multiplicación División * / Módulo % Fundamentos de la Programación - 2005/06 6

Operadores de asignación Operación: cargar una variable con el valor de una expresión Tipos: o Simple o Compuesto Operador de asignación simple Utiliza el símbolo = Formato Variable = expresión; La variable situada a la izquierda se cargará con el valor resultante de la expresión situada a su derecha Ejemplos Media = 3.2; Media = suma / num; Operador de asignación compuesto Utiliza dos símbolos: = + - / % << >> & ^ Formato Variable Simbolo_op = Expresión; Equivale a Variable = variable Simbolo_op Expresión; Operador de asignación compuesto Ejemplo total /= importe + 100; equivale a total = total / (importe + 100); Ejemplo resul *= num 10; equivale a resul = resul * (num -10); Fundamentos de la Programación - 2005/06 7

Operador de tamaño Se utiliza para: obtener la longitud en bytes de una variable o de un especificador de tipo de dato. Emplea la palabra reservada sizeof Ejemplo sizeof(float) /* tamaño tipo float */ sizeof cant /* tamaño variable cant */ Operador dirección de (&) Obtiene la dirección de memoria donde está ubicada una variable Ejemplo int total; &total; /* direccion de la variable total*/ Operador coma Separa dos expresiones dentro de una expresión total Ejemplo: int a, b; float x=0, y=4; Inicialización de variables En la inicialización se le asigna un valor inicial a la variable Las variables se pueden inicializar: o A la vez que se declaran <tipo> <nombre_variable> = <valor inicial>; o Después de la declaración char barra;... barra = 'S'; Fundamentos de la Programación - 2005/06 8

Datos básicos Numérico entero Numéricos o Enteros o Reales Carácter o Simple o Cadena Representación interna con signo Enteros positivos 27 0 0011011 Enteros negativos (complemento a 2) -27 1 1100101 Bit de signo Variables enteras con signo Declaración de enteros con signo char 00101101 short 00000000 00101101 int 00000000 00000000 00000000 00101101 1 byte 2 bytes 4 bytes o char caracter; o short int entero_corto; o int entero; Inicializando: o char carácter=12; o short int entero_corto=24; o int entero=-14; Fundamentos de la Programación - 2005/06 9

Numérico entero Variables enteras sin signo Números enteros con signo o sin signo: o -47, 1025, +9 Representación interna sin signo 45 00101101 unsigned char 00101101 unsigned short 00000000 00101101 unsigned int 00000000 00000000 00000000 00101101 1 byte 2 bytes 4 bytes Declaración de enteros sin signo o unsigned char caracter; o unsigned short int entero_corto; o unsigned int entero; Inicializando: o unsigned char caracter=12; o unsigned short int entero_corto=24; o unsigned int entero=14; Numérico real Se emplea para representar: o Números con parte decimal o Números muy pequeños o Números muy grandes Notaciones: o Punto decimal: -82.75 470.05 o Científica/exponencial: mantisaecaracterística Fundamentos de la Programación - 2005/06 10

Numérico real: cíentífica Número = mantisa * Base exponente Mantisa: número real Característica: exponente Ejemplos: Numérico real: cíentífica Base Exponente Mantisa Estándar IEEE 2 Exceso a 2 n-1-1 binario puro Para simple precisión (32 bits) Para doble precisión (64 bits) 2.5E3-0.75E-2 Equivale a Equivale a 2.5 x 10 3-0.75 x 10-2 Signo Exponente Mantisa 1 bit (posición 31) 8 bits (posiciones 23 a 30) 23 bits (posiciones 0 a 22) Signo Exponente Mantisa 1 bit (posición 63) 11 bits (posiciones 52 a 62) 52 bits (posiciones 0 a 51) Ejemplo not. científica Número: 324757 Binario: 1001111010010010101 Formato exponencial: 1.001111010010010101 x 2 18 Signo: 0 Característica: 127 + 18 = 145 (10010001) Mantisa fraccionaria: 00111101001001010100000 Ejemplo not. científica 324757 0 10010001 00111101001001010100000 Signo Exponente Mantisa 010010001 00111101001001010100000 0x489E92A0 Fundamentos de la Programación - 2005/06 11

Variables reales float: simple precisión (4 bytes) double: doble precisión (8 bytes) long double: doble precisión (8 bytes) Carácter Caracteres dígitos: 5, 1 Caracteres alfabéticos: H, p Caracteres especiales:?, + también utiliza char también utiliza char Carácter: código ASCII Resumen de tipos de datos ASCII: American Standard Code for Information Interchange Carácter Código ASCII Representación interna 'A' 65 01000001 '9' 57 00111001 (2) '{' 123 01111011 void: crea una variable sin tipo definido unsigned: permite crear tipos sin signo (sólo para enteros) *: son objetos Fundamentos de la Programación - 2005/06 12

Rango de tipos de dato Tipo Datos almacenados Bits Con signo -2 n-1, 2 n-1-1 Sin signo 0, 2 n -1 char Caracteres 8-128 a 127 0 a 255 short int long Entero corto enteros enteros largos 16 32 32-32.768, 32.767-2.147.483.648, 2.147.483.647-2.147.483.647, 2.147.483.647 0, 65535 0, 4.294.967.295 0, 4.294.967.295 Constantes float Nums. reales (coma flotante) 32-3.4x10 +38, 3.4x 10 +38 double Nums. reales (doble precisión) 64-1.7 10 +308, 1.7 10 +308 Constantes literales Constantes enteras Constantes reales Constantes literales Constantes enteras No utilizar signos de puntuación: 123456 Constantes carácter Constantes cadena Tipo long: Tipo unsigned Formato decimal Formato octal Formato hexadecimal 1024L 4352U 123 0777 0xFF3A Fundamentos de la Programación - 2005/06 13

Constantes literales Constantes reales o Notación en coma flotante: 3.14159 o Notación exponencial: 4.5E4, -3.2E-5 45000, -0.000032 Constantes carácter o Es un carácter ASCII encerrado entre comillas simples 'A' 'b' 'c' '5' Constantes literales Constantes cadena Secuencia de caracteres encerrados entre comillas dobles "123" "12 de octubre 1492" "esto es una cadena" Se representan como una serie de caracteres ASCII más un carácter nulo (\0) Una constante de carácter se encierra entre comillas simples, y las constantes de cadena se encierran entre dobles comillas 'z' 'z' es distinto de "z" Constantes Definidas (Simbólicas) Las constantes pueden recibir nombres simbólicos En C: #define PI 3.141592 #define AVOGADRO 6.023e23 Solución final Fundamentos de la Programación - 2005/06 14

Función scanf() /*--------------------------------------- Programa Programa 1 tema tema 5 Este Este programa programa calcula calcula la la distancia distancia entre entre dos dos puntos. puntos. ----------------------------------------*/ #include #include <stdio.h> <stdio.h> Permite introducir valores por teclado #include #include <math.h> <math.h> Ejemplo: scanf("%d", &x); int int main(void) main(void) { /* /* Declaro Declaro e inicializo inicializo variables variables */ */ double double x1=1, x1=1, y1=5, y1=5, x2=4, x2=4, y2=7; y2=7; double double lado1, lado1, lado2, lado2, distancia; distancia; /* /* Calculo Calculo lados lados del del triangulo triangulo */ */ lado1 lado1 = x2 x2 - x1; x1; lado2 lado2 = y2 y2 - y1; y1; distancia distancia = sqrt(lado1*lado1 + lado2*lado2); lado2*lado2); /* /* Muestro Muestro distancia distancia */ */ printf("la printf("la distancia distancia entre entre los los dos dos puntos puntos es es " "%5.2f "%5.2f \n", \n", distancia); distancia); /* /* finalizo finalizo el el programa programa */ */ return return 0; 0; } El primer argumento es una cadena de control que especifica los tipos de las variables que se van a introducir por teclado Los restantes argumentos son posiciones de memoria que corresponden a los especificadores de la cadena de control Función scanf() Deberes (por parejas) scanf("%lf %c", &distancia, &longitud); Lee dos valores por teclado (separados al menos por un espacio) y los convierte en un valor doble y en un valor carácter respectivamente. Ejercicio: Cómo se debe modificar la solución obtenida para cualquier pareja de puntos? 1. Escribe un programa para convertir euros a pesetas y viceversa 2. Escribe un programa que calcule el área de la superficie de una esfera de radio r Fundamentos de la Programación - 2005/06 15

Próximamente... Sentencias de Control Fundamentos de la Programación - 2005/06 16