En algún lugar por ahí leí: "un solo conocimiento compartido genera infinitos conocimientos..."
martes, 20 de julio de 2010
Estructuras de control II
jueves, 1 de julio de 2010
Algunos ejercicios...
Ejercicios Prácticos - Programación Python
manejo de variables: asignación de datos, secuencia y condicionales.
Pedir un número y mostrar su duplo.
Pedir dos números A y B y mostrar el cociente.
Pedir dos números A y B y mostrar el resto de la divicion entera ( usando el operador % ).
Idem al anterior, pero sin usar el operador % (crear el algoritmo que muestre el resto).
Dado un número, determinar si es par o impar.
Dados dos números A y B, intercambiar sus valores ( en A el valor de B y en B el valor de A).
Pedir tres números A, B y C, y mostrar True si C esta entre A y B, de lo contrario False.
Leer una palabra y compararla con “Salto”, si son iguales, mostrar True, de lo contrario False.
Dado un valor de pesos $, mostrar su equivalente en dolares.
Ingresar dos números enteros y se debe mostar todos los números enteros comprendidos entre estos ( si se ingresa 10 y 30 se debe mostrar 10, 11, 12, 13, ... 29, 30).
Ingresar dos números enteros, y se debe mostrar todos los números pares comprendidos entre estos (si se ingresa 10 y 30 se debe mostar 10, 12, 14, ... 28, 30).
Ingresar números hasta ingresar -1, mostrar el menor de los números ingresados.
Ingresar números hasta ingresar -1, mostrar el mayor de los números ingresados.
Ingresar un valor en grados celsius, y convertirlos a grados farenheit, segun la siguiente formula: Fh = (Ce * 1,8) + 32
Diseñar un algoritmo que pida las tres longitudes de los lados de un triangulo (A, B y C) y muestre que tipo de triangulo es, de a cuerdo a los siguientes casos. Si A es el mayor de los lados y B y C correspondes a los otros dos:
[ A > = B + C ] -> No es un triangulo
[ A**2 = B**2 + C**2 ] -> Triangulo Rectangulo
[ A**2 > B**2 + C**2 ] -> Triangulo Obtusangulo
[ A**2 <> Triangulo AcutanguloLeer tres valores correspondientes a las calificaciones de alumnos, y calcular el promedio de dichos valores.
Idem al anterior, pero suponiendo que no sabemos cuantos valores de calificaciones se van a ingresar.
Crear un algoritmo de un juego, en el cual se pide un numero y la cantidad de intentos, y luego se le da la oportunidad a otra persona para tratar de adivinarlo.
sábado, 26 de junio de 2010
Nuevamente nos reunimos!
El día de hoy (sábado 26/6) nos hemos reunido nuevamente para seguir aprendiendo Python. Nuevamente contamos con un interesante número de participantes con muchas ganas de aprender.
En la jornada de hoy aprendimos el uso de condicionales, bucles, funciones y algo sobre listas. También tuvimos tiempo de hacer una breve introducción al paradigma de la orientación a objetos y como se realiza una clase.
En los proximos post tendremos una exposición detallada de cada uno de los temas dados y también algunos ejercicios para practicar lo visto hasta ahora.
También vale la pena recalcar que como Uruguay ganó y pasó a cuartos de final valió la pena terminar antes, no les parece?
viernes, 25 de junio de 2010
Mañana nos reunimos!!!
Sobre lo que muchos me preguntaron (con mucha ansiedad) les respondo que terminaremos un rato antes (10:30) para que todos puedan ir a ver el partido.
Saludos a todos y arriba Uruguay!!!
Estructuras de control
Hasta ahora no hemos realizado ningún código de tres o más lineas, pero para ir despejando la cabeza veamos el siguiente ejemplo:
>>>nombre = raw_input("Cual es tu nombre: - ")
Cual es tu nombre: - Gabriel
>>>#Primero nos pregunta el nombre luego hacemos print
>>>print "Tu nombre es: " + nombre
Tu nombre es Gabriel
Bien, aquí tenemos varias cositas. En primer lugar tenemos la instrucción raw_input() que lo que hace es ingresar en una variable (nombre) lo que ingresemos en el teclado, que se le llama "entrada estándar" (recordemos que otra entrada en el pc es el ratón, siempre refiriéndonos a la entrada de información). Entre los paréntesis ingresamos un string que será el texto que se mostrará al usuario.
Luego de ingresar esta linea damos enter y se ejecuta, se muestra el string que pusimos en los paréntesis y queda esperando a que ingresemos el dato pedido, una vez ingresado damos enter y el dato ingresado es guardado en la variable "nombre".
Que significa la linea con "#"? El numeral en python nos permite ingresar textos que el intérprete ignora, de tal manera que la linea ">>>#Primero nos pregunta el nombre luego hacemos print" es ignorada por python.
¿Entonces que sentido tiene colocarla? Tiene el sentido de agregar texto que ayuda a entender que cosa hace el código escrito. Es una aclaración para quién lee el código, inclusive si es el mismísimo autor del código en cuestión, no nos olvidemos que muchos programas llegan a tener cientos de lineas de código y quién escribe un programa necesita explicar su propio código por si olvida para que, o que hace cierta porción del código. Todo esto se llama "comentar", o sea que la linea con el numeral es un comentario, un comentario para aclarar alguna cosa.
Muchos a esta altura se estará preguntando: ¿Y no se iba a hablar de estructuras de control? Si, .... no desesperen :-P
Las estructuras de control son estructuras condicionales, que toman decisiones dependiendo de las condiciones que impongamos según nuestras necesidades.
En cuanto a la sintaxis de una estructura de control les puedo decir que es muy sencilla, como siempre lo veremos a partir de un ejemplo:
>>>i = 10
>>>if (i < 10):
... print "Es menor a 10"
... else
... print "Es mayor a 10"
...
Es menor a 10
Pienso que fácilmente se entiende, en seudocodigo sería algo así:
Si i es menor a 10 entoces
imprime "Es menor a 10"
sino
imprime "Es mayor a 10"
Empezamos la estructura con la palabra clave "if", luego entre parentesis colocamos la condición (i < 10), si la condición es evaluada como verdadera (el valor de i es menor que 10) entonces se ejecuta la instrucción anidada que le sigue inmediatamente. Ahora, si la condición es evaluada falsa, no se ejecuta la instrucción anidada siguiente (print "Es menor a 10"), sino que se ejecuta la instrucción alternativa "else" (sino) y su codigo anidado (print "Es mayor a 10").
Algo que tenemos que tener siempre en cuenta es que las estructuras de control (y otras que veremos mas adelante) llevan dos puntos (:) al final de la declaración inicial como vimos en el ejemplo:
>>>if (i < 10):
Como pueden ver es muy sencillo.
En el próximo post veremos unos ejemplos algo más complejos.
Nos vemos.
viernes, 18 de junio de 2010
REUNIÓN SUSPENDIDA
Lamentablemente me veo en la obligación de suspender la reunión de mañana sábado y trasladarla al día sábado 26.
Los motivos serán explicados en la próxima reunión ya que se los tengo que dar porque es probable que alguno quede desprevenido y madrugue y se traslade para nada el día de mañana.
También les pido que se mantengan en contacto con el blog pues seguirán nuevos post con nuevos temas.
Desde ya les ruego que me disculpen, principalmente por la hora en que les hago llegar el comunicado.
Saludos.
miércoles, 16 de junio de 2010
Las listas
martes, 15 de junio de 2010
Otros materiales
lunes, 14 de junio de 2010
Instalacion de Python
Concatenacion de cadenas
Notaciones compactas
- a = a + b equivale a += b
- a = a - b equivale a -= b
- a = a * b equivale a *= b
- a = a / b equivale a /= b
- a = a % b equivale a %= b
- a = a ** b equivale a **= b
Los operadores
- Adición (+), también sirve para concatenar cadenas como veremos mas adelante
- Sustracción (-)
- División (/)
- Producto (*)
- Resto (%), también conocido como mod
- Potencia (**)
domingo, 13 de junio de 2010
Tipos de datos
- Strings o cadenas (>>>var = "cadena")
- Enteros o Integers (>>>var = 126)
- Reales o de coma flotante o float, son los famosos decimales (>>>var = 10.2)
- Logicos o booleanos, verdadero o falso, true/false (>>>var = True)
- Complejos o complex, este deficilmente lo utilicemos alguna vez (>>>var = 2.1+7.8j)
Las variables
Entrando en calor
- Python es multiplataforma
- Es orientado a objetos
- Es un lenguaje de interpretado
- Posee una sintaxis sencilla