U5 tipos de datos secuencias y bucle definido 1 ¡¡¡¡Abstracción!!!!

Slides:



Advertisements
Presentaciones similares
Introducción a la programación (Clase 2)
Advertisements

Condicional if y switch
Estructuras de control
ESTRUCTURAS DE CONTROL
PHP. PHP (Hypertext Preprocessor) preprocesador de Hipertexto Se ejecuta en el servidor El resultado de ejecutarse es código HTML Manual oficial en
Lenguaje PHP Capítulo 4.
Pippy (Python para niños)‏ 1.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Te presento a Python Qué es Python? Lenguaje interpretado
Fundamentos de Programación
Desarrollo de Aplicaciones para Internet
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
Curso de Java Estructura del Lenguaje
Tema 1. Introducción a la programación (Lenguaje java).
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
 Funciones predefinidas en las listas Se puede definir rangos en las listas. Ejemplo: [1..10] que es la lista del 1 hasta el 10 El operador ++ concatena.
Introducción a lenguaje C
Tema 3. Optimización de Código
Tema 4: Sentencias de control
Tema 9 Estructuras.
Semana 5 Subprogramas..
Departamento de Informática Universidad Técnica Federico Santa María Capítulo 2 “Subprogramas/Funciones - Arreglos” Arreglos-Arrays.
Matrices Es una estructura homogénea, compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria A cada elemento se.
Programación II Ing. Diego J. Arcusin 8 – Perl.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Algoritmos.
Conversión cadena a número
SENTENCIAS DE CONTROL Ing. José Antonio Poma G..
Estructuras de Datos Arreglos.
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Informática Ingeniería en Electrónica y Automática Industrial
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
El Lenguaje C++. Creación de programas simples de C++ Builder como ejercicios en C++. Los elementos de control fundamentales en C++, incluyendo operadores.
Sentencias de control Ejemplos.
EXPRESIONES Y SENTENCIAS
Estructuras de Control.
Programación en C para electrónicos
Sábado (los días de la semana).
Estructuras de control condicional
El calendario. ¡Hoy es el mes de septiembre! ¿Día? …día… ¡día! DÍA.
Sesión 12: Python (3) – Estructura Decisión. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Departamento de Informática Universidad Técnica Federico Santa María Programación de Computadores IWI-131 Universidad Técnica Federico Santa María Campus.
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
Otrogar el prestamo si El pedido es menor que 100 Para importes mayores de 100 se necesita que el cliente sea mayor de 18 y tenga trabajo Para importes.
Práctica Profesional PHP.
Estructuras de Decisión
CICLOS EN C – PARTE 3.
Los días de la semana ¿Qué día es hoy?.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
U6 Ejercicios ¡¡¡¡PREPARANDO LA PEC1!!!!. ERRORES FRECUENTES EN test de 8/10/2015 Nombre de la función no muy bueno : debe ser ImprimeNombreMes o ImprimeMesEnLetra.
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.
Resolución de problemas con Python
U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.
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!!
EL PAÍS, Miércoles 1 de Junio de EL PAÍS, Jueves 2 de Junio de 2011.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
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:

U5 tipos de datos secuencias y bucle definido 1 ¡¡¡¡Abstracción!!!!

Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución asignación/ referencia Llamada procedimiento while for Do while if c: bloque1 [ else: bloque2] n bucles 0 o 1 alternativas 1 o n 0 o n iterativo n conocido recursivo n desconocido case gestión excepciones Subprogramación procedimiento barajar complejidad Proceso hacer 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 1 secuencias Pregunta 10 del test

3 Tipo de datos simple {dominio} Objeto dato definido sobre un dominio, y sus operaciones {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 arreglo Lista/tupla Estructura tuplaNombre /record/clase Todos del mismo tipo Accesibles por nombre Taller: coche1, coche2, …, cochen Aula: Alumno1, alumno2,… Farmacia: med1,med2,… Equipo deportivo: jug1,jug2,…

Secuencias: común a tuplas, listas, cadenas Creación general, vacía, unitaria Acceso a elementos: a[0..n-1]; hacia atrás a[-n..-1]; aborto i>=n, operador slice Operaciones: concatenar; is, comparación, in Funciones: len, min, max Métodos: s.index(x,[i,j]), s.count(x) 4 semana='lunes','martes','mi é rcoles','jueves','viernes','s á bado', 'domingo' laborables = semana[0:5] # ('lunes', 'martes', 'mi é rcoles', 'jueves', 'viernes') alternos2 = semana[1:5:2] #('martes', 'jueves') terribles=semana[:3] #('lunes', 'martes', 'mi é rcoles') Sonnando=semana[3:] # ('jueves', 'viernes', 's á bado', 'domingo')

Específico de listas 5 OperaciónResultado s[i] = xEl elemento i de s referencia al valor x s[i:j] = tEl trozo de s desde i hasta j sustituido por los elementos de t. len(t)=len(s[i:j] del s[i:j]Borra los elementos de s indicados. Igual que s[i:j] = [] s[i:j:k] = tLos elementos s[i:j:k] pasan a referenciar a lo referenciado por t del s[i:j:k]Elimina de la lista los elementos s[i:j:k] s.append(x)Añade elemento al final de la lista con valor x s.clear()Elimina todos los elementos de la lista s (igual que del s[:]) s.copy()Crea una copia de s (igual que s[:]) s.extend(t) Añade a s los elementos de t (igual que s += t) s *= nBorra s para n 0) s.insert(i, x)Inserta x en s en la posición i (igual que s[i:i] = [x]) s.pop(i)Devuelve el valor del elemento i y lo quita de s. i es opcional, por defecto vale -1 s.remove(x)Elimina el primer elemento de s con valor x. ValueError si no encontrado s.reverse()Invierte los elementos de s s.sort()

Esquema Agrupar+seleccionar (mas elegante que case) 6 def nombreDia(dS): """int -->str OBJ: Nombre del dia de la semana correspondiente a dS: 0=lunes,...,6=domingo PRE: 0<=dS<=6 """ if dS==0: nD = 'lunes' elif dS==1: nD = 'martes' elif dS==2: nD = 'miercoles' elif dS==3: nD = 'jueves' elif dS==4: nD = 'viernes' elif dS==5: nD = 'sabado' else: nD = 'domingo' return nD Semana = 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo' def nombreDia(dias,dS): """ OBJ: Nombre del dia de la semana correspondiente a dS: 0=lunes,...,6=domingo PRE: 0<=dS<=6 """ return dias[dS] Subprograma que devuelve el nombre del mes recibido

Ideas de uso Tuplas como salida de una función Arrays bidimensionales Secuencias paralelas 7

Bucle definido Sintaxis Esquema totalizador Simular el for de otros lenguajes con range Bucles anidados 8 for e in s: cuerpo """ ************** listar dias de la semana ******************** """ semana = 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado', 'domingo' for dia in semana: print(dia) def totalAnual(histS): """Total acumulado por el empleado cuyo histórico es histS""" total = 0. for pagado in histS[1:]: # todos los elementos excepto el cero total = total+pagado return total for j in range (inicio, fin, incremento)

9 Trabajo Personal: Cada país acuña billetes y monedas de unos determinados valores. Por ejemplo en los países de la Unión Europea los valores son: 500.0, 200.0, 100.0, 50.0, 20.0, 10.0, 5.0, 2.0, 1.0, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01 euros Diseña la fábrica de monedas Diseña el monedero para estos países. Trabajo personal: Haz un subprograma que indique el contenido total de un monedero. Trabajo personal: En la salida de usuario, no es elegante especificar las piezas de las que hay cero unidades. Haz un subprograma que recibe un monedero e imprime cuantas piezas hay de cada tipo (de las que verdaderamente hay).