0% encontró este documento útil (0 votos)
215 vistas

Algoritmos Resueltos Con Python 1

Python es un lenguaje de programación de alto nivel, multiplataforma e interpretado. Tiene una sintaxis limpia y legible, y una gran cantidad de librerías disponibles. Visual Studio Code es un editor de código popular para Python que proporciona funciones como resaltado de sintaxis, control de versiones Git integrado y autocompletado inteligente.

Cargado por

Gaby Maximoff
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
215 vistas

Algoritmos Resueltos Con Python 1

Python es un lenguaje de programación de alto nivel, multiplataforma e interpretado. Tiene una sintaxis limpia y legible, y una gran cantidad de librerías disponibles. Visual Studio Code es un editor de código popular para Python que proporciona funciones como resaltado de sintaxis, control de versiones Git integrado y autocompletado inteligente.

Cargado por

Gaby Maximoff
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

1

1. Lenguaje de Programación Python


1.1 Python
Python es un lenguaje de programación de alto nivel, es decir las
sintaxis que se suele usar es fácil de leer para un ser humano, a
comparación de otros lenguajes como java y c++, ya que la
filosofía del lenguaje es proporcionar una sintaxis muy limpia y
que beneficie con código leíble. (Challenger-Pérez et al., 2014)
Python es una de las herramientas tecnológicas que en los últimos
años se ha hecho muy popular, gracias a varias razones como:
 La cantidad de librerías que contiene.
 La rapidez con la que se crean los programas.
 Es multiplataforma (se puede desarrollar y ejecutar programas
en, Linux, Windows, Mac, Android y otros)
 Python es gratuito, incluso para propósitos empresariales.

1.2 Características del lenguaje

a) Propósito general

Con Python se pueden construir todo tipo de programas. Se


podrían crear aplicaciones de escritorio o web, usarlo para
automatizar tareas en servidores, o quizá usarlo como una
gran calculadora. Lo más interesante de su propósito se ha
visto con aplicación a la Inteligencia artificial, por su
capacidad para procesamiento de dato.
b) Multiplataforma
Otra de sus ventajas es, que una aplicación creada en Python
puede ejecutarse en distintas plataformas como Unix,
Windows, Mac o incluso Android.
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 15 / 257
c) Interpretado
Al ser una ventaja la capacidad de crear programas
rápidamente, una desventaja que posee Python es que el un
programa debe ser interpretado, lo que hace que sea más lento
que un programa compilado (traducido a binario, 1’s y 0’s)
que se comunica directamente con microprocesador, ya que
es el intérprete quién se comunica con el microprocesador.
d) Interactivo
Posterior a su instalación Python dispone de un intérprete por
la línea de comandos en el que se pueden introducir
sentencias. La ventaja de tener esta terminal es que uno puede
ir probando comandos de Python que no ha entendido bien y
hacer pruebas con él. O probar que hacen algunos trozos de
código del programa que se esté desarrollando.

Figura 1. Pruebas en el intérprete por la línea de comando de Python.

Otro modo de acceder a la línea de comandos es utilizando


cualquier terminal (en caso de Windows usando el CMD) y
digitar el comando Python seguido de la tecla enter.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 16 / 257


Figura 2. Accediendo a la línea de comando de Python mediante CMD

e) Orientado a Objetos
Python está diseñado para soportar el paradigma de la
programación orientado a objetos (POO), donde todos los
módulos se tratan como entidades que tienen atributos, y
comportamiento. Lo cual, en muchos casos, ayuda a crear
programas de una manera sencilla, además de que los
componentes son reutilizables.
f) Funciones y librerías
El lenguaje trae consigo diversas funciones incluidas en la
carpeta de instalación; muchas de ellas para la interacción con
Cadenas de texto, números, listas, ficheros, sistema operativo,
etc.
Además, en el mercado, existen muchas librerías de terceros
que se pueden importar los cuales podrían facilitar a la
creación de interfaces gráficas como puede ser Tkinter. Si se
desea crear videojuegos, se podría importar alguna otra
librería como Pygame. O si se trata de hacer operaciones con
grandes cantidades de datos se podría importar NumPy. Así
se pueden encontrar infinidad de librerías orientadas a
diferentes campos.
g) Sintaxis clara
Python tiene una sintaxis muy visual (fácil de leer), gracias a
su notación indentada (Agregar márgenes a la izquierda
cuando estos los requieran para identificar estructura de datos)

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 17 / 257


los cuales deben implementarse obligatoriamente si se quiere
evitar errores y que el programa ejecute satisfactoriamente.
En varios lenguajes, para separar trozos de código, se usan
caracteres como las llaves o las palabras reservadas begin y
end. En ocasiones muchos programadores novicios obvian la
indentación generando así caos en el programa que están
escribiendo, lo cual dificulta la lectura para los humanos. Otra
desventaja de no indentar el código es que si ocurre un error
en el programa será mucho más difícil encontrarlo, por no
decir que en algunos casos será imposible. La buena
indentación de código hace que podamos entender y mantener
el código en futuros porvenires.
Para realizar la indentación se debe hacer uso de la tecla
tabulador, colocando un margen a la izquierda del trozo de
código que iría dentro de una función o un bucle.
Otra de las ventajas es que los programadores tengan una
estandarización de reglas para escribir un código claro y
leíble.
1.3 Instalación de Python:
Python se puede descargar de manera gratuita de su página oficial
https://www.python.org/downloads/, para los ejercicios de este
libro se está usando Python 3.
Sobre el instalador haga doble clic. En la ventana que salga es
recomendable dejar las configuraciones por defecto que sugiere
Python:
 Documentation: permite instalar la documentación al cual se
puede acceder sin necesidad de internet.
 Pip: Es una herramienta que permite integrar paquetes y
librería de terceros.
 Tcl/tk: una librería que permite crear interfaces gráficas para
Python.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 18 / 257


Figura 3. Características opcionales para instalar en Python.

Al momento de instalar Python, uno de los factores más


importantes para que se puede ejecutar en cualquier lugar del
Sistema Operativo es la configuración de variables de entorno:
Afortunadamente Python trae una opción para realizar esta
configuración desde la instalación. Por ello es imperativo marcar
la casilla: Add Python to environment variables (Agrega a Python
a las variables de entorno). Teniendo todo ello en cuenta solo
hace falta darle clic a Instalar.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 19 / 257


Figura 4. Opciones avanzadas de la instalación de Python.

Para comprobar que todo ha ido correcto en una terminal escriba:


Python - -version.

Figura 5. Comprobar la instalación de Python en el Sistema Operativo.

1.4 ¿Por qué Python?


Python está en movimiento y en continuo desarrollo apoyando en
distinticos campos de la ciencia, matemática, estadística,
inteligencia artificial (Chazallet, 2016)
Es multiplataforma, lo que significa que no se debe reescribir
todo el código para migrar de una plataforma a otra.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 20 / 257


Si uno tiene dudas acerca de los comandos o instrucciones de
Python tiene a su disposición una infinidad de blog en internet,
muchos de ellos en español.
Existen muchas librerías a disposición para todo tipo de campos
de estudios, Python es una gran herramienta de apoyo para la
ciencia.
1.5 Visual Studio Code
Visual Studio Code o VS Code (como se le conoce) es un
proyecto de Microsoft de código abierto que además es
multiplataforma por lo que se podrá ejecutar en Windows, Linux,
o macOs.
VS Code es un editor de código moderno y muy poderoso gracias
a sus muchas funcionalidades prácticas al momento de trabajar
con código. Algunas de las ventajas que tiene son:
Soporte para depuración de errores, significa que este entorno
de desarrollo proporciona herramientas para ir probando el
código buscar errores y si fuera necesario se podría hacer
seguimiento de la ejecución línea a línea.
a) Resaltado de sintaxis.
Como en todo editor de texto, no podría faltar, el resaltado de
sintaxis que es una excelente ayudada a la hora de identificar
elementos del código; como pueden ser las palabras claves del
lenguaje en el que se esté trabajando, los comentarios, las
funciones y clases.
Tiene soporte de resaltado de sintaxis para casi todos los
lenguajes como puede ser: Bash, C, C++, Closure, C#, Go,
Java, Lua, Makefile, Markdown, Objective-C, Perl, PHP,
PowerShell, Python, R, Ruby, SQL, Visual Basic, XML,
HTML, CSS, Javascript, JSON, Less, Sass, Typescript, etc.
En caso de que algún resaltado de sintaxis aún no se encuentre
instalado puede hacer uso del Marketplace (que también ya
viene integrado), para instalarlo.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 21 / 257


b) Control integrado de Git.
Una de las herramientas que no podría faltar, y que es una gran
ayuda a nivel profesional, es el control de versiones Git. Git
es otra herramienta potente que todo programador debe
aprender para le gestión, orden de las versiones de los
proyectos que se van creando. Otra de sus ventajas es que Git
ayuda a organizar el trabajo en equipos y multi-equipos
gracias a su filosofía de ramas, por lo que cada equipo estaría
trabando en una rama aislada; una vez hayan finalizado su
respectiva tarea puede unir cada avance a la rama principal.
c) Autocompletado inteligente de código.
Otra de las ayudas que no debe faltar en todo editor de texto
es: el autocompletado inteligente, que sugiere lo que quizá se
quiere escribir; esto significa que puede que no escribirse toda
la palabra siempre, eso ahorrar tiempo y da la posibilidad de
terminar el programa mucho más rápido.
d) Atajos de teclado.
Otro de los aspectos a tener en cuenta tener atajos de teclado,
lo que permite hacer tareas muy rápido y sin necesidad de usar
el mouse. VS Code tiene una infinidad de atajos de teclado,
ellos pueden ser agrupados en distintos grupos, algunos de los
más importantes son:
Atajos de edición básica. Son aquellos que permiten agilizar
tareas al momento de escribiendo código.
Atajos de navegación. Aquellos facilitan el desplazarse por
toda la página; su potencial resalta en documentos muy largos,
donde moverse de una a otra función es tediosa.
Atajos de búsqueda y remplazo. Estos atajos permiten
encontrar palabras claves que se quiere buscar, y puede
moverse a través de ellas; en algunas ocasiones quizá la
palabra haya sido mal escrita o se desea cambiar por una mejor
nomenclatura, para ellos se dispone de la opción de remplazar
y remplazar todo.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 22 / 257


Atajos de administrador de archivos. Son aquellos atajos de
teclado permiten abrir, crear, cerrar archivos, así como crear
nuevas carpetas. Prácticamente permiten moverse por un árbol
de directorios dentro del mismo editor, evitando la necesidad
de abrir el Administrador de archivos del sistema operativo.
Tabla 1
Atajos de edición básica

Atajos de edición básica


Ctrl+X Cortar line (sin seleccionar)
Ctrl+C Copiar line (sin seleccionar)
Alt+Up Arrow/Down Arrow Mover línea Arriba/abajo
Shift+Alt+Down Arrow/Up Arrow Copia línea Arriba/abajo
Ctrl+Shift+K Eliminar línea
Ctrl+Enter Insertar línea abajo
Ctrl+Shift+Enter Insertar línea arriba
Home Ir al inicio línea
End Ir al final de la línea
Ctrl+Home Ir al inicio del archive
Ctrl+End Ir al final del archivo
Ctrl+KthenCtrl+C Comentar línea
Ctrl+KthenCtrl+U Remover comentario de línea

Tabla 2
Atajos de búsqueda y remplazo

Búsqueda y remplazo
Ctrl+F Buscar
Ctrl+H Remplazar
F3/Shift+F3 Buscar siguiente/anterior

Tabla 3
Atajos de mutiCursor y Selección

MutiCursor y Selección

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 23 / 257


Alt+Click Insertar cursor
Seleccionar todas las ocurrencias de la
Ctrl+Shift+L
selección actual
Ctrl+F2 Select all occurrences of current word
Ctrl+L Seleccionar línea

Tabla 4
Atajos de administración de archivos

Atajos de administración de archivos


Ctrl+N Nuevo archivo
Ctrl+O Abrir archivo
Ctrl+S Guardar
Ctrl+Shift+S Guardar como
Ctrl+KthenS Guardar todos los archivos
Ctrl+F4 / Ctrl + W Cerrar archivo
Ctrl+KthenCtrl+W Cerrar todos los archivos
Ctrl+Shift+T Reabrir archivo

e) Soporte de multicursor:
Esta característica es resaltante porque permite editar varias
partes del documento al mismo tiempo.
f) Terminal Integrada:
En muchos lenguajes, y en especial en Python, se inicia
haciendo aplicaciones de consola lo que significa que para
ejecutarlos se necesita de una terminal. El proceso que
normalmente se seguiría sería: salir del editor, ir a la ubicación
del archivo, abrir una terminal y ejecutar el programa.
La ventaja de tener una terminal integrada es que no hace falta
salir del editor para ejecutar el programa en construcción;
además de que se puede invocar con una combinación de
teclado, lo cual puede varías dependiendo de la configuración

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 24 / 257


del idioma del teclado; si la configuración está en español la
combinación será Ctrl + Ñ.
Nota: la terminal se abrirá en la path (dirección) de la carpeta
abierta en el editor de texto.

Figura 6. Abriendo la terminal integrada de VS Code

En caso de que no se mostrará habrá que ver cuál es la


configuración de la terminal integrada, para ello debe
presionar: Ctrl + K + S, que abrirá la configuración de atajos
de teclado.
En su buscador digitar la oración: toggle integrated terminal,
el cual mostrará la combinación de teclas que le corresponde.
En caso de que no tenga asignado alguna combinación o que
no es atractivo el tajo de teclado, se puede reconfigurarse
haciendo doble clic sobre el nombre, y posteriormente
presionar la combinación que se desee. Se debe tener presente
que la asignación de teclado no interfiera con otras
operaciones, ya que esta última dejarían de funcionar.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 25 / 257


Figura 7. Configuración del atajo de teclas de la terminal integrada.

g) Personalizable
También es personalizable lo que significa que el editor se
adapta a la exigencia del usuario y no de forma contraria, por
lo que los usuarios pueden cambiar el tema del editor, los
atajos de teclado y las preferencias.
h) Marketplace
Es una tienda de extensiones para VS Code el cual esta
soportado por una comunidad de desarrolladores que suben
sus plugin.
Gracias a su buscador se pueden encontrar infinidad de nueva
funcionalidad para convertir el editor en un gran entorno de
desarrollo. En el Marketplace se pueden conseguir temas
nuevos, por si los que ya vienen instalados no son suficientes,
así como soportes de resaltado para otros lenguajes y ayudas
de autocompletado.
Para acceder al Marketplace basta presionar en el botón
Extensiones que está en la parte izquierda del editor o
presionar la combinación de teclas: Ctrl + Shift + X. Una vez
en la interfaz de Marketplace solo debe escribir el nombre de
algún plugin que se quiera integrar a VS Code.
Si se tiene dudas de lo que una extensión realiza, puede hacer
clic sobre él, posteriormente se abrirá una ventana detallando
toda la información acerca de este.
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 26 / 257
Figura 8. Presentación de Marketplace.

1.6 Integración de Python con VS Code


Para tener VS Code funcional y lista para trabajar con Python se
necesita de dos pasos:
1. Que Python ya esté instalado en el sistema operativo.
2. Integrar un plugin que permitirá trabajar cómodamente con
Python y brinde la ayuda de autompletado.
Para ello acceder a Marketplace y en su buscador escribir:
python, debe seleccionar la opción que se muestra en la imagen
adjunta, posteriormente clicar en instalar.

Figura 9. Instalación del plugin Python.

Ahora ya está listo para hacer programas en Python.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 27 / 257


1.7 Ejecutar código Python
En esta primera prueba se creará un programa que imprima por
consola el clásico hola mundo. Se recomienda copiar el codigo a
su editor de texto y guardarlo con el nombre: saludo.py,

Figura 10. Primer programa en Python.

Para guardar el archivo puede hacer uso del menú File seguido de
la opción Save o usar el atajo de teclas Ctrl + S.
Nota: no olvidar el “.py” al final del nombre del archivo, esto es
importante para decirle al sistema operativo que el archivo es un
programa de Python.
El fichero puede ser almacenado en cualquier lugar de su disco
duro, de preferencia en un espacio que sea fácil de hallar para su
futura interacción con el archivo.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 28 / 257


Figura 11. Guardando el archivo con el nombre: saludo.py

Después de haber guardado el archivo, debe abrir una terminal y


moverse a la carpeta del archivo (si está usando CMD debe hacer
uso del comando CD para moverse entre directorios usando la
terminal).
Una vez en directorio bastará escribir el nombre del programa:
saludo.py seguido de la tecla Enter. En caso de que no funcione
pruebe la alternativa: python saludo.py.

Figura 12. Pasos para ejecutar un programa en Python usando CMD

Nota: para trabajar con Python es necesario conocer algunos


comandos básicos de la terminal, que utilice, como puede ser:

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 29 / 257


moverse entre directorios, listar elementos del directorio, crear,
mover, eliminar ficheros.
Otro atajo interesante que traen los Administradores de archivos
es la posibilidad de abrir terminales en el directorio donde te
encuentres.
En Windows existe el atajo Shift + Anti-Clic (clic derecho), el
cual desplegará la opción Abrir ventana de comandos aquí, con
este paso lo que queda es ejecutar el archivo Python.

Figura 13. Para abrir una terminal en la carpeta donde está ubicado

1.8 Ejecutar código Python en VS Code


Ejecutar el código desde VS Code es más sencillo. Debe abrir el
directorio donde está almacenado su programa haciendo uso del
menú File seguido de Open folder…

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 30 / 257


Figura 14. Abrir un directorio en VS Code, usando Open Folder…

Figura 15. Vista posterior al abrir un directorio con: Open Folder…

Abra el código fuente de su programa, en caso de no visualizarlo,


usando el panel Explorer y haga clic sobre el nombre del archivo.
Existen dos maneras de ejecutar un programa de Python en VS
Code:
1. La forma más sencilla es usando el botón Ejecutar; que es un
triángulo verde que se encuentra en la parte superior derecha
del editor.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 31 / 257


La desventaja de usar este acceso directo es que funciona
excelente con programas que no necesitan mucha interacción
con el usuario.

Figura 16. Ejecutando un programa de Python con el botón Ejecutar.

2. La otra manera de ejecutar un código Python es haciendo uso


del atajo del atajo de teclas de la terminal integrada Ctrl + Ñ
que desplegará la terminal por defecto del sistema operativo,
en este caso CMD.
Posteriormente a presionar las teclas se abrirá una terminal
cuya path (dirección) se ha posicionado en la carpeta que se
pre-abrió con Open Folder…, Por lo que solo queda escribir
el nombre del archivo: saludo.py o python saludo.py.
La ventaja de ejecutar el código de esta forma es que el
programa interactúa mejor con el usuario además de desplegar
los errores en caso de que los hubiera.
Su desventaja que necesita más pasos que al usar el botón
ejecutar.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 32 / 257


Figura 17. Ejecutando un Python de la segunda manera.

1.9 ¿Por qué VS Code?


VS Code es una herramienta potente que permite editar código
rápidamente y de forma inteligente gracias a sus atajos de teclado
y extensión, además de que se puede hacer muchas tareas sin salir
del editor, se puede administrar archivos o ejecutar el programa
que se esté creando.
En caso de que algunas funcionalidades no se encontraran se
puede hacer uso del Marketplace para buscar la extensión que se
desea.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 33 / 257


2
2. Lenguaje y Algoritmos
El ser humano pensante por naturaleza ha hecho uso del lenguaje
desde épocas remotas para comunicarse con los demás, a medida que
evolucionó, desarrolló herramientas tecnológicas que facilitaron este
proceso, pasando por señales de humo, palomas mensajeras, cartas,
telégrafo, teléfono hasta hoy en día donde encontramos computadoras,
tablets, smartphones, la red de redes (internet), los satélites, la nube,
entre muchas otras que seguirán apareciendo. Particularmente son las
herramientas denominadas computadoras las que nos llaman la
atención para este particular, el ser humano se comunica con ellas, le
da instrucciones que deben ejecutar retornando un resultado que nos
servirá para tomar decisiones. (Aguilar, 2008)
Estas instrucciones que reciben las computadoras se hacen a través de
programas para computadoras que se crean mediante un lenguaje de
programación como el C++, Visual Studio, Delphi, Java, etc. Estos
programas deben seguir una lógica y orden independientemente del
lenguaje de programación en el que fueron hechos.
La forma estandarizada de crear esta lógica es mediante algoritmos,
seguramente en algún momento de nuestras vidas hemos oído de esta
palabra, o hemos hecho uso del mismo, por ejemplo cuando
preparamos un café, cuando hacemos la tarea, en cada cosa que
realizamos aplicamos algoritmos, y de manera especializada aquellos
que se encuentran en el mundo de la ingeniería y las ciencias
computacionales; el término algoritmo históricamente hablando se
remonta a la antigüedad, el nombre se tomó en honor al matemático
árabe “Abu al-Khwwarizmi” que vivió entre los siglos VIII y IX,
quien se encargó de difundir el conocimiento de la antigua Grecia e
India. Su aporte se centró no en dar nuevos teoremas o postulados
matemáticos sino en simplificar la matemática a un nivel que pueda
ser fácilmente entendido por el hombre común. Aunque él no creo el
primer algoritmo su aporte ya mencionado le dio este honor.

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 34 / 257


2.1 ¿Qué es un algoritmo?

Un algoritmo es visto como un conjunto de pasos, procedi-


mientos o acciones que nos permiten alcanzar un resultado o
resolver un problema.

Figura 18. Pensando en una idea

Todo algoritmo por lo general consta de tres secciones o


módulos principales. En la figura podemos observar las
secciones que constituyen un algoritmo.

Figura 19. Secciones de un algoritmo

Todo algoritmo requiere datos de entrada para poder realizar sus


procesos de transformación de datos y poder finalmente emitir o
imprimir resultados.
Así mismo un algoritmo debe tener ciertas características
básicas a todos: (Cairó et al., 1993)

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 35 / 257


• Determinismo: El algoritmo, dado los mismos datos de
entrada en diferentes ejecuciones del algoritmo, siempre
debe arrojar los mismos resultados.
• Precisión: Los pasos que se siguen en el algoritmo deben
ser precisados con claridad para evitar dudas.
• Finitud: Es decir debe tener un inicio y un fin. El
algoritmo, independientemente de la complejidad, siempre
debe ser de longitud finita.

2.2 Representación de algoritmos


Los algoritmos se representan empleando Pseudocódigos y
Diagramas. (De la cruz Roca & Condor Caballero, 2017)

a. Pseudocódigos
Los pseudocódigos son conjunto de instrucciones del
lenguaje natural, como el castellano o el inglés, un ejemplo
se muestra en la siguiente figura.

Figura 20. Algoritmo mediante Pseudocódigo

b. Diagramas
Es una representación que usa símbolos predefinidos para
diagramar un algoritmo, con el fin de que sea fácil de seguir
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 36 / 257
la lógica, indicando el inicio y el termino de los mismos.
Las más conocidas son el diagrama de flujo y Carta N-S.

S
N1+N2

Figura 21. Diagrama de flujo (izq.) y Carta N-S (der.)

2.3 Datos

En algoritmos un dato es un valor numérico o no numérico que


se toma como entrada para poder ejecutar el algoritmo. Dentro
de los tipos de datos se definen a los siguientes: (Cairó et al.,
1993)
a. Datos numéricos
Dentro de los tipos de datos numéricos encontramos valores
enteros y valores reales. Los enteros son números que pueden
estar precedidos del signo + o - y que no tienen parte decimal,
a diferencia de los valores reales, algunos ejemplos
128 152S -714 8 530 16 235 -14 780
7.5 128.0 -37.865 129.7 16 000.50 -15.0
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 37 / 257
b. Datos alfanuméricos
Dentro de este tipo de datos encontramos el tipo carácter (un
solo carácter) y el tipo cadena (secuencia de caracteres). Son
datos cuyo contenido pueden ser letras del abecedario (a, b, c
.. z), dígitos (0, 1, 2 , .., 9) o sím- bolos especiales ( #, ?,
$, \, *, etc.)
Un dato tipo carácter contiene un solo carácter. Por ejemplo:
'a' 'B' '$' '9' '-' '#* 'f'
Un dato tipo cadena contiene un conjunto de caracteres.
“abcde” “$9#7” “Carlos Gómez” “Rosario” “754-27-
22”
c. Datos lógicos
Dentro de este tipo de datos encontramos los booleanos. Son
datos que sólo pueden tomar dos valores: verdadero (true) o
falso (false).

#TIPOS DE VARIABLE EN PYTHON


#El tipo de variable estará determinado por el tipo de dato que almacena
#Enteros: vasta agregar un valor entero
a = 10
b = 11

#Decimales: debe agregarse un número con punto flotante


a = 10.0
b = 12.5
c = 3.1416
#Booleanos: Datos que pueden tomar verdadero o falso
#Podrías usar las palabras reservadas: True y False
verdad = True
falso = False
#Podrías usar los enteros

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 38 / 257


verdad = 1
falso = 0

#Texto o Cadena o String


saludo = "hola"
color = "Rojo"
#También se pueden usar comilla simple
saludo = 'hola'
color = 'Rojo'

2.4 Identificadores, constantes y variables

a. Identificadores
Llamaremos identificador al nombre que se les da a las
casillas de memoria en una computadora, lugar donde se
guarda o almacena los valores que se le asigna a las constantes
y variables. El primer carácter que forma un identificador
debe ser una letra (a, b. c, .. , z).
b. Constantes
Las constantes son objetos que no cambian de valor durante
la ejecución de un algoritmo.
c. Variables
Las variables son objetos que pueden cambiar su valor durante
la ejecución del algoritmo.

2.5 Operaciones combinadas y lógica operacional


a. Operaciones aritméticas
Para poder realizar operaciones aritméticas necesitamos de
operadores aritméticos, una operación combinado siempre se
evalúa comenzando por el lado izquierdo, detectando los
operadores de mayor prioridad. El resultado de una operación
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 39 / 257
aritmética será un número. Si los operadores que se evalúan
son del mismo nivel entonces se comienza por el operador que
se encuentra al extremo izquierdo.
Si la operación combinada presenta paréntesis de agrupación
entonces se debe evaluar comenzando por el paréntesis más
interno.
Los operadores aritméticos son:

+ : suma Div : división entera


- : resta Mod : resto de una división
entera
* : multiplicación
^ : potencia ( también usada
/ : división
para raíz)

Para que el resultado de la operación combinada salga


correcto, es importante tener en cuenta el orden de resolución
de los operadores.
A continuación, en la tabla, presentamos la jerarquía de
operaciones aritméticas. (Cairó et al., 1993)
Tabla 5
Prioridad de operadores aritméticos

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 40 / 257


A continuación, algunos ejemplos demostrativos.

a) 6 * 5^3 / 5 div 3 b) 4*2*(160 mod 3^3) div 5*13-28


6 * 125 / 5 div 3 4*2*(160 mod 27) div 5*13- 28
750 / 5 div 3 4*2*25 div 5*13-28
150 / 3 8*25 div 5*13 – 28
50 200 div 5 *13 – 28
40 * 13 – 28
520 – 28
492

Nota: Se resalta la operación que se realiza a


continuación.

c) 15/3*(7+(68-15*33+(45^2/5)/3)/2)+19
15/3*(7+(68-15*33+(2025/5)/3)/2)+19
15/3*(7+(68-15*33+ 405 / 3)/2)+19
15/3*(7+(68-495+ 405/ 3)/2)+19
15/3*(7+(68-495+ 135)/2)+19
15/3*(7+(-427+ 135)/2)+19
15/3*(7+ (-292)/2)+19
15/3*(7-146 ) +19
15/3*(-139) +19
5 *-139 +19
-695 + 19
-676

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 41 / 257


Tabla 6
Operaciones Aritméticos en Python

Operaciones Aritméticos en Python


Operador Jerarquía Operación
** Potencia
Mayor
*, /, %, // a Multiplicación, división,
Menor modulo, división entera
+, - Suma, resta
b. Operaciones relacionales
Constituidos por operadores relacionales. (Cairó et al., 1993)
Tabla 7
Prioridad de operadores relacionales

En prioridad los operadores relacionales son después de los


operadores aritméticos. Una operación combinada de este tipo
debe comenzar evaluando y simplificando las operaciones
aritméticas, según lo indicado en esa sección. Vea el siguiente
ejemplo.

a) ((1240 mod 6*2^4) > (7+8*3^4)) > ((15*2) = (30*2/4))


((1240 mod 6*16) > (7+8*3^4)) > ((15*2) = (30*2/4))
((4*16) > (7+8*3^4)) > ((15*2) = (30*2/4))

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 42 / 257


(64> (7+8*3^4)) > ((15*2) = (30*2/4))
(64 > (7+8*81)) > ((15*2) = (30*2/4))
(64 > (7+648)) > ((15*2) = (30*2/4))
(64> 655) > ((15*2) = (30*2/4))
FALSO > ((15*2) = (30*2/4))
FALSO > (30 = (30*2/4))
FALSO > (30 = (60/4))
FALSO > (30 = 15)
FALSO > FALSO
FALSO
Tabla 8
Operaciones relacionales en Python

Operaciones relacionales en Python


Operador nombre Ejemplo Resultado
"Cola" ==
== Igualdad
"Sola" False
!= diferente a' != 'x' True
< menor que 7 < 151 True
> mayor que 22 > 10 True
<= menor o igual que 14 <= 20 True
>= mayor o igual que 55 >= 21 True

c. Operaciones lógicas
Las operaciones lógicas son las ultimas en realizarse, opera
sobre valores booleanos VERDAERO (1) y FALSO (0), la
siguiente tabla muestra su jerarquía y que operadores se
considera. (Cairó et al., 1993)

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 43 / 257


Tabla 9
Prioridad de operadores lógicos.

A continuación, se muestra el siguiente ejercicio

a) NO ( 18 >= 6^2) O (43 – 8 * 2 div 2 <> 3 * 2 div 3)


NO ( 18 >= 36) O (43 – 8 * 2 div 2 <> 3 * 2 div 3)
NO (FALSO) O (43 – 8 * 2 div 2 <> 3 * 2 div 3)
NO (FALSO) O (43 –16 div 2 <> 3 * 2 div 3)
NO (FALSO) O (43 – 8 <> 3 * 2 div 3)
NO (FALSO) O (43 – 8 <> 6 div 3)
NO (FALSO) O (43 – 8 <> 2)
NO (FALSO) O (35 <> 2)
NO (FALSO) O VERDADERO
VERDADERO O VERDADERO
VERDADERO
Tabla 10
Operadores lógicos en Python

Operadores lógicos en Python


Operador nombre Jerarquía
not Negación Mayor
and Y a
or O Menor

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 44 / 257


2.6 Ejercicios complementarios

Si A = 9, B = 8 y C = 2, evaluar las siguientes expresiones:


a) B * A - B * B / 4 * C
8*9–8*8/4*2
72 – 64 / 4 * 2
72 – 16 *2
72 – 32
40
b) (A * B) / 3 * 3
(9 * 8) / 3 * 3
72 / 3 * 3
24 * 3
72
c) (((B + C) / 2 * A + 10) * 3 * B) – 6
(((8 + 2) / 2 * 9 + 10) * 3 * 8) – 6
((10 / 2 * 9 + 10) * 3 * 8) – 6
((5 * 9 + 10) * 3 * 8) – 6
((45 + 10) * 3 * 8) – 6
(55 * 3 * 8) – 6
(165 * 8) – 6
1320 – 6
1314
Resolver:
d) 40/5*5+6/2*3+4-5*2/10
8*5+6/2*3+4-5*2/10
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 45 / 257
40+3*3+4-10/10
40+9+4-1
49+4-1
53-1
52
e) 500- ((6 -1)*8/4*3+16/(10-2))-5
500- (5*8/4*3+16/8)-5
500- (40/4*3+16/8)-5
500- (10*3+2)-5
500- (30+2)-5
500- 32-5
468-5
463
f) 4 / 2 * 3 / 6 + 6 / 2 / 1 / 5 mod 2 / 4 * 2
2 * 3 / 6 + 6 / 2 / 1 / 5 mod 2 / 4 * 2
6 / 6 + 6 / 2 / 1 / 5 mod 2 / 4 * 2
1 + 6 / 2 / 1 / 5 mod 2 / 4 * 2
1 + 3 / 1 / 5 mod 2 / 4 * 2
1 + 3 / 5 mod 2 / 4 * 2
1 + 0.6 mod 2 / 4 * 2
1 + 0.6 / 4 * 2
1 + 0.15 * 2
1 + 0.30
1.30
g) 14 – (7 + 4 * 3 - [(-2)* 2 * 2 - 6) ] ) + (22 + 6 - 5 * 3) + 3 - (5
- 23 div 2)
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 46 / 257
Como ya se conoce la forma de procesar, se toma y reduce
todos los paréntesis internos.
14 – (7 + 4 * 3 - [(-4) * 2 - 6)]) + (28 - 15) + 3 - (5 - 11)
14 – (7 + 4 * 3 - [(-8) - 6)]) + 13 + 3 - (-6)
14 – (7 + 4 * 3 - [-14]) + 13 + 3 - (-6)
14 – (7 + 12 - [-14]) + 13 + 3 - (-6)
14 – (19 - [-14]) + 13 + 3 - (-6)
14 – 33 + 13 + 3 - (-6)
-19 + 13 + 3 - (-6)
-6 + 3 - (-6)
-3 - (-6)
3
h) ((1580 mod 6*2^7) > (7+8*3^4)) > ((15*2) = (60*2/4))
((1580 mod 6*128) > (7+8*81)) > ((30) = (120/4))
((2*128) > (7+648)) > (30 = (120/4))
((256) > (7+648)) > ((30) = (30))
((256) > (655)) > V
F >V
F
i) NO (15 >= 7^2) O (43 – 8 * 2 div 4 <> 3 * 2 div 2)
NO (15 >= 49) O (43 – 16 div 4 <> 6 div 2)
NO (V) O (43 – 4 <> 3)
F O (39 <> 3)
F O (V)
V
j) (15<=7*3^2 Y 8>3 Y 15<6) O NO (7*3 < 5+12*2 div 3^2)
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 47 / 257
(15<=7*9 Y V Y F) O NO (21 < 5+ 24 div 9)
(15<=63 Y V Y F) O NO (21 < 5+ 2)
(V Y V Y F) O NO (21 < 7)
(V Y V Y F) O NO (F)
(V Y V Y F) O V
Cuando existe una triple comparación lógica, se desglosa en
dos grupos simples vinculados mediante una Y entonces se
tiene (V Y V Y F) =>> (V Y V) Y (V Y F)
(V Y V) Y (V Y F) O V
(V Y F) O V
FOV
V

Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 48 / 257

También podría gustarte