miércoles, 22 de febrero de 2017

Python. Factorial con Python

    Versión I
numero = input()
resultado = 1
for i in range(numero, 1, -1):
    resultado = numero * i
print resultado

    Versión II
print "dime un numero"
numero = input ()
resultado = 1
while numero > 1:
    resultado = resultado * numero
    numero = numero -1
print "el factorial es", resultado

Python, sumar con Python.

suma=0
contador=0

while contador<5:
    numero=input()
    suma=suma+numero
    contador=contador+1
print"la suma es " ,suma

Programación Python. Tirar dados

print ("Este resultado de la quiniela")
import random
input

nombre=raw_input("escriba su nombre")
caras=input ("¿cuantas caras quiere que tenga el dado?")
tiradas=input ("¿cuantas tiradas quieres hacer?")


for i in range (1, tiradas):

   

    resultado=random.randint (1,caras)

    print  "el resultado de la tirada",i, "es", resultado

lunes, 20 de febrero de 2017

Programación Python. Quiniela.py.

import random
raw_input("pulsa tecla para empezar")
for i in range (1,16):
    numero=random.randint(1,3)
    if numero== 1:
        resultado= "1"

    if numero== 2:
        resultado ="x"

    if numero== 3:
        resultado ="2"

    print "el resultado del partido número", i, "es", resultado

jueves, 16 de febrero de 2017

Programacióm Python. Viaje de estudios.

numero = input ("numero de alumnos")
if numero>=100:
    print "coste 65€"
    pagar_agencia= numero * 65
    print pagar_agencia
   
elif numero>=50 and numero <= 99:
    print "coste=70€"
    pagar_agencia= numero * 70
    print pagar_agencia

else:
    if numero>=30 and numero<=49:
        print "coste=95€"
        pagar_agencia= numero * 95
        print pagar_agencia
    elif numero < 30:
        coste= 4000/numero
        print coste
        print "4000€"

Programación Python. Programación estructurada.

nota = input ("nota: ")


if nota >= 9:
    print "Sobresaliente"
elif nota >= 8:
    print "Notable"

Programación Python. Productos enteros.

a= input ("introduce un numero")
b= input ("introduce un numero")
print a*b

Programación Python. Potencia.

while True:

    base=input("Introduce la base:")
    exponente=input ("")
    resultado= base ** exponente

    print "el resultado es %s" % resultado

Programación Python. Ejemplo nota.

E1= input ("introduce la nota 1")
E2= input ("introduce la nota 2")
E3= input ("introduce la nota 3")
E4= input ("introduce la nota 4")

if (e1>4 and e2>4 and e3>4):
    print "0"

elif (e1>4 or e2>4 or e3>4)
    and not (e1>4 and e2>4 and e3>4)

Programación Python. Calificación de notas.

nota = input ("nota: ")


if nota >= 9:
    print "Sobresaliente"
elif nota >= 7:
    print "Notable"
elif nota >=6:
    print "Bien"
elif nota >=5
    print "Suficiente"
elif nota < 5:
    print "Insuficiente"

jueves, 9 de febrero de 2017

Preguntas y respuestas de programación

CUESTIONARIO DE PROGRAMACIÓN 

1.- ¿Qué es un lenguaje de programación?
-Cualquier software que podemos tener instalado en el ordenador.
Se compone de:
Algoritmo: un conjunto de instrucciones destinadas a cumplir una determinada tarea o resolver un problema.
Estructuras de datos: necesarias para almacenar la información que maneja el programa

Puede haber de varios tipos:
Gráficos: el usuario interactúa mediante ventanas y formularios (botones, menús, cuadros de texto). Son los más habituales. Un ejemplo seria Microsoft Word.
Textuales: el usuario interactúa escribiendo texto o tecleando opciones de órdenes en una pantalla sin gráficos. No son muy habituales, se suelen usar en algunas administraciones públicas para registrar datos u obtener informes. Unos ejemplos seria Hacienda y Turismo.

2.- ¿Qué es programar?
-Programar consiste en crear una serie de órdenes dirigidas a un ordenador o dispositivo para que lleve a cabo las tareas que le encomendemos, con el objetivo de solucionar un determinado problema.

3.- Criterios de clasificación de los lenguajes de programación
-Los lenguajes de programación se pueden clasificar atendiendo a diversos criterios.
  1. Clasificación según el nivel de abstracción
  • Lenguaje máquina: Es el lenguaje de programación que entiende directamente la computadora o máquina. Utiliza el sistema binario.
  • Lenguajes de Programación de Bajo Nivel (Lenguaje ensamblador): A este grupo pertenecen los primeros lenguajes creados intentando sustituir el lenguaje máquina por uno más similar utilizado por el hombre.
  • Lenguajes de Programación de Alto Nivel: Los lenguajes de alto nivel son más fáciles de aprender y utilizar porque son los que más se parecen al lenguaje natural, ya que se usan palabras o comandos del lenguaje humano (generalmente inglés). Además los lenguajes de alto nivel son independientes de la máquina.
  • Compiladores e intérpretes: Tanto el compilador como el intérprete son programas cuya finalidad es "traducir" las instrucciones enviadas a una máquina en un lenguaje de alto nivel a un lenguaje que el equipo pueda entender.
      2. Clasificación según el propósito de creación
  • Lenguajes de Propósito General: permiten la implementación de prácticamente cualquier algoritmo, el nivel de abstracción es más uniforme, proporciona razonable rendimiento.
  • Lenguajes de Propósito Específico: tienen por lo general un conjunto muy restringido de características y un alto nivel de abstracción para cumplir tareas especificas como el procesamiento de textos, gráficos, audio, vídeo e ingeniería.
      3. Clasificación según su paradigma de programación.
  • Lenguajes Imperativos. Se llama lenguajes imperativos a aquellos en los cuales se le ordena a el ordenador cómo realizar una tarea siguiendo una serie de pasos o instrucciones.
  • Lenguajes Declarativos. Son aquellos lenguajes de programación en los cuales se le indica a la computadora qué es lo que se desea obtener o qué es lo que se está buscando, sin especificar los pasos a seguir para conseguirlo.
  • Lenguajes Funcionales. Estos programas se basan en la utilización de funciones matemáticas predefinidas, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.
  • Lenguajes de Lógicos. Expresan tareas utilizando la lógica matemática como lenguaje de programación.
  • Lenguajes Orientados a Objetos. Crean un sistema de clases y objetos siguiendo el esquema del mundo real para definir los objetos, acciones y forma de comunican entre objetos.
4.- ¿Qué es un lenguaje imperativo?
-Aquellos en los cuales se le ordena a el ordenador cómo realizar una tarea siguiendo una serie de pasos o instrucciones.
Paso 1, solicitar número.
Paso 2, multiplicar número por dos.
Paso 3, imprimir resultado de la operación.

5.- ¿Qué es un lenguaje orientado a objetos?
-Lenguajes Orientados a Objetos. Crean un sistema de clases y objetos siguiendo el esquema del mundo real para definir los objetos, acciones y forma de comunican entre objetos.

6.- En un lenguaje orientado a objetos, ¿qué entiendes por DATOS Y
MÉTODOS?
-Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema.

7.- Definir código fuente y código objeto
-Código fuente: consiste en uno o más archivos que contienen las instrucciones de programación con las cuales un desarrollador de software ha creado determinado programa o aplicación.


8.- ¿Qué significa ABRIR y LIBERAR un programa?
-Acceder al código fuente concreto de un programa significa acceder a todo lo creado, o, como se suele decir, “abrir el programa” y cuando se va a compartir el programa en forma de texto, para que cualquier persona lo analice, modifique, lo comparta o lo copie, lo que se llama “liberar” el código.

9.- Definir algoritmo y enunciar sus características básicas
-Se llama algoritmo a la secuencia de pasos organizados a seguir para resolver un problema.Cualquier algoritmo debe tener las siguientes características:
- La descripción de cada paso no debe llevar a ambigüedades, los pasos son absolutamente explícitos y no inducen a error.
- El número de pasos debe ser finito, de forma que el algoritmo se pueda ejecutar en un tiempo finito.

10.- ¿Qué papel desempeñan los compiladores e intérpretes?
-Software que se encarga de analizar el texto de un programa, llamado código fuente, comprobar que es correcto, y generar un fichero comprensible por el ordenador.

11.- ¿Cómo se representan los algoritmos?
-Hay distintas formas de escribir un algoritmo, bien usando un lenguaje específico de descripción de algoritmos o bien mediante representaciones gráficas.

12.- Realizar un diagrama de bloques con las fases de creación de un
programa.
  • Definición del problema
  • Análisis de los datos
  • Diseño del algoritmo (solución)
  • Codificación del programa (obtención del código fuente y del código objeto)
  • Prueba y depuración
  • Documentación
  • Mantenimiento
13.- Ventajas e inconvenientes de los compiladores
-Las ventajas del utilizar un compilador son:

  •  El programa ejecutable no incluye el código fuente, por lo tanto, el código compilado es más seguro. 
  •  Un programa compilado se ejecutan más rápidamente que un programa que está siendo interpretado ya que la traducción se realiza directamente a código máquina.
-Las desventajas de utilizar un compilador son:

  •  El código objeto necesita crearse para obtener el archivo ejecutable final, y si el programa es muy largo, el proceso de compilación puede ser muy lento.
  •  El código fuente debe estar libre de errores para que el archivo ejecutable se genere. 
  •  El archivo ejecutable generado por el compilador solo funcionará en el sistema operativo en el que fue creado.

14.- Ventajas e inconvenientes de los intérpretes.
-Las ventajas del utilizar un intérprete son:

  • Al ejecutarse línea a línea, resulta ser más fácil de depurar y comprobar errores.
  • Si el programa es muy largo, un intérprete resulta es más rápido que un compilador porque no tiene que traducir todo el programa para ejecutarlo.

-Las desventajas de utilizar un intérprete son:

  • El código fuente se requiere para poder ejecutar un programa
  • Los intérpretes son más lentos que los programas compilados o ejecutables.

15.- ¿Qué significa depurar y mantener un programa?
-El proceso de depuración consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen errores, puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa.
-Mantener un programa consiste en las actualizaciones que deban aplicarse al programa cuando las circunstancias así lo requieran. Este programa deberá ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operación.

16.- Durante este curso vamos a programar en processing y Python. ¿Dentro
de qué grupo los clasificarías según cada uno de los tres criterios que se
exponen en los apuntes?
- Según el nivel de abstracción, serian lenguajes de Programación de Alto Nivel.
Dentro de el propósito de creación, en el lenguajes de Propósito General.
Según su paradigma de programación, lenguajes imperativos.

17.- En cursos anteriores has programado con Scratch. ¿Dentro de qué grupo
lo clasificarías según cada uno de los tres criterios que se exponen en los
apuntes?
-Dentro de el propósito de creación, lenguajes de programación de alto nivel.
Según el propósito de creación, lenguaje de propósito general.
Según su paradigma de programación, lenguajes imperativos.