U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.

Slides:



Advertisements
Presentaciones similares
Capítulo 2 Algoritmos.
Advertisements

Curso de java básico (scjp)
Lenguaje C++.
Estrella 0 - Fundamentos de la Programación
Pippy (Python para niños)‏ 1.
Metodología de la Programación
Fundamentos de la Programación Estructurada
Programación I Teoría I
Técnico en programación de Software
Introducción a la Estadística Informática
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Tema 2: Lenguaje PHP básico
1.2 Sintaxis del lenguaje Java.
Introducción al Lenguaje C (ANSI)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
Conceptos Básicos de Java
Funciones en lenguaje C
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Estructuras de Control Iterativas
Fundamentos de Programación
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
PRINCIPIOS DE PROGRAMACION ESTRUCTURADA
3.1 Declaración de tablas en C
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Sintaxis de C# (Declaraciones y Tipos)
Programación en Pascal
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Teoría – Alejandro Gonzalez
VBA – Elementos del Lenguaje
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
UNIDAD 7.
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
PRINCIPIOS DE PROGRAMACIÓN
TIPOS DE DATOS.

Presente un cuestionario con los aspectos mas importantes sobre los
“variables , sentencia if y bucles”
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Práctica Profesional PHP.
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
Programación de Computadores
Conceptos y Lenguaje Imperativo
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
U11: Recursividad Otra manera de hacer bucles Dicen algunos pedagogos que conceptualmente mas sencilla.
U8 Repetición controlada por expresión lógica y cadenas 1 Flexibilidad.
Cobol C Pascal Fortran 2. OBJETOS DE DATOS SmallTalk Java C++
Resolución de problemas con Python
U3 Subprogramación 1 Probablemente el tema mas importante del curso ¡¡¡A por el reuso!!!
U9 Estructuras: Agrupación de elementos de distinto tipo 1 Barajar complejidad.
U10 ¡¡¡¡YA TENEMOS TODOS LOS RECURSOS!!!! ¡¡A JUGAR!!
U5 tipos de datos secuencias y bucle definido 1 ¡¡¡¡Abstracción!!!!
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
Algoritmos y Programación. Objetivos de Aprendizaje: Al finalizar esta unidad ud. debe estar en la capacidad de: Definir el propósito y el contenido de.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Paso de parámetros Diseño de programas iterativos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 7 Versión.
Transcripción de la presentación:

U2 Tipos de datos, referenciación y errores 1

Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución Subprogramación procedimiento asignación/ referencia barajar complejidad Llamada procedimiento Proceso while for Do while hacer if c: bloque1 [ else: bloque2] n bucles 0 o 1 alternativas 1 o n 0 o n iterativo 1 n conocido recursivo n desconocido case gestión excepciones función 2 Disponible en todos los lenguajes Frecuente en otros lenguajes y no disponible en Python Disponible en Python, no frecuente en otros lenguajes compuesto arreglo Lista/tupla Estructura tuplaNombre /record/clase fichero cadena

Datos problema compuesto arreglo Lista/tupla Estructura tuplaNombre /record/clase fichero cadena Ingeniero = Oreja+catalejo modelo ordenador solución Subprogramación procedimiento asignación/ referencia barajar complejidad Llamada procedimiento Proceso while for Do while hacer if c: bloque1 [ else: bloque2] n bucles 0 o 1 alternativas 1 o n 0 o n iterativo 1 n conocido recursivo n desconocido case gestión excepciones función 3 simple enteroreal carácter booleano

¿Cómo almacena la información el ordenador? CU ALU RAM PI PA  bit Se almacena en: Secuencia de bits De tamaño concreto CODIGO  Dominio NO INFINITO Enteros: complementario a 2 Reales: IEEE 754 Char en Python UTF8=16 bits  0   1    6    7    5   4      3  Naturales 4

Tipo de datos simple {dominio} Objeto dato definido sobre un dominio, y sus operaciones tipoobjetodominiooperaciones mes7={1,2,3,4….12}siguiente, anterior, número_días diaSemanamartes{lunes,…domingo}siguiente, anterior, ¿laborable? sueldo1275,43salarioMinimo<=s<= ,-,*,%....¿cobrado?... ComponenteColor1450<=componenteColor<=255+,-,maximizar, anular… {dominio} Tipo de datos compuesto Conjunto de objetos dato, potencialmente de distinto tipo con sus operaciones Ej: fecha, aula, color(RGB) Cada elemento conserva sus operaciones 5

Tipos básicos en el ordenador 6 Datos compuestosimple enteroreal carácter booleano Función type Operaciones Promoción implicita Cambio explícito de tipo int, float, string Dominio: 100/3.0; 1.e Operadores de comparación Concatenación de operaciones ; 2<3<5 cadena

7 Tipos básicos: Precedencia numéricos PrecedenciaOperaciónResultado 1 -xCambio de signo 1 +xOperador identidad (no hace nada) 2 x + ySuma x e y 2 x - yResta de x y 3 x * yMultiplica x por y 3 x / yDivisión real 3 x // yDivisión entera 3 x % yResto de la división entera de x/y 4 x ** yx elevado a y3*2**3+4=28 5 (Expresión)Paréntesis: fuerza el orden ejecución(2+3)*5= =10 ; 2+3*5= ? OJO! 6/2*3 != 6/2/3

8 Tipos básicos: Precedencia booleanos PrecedenciaOperaciónNombreResultado 1x or yDisyunciónTrue solo si alguno de los operandos es True 2x and yConjunciónTrue solo si ambos operandos son true 3not xNegaciónTrue si x era False y viceversa Evaluación perezosa: V or cualquierCosa /F and cualquierCosa

Acercamiento al humano: 9 Hardware Lenguaje Máquina Lenguaje Ensamblador Lenguajes procedimentales C, Fortran, COBOL Lenguajes Orientados a objetos Java,C++,Python Lenguajes declarativos Haskell, ML, Prolog Razonamiento humano ??? Ya desde ensamblador: a) nombre simbólico a las posiciones de memoria  variable+constante literal b) Nombre simbólico s las macros (secuencia de instrucciones)  subprogramación identificadores

Asignación versus Referenciación otros lenguajes Python a b a =b 2 1 a a =2 b=1 a =2 b=1 a =b a =b 1 Se ha perdido a =b a b b Asignación produce una copia  son posiciones independientes Referenciación es un pseudónimo  son la misma posición Pero… parece que llegamos a lo mismo.

Implicaciones: a)Piensa en un “dato compuesto”, por ejemplo, y que se pueda modificar uno de sus componentes sin re- asignar/re-referenciar el “dato compuesto” b b = [1,2,3,4] 1234 b a =b a 1234 a [1]=8 b a 1834 b = [1,2,3,4] a =b a [1]=8 Asignación : son posiciones independientes  no afecta a b Referenciación: son 2 nombres para la misma posición  b[1]=8  efecto lateral 11 Los tipos de datos compuestos, para los que Python da servicio de modificar elementos individuales, sin re-referenciar el dato completo, les llama mutables. Los tipos que sólo pueden cambiar su valor con referenciación los llama inmutables Asignación versus Referenciación otros lenguajes Python

12 Implicaciones: b) intercambiar los valores de las variables 2 1 a b 2 1 b a a,b=b,a ¿algoritmo? Referenciación: muy fácil Asignación: Escribe el algoritmo, piénsalo con vasos Asignación versus Referenciación otros lenguajes Python

Expresión Definiciones por intensión/extensión 13