PYTHON - Fundamentos de Programación en Python - POO PDF
PYTHON - Fundamentos de Programación en Python - POO PDF
PYTHON - Fundamentos de Programación en Python - POO PDF
FACULTAD DE INGENIERÍA
INDUSTRIAL
PORTAFOLIO DE
FUNDAMENTOS Y METODOLOGÍAS DE
PROGRAMACIÓN II
ESTUDIANTE
DOCENTE
CURSO
GUAYAQUIL - ECUADOR
2017-2018
PRIMER
PARCIAL
Miércoles 18 de Octubre del 2017
Fundamentos y Metodologías de Programación
Tema: Syllabus de la Asignatura/LÓGICA DE PROGRAMACIÓN
Objetivos
Aplicar los principios de la lógica en la resolución de problemas computacionales.
Identificar y comprender un problema para llegar a su solución.
Lógica
Parte de la filosofía que estudia las formas y principios generales que rigen el
conocimiento y el pensamiento humano, considerado puramente el pensamiento
humano, considerado puramente en sí mismo, sin referencia a los objetos.
“Los problemas principales de la lógica son las doctrinas del concepto, del juicio,
del silogismo y del método”
Silogismos
Fido es perro
Todos los perros son mamíferos
Fido es mamífero
Lógica de Programación
Es la habilidad de pensar de manera razonada, sistemática y ordenada que nos hace
capaces de inferir algoritmos abstractos y soluciones a problemas de negocios,
susceptibles de programación.
Elementos Fundamentales de la Programación
- Identificadores: Constantes, Variables, Operadores y Expresiones
Técnicas para resolver problema
- Algoritmo
- Pseudocódigo
- Diagrama de Flujo…
Jueves 19 de Octubre del 2017
Fundamentos y Metodologías de Programación
Tema: Operadores y Expresiones
Objetivo
Variables: Los valores que no son fijos durante la ejecución se les laman variables.
Viernes 20 de Octubre del 2017
Fundamentos y Metodologías de Programación
Tema: Expresiones
Objetivo
EJERCICIOS DE RAZONAMIENTO
Miércoles 25 de Octubre del 2017
Objetivo
de flujo
1.- Se tienen 12 ladrillos de los cuales 11 pesan lo mismo y uno pesa menos. Determinar
¿Cuál es el ladrillo más liviano, utilizando no más de tres pesadas. Para realizar esta
2.- Un Campesino necesitaba pasar un río, llevaba un lobo, una oveja y un saco de
lechuga. Pero su canoa es tan chica que en ella cabe el campesino y con él solamente la
oveja, el lobo o el saco de lechuga. Si deja la oveja con el saco de lechuga, la oveja se
3.- Supóngase que una persona invierte su capital en el Banco “Guayaquil de mis
Amores” y desea saber cuánto dinero ganará después de seis meses si el banco pagara a
razón del 7% mensual. Considera que el valor de inversión es ingresada por teclado.
Estructuras de datos
• Conjuntos
• Diccionarios
• Técnicas de iteración
Las estructuras de datos son un medio para manejar grandes cantidades de datos de
manera eficiente para usos tales como grandes bases de datos y servicios de
indización de Internet. Por lo general, las estructuras de datos eficientes son clave para
Objetivo
Estructuras de datos
• La instrucción del
• Tuplas y secuencias.
• Conjuntos
• Diccionarios
• Técnicas de iteración
Operadores lógicos que se utilizan en Python, podremos notar que muchos de los
operadores son muy conocidos y ya lo hemos usado antes; sin embargo en algunos casos
como por ejemplo en la potencia su símbolo será (**) dos asteriscos. También hablaremos
acerca de los operadores de relaciones y lógicos donde su resultado siempre será
un booleano
Operadores Matemáticos
Operadores Relacionales
Tema: Python
Objetivo
¿Qué es Python?
archivos, sockets, sitios web, bases de datos, interfaz gráfica de usuario, etc.
al lenguaje de programación ABC del que había formado parte del equipo de desarrollo
difícil su uso y el proyecto no trascendió como se esperaba. Van Rossum es por tanto el
autor principal de Python y continúa ejerciendo un rol central decidiendo la dirección del
Vitalicio (en inglés: Benevolent Dictator for Life, BDFL). El nombre "Python" viene dado
- Es fácil de utilizar.
imperativo tradicional.
en C.
TRABAJO EN GRUPO
Explorar el entorno de Python en las maquinas del laboratorio, realizar las anotaciones
básicas que presenta el programa
Jueves 9 de Noviembre del 2017
Objetivo
La segunda forma habitual es crear un archivo de texto con la extensión “.py” donde se
escribe el código, al hacer doble click sobre él, se llamará al intérprete automáticamente
y se ejecutarán las acciones de nuestro archivo.
Trabajo en grupo
Objetivo
La función input ()
La función input () permite obtener texto escrito por teclado. Al llegar a la función, el
programa se detiene esperando que se escriba algo y se pulse la tecla Intro.
Conversión de tipos
Tema: Condiciones if
Objetivo
La estructura if
Un obrero gana 10 dólares por cada hora trabajada si trabaja 40 horas o menos, y el 50%
por cada hora adicional, elabore el diagrama de flujo y la codificación de un programa
que ingrese el nombre del empleado, las horas trabajada, calcule y presente el sueldo, si
tiene horas extras, cuánto gana por horas extras y el sueldo final.
Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Estructuras selectivas múltiples
Objetivo
Determinar el uso de la instrucción if, else, elif en el desarrollo de programas en Phyton
La estructura selectivas múltiples
Las estructuras selectivas múltiples o anidadas están compuesta múltiples selectivas
simples que están unidas por el comando elif el resultado que se obtiene con una selectiva
múltiple se puede obtener con varias selectivas simples.
En las estructuras if ... elif ... else ... el orden en que se escriben los casos es importante
y, a menudo, se pueden simplificar las condiciones ordenando adecuadamente los casos.
La estructura de control if ... elif ... else ... permite encadenar varias condiciones. "elif" es
una contracción de "else if"
Calcular el salario semanal x trabajador.
El salario semanal se calcula en base a las horas semanales trabajadas, el pago por hora es
variable (Introducido por el usuario Si las horas trabajadas superan las 40. el pago por horas
extras es: Doble en el rango de (41-50), triple en rango de (51-60) e Incentivo de $1000 si
rebasa las 60 horas
Cuestionario de programación
1. Relaciones los siguientes enunciados sobre los tipos de datos.
1. Int a) esta variable solo puede almacenar números
decimales.
2. Float b) esta variable solo puede guardar números enteros.
3. Chr c) esta variable solo puede almacenar una cadena de
caracteres.
4. Str d) esta variable solo puede almacenar un carácter, o
sea puede ser
una letra un número y un espacio.
1) 1A, 2B, 3D, 4C
2) 2A, 3C, 1B, 4D
3) 1B, 2A, 3D, 4C
4) 1A, 2D, 3B,4C
2. subraye las características de Python.
a) es fácil de utilizar.
b) se necesita declarar variables.
c) se puede extender fácilmente
d) Es un lenguaje \completo"; no sirve solo para programar scripts.
e) sirve para ingresar algunas cadenas de caracteres.
Respuesta:
A, C, D
3. complete el concepto de Estructuras selectivas múltiples.
Las estructuras selectivas múltiples o_____________ están compuestas múltiples
selectivas simples que están_______________ por el comando______________ el
resultado que se obtiene con una selectiva múltiple se puede obtener con
varias______________________
A) Anidadas B) if C) adecuadamente D) unidas E) elif F) selectivas simples G)
else
Resp.
Anidadas, unidas, elif, selectivas simples.
4. ¿para que usamos la función input?
Permite obtener texto escribo por teclado. Al llegar a la función, el programa se detiene
esperando que se escriba algo y se pulse la tecla intro.
5. Subraye los tipos de operadores lógicos.
A) Operadores matemáticos.
B) Operadores relacionales.
C) Operadores linguisticos.
D) Operadores lógicos.
E) Operadores de codificación.
Resp.
A, B, D
6.- Identifique uno de los elementos fundamentales de la programación
a.- Programa
b.- Pseudocódigo
c.- Variable
d.- Diagrama de flujo
7.-Complete:
Las ………………. son un medio para manejar grandes cantidades de
…………………. de manera eficiente para uso tales como grandes bases de
datos y servicios de indización de internet.
a.- Tipos de datos – Programa
b.- Estructura de datos – Datos
c.- Tipos de Lenguaje – Información
10.- ¿Cual es la función que me permite ingresar cualquier tipo de dato en Python?
a.- Print
b.- Write
c.- Input
d.- Ninguno
RELACIONALES
21.- ENCIERRE EL ENUNCIADO CORRECTO. Constantes:
a.- Los valores que no son serán fijos durante la ejecución se les llama variables.
b.- Es un valor dentro de un programa que no puede cambiar durante la ejecución.
c.- Es un método formal de diseño y lenguajes de programación.
d.- Son herramientas de Programación funcional
22.- SUBRAYE EL CONCEPTO INDICADO
a.- La solución a cualquier problema de cómputo involucra la ejecución de una
serie de acciones en orden específico.
b.- Es la guía o comunicación escrita es sus variadas formas, ya sea en
enunciados, procedimientos, dibujos o diagramas.
c.- Secuencia de instrucciones mediante las cuales se ejecutan diferentes acciones
d.- Es una forma particular de organizar datos en una computadora para que pueda
ser utilizado de manera efciente.
23. Escribe una función que lea las palabras de un archivo de texto (texto.txt) y
construya una lista donde cada palabra es un elemento de la lista.
def sumaAcumulada(lista):
aux = 0
Nlista = []
Nlista.append(lista[0])
aux = aux + lista[0]
for i in lista[1:]:
aux = aux + i
Nlista.append(aux)
return Nlista
tabla = []
for i in range(5):
num = input("dame numero: ")
tabla.append(num)
print sumaAcumulada(tabla)
2.-MODULO:
A) % ( x )
B) // ( )
C) # ( )
D) =! ( )
25.-ELIJA SEGÚN EL LITERAL CORRESPONDIENTE
N=3;
p=CrearPila(size(int));
for (i=1;i<=N;i++)
if (TEST(i))
print("%d",i);
else Push(&i,p);
while (!VaciaPila(p)){
Tope(&i,p);
Pop(p);
print("%d",i);
}
27. Complete
Una constante es un valor dentro de un programa que no puede cambiar
durante la ejecución del mismo.
Los valores que no son serán fijos durante la ejecución se les llaman
variables
Una estructura de datos es una forma particular de organizar en una
computadora para que pueda ser utilizado de manera eficiente.
Características de Python:
No es orientado a objetos
Solo sirve para programar scripts
Utilizable desde un entorno interactivo
Ninguna de las anteriores
Float f , - ,5, *, j
Int hgjdkd
Char 12.35
Str 20
31. Complete
Como ejecutar un código en Python:
La primera es lanzar el intérprete de Python aquí se escribe el código y al pulsar
“Enter”, el intérprete ejecutara las instrucciones que se haya introducido.
La segunda forma habitual es crear un archivo de texto con la extensión
“.py” donde se escribe el código al hacer doble click sobre él, se llamará al
interprete automáticamente y se ejecutarán las acciones de nuestro archivo.
a) 1,2,3
b) 0,1,2,3
c) 0,1,2
d) 1,2,3,4
33. Completar el enunciado
Float
Es una ___variable____ de tipo numérica que puede almacenar números_decimales__
Constante Decimales Variables Enteros
Una Constante es la que se utiliza para definir valores fijos, que no requieren ser
modificados.
Valores que pueden ser modificados durante la ejecución del programa son Variables
Python Es un lenguaje de programación de código abierto y es considerado usualmente
como un lenguaje “scripting”
39.- Separar cada operador según su correspondiente columna.
Objetivo:
Analizar de forma detallada y práctica las virtudes de la POO en Python
POO: La Clase
•
La clase es un modelo o prototipo que define las variables y
métodos comunes a todos los objetos de cierta clase. También se
puede decir que una clase es una plantilla genérica para un
conjunto de objetos de similares características.
• Ejemplo:
• Clase Vehículo
• Numero de Ruedas
• Tipo de Motor
• Capacidad del Tanque de Gasolina
• Numero de Velocidades de la Caja de Cambios
• Color
POO: Mensaje: El mensaje es el modo en que se comunican los objetos entre sí.
Ejemplo:
– Cuando llamemos a una función de un objeto, diremos que estamos enviando un mensaje
a ese objeto.
Método: Un Método es en POO se encarga de procesar los mensajes que lleguen a un objeto, un
método no es otra cosa que una función o procedimiento perteneciente a un objeto.
Interfaz: Las clases y por lo tanto también los objetos, tienen partes públicas y partes privadas.
Algunas veces llamaremos a la parte pública de un objeto su interfaz. Se trata de la única parte del
objeto que es visible para el resto de los objetos, de modo que es lo único de lo que se dispone para
comunicarse con ellos.
Herencia: La herencia es uno de los conceptos más cruciales en la POO. La herencia básicamente
consiste en que una clase puede heredar sus variables y métodos a varias subclases. Esto significa
que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y
métodos heredados de la superclase.
Python está completamente orientado a objetos: puede definir sus propias clases, heredar de las que
usted defina o de las incorporadas en el lenguaje, e instanciar las clases que haya definido.
En Python las clases se definen mediante la palabra reservada class seguida del nombre de la
clase, dos puntos (:) y a continuación, indentado, el cuerpo de la clase. • Ejemplo:
class Ejemplo: #1
pass #2
• En este ejemplo el nombre de la clase es Ejemplo y no hereda de otra clase. Por
convención las clases empiezan en Mayúscula.
• Esta clase no define atributos pero no puede estar vacía para eso usamos la función
equivalente en otros lenguajes a usar {}
Métodos
• C++ y Java admiten la sobrecarga de funciones por lista de argumentos, es decir una
clase puede tener varios métodos con el mismo nombre, pero con argumentos en
distinta cantidad, o de distinto tipo. Python no admite sobrecarga de funciones.
Los métodos se definen sólo por su nombre y hay un único método por clase con
un nombre dado.
4
• De manera que si una clase sucesora tiene un método __init__, siempre
sustituye al método __init__ de su clase padre, incluso si éste lo define con una lista
de argumentos diferentes. Y se aplica lo mismo a cualquier otro método
Operadores
• La sobrecarga de operadores permite redefinir ciertos operadores, como "+" y "-", para
usarlos con las clases que hemos definido. Se llama sobrecarga de operadores porque
estamos reutilizando el mismo operador con un número de usos diferentes, y el
compilador decide cómo usar ese operador dependiendo sobre qué opera.
5
Python: Herencia
• Una de las principales propiedades de las clases es la herencia. Esta propiedad nos
permite crear nuevas clases a partir de clases existentes, conservando las propiedades
de la clase original y añadiendo otras nuevas.
• La nueva clase obtenida se conoce como clase derivada, y las clases a partir de las cuales
se deriva, clases base. Además, cada clase derivada puede usarse como clase base para
obtener una nueva clase derivada.
Polimorfismo
Encapsulación
La Encapsulación se consigue en otros lenguajes de programación como Java y C++
utilizando modificadores de acceso que definen si cualquiera puede acceder a esa
método o atributo.
En estos lenguajes tenemos los modificaciones:
public -> hace visible los métodos y atributos fuera de la clase.
private -> hace que los métodos y atributos solo sean accesibles por métodos dentro
de la clase.
En Python no existen los modificadores de acceso.
El acceso a un atributo o a los métodos viene determinado por su nombre: si el nombre
comienza con dos guiones bajos (y no termina también con dos guiones bajos) se trata de
una atributo o método privada, si no es así estos son públicos.
Guayaquil, 10 de enero del 2018
Fundamentos de Programación
Tema: Declaración de una clase y creación de objetos
Objetivo:
Conocer la diferencia entre la programación estructurada y la programación orientada a
objetos.
La palabra clave para declarar la clase es class, seguidamente el nombre de la clase y luego
dos puntos.
Todo método tiene como primer parámetro el identificador self.
Ejercicio que ingresa nombre y edad de una persona, presenta mayor o menor
de edad según corresponda.
Desarrollar un programa que cargue los lados de un triángulo e
implemente los siguientes métodos: inicializar los atributos,
imprimir el valor del lado mayor y otro método que muestre si es
equilátero o no. El nombre de la clase llamarla Triangulo.
Análisis:
Ingresar los lados
Imprimir el valor de los lados
Mediante una condición, saber cuál es el lado mayor
Si son iguales presentar mensajes “es equilátero” o “No es equilátero”
Guayaquil, 17 de enero del 2018
Fundamentos de Programación
Tema: Herencia
Objetivo:
Aplicar los conceptos de Herencia en ejercicios prácticos
La herencia es un mecanismo de la programación orientada a objetos que sirve para crear
clases nuevas a partir de clases preexistentes. Se toman (heredan) atributos y
comportamientos de las clases viejas y se los modifica para modelar una nueva situación.
Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Interfaz Gráfica
Objetivo:
Aplicar métodos para crear ventanas en Python
1. import tkinter
Objetivo:
Crear Aplicaciones Gráficas (GUI) con Python, utilizando como herramienta
gráfica Tkinter.
La palabra clave para declarar la clase es class, seguidamente el nombre de la clase y luego
dos puntos.
Todo método tiene como primer parámetro el identificador self
Ejercicio que ingresa nombre y edad de una persona, presenta mayor o menor
de edad según corresponda.
La palabra clave para declarar la clase es class, seguidamente el nombre de la clase y luego
dos puntos.
Todo método tiene como primer parámetro el identificador self
2. import tkinter
Objetivo:
Aplicar radiobutton en ejercicios desarrollados en Python Tkinter.
Radiobutton
El Radiobutton es un widget Tkinter estándar utilizado para implementar selecciones uno-
de-muchos. Los botones de radio pueden contener texto o imágenes, y puede asociar una
función o método de Python con cada botón. Cuando se presiona el botón, Tkinter llama
automáticamente a esa función o método.
El botón solo puede mostrar texto en una sola fuente, pero el texto puede abarcar más de
una línea. Además, uno de los caracteres puede ser subrayado, por ejemplo, para marcar
un atajo de teclado. De manera predeterminada, la tecla Tab se puede usar para moverse
a un widget de botón.
Cada grupo de widgets de Radiobutton debe estar asociado con una sola variable. Cada
botón representa un valor único para esa variable.
ANEXOS
Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Spinbox se puede usar en lugar de una Entrada ordinaria, en los casos en que el usuario
solo tiene un número limitado de valores ordenados para elegir.
3. Complete:
OS TKINTER
El modulo OS nos permite acceder a funcionalidades dependientes del
sistema operativo.
4. Relacione:
5. Relacione:
1) Permite establecer explícitamente la
posición y el tamaño de una ventana,
Pack 3
ya sea en términos absolutos o en
relación con otra ventana.
2) Es en muchos casos la mejor opción
Grid 2 para uso general. Si bien el paquete a
veces no es suficiente para cambiar los
detalles en el diseño, el lugar le da un
control completo sobre el
posicionamiento de cada elemento,
pero esto lo hace mucho más
complejo que el paquete y la
cuadrícula.
4.- Complete:
Permite establecer explícitamente la posición y el tamaño de una ventana ya
sea en términos absolutos o en relación con otra ventana, se llama ________
Respuesta: place
5.- Indique (V) o (F) según corresponda
El comando pack se puede declarar las posiciones de los widgets se
ocupa de los detalles (V)
Tkinter no es considerado un estándar para la interfaz gráfica de
usuario para Python y es el que viene por defecto con la instalación de
Windows (F)