Professional Documents
Culture Documents
Problema. Escribir un programa para que el computador calcule los porcentajes de hombres y mujeres de acuerdo al siguiente dilogo con una persona (usuario): numero de hombres? 37 persona numero de mujeres? 4 persona % hombres=90.2 % mujeres=9.8
Algoritmo. Etapas (pasos, instrucciones) que debe realizar (ejecutar) el computador para resolver el problema. Ejemplo: 1. escribir (mostrar) en la pantalla la frase numero de hombres? 2. leer (obtener) el n ingresado por la persona usando el teclado 3. escribir (mostrar) en la pantalla numero de mujeres? 4. leer el n ingresado por la persona 5. calcular el %(p) de hombres c/r a suma de hombres(h) y mujeres(m) como h x 100 h+m 6. escribir una lnea con la frase % hombres = y el n p 7. escribir una lnea con % mujeres = y el n 100-p
Programa en lenguaje Python print "numero de hombres?" h=input() print "numero de mujeres?" m=input() p=100.0*h/(h+m) print "% hombres=",p print "% mujeres=",100-p
inspirado en idioma ingls palabras print, input uso de notacin matemtica expresiones: 100.0*h/(h+m), p-100 funciones: input( ) sintaxis (gramtica, escritura) reglamentada cada instruccin en una lnea palabras con significados especiales (input, print) uso de minsculas (salvo casos especiales) semntica (interpretacin) precisa (sin ambigedades) instrucciones con significado/efecto bien definido
h = input()
Explicaciones detalladas print numero de hombres ? mostrar en la pantalla la frase numero de hombres? Sintaxis: print ... Semntica: escribe en la pantalla del computador
lee un nmero desde el teclado y lo guarda en la variable h Sintaxis variable = input() Semntica Lee un n y lo guarda en la variable indicada
B. Bustos
Clase1: lectura/escritura/asignacin
variable?
input()
representacin simblica de un valor (nmero) representa una ubicacin (celda) en la memoria del computador capacidad: un valor/nmero puede variar (cambiar) su valor posee un nombre ( letra seguida de letras, dgitos o_ ) Tipo de la variable int si contiene un n entero de hasta 9 dgitos. Ejs: 123, -4, 2147483647 (mayor) float si contiene un n real de hasta 15 dgitos de precisin. Ejs: 100.0, 0.001
p=100.0*h/(h+m) calcula 100.0*h/(h+m) y guarda el resultado en la variable p Instruccin de asignacin sintaxis: variable=expresin semntica 1 evaluar expresin (calcular resultado) 2 asignar(guardar) resultado a(en) la variable
Expresin sintaxis se escribe en una lnea (hacia el lado) y no en varios niveles componentes: variables, constantes, operadores, funciones semntica se calcula el resultado de la expresin de acuerdo a la siguiente prioridad de los operadores: 1 operadores unarios: +, 2 operador de elevacin a potencia: ** 3 operadores multiplicativos: *, / 4 operadores aditivos: +, Ej: -a+b*c es (-a)+(b*c), similar a lgebra
Expresin: semntica a igual prioridad, se evala de izq a der. Ej: a*b/c es (a*b)/c parntesis modifican o confirman orden de evaluacin. ejs: (a+b)*c modifica, a+(b*c) confirma tipo del resultado? o tipo comn. Ej: 1 / 2 es 0 (int), 1.0 / 2.0 es 0.5 (float) o flota(real) si operandos son de tipos distintos. Ej: 1.0/2 es 0.5 o resultado de h/(h+m)*100.0?
print "% hombres=",p escribe en una misma lnea la frase % hombres y el valor de la variable p Sintaxis print expresin, expresin puede ser una frase. Ej: print % hombres= Semntica 1 evaluar expresiones (ejs: p, 100-p) 2 escribir resultados 3 posicionar el cursor al comienzo de la sgte lnea en la pantalla
B. Bustos
Clase1: lectura/escritura/asignacin
Ejercicio Escribir un programa que establezca el dilogo indicado en el siguiente ejemplo: Calcular velocidad de un mvil distancia(metros)? 100.0 tiempo(segundos)? 9.78 velocidad=36.81 km/hora
print Calcular velocidad de un mvil print distancia(metros)? d=input() print tiempo(segundos)? t=input() v=(d/1000.0)/(t/3600.0) print velocidad=, v, km/hora
print Calcular velocidad de un mvil print distancia(metros)? d=input() print tiempo(segundos)? t=input() print velocidad=, 3.6*d/t, km/hora
Dilogo:
Calcular velocidad de un mvil distancia(metros)?100.0 tiempo(segundos)?9.78 velocidad=36.81 km/hora Nota. Pregunta del computador y respuesta del usuario aparecen en la misma lnea
print Calcular velocidad de un mvil d=input(distancia(metros)?) t=input(tiempo(segundos)?) print velocidad=, 3.6*d/t, km/hora
sintaxis d=input(distancia(metros)?) print exp, , equivale a semntica print distancia(metros)?, #no salta linea d=input() comentario (observacin, explicacin) #... escribe expresiones hacia el lado y deja el cursor al final de la lnea Nota print velocidad=, 3.6*d/t, km/hora equivale a print velocidad=, print 3.6*d/t, print km/hora
B. Bustos