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.

Slides:



Advertisements
Presentaciones similares
Estructuras de control
Advertisements

Módulo Tablero de Control Sesión X Lic. Aarón García López.
Se necesita un PA que muestre la información de todos los clientes registrados de la siguiente forma: Nombre1 Nombre2, Apellido1 Apellido2 bajo el título.
Lenguaje PHP Capítulo 4.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Te presento a Python Qué es Python? Lenguaje interpretado
Resolución de Problemas Algoritmos y Programación
Metodología de la Programación
Técnico en programación de Software
Tema 2: Lenguaje PHP básico
Módulo 5: Estructuras de Decisión y Bucles
Preguntas tipo test (I)
Preguntas tipo test (Tema I)
Enrique Cardenas Parga
Método en Java.
2 Acciones y funciones 2.1 Concepto
Funciones y procedimientos
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez DuocUC.
MUESTREO DE ACEPTACIÓN DE LOTES POR VARIABLES
SINTAXISYSEMANTICA. Tengo la impresión de que Java fue diseñado para hacer que fuera difícil escribir mal código, mientras que Python está diseñado para.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
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.
Tema 2: Los tipos de datos
Características y elementos fundamentales J.M. Morales-del-Castillo
Variables y Shapes. Variables ► Lugares de la memoria que reciben un nombre ► En VB no es necesario declarar las variables  A=8 ► Se declaran con Dim.
Sentencias de selección
Tablas de verdad en PHP Programación en Internet II.
1.- Inicio 2.- Mis sitios de Red 3.- Ver conexión de Red 4.- Conexión de Área Local 5.- Propiedades 6.- Protocolo Internet TCP/IP Para colocar una Dirección.
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Ancho de Banda de Señales
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
Control de errores visual basic
Yurany Ayala perilla Leidy marmolejo García
Teoría – Alejandro Gonzalez
Uso de las Sesiones Temas: Creación de sesiones Lectura de sesiones Borrado de sesiones.
EXPRESIONES Y SENTENCIAS
Estructuras de Control.
USO DE ARGUMENTOS Y PARÁMETROS EN LOS PROGRAMAS Preparado por Prof. Nelliud D. Torres Material Original Prof. Antonio Huertas Uso de argumentos y parámetros.
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
Sentencias de repetición
DOCENCIA EN LA CLÍNICA MÉDICA: nuevas herramientas para un aprendizaje significativo Curso Perfeccionamiento Escuela de Medicina Universidad Valparaíso.
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.
PHP con Bases de Datos Tema 2 Variables, Constantes y Tipos de Datos
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Dividimos, fracciones, euro y gráficas
Presente un cuestionario con los aspectos mas importantes sobre los
Práctica Profesional PHP.
Programación de Computadores
JUEGO: Familia en Cascada.  ¿Cuáles son las salidas?
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
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
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.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Arreglo.
Tratamientos Secuenciales Generalizados II Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 19 Versión
Las interfaces Predicate y Function Versión Unidad Didáctica 17 Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Helpers en ASP.NET MVC3. Introducción Los helpers son una herramienta muy potente para generar nuestro propio código HTML dentro de las vistas. Los helpers.
PROGRAMACIÓN (2).
Transcripción de la presentación:

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 devuelve/imprime ¡¡¡Afinad la oreja!!! Si recibe NO pide al usuario If planos hace 12 comparaciones. If anidados hace 1/12(1+2+…+11+11)=77/12=6,4  calificación máxima =5 Si hay PRE: no controles. El subprograma responsable es el que pide el dato Sin documentación no es reusable  puntuación máxima 6,6 ¿Diferencia entre definir el array de nombreMeses dentro y fuera del subprograma? ¿Cuál te gusta mas?1<=mes<=12 ó 0<mes<13 Regla de ingenieros del 80-20

Ventajas e inconvenientes de cada versión Uso global de constantes está permitido pero aumenta el acoplamiento disminuyendo la cohexión from math import pi def perímetro(radio): “””PRE: pi definido “”” return 2*pi*r def perímetro(radio): from math import pi return 2*pi*r from math import pi def perímetro(radio,pi): return 2*pi*r ¿Recibís mis correos?¿Daniel?

Según datos de la Armada,para 2016 las estaciones corresponden con los periodos: 20/03 al 19/06 Primavera 20/06 al 21/09 Verano 22/09 al 20/12 Otoño 21/12 al 19/03 Invierno Escribe un subprograma que calcule la estación correspondiente a esa fecha. Primero plantéate los casos de prueba. Haz el diagrama de flujo y solo después de ello escribe el código. El subprograma impondrá el prerrequisito de que el día y el mes sean correctos. Más adelante atenderemos esta cuestión.

estacion_v1.py 1"""********************************************************************* 2* PROGRAMA: Estacion.py * 3* OBJ: estación del año correspondiente dia/mes dados por usuario * 4* OJO: no comprueba validez de la entrada * 5*********************************************************************""" 6 7def estacion (d,m): 8 """ int,int--> string * 9 *OBJ:devuelve la estación que corresponde a d/m (dia,mes) * 10 * 20/03 al 19/06 Primavera * 11 * 20/06 al 21/09 Verano * 12 * 22/09 al 20/12 Otoño * 13 * 21/12 al 19/03 Invierno * 14 PRE dia, mes formarían parte de una fecha válida """ 15 if (m==12 and d>=21)or m==1 or m==2 or (m==3 and d<=19): 16 estac = 'invierno' 17 elif (m==3 and d>=20) or m==4 or m==5 or (m==6 and d<=19): 18 estac = 'primavera' 19 elif (m==6 and d>=20) or m==7 or m==8 or (m==9 and d<=21): 20 estac = 'verano' 21 else: estac = 'otoño' 22 return estac 23 24dia = int(input('día: ')) 25mes = int(input('mes: ')) 26# aqui iría la validación de fecha 27print ('la estación de',dia,'/',mes,'es', estacion(dia,mes))

1"""********************************************************************* 2* PROGRAMA: estacion.py * 3* OBJ: estación del año correspondiente dia/mes dados por usuario * 4* OJO: no comprueba validez de la entrada * 5*********************************************************************""" 6 7def estacion (d,m): 8 """devuelve la estación que corresponde a d/m (dia,mes) * 9 * 20/03 al 19/06 Primavera * 10 * 20/06 al 21/09 Verano * 11 * 22/09 al 20/12 Otoño * 12 * 21/12 al 19/03 Invierno 13 PRE dia, mes formarían parte de una fecha válida """ 14 plana=mes*100+dia #agrupo para comparar de una vez 15 if plana<=319:estacion = 'invierno' 16 elif plana<=619:estacion = 'primavera' 17 elif plana<=921:estacion = 'verano' 18 elif plana<=1221:estacion = 'otoño' 19 else: estacion = 'invierno' 20 return estacion

""" ** servicios para manejo de dinero ****** """ # valor de las monedas editadas en el país edicion=(500.,200.,100.,50.,20.,10.,5.,2.,1.,0.5,0.2,0.1,0.05,0.02,0.01) #monedero= tupla con número(entero>0) de monedas de cada pieza editada, en el orden de estas 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 nominales 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. Servicios para el manejo del dinero

9def totalMonedero (monedero,edicion): 10 """ tupla, tupla--> float 11 OBJ: valor total contenido en modenedero, con piezas de edicion 11 PRE: cuantas (de cada pieza en monedero)>=0 """ 12 total= for i in range(0,len(edicion): 15 total=total+monedero[i]*edicion[i] return total Trabajo personal (*): Haz un subprograma que indique el contenido total de un monedero. edicion=(500.,200.,100.,50.,20.,10.,5.,2.,1.,0.5,0.2,0.1,0.05,0.02,0.01) #monedero= número de monedas de cada pieza editada, en el orden de estas

monVacio=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) Trabajo personal (*): Haz un subprograma que calcule si un monedero está vacío. Es decir, no contiene ninguna moneda de las acuñadas en el país. 30def estaVacio(monedero, edicion): 31 """ tupla,tupla  boolean 32 OBJ: True si la cuantas de cada una de las monedas es cero 32 PRE: cuantas (de cada pieza en monedero)>=0""" 33 return monedero.count(0)==len(edicion) 30def estaVacio(monedero, edicion): 31 """ tupla,tupla  boolean 32 OBJ: True si la cuantas de cada una de las monedas es cero 32 PRE: cuantas (de cada pieza en monedero)>=0""" 33 return monedero==monVacio 30def estaVacio(monedero, edicion): 31 """ tupla,tupla  boolean 32 OBJ: True si la cuantas de cada una de las monedas es cero 32 PRE: cuantas (de cada pieza en monedero)>=0""" 33 return totalMonedero(monedero,edicion)==0

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). Trabajo personal (*): Haz un subprograma que indique la forma óptima de formar una determinada cantidad, con las piezas acuñadas en el país. Por óptima queremos decir formada por el mínimo número de piezas. Trabajo personal: En el módulo de gestión de tiempos incluiste un subprograma que escribía en letras los números, puede que esto también lo necesites en gestión de dinero. Inclúyelo, pero no vuelvas a teclearlo, ni lo copies (habría dos copias, lo que dificultará el mantenimiento). Haz que este módulo importe, de aquel, los subprogramas que le sean de utilidad. Recuerda el orden de las secciones del código. Hasta el 30 son irregulares

cardinal_v1.py 1"""********************************************************************* 2* PROGRAMA: CARDINAL * 3*OBJ: escribe el cardinal del 30<=número<=99 introducido por el usuario* 4*********************************************************************""" 5 6def cardinal (n): 7 """OBJ: escribe el cardinal de n 8 PRE: 30<=número<=99 """ 9 10 if n>=90: print('noventa', end='') 11 elif n>=80: print('ochenta',end='') 12 elif n>=70: print('setenta',end='') 13 elif n>=60: print('sesenta',end='') 14 elif n>=50: print('cincuenta',end='') 15 elif n>=40: print('cuarenta',end='') 16 elif n>=30: print('treinta',end='') 17 n=n%10 #unidades 18 if n==1: print(' y uno') 19 elif n==2: print(' y dos') 20 elif n==3: print(' y tres') 21 elif n==4: print(' y cuatro') 22 elif n==5: print(' y cinco') 23 elif n==6: print(' y seis') 24 elif n==7: print(' y siete') 25 elif n==8: print(' y ocho') 26 else: print(' y nueve') 27 28# PROBADOR 29n = int(input('numero: ')) 30if 30<=n<=99: cardinal(n) 31else: print('fuera de rango 30<=número<=99')