PROGRAMACION I
PROGRAMA PYTHON
JAIRO SEBASTIÁN GARCÍA MORA
YESID JAVIER REINA CLAVIJO
UNIVERSIDAD DE CUNDINAMARCA
2020-05-19
TABLA DE CONTENIDO
1. ¿Cuáles son las diferencias entre lista y tuplas en Python?
2. ¿Cuáles son las características principales del lenguaje de programación
Python?
3. ¿Qué tipo de lenguaje de programación es Python? ¿Programación o
scripting?
4. ¿Cómo se interpreta el lenguaje de programación Python?
5. ¿Cómo se gestiona la memoria en el lenguaje de programación Python?
6. ¿Qué son los módulos en el lenguaje de programación Python? ¿Nombra
algunos de los módulos incorporados comúnmente utilizados en Python?
7. ¿Cuáles son las variables locales y globales en el lenguaje de
programación Python?
8. Cuando el lenguaje de programación Python cierra, ¿por qué no se libera
toda la memoria asignada?
9. ¿Cuál es el proceso de compilación y enlace en el lenguaje de
programación Python? Estructure la solución en el lenguaje de
programación orientado a objetos (Python) de los siguientes ejercicios y
explique la aplicación estructurada:
10. Realice un programa que almacene una cadena de caracteres
correspondientes a una contraseña en una variable, pregunte al usuario por
la contraseña al iniciar la aplicación e imprima por pantalla si la contraseña
introducida por el usuario coincide con la guardada en la variable sin tener
en cuenta mayúsculas y minúsculas.
11. realice una aplicación en la cual se desea tributar un determinado impuesto
el cual tiene la siguiente condición: se debe ser mayor de 18 años y tener
unos ingresos superiores a 800000 pesos mensuales. Estructurar un
programa que pregunte al usuario su edad y sus ingresos mensuales y
muestre por pantalla si el usuario tiene que realizar el proceso para tributar
o no.
12. estructure una aplicación en la cual los alumnos del curso de programación
1 se han dividido en dos grupos, A y B de acuerdo al sexo y el nombre. El
grupo A esta formado por las mujeres con un nombre anterior a la M y los
hombres con un nombre posterior a la H y el grupo B por el resto.
desarrollar un programa que pregunte al usuario su nombre y sexo, y
muestre por pantalla el grupo que le corresponde.
13. estructure una aplicación que tenga la función de calculadora donde
inicialmente nos solicite 2 números de manera independiente y luego de
tener los dos números previamente cargados nos muestre un menú donde
el usuario seleccione que operación matemática desea realizar (1suma
2resta 3multiplicacion 4division) luego de seleccionar la operación a realizar
muestre el resultado de la operación seleccionada.
1) Diferencia entre tuplas y lista
El concepto de lista y tupla es básicamente lo que hemos manejado en Java o
previamente en c++ conocido como “arreglo unidimensional” o “vector”, sus 2
principales diferencias son la capacidad de ser mutables o modificables, y el
espacio que ocupa en la memoria.
El método que se utiliza para generar el almacenamiento en Python 3 para hacer
uso de las listas es el de los corchetes “[]”, mientras que las tuplas son usadas con
paréntesis “()”.
Una lista es mutable, lo que quiere decir, que por medio de algunos métodos del
lenguaje, podemos agregar, eliminar, o reemplazar datos almacenados dentro de
la misma, por ejemplo:
>>> lista = [1,2,3,4] (creamos una lista donde establecemos 4 enteros)
>>> lista.append(5) (este método anexa un dato al final del arreglo)
>>> lista.insert(0,0) (este método inserta datos en la posición que se indique
(índice,dato))
>>> lista.remove(4) (este método elimina el dato que se indica en el llamado)
>>> lista (imprimimos)
[0,1,2,3,5] (muestra)
Si hubiésemos impreso cada uno de los arreglos observaríamos paso a paso las
modificaciones, por otro lado, si los elementos que se remueven no están
indicados, nos expresa un mensaje de error.
En las tuplas es imposible modificar los datos, pero la ventaja que tiene una tupla,
es que al no ser mutable, requiere de menos memoria de almacenamiento.
2) Características principales.
Las características principales de este lenguaje son:
1) Es un lenguaje interpretado, lo cual puede tardar un poco por el doble
proceso de traducir y ejecutar a la vez, pero no necesita de compilador.
2) Es de tipado dinámico, lo cual es útil si se quiere reutilizar una variable de
otro tipo de dato, durante la siguiente ejecución.
3) Fuertemente tipado, útil para diferenciar que un string que contiene datos
numéricos no se interprete de manera incorrecta, sino con el debido método
de conversión.
4) Multiplataforma.
5) Es identado, maneja claramente un orden especifico para las líneas de
código.
6) Multiparadigmatico, programación orientada a diferentes usos.
3) Tipo de Lenguaje.
Python es un lenguaje de programación con script, ya que le indica al computador
que debe hacer por medio de instrucciones, se requiere del conocimiento de
alguna sintaxis especifica, y a la vez, es interpretado.
Básicamente, todos los lenguajes de scripting, son de programación, pero no
todos los lenguajes de programación son de scripting, pues no todos son de
interpretación.
4) Interpretación Python.
Python se interpreta por medio de su propio interprete, que puede ser descargado
de la pagina oficial. Hay varias versiones de Phyton, pero en general tienen un
mismo funcionamiento, se ingresa la instrucción e inmediatamente es ejecutada
por el computador, sin embargo, es elección del programador si muestra por
pantalla o decide implementar lo adquirido para una nueva instrucción. Si las
instrucciones ingresadas tienen errores, lo sabremos de manera inmediata.
5) Gestión de memoria en Python.
La memoria de Python es administrada por el espacio de almacenamiento
dinámico privado de Python. Todos los objetos de Python y las estructuras de
datos se encuentran en un montón privado. El programador no tiene acceso a este
montón privado y el intérprete se encarga de este montón privado de Python. La
asignación del espacio de almacenamiento dinámico de Python para los objetos
de Python se realiza mediante el administrador de memoria de Python. La API
principal da acceso a algunas herramientas para que el programador las codifique.
Python también tiene un recolector de basura incorporado, que recicla toda la
memoria no utilizada y libera la memoria y la pone a disposición del espacio de
almacenamiento dinámico.
6) Módulos.
Los modulos en Python son extensiones .py o pyc si se utiliza la forma de lenguaje
C de Python. Como ya hemos visto con JAVA, los modulos permiten remitir tareas
en diferentes archivos para poder tener un mayor control de las instrucciones
especificadas para el programa, con esto simplemente reutilizamos código y
permitimos reducir la totalidad de memoria que requerirá el interprete.
Algunos modulos incorporados son: math, csv, re, relative, random, json, circular,
os, entre muchos otros.
7) Variables locales y globales.
Las variables pueden ser globales, lo que resume a que la variable puede ser
declara y usada en cualquier momento, con el simple hecho de llamar la función
en la que se encuentra localizada, esta variable puede modificar el valor de una
posible variable local llamada de igual manera, las variables locales, se localizan
en un punto especifico y darán parámetro durante el lapso de código que se
requiera.
polimorfismo, es el uso de instancias de una superclase, teniendo en cuenta
atributos, y aplicando métodos de una de sus herencias. Como lo dice el termino,
los objetos pueden tener muchas formas, y almacenar, utilizar y mostrar,
diferentes tipos de datos, sin necesidad de haber sido declarados en la
superclase, usando objetos instanciados que sobrescriban al objeto, guardando
así, un objeto de una subclase, en un objeto de una superclase. Con esto se
expresa, que el mismo llamado del método en el nuevo objeto instanciado,
permitirá que el programa reconozca el comportamiento que debe tener, incluso si
8) Liberación de memoria al cierre de “Python”.
Varias son las razones por las cuales Python no libera la memoria de lo que
almacena durante su ejecución. Siempre que Python cierra, en especial los
módulos Python que tienen referencias circulares a otros objetos o los objetos a
los que se hace referencia desde los namespaces globales, no siempre son
liberados. Es difícil desasignar las porciones de memoria que están reservadas
por la librería C. A la salida, por tener su propio mecanismo de limpieza eficiente,
Python trataría de desasignar/eliminar cualquier otro objeto.
9) Compilación y Enlace en “Python”.
La compilación y el enlazamiento en Python, permiten que las extensiones nuevas
se compilen sin ningún error y el enlace sólo se pueda hacer cuando pasa el
procedimiento de compilación. Si se usa la carga dinámica, entonces depende del
estilo que se suministre con el sistema. El intérprete Python se puede usar para
suministrar la carga dinámica de los archivos de configuración y reconstruir el
intérprete.
Para esto, los pasos que se requieren en el proceso son:
1) Crea un archivo con un nombre y en cualquier idioma, que sea
compatible con el compilador de su sistema, ejemplo, archivo.c o
archivo.cpp
2) Ubica el archivo en el directorio Modules/ de la distribución que se
está usando.
3) Agregar una línea en el archivo Setup.local que esté presente en el
directorio Modules/.
4) Ejecuta el archivo usando spam file.o
5) Después de la ejecución exitosa de esta reconstrucción, el intérprete
usa el comando make en el directorio de nivel superior.
6) Si se cambia el archivo, entonces ejecute rebuildMakefile utilizando
el comando como ‘make Makefile’.
10) Programa Usuario/Contraseña.
PSEUDOCODIGO:
DIAGRAMA DE FLUJO:
11) Programa Consulta tributaria.
PSEUDOCODIGO:
DIAGRAMA DE FLUJO:
12) Programa Grupos Estudiantes por Genero Y Nombre.
DIAGRAMA DE FLUJO:
13) Programa Operaciones AritméticasPSEUDOCODIGO:
DIAGRAMA DE FLUJO:
CIBERGRAFIA
Diferencia entre tuplas y listas
Analitycs Lane.
https://www.analyticslane.com/2019/09/27/diferencia-entre-listas-y-
tuplas-en-python/
Lenguaje Interpretado
EcuRed.
https://www.ecured.cu/Lenguaje_interpretado
Caracteristicas.
Covantec.
https://entrenamiento-python-
basico.readthedocs.io/es/latest/leccion1/caracteristicas.html
Diferencias entre lenguaje de scripting, lenguajes de marcado y lenguajes de
programación
EDUCATION IT.
https://blog.educacionit.com/2018/12/26/diferencia-entre-lenguajes-
de-scripting-lenguajes-de-marcado-y-lenguajes-de-programacion/
Introduccion a Python y Manejo de memoria.
Programacion II.
https://sites.google.com/site/programacioniiuno/temario/unidad-1---
manejo-de-memoria-dinmica/gestin-de-memoria/introduccin-a-
python-y-manejo-de-memoria
El libro Vacio
Peredafp.
https://peredafp.files.wordpress.com/2018/11/gestionmemoriacpython.pdf
Memory Managment
Python API.
https://docs.python.org/3/c-api/memory.html
How does Python memory management work
Quora.
https://www.quora.com/How-does-Python-memory-
management-work
Como determinar orden Alfabético en Python
Techlandia.
https://techlandia.com/determinar-orden-alfabetico-python-
como_283772/
Cadenas
Como pensar como un informático.
http://www.openbookproject.net/thinkcs/archive/python/span
ish2e/cap07.html
100 preguntas de entrevista o examen sobre lenguaje Python
Unypython.
https://unipython.com/preguntas-de-entrevista-o-examen-
sobre-lenguaje-python/