Академический Документы
Профессиональный Документы
Культура Документы
11 - Ejercicios resueltos
2.- Crear un algoritmo que pida al usuario un nmero y le diga si es positivo, negativo o cero. 3.- Crear un algoritmo que pida al usuario 5 datos y muestre su suma. 4.- Crear un algoritmo que calcule la raz cuadrada del nmero que introduzca el usuario. Si se introduce un nmero negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario). 5.- Crear un algoritmo que pida al usuario un nmero y un smbolo, y dibuje un cuadrado usando ese smbolo. El cuadrado tendr el tamao que ha indicado el usuario. Por ejemplo, si el usuario introduce 4 como tamao y * como smbolo, deber escribirse algo como: **** **** **** ****
3 b) Ejemplos de soluciones con PseInt 1.- Crear un algoritmo que escriba "Hola" cinco veces.
// 1.- Crear un algoritmo que escriba "Hola" cinco veces. Proceso Resuelto01 Para x <- 1 Hasta 5 Hacer Escribir "Hola"; FinPara FinProceso
2.- Crear un algoritmo que pida al usuario un nmero y le diga si es positivo, negativo o cero.
// 2.- Crear un algoritmo que pida al usuario un numero y le diga si es positivo, negativo o cero. Proceso Resuelto02 Escribir "Dime un numero"; Leer x; Si x > 0 Entonces Escribir "Es positivo"; Sino Si x < 0 Entonces Escribir "Es negativo"; Sino Escribir "Es cero"; FinSi FinSi FinProceso
suma <- 0 Para x <- 1 Hasta 5 Hacer suma <- suma + dato[x]; FinPara Escribir "Su suma es ", suma; FinProceso
4.- Crear un algoritmo que calcule la raz cuadrada del nmero que introduzca el usuario. Si se introduce un nmero negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario).
// // // // 4.- Crear un algoritmo que calcule la raz cuadrada del nmero que introduzca el usuario. Si se introduce un nmero negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario).
Proceso Resuelto04 Repetir Escribir "Dime un numero"; Leer x; Si x < 0 Entonces Escribir "No puede ser negativo"; FinSi Hasta Que x >= 0 Escribir "Su raiz es ", rc(x); FinProceso
5.- Crear un algoritmo que pida al usuario un nmero y un smbolo, y dibuje un cuadrado usando ese smbolo. El cuadrado tendr el tamao que ha indicado el usuario. (No funcionar correctamente en versiones de PseInt anteriores a agosto de 2011)
// 5.- Crear un algoritmo que pida al usuario un nmero y un smbolo, // y dibuje un cuadrado usando ese smbolo. El cuadrado tendr el tamao // que ha indicado el usuario. // No funciona con versiones de PseInt de antes de Agosto de 2011, // porque las versiones previas a la 20110801 no permiten escribir
// sin avanzar de linea Proceso Resuelto05 Escribir "Dime el lado"; Leer lado; Escribir "Dime el simbolo de relleno"; Leer simbolo; Para fila<-1 Hasta lado Hacer Para columna <- 1 Hasta lado Hacer Escribir Sin Saltar simbolo ; // Escribir sin bajar de lnea FinPara Escribir ""; FinPara FinProceso // Avance de lnea tras cada fila
4 c) Ejemplos de soluciones con Python 1.- Crear un algoritmo que escriba "Hola" cinco veces.
# 1.- Crear un algoritmo que escriba "Hola" cinco veces. for x in range(1,6): print("Hola")
2.- Crear un algoritmo que pida al usuario un nmero y le diga si es positivo, negativo o cero.
# 2.- Crear un algoritmo que pida al usuario un numero y le diga si es positivo, negativo o cero. x = input ("Dime un numero ") if x > 0 : print ("Es positivo") elif x < 0 : print ("Es negativo") else : print ("Es cero")
suma = 0 for x in range(1,6): x = input ("Dime un dato ") suma = suma + x print ("Su suma es") print (suma)
4.- Crear un algoritmo que calcule la raz cuadrada del nmero que introduzca el usuario. Si se introduce un nmero negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario).
# # # # 4.- Crear un algoritmo que calcule la raiz cuadrada del numero que introduzca el usuario. Si se introduce un numero negativo, debe mostrar un mensaje de error y volver a pedirlo (tantas veces como sea necesario).
from math import sqrt while True: x = input( "Dime un numero: " ) if x < 0: print ( "No puede ser negativo" ) else: print ( "Su raiz es {}".format( sqrt(x) ) ) break
5.- Crear un algoritmo que pida al usuario un nmero y un smbolo, y dibuje un cuadrado usando ese smbolo. El cuadrado tendr el tamao que ha indicado el usuario.
Esta es la forma ms cercana a la de PseInt, con dos "for" anidados. Como el "smbolo" es texto, no podemos usar "input" para leerlo, o Python intentara interpretarlo como nmero; en su lugar, usaremos "raw_input":
# 5.- Crear un algoritmo que pida al usuario un numero y un simbolo, # y dibuje un cuadrado usando ese simbolo. El cuadrado tendra el tamanyo # que ha indicado el usuario. # Forma "general" lado = input( "Dime el lado: " ) simbolo = raw_input( "Dime el simbolo de relleno: " ) for fila in range( 1 , lado+1 ): textoFila = '' for columna in range( 1 , lado+1 ): textoFila += simbolo print( textoFila )
Y esta es una forma alternativa ms compacta, usando * para repetir una cadena de texto varias veces:
# 5.- Crear un algoritmo que pida al usuario un numero y un simbolo, # y dibuje un cuadrado usando ese simbolo. El cuadrado tendra el tamanyo # que ha indicado el usuario. # Forma compacta lado = input( "Dime el lado: " ) simbolo = raw_input( "Dime el simbolo de relleno: " ) for fila in range( 1 , lado+1 ): textoFila = simbolo * lado print( textoFila )