Você está na página 1de 81

UNIVERSIDAD DE GUAYAQUIL

FACULTAD DE INGENIERÍA

INDUSTRIAL

LICENCIATURA EN SISTEMAS DE INFORMACIÓN

PORTAFOLIO DE

FUNDAMENTOS Y METODOLOGÍAS DE

PROGRAMACIÓN II

ESTUDIANTE

María Fernanda Sabando Vera

DOCENTE

Lcda. Isabel Guales Dumes Msc.

CURSO

II Semestre Paralelo 2 – 2 Vespertino

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

Todos los perros son mamíferos


Fido es perro
 Fido es mamífero

Fido es perro
Todos los perros son mamíferos
 Fido es mamífero

Todos los perros son mamíferos


Fido es mamífero
 Fido es perro

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

Describir los operadores que se utilizan en la programación mediante la realización mapas

conceptuales y cuadro sinóptico para aplicarlos en ejercicios prácticos.

Elementos Fundamentales de la Programación

Constantes: Un constante es un valor dentro de un programa que no puede cambiar

durante la ejecución del mismo.

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

Utilizar las prioridades de las expresiones mediante la aplicación de ejercicios para

resolver problemas aritméticas.

EJERCICIOS DE RAZONAMIENTO
Miércoles 25 de Octubre del 2017

Fundamentos y Metodologías de Programación

Tema: Lógica y Diagramas de Flujo

Objetivo

Desarrollar ejercicios de lógica para mejorar las destrezas en la elaboración de diagramas

de flujo

Trabajos Grupales en Clase

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

actividad se tiene una balanza de tres brazos.

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

come la lechuga; si deja

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.

Presente el resultado y luego finalice.


Jueves 26 de Octubre del 2017
Fundamentos y Metodologías de Programación

Tema: Estructura de Datos

Objetivo: Describir los tipos de estructura de datos para aplicarlos en la programación

Estructuras de datos

• Usando listas como pilas

• Usando listas como colas


• Herramientas de programación funcional
• Listas por comprensión

• Listas por comprensión anidadas


• La instrucción del
• Tuplas y secuencias.

• Conjuntos
• Diccionarios
• Técnicas de iteración

• Más acerca de condiciones


• Comparando secuencias y otros tipos
Una estructura de datos es una forma particular de organizar datos en una

computadora para que pueda ser utilizado de manera eficiente.

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

diseñar algoritmos eficientes. Algunos métodos formales de diseño y lenguajes de

programación destacan las estructuras de datos, en lugar de los algoritmos, como el

factor clave de organización en el diseño de software.


Viernes 27 de Octubre del 2017

Fundamentos y Metodologías de Programación

Tema: Operadores en Python

Objetivo

Identificar los signos que permiten evaluar los operadores en Python.

Estructuras de datos

• Usando listas como pilas

• Usando listas como colas

• Herramientas de programación funcional

• Listas por comprensión

• Listas por comprensión anidadas

• La instrucción del

• Tuplas y secuencias.

• Conjuntos

• Diccionarios

• Técnicas de iteración

• Más acerca de condiciones

• Comparando secuencias y otros tipos

Operadores lógicos y operaciones

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

Los operadores matemáticos permiten realizar operaciones aritméticas utilizando

directamente símbolos del teclado.

Operadores Relacionales

Se utilizan para evaluar condicionales; como respuesta se obtienen booleanos.


Operadores Lógicos

Permite construir expresiones lógicas, se obtiene como resultado booleanos.


Miércoles 8 de Noviembre del 2017

Fundamentos y Metodologías de Programación

Tema: Python

Objetivo

Conocer el entorno del lenguaje de programación Python

mediante la conceptualización y práctica en el aula.

¿Qué es Python?

Python es un lenguaje de programación muy potente, flexible y fácil de aprender.

Python es de código abierto (libre), gratuito y multiplataforma.

Python es un lenguaje de propósito general, ejemplo de ello es la lectura/escritura de

archivos, sockets, sitios web, bases de datos, interfaz gráfica de usuario, etc.

Python es un lenguaje de programación dinámico, es considerado a menudo como un

lenguaje "scripting", es realmente un lenguaje de propósito general.

Es utilizado para la programación de interfaces gráficas y bases de datos, programación

web tanto en el cliente como en el servidor.


Historia del Lenguaje de Programación

Se remonta hacia finales de los 80s principio de los 90s1

y su implementación comenzó en diciembre de 19892

cuando en Navidad Guido Van Rossum que trabajaba en

el (CWI) (un centro de investigación holandés de

carácter oficial que, entre otras cosas, actualmente

alberga la oficina central del W3C) decidió empezar el

proyecto como un pasatiempo dándole continuidad

al lenguaje de programación ABC del que había formado parte del equipo de desarrollo

en el CWI, dicho lenguaje se enfocaba en ser fácil de usar y aprender manteniendo

potencia en su desempeño pero el hardware disponible en la época de su creación hacía

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

lenguaje, en la comunidad de Python se le conoce como Benevolente Dictador

Vitalicio (en inglés: Benevolent Dictator for Life, BDFL). El nombre "Python" viene dado

por la afición de Van Rossum al grupo Monty Python.


Características que lo hacen interesante para nosotros son:

- Es fácil de utilizar.

- Es un lenguaje \completo"; no sirve solo para programar scripts.

- Tiene gran variedad de estructuras de datos incorporadas al propio lenguaje.

- Tiene una gran cantidad de bibliotecas (libraries).

- Permite la programación modular, orientada a objetos y su uso como un lenguaje

imperativo tradicional.

- Es interpretado. Esto facilita el desarrollo (aunque ralentice la ejecucion).

- Se puede utilizar desde un entorno interactivo.

- Se puede extender fácilmente.

- Es muy expresivo: un programa Python ocupa mucho menos que su equivalente

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

Fundamentos y Metodologías de Programación

Tema: Iniciando programación en Python

Objetivo

Ejecutar programas sencillos en Python.

Cómo ejecutar código en Python

Dos formas principales de ejecutar 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 ejecutará 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 intérprete automáticamente
y se ejecutarán las acciones de nuestro archivo.

Práctica con ingreso de texto

Ejemplo de programa que imprima dos números

Trabajo en grupo

Realizar ejercicios de programas sencillos en Python


Miércoles 15 de Noviembre del 2017

Fundamentos y Metodologías de Programación

Tema: Entrada por teclado: La Función input ()

Objetivo

Aplicar la instrucción de entrada de un programa de Python para observar resultados.

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.

nombre = input("¿Cómo se llama? ")


print("Me alegro de conocerle,", nombre)

Conversión de tipos

De forma predeterminada, la función input () convierte la entrada en una cadena. Si se


quiere que Python interprete la entrada como un número entero, se debe utilizar la
función int() de la siguiente manera:

cantidad = int(input(Dígame una "cantidad: "))


cantidad = float(input("Dígame una : "))

Pasos para crear un programa en Python


Programa que ingresa tres números calcula y presenta el promedio

Programa que ingresa tres números calcula y presenta el promedio


Miércoles 22 de Noviembre del 2017

Fundamentos y Metodologías de Programación

Tema: Condiciones if

Objetivo

Conocer el uso de la instrucción if en los ejercicios condicionales de Python.

La estructura if

El condicional if hace que se ejecute una parte de nuestro código si el valor


es True (verdadero), de lo contrario el programa seguirá otro camino. A menudo,
asociado con el condicional if encontramos los condicionales elif y else.
Cálculos antes del if:

Se pueden escribir sentencias condicionales independientes


Trabajo en Grupo
Desarrolle el ejercicio que se presentara en clase.
Jueves 23 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Condiciones dobles
Objetivo
Aplicar condiciones múltiples en Python desarrollando la lógica en los estudiantes.
Evaluación parcial

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

8.- Subraye el concepto correcto


a.- Chr: Es una variable de python que solo puede almacenar números
b.- Float: Es una variable tipo integer, solo de números, es decir, sin coma.
c.- Str: Es una variable tipo string solo puede almacenar una cadena de
caracteres, pueden ser letras y números, puntos, etc.

9.- Que literal no corresponde a un tipo de función de Python?


a.- Input
b.- Bool
c.- Print
d.- Ninguno

10.- ¿Cual es la función que me permite ingresar cualquier tipo de dato en Python?
a.- Print
b.- Write
c.- Input
d.- Ninguno

11.-Encierra el literal correcto


 los elementos fundamentales de la programación son:
a. Constantes, variables, operadores, expresiones
b. Algoritmo, pseudocódigo, diagramas de flujo
c. Expresiones, algoritmos, variables
d. Operadores, pseudocódigo, diagramas de flujo
12.-Marque con una (x) la opción correcta
 Permiten realizar operaciones aritméticas utilizando directamente símbolos del
teclado.
a. Operadores lógicos ( ) c. operadores relacionales (
)
b. Operadores matemáticos ( ) d. operadores didácticos (
)
13.-Complete
Python es un…………………….. de programación muy potente, ……………………. y
fácil de aprender.
Python es un …………………… abierto(libre), …………………………. y
…………………………. .
Python es un lenguaje de programación ……………………… , es considerado a menudo
como un lenguaje ………………………, es realmente un lenguaje de propósito general.

Lenguaje, código, multiplataforma, dinámico, scripting, gratuito, flexible

Python es un lenguaje de programación muy potente, flexible y fácil de aprender.


Python es de código abierto(libre), gratuito y multiplataforma.
Python es un lenguaje de programación dinámico, es considerado a menudo como un
lenguaje scripting, es realmente un lenguaje de propósito general.

14.- Subraye la respuesta correcta


La función input permite:
a. Obtener texto escrito por teclado.
b. Simplificar las condiciones ordenando adecuadamente los casos
c. Que se ejecute una parte de nuestro código si el valor es true(verdadero)
d. Encadenar varias condiciones.
15.-Complete
Python y su …………………………, posee ………….……………………… , con
respecto a sus ……………………….. en su ……………………………,
…………………………. Usa ………………………….. considera el uso de
………………………………………… declara ………………………… verifica
errores mediante ………………………………………..

Características básicas, semántica. tipos abstractos de datos, manejo de excepciones, funciones,


Python y su historia, posee características básicas,
sintaxis, historia, con respecto
aplicaciones, a sus aplicaciones en su
variables
sintaxis, semántica Usa variables considera el uso de tipos abstractos de datos declara
funciones verifica errores mediante manejo de excepciones.

16. Relaciones los siguientes enunciados

a.-identificadores Convierte la entrada en cadena y de numero entero ( d


)
b.-input Medio para manejar grandes cantidades de datos( c )

c.-Estructura de dato Variables, constantes, operadores y expresiones( a )

d.-Int(input(“ num”)) Permite obtener texto por teclado( b )


17. Subraye la opción correcta
a. Python es un lenguaje de programación muy debil, flexible y dificil de
aprender
b. Python es un lenguaje de programación muy potente, flexible y fácil de
aprender
c. Python es un lenguaje de calculo muy potente, flexible y fácil de
aprender
d. Python es un lenguaje de programación muy potente, inflexible y fácil de
aprender.
18. Establezca en el siguiente cuadro las diferencias entre lógica y lógica de
programación
CUADRO DE DIFERENCIAS
LÒGICA LÒGICA DE PROGRAMACIÒN
Parte de la filosofía que estudia Habilidad de pensar de manera razonada,
las formas y principios generales sistemática y ordenada que nos hace
que rigen el conocimiento y el capaces de inferir algoritmos abstractos
pensamiento humano, y soluciones a problemas de negocios.
considerado puramente en sí
mismo, sin referencia a los
objetos.

19. UBIQUE LA RESPUESTA CORRECTA

 ___CONSTANTE___ es un valor dentro de un programa que no


puede cambiar durante la ejecución del mismo.
 Valores que no son serán fijos durante la ejecución se les llaman
__VARIABLE__.

20. ORGANICE LOS OPERADORES ARITMETICOS Y RELACIONALES


+, =, >, <, - , div, *, /, <>, > , < , **, MOD , SQR.
OPERADORES
ARITMÈTICOS

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)

24.- MARQUE CON UNA X LA OPCIÓN CORRECTA EL SIMBOLO


OPERADORES LOGICOS
1.--PONTENCIACION:
A) + ( )
B) * ( )
C)// ( )
D)** ( x )

2.-MODULO:
A) % ( x )
B) // ( )
C) # ( )
D) =! ( )
25.-ELIJA SEGÚN EL LITERAL CORRESPONDIENTE

1) función input (2 ) Permite que se ejecute una parte de nuestro


código si
El valor es true (verdadero)
2) condicional if ( 1 ) Permite obtener texto escrito por teclado.

3)estructura selectiva múltiples ( 3 ) Están compuesta múltiples selectivas


simples que están unidas por el comando
elif.

26. Cual es la salida del siguiente enunciado:

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);
}

¿Cuáles de las siguientes son posibles salidas del código anterior?.


a)1 2 3
b)1 3 2
c)2 1 3
d)3 1 2
e)2 3 1
f)3 2 1

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.

28. Encierre la respuesta correcta


Para realizar la entrada por teclado en Python es de la siguiente manera:
 Respuesta=float
 respuesta= int (input (“”))
 Print=respuesta
 Todas las anteriores

Características de Python:
 No es orientado a objetos
 Solo sirve para programar scripts
 Utilizable desde un entorno interactivo
 Ninguna de las anteriores

Fecha de implementación de Python:


 2000
 1978
 1989
 1979

29. Relacione las respuestas correctas

Float f , - ,5, *, j
Int hgjdkd
Char 12.35
Str 20

30. Verdadero o falso


 int Una variable de tipo integer sólo puede guardar números enteros, es decir
con coma ( F)
 chr Una variable de tipo character sólo puede guardar varios caracteres. ( F)
 str Una variable de tipo string o cadena sólo puede almacenar una cadena de
caracteres. ( F)
 bool Una variable booleana sólo puede guardar uno de los siguientes valores:
True o False ( V)

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.

32. De las siguientes opciones, seleccione la salida correcta del siguiente


programa

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

34. Relaciones los tipos de variables con sus respectivos ejemplos


Variables Ejemplos
A. Int 1) True or False
B. Float 2) Me llamo Gingin
C. Chr 3) 0.25
D. Str 4) 14
E. Bool 5) X
Respuestas:
1(A-5), (D-4), (C-2), (B-1), (E-3)
2(D-5), (A-4), (E-2), (B-1), (C-2)
3(A-4), (E-1), (D-2), (B-3), (C-5)
4(E-4), (C-5), (D-3), (B-2), (A-1)

35. Subrayar los operadores que se usan en Python


a) Matemáticos, conjunción, modulo.
b) Relacionales, lógicos, matemáticos.
c) Negación, potencia, relacionales.
d) Conjuntos, secuencia, variable.

36. La estructura de datos es:


a) Permite obtener texto escrito por teclado. Al llegar a la función, el programa se
detiene esperando que se escriba algo.
b) Permiten realizar operaciones aritméticas utilizando directamente símbolos por
teclado.
c) Solo puede guardar una cadena de caracteres, pueden ser leras y números.
d) Es una forma particular de organizar datos en una Computadora para que
pueda ser utilizado de manera eficiente.

37. Seleccione las características de la condición “IF”


a. Nos permite ingresar números decimales
b. Asigna un valor de verdadero
c. Hace parte de una condición
b) Convierte una variable en constante
38. Relacione cada columna

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.

Suma – AND – mayor que (>) – resta – división –


multiplicación – OR – menor que (<) – NOT – mayor igual
que (>=) – menor igual que (<=) – potencia – raíz –
diferente a (<>) OPERADORES
ARITMETICOS LOGICOS RELACIONALE
S
Suma AND Mayor que (>)
Resta OR Menor que (<)
División NOT Mayor igual que
Multiplicación (>=)
Potencia Menor igual que
Raíz (<=)
Diferente a (<>)

40. Complete los siguientes literales


a.- La lógica de programación es la (habilidad--- forma) de pensar de manera razonada,
(Correcta y Ordenada---Sistemática y Ordenada) que nos hace capaces de inferir
(algoritmos--- diagramas) y soluciones a problema de negocios, (susceptibles---aptos)
de programación.
b.-Los elementos fundamentales de programación son:
Identificadores Variables
Algoritmo Diagramas de Flujo
Constantes Operadores
Pseudocódigos Expresiones
Ejercicios para practicar
1. Realice un Diagrama de flujo que ingrese las notas de un estudiante de un colegio. Si las
notas son mayor o igual a 45 imprima “Pasa de año” caso contrario “No pasa”.
2. Una persona es adolescente entre 12 y 17 años. Realice un Diagrama de flujo que ingrese la
edad e imprima “Eres adolescente” o “No eres adolescente” según corresponda. Nota usar
operadores lógicos.
3. Se ingresa dos números. Realizar el diagrama de flujo que permita calcular el máximo común
divisor de ellos.
4. Realice un Diagrama de flujo que ingrese la edad de dos personas, visualice el mensaje “Las
dos tienen 16 años” ó “Una de las dos tiene 16 años” ó “Ninguna tiene 16 años” según
corresponda.
5. Se introduce a través del teclado el código de cuentas de un mes de los vendedores de una
compañía. Se debe calcular la comisión de acuerdo a las siguientes condiciones:
Total de ventas menor a $100 comisión del 5%
Total de ventas entre el $100 y 200 comisión del 10%
Total de ventas entre $200 y 300 comisión del 15%
Total de ventas entre $300 y 400 comisión del 20%
Total de ventas mayor a $400 comisión del 25%
Calcular y presentar el código, la comisión por vendedor. Realice el diagrama de flujo.
6. Una copiadora cobra $4 centavos por cada copia”. Si son 10 ó menos y $3 si son más de 10.
Realice un Diagrama de flujo que ingrese el número de copias a sacar e imprima el total a
pagar.
7. Supongamos que TEST es alguna función Booleana que toma cualquier entero dado y
devuelve un valor igual o distinto a cero
8. Escriba una función que tome una lista de números y devuelva la suma acumulada, es decir,
una nueva lista donde el primer elemento es el mismo, el segundo elemento es la suma del
primero con el segundo, el tercer elemento es la suma del resultado anterior con el siguiente
elemento y así sucesivamente. Por ejemplo, la suma acumulada de [1,2,3] es [1, 3, 6].
9. 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.
10. Escriba una función que tome una lista de números y devuelva la suma acumulada, es decir,
una nueva lista donde el primer elemento es el mismo, el segundo elemento es la suma del
primero con el segundo, el tercer elemento es la suma del resultado anterior con el siguiente
elemento y así sucesivamente. Por ejemplo, la suma acumulada de [1,2,3] es [1, 3, 6].
SEGUNDO
PARCIAL
Viernes 4 de Enero del 2018
Fundamentos y Metodologías de Programación
Tema: Estructuras selectivas múltiples

Objetivo:
Analizar de forma detallada y práctica las virtudes de la POO en Python

Conceptos de Programación Orientada a Objetos


• Clases y Objetos
• Herencia
• Herencia Múltiple
• Polimorfismo
• Encapsulación

Los nombres de clase empiezan por mayúscula


Bicicleta con un sólo atributo: velocidad
Métodos: pedalear, el cual incrementa la velocidad, y frenar, que la disminuye.
Todos los métodos tienen de primer parámetro uno que se llama self.
Python: Programación Orientada a Objetos

Conceptos básicos de POO


POO: El Objeto: Un objeto es una unidad que engloba en sí mismo características y comportamiento
necesarias para procesar información. Cada objeto contiene datos y funciones. Y un programa se
construye como un conjunto de objetos, o como un único objeto.
Ejemplo
– Carro BMW
Características
• 4 Ruedas Micheline
• Motor BMW
• Caja de cambios de 7 Velocidades
• Color Azul
• 2 Espejos

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: Clases y Objetos

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 {}

POO en Python: el método __init__

Las clases de Python no tienen constructores o destructores


explícitos. Las clases de Python tienen algo similar a un constructor:
el método __init__.
• __init__ se llama inmediatamente tras crear una instancia de la clase.
• Sería tentador pero incorrecto denominar a esto el constructor de la clase. Es tentador
porque parece igual a un constructor (por convención, __init__ es el primer método
definido para la clase), actúa como uno (es el primer pedazo de código que se ejecuta
en una instancia de la clase recién creada), e incluso suena como uno.
• Incorrecto, porque el objeto ya ha sido construido para cuando se llama a __init__, y
ya tiene una referencia válida a la nueva instancia de la clase. Pero __init__ es lo más
parecido a un constructor que va a encontrar en Python, y cumple el mismo papel.
• El primer atributo o variable de cada método de clase, incluido __init__, es siempre
una referencia a la instancia actual de la clase.
• Por convención, este argumento siempre se denomina self. En el método __init__, self
se refiere al objeto recién creado; en otros métodos de la clase, se refiere a la instancia
cuyo método ha sido llamado.
• Los métodos __init__ pueden tomar cualquier cantidad de argumentos, e igual que las
funciones, éstos pueden definirse con valores por defecto, haciéndoles opcionales para
quien invoca.
• Por convención, el primer argumento de cualquier clase de Python (la referencia a la
instancia) se denomina self.
• Cumple el papel de la palabra reservada this en C++ o Java, pero self no es una palabra
reservada en Python, sino una mera convención.
• Aunque necesita especificar self de forma explícita cuando define el método, no se
especifica al invocar el método; Python lo añadirá de forma automática.

POO en Python: Instanciación de las Clases



Crear un objeto o instanciar una clase en Python es muy sencillo. Para instanciar una clase,
simplemente se invoca a la clase como si fuera una función, pasando los argumentos que defina
el método __init__. El valor de retorno será el objeto recién creado.

POO en Python: Borrar Objetos


• Crear instancias nuevas es sencillo, destruirlas lo es más. En general, no hay necesidad
de liberar de forma explícita las instancias, porque se eliminan automáticamente cuando
las variables a las que se asignan salen de ámbito. Son raras las pérdidas de memoria en
Python.
POO con Python: Atributos de datos
• Python admite atributos de datos (llamados variables de instancia en Java, y variables
miembro en C++).
• Para hacer referencia a este atributo desde código que esté fuera de la clase, debe
calificarlo con el nombre de la instancia, instancia. Data, de la misma manera que
calificaría una función con el nombre de su módulo.
• Para hacer referencia a atributos de datos desde dentro de la clase, use self como
calificador. Por convención, todos los atributos de datos se inicializan en el método
__init__. Sin embargo, esto no es un requisito, ya que los atributos, al igual que las
variables locales, comienzaa existir cuando se les asigna su primer valor.

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.

• Definición de una clase heredada en Python. class Instrumento: pass


class Guitarra(Instrumento): pass class
Bajo(Instrumento):
pass

Herencia: El Método __init__


• Cuando creamos una clase derivada a partir de una clase padre y tenemos que la clase
derivada proporciona o requiere su propio método __init__ , este método de la clase
derivada debe llamar explícitamente el método __init__ de la clase base.
Python: Herencia Múltiple
class acuatico:
pass
class terrestre:
pass
class anfibio(acuático, terrestre):
pass

Polimorfismo

En programación orientada a objetos se denomina polimorfismo a la capacidad que


tienen los objetos de una clase de responder al mismo mensaje o evento en función de
los parámetros utilizados durante su invocación. Un objeto polimórfico es una entidad
que puede contener valores de diferentes tipos durante la ejecución del programa.
(Wikipedia)
El polimorfismo es el proceso de la utilización de un operador o función de diferentes
formas para diferentes datos de entrada. En términos prácticos, el polimorfismo significa
que si la clase B hereda de la clase A, no tiene que heredar todo acerca de la clase A, que
puede hacer algunas de las cosas que hace una clase diferente

A diferencia de Java y C++ el Polimorfismo en Python no es de gran importancia, dada su


naturaleza de lenguaje dinámico.
En Python no existe la sobrecarga de métodos, el ultimo método que se declare
reemplazara a los anteriores, aunque se puede conseguir este comportamiento usando
métodos de # argumentos variable (*otros, **otros)

Para proteger a las variables de modificaciones no deseadas se introduce el concepto de


encapsulación. Los miembros de una clase se pueden dividir en públicos y privados. Los
miembros públicos son aquellos a los que se puede acceder libremente desde fuera de la
clase. Los miembros privados, por el contrario, solamente pueden ser accedidos por los
métodos de la propia clase.

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

Interfaz gráfica en Python


Modulo Tkinter
1. import Tkinter

1. import tkinter

En las siguientes líneas de codificación la primera línea importa el módulo tkinter,


Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Interfaz Gráfica

Objetivo:
Crear Aplicaciones Gráficas (GUI) con Python, utilizando como herramienta
gráfica Tkinter.

Los nombres de clase empiezan por mayúscula


Bicicleta con un sólo atributo: velocidad
Métodos: pedalear, el cual incrementa la velocidad, y frenar, que la disminuye.
Todos los métodos tienen de primer parámetro uno que se llama self.

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

Ejercicio: Programa que permite ingresar el nombre y la edad de una persona.


Imprimir un mensaje si es mayor de edad (edad>=18)
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.
Interfaz gráfica en Python
Modulo Tkinter
2. import Tkinter

2. import tkinter

Tkinter es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de


programación Python. Se considera un estándar para la interfaz gráfica de usuario (GUI)
para Python y es el que viene por defecto con la instalación para Microsoft Windows.
La Ventana Principal
Para la creación de la ventana principal se usa la función “ventana = Tk()” que es atribuida
a una variable en este caso ventana, la cual heredara todas funciones de Tkinter ,
“ventana.mainloop()”
Explicación
Se importa tkinter
Se crea un objeto (app) con la clase Tk()
Se crea con Title
Se crea la etiqueta con label
Se utiliza el método pack() el botón y etiqueta sean visibles
Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Interfaz Gráfica
Objetivo:
Crear Aplicaciones Gráficas (GUI) con Python, utilizando como herramienta
gráfica Tkinter.

Métodos de Gestión de Geometría


Pack: El comando pack se puede declarar las posiciones de los widgets se ocupa de los
detalles.
Place: 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.
Grid: es en muchos casos la mejor opción 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.

Link para ver los códigos de colores:


http://es.bleach.wikia.com/wiki/Ayuda:Paleta_de_colores
Viernes 29 de Noviembre del 2017
Fundamentos y Metodologías de Programación
Tema: Interfaz Gráfica - Python Tkinter radiobutton

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.

El cuadro de giro se comporta de forma muy similar a un widget de Entrada normal. La


diferencia principal es que puede especificar qué valores permitir, ya sea como un rango
o usando una tupla.

Ejemplo con rango de valores


Ejemplo con conjunto de valores
Viernes 7 de Febrero del 2017
Fundamentos y Metodologías de Programación
Tema: Módulos en Python
Objetivo:
Realizar ejercicios en los que se aplique procesos

El módulo os nos permite acceder a funcionalidades dependientes del Sistema Operativo.


Sobre todo, aquellas que nos refieren información sobre el entorno del mismo y nos
permiten manipular la estructura de directorios (para leer y escribir archivos)
Preguntas para el examen.
1. Subraye la respuesta correcta:
HERENCIA DEF TKINTER
Es un mecanismo de la programación orientada a objetos que sirve para crear
clases nuevas a partir de clases preexistentes. Se toman atributos y
comportamientos de las clases viejas y se los modifica para modelar una nueva
situación.
2. Complete:
SELF CLASS INIT
a) La palabra clave para declarar la clase es CLASS.
b) Todo método tiene como primer parámetro el identificador SELF.

3. Complete:
OS TKINTER
El modulo OS nos permite acceder a funcionalidades dependientes del
sistema operativo.

4. Relacione:

Modulo Tkinter 1 1) Mainloop ()


Mostar Ventana con
3 2) Ventana = Tk ()
Interfaz Grafica
Creación de ventana
2 3) import Tkinter
principal

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.

3) Se puede declarar las posiciones de


Place 1
los widgets se ocupa de los detalles.

6. Subraye la respuesta correcta:


Es un widget Tkinter estándar utilizado para implementar selecciones uno-de-
muchos:
 RadioButton
 Label
 Button

7. Subraye la respuesta correcta:


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.
 Pack
 Title
 Spinbox

8. Subraye cuales son los métodos de gestión geométrica.


 Label – Button – RadioButton
 Pack – Place - Grid
 Def – Class – Self

9. Encierre el literal correcto:


Tkinter es:
a) Un binding de la biblioteca grafica Tcl/Tk para el lenguaje de
programación Python.
b) Un comando que puede declarar movimientos.
c) En muchos casos la mejor opción para el posicionamiento de cada
elemento.

10. Encierre el literal correcto:


La herencia es:
a) Un widget Tkinter estándar utilizado para implementar selecciones
uno-de-muchos
b) Un mecanismo de la programación orientada a objetos que sirve para
crear clases nuevas a partir de las clases preexistentes.
c) Un comando de que se importa en la biblioteca grafica tcl/tk.
1.- Qué es el Radio button?
Es un widget Tkinter estándar utilizado para implementar selecciones de uno,
o de muchos, además pueden contener texto o imágenes.
2.- Qué es el módulo?
Nos permite acceder a funcionalidades dependientes de Sistema Operativo,
nos permiten manipular la estructura de directorios (para leer y escribir
archivos).
3.- Indique los 3 métodos de Gestión de Geometría?
 Pack
 Place
 Grid

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)

6.- Cuál es la palabra clave para definir la clase?


a) int
b) float
c) class
d) Var

7.- Para la creación de una ventana principal se usa la función?


a)”Ventana = tk ()”
b)”Ventana = fg ()”
c)”Ventana = tlg ()”
d)”Ventana = jpg ()”

8.- Subraye los métodos de gestión de geometría?


Class tk pack place
Float grid

9.- Subraye para darle color a una ventana se usa la función?


Class pack fg gird

10.- Los nombres de clases empiezan con:


a) minúscula
b) números
c) paréntesis
d) mayúscula

Você também pode gostar