Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción a
la
Programación
Teórica Parte 1
Contenido
Algoritmos 3
¿Qué es un algoritmo? 3
Teoría de Lenguaje Python 5
Variables 5
Estructuras básicas para la construcción de algoritmos 6
Estructuras secuenciales 6
Comentarios dentro del programa 10
Estructuras de decisión 10
Decisión condicional o alternativa 10
Condicionales alternativos 11
Condicionales anidados 14
Uso de conectores lógicos en la condición 18
Uso del and 19
Uso del or 20
Anexo función print 22
Otra forma de imprimir en pantalla 25
Introducción a la Programación
Algoritmos
En esta materia vamos a diseñar programas para resolver problemas. Como bien hemos visto en
el apunte anterior existe toda una teoría sobre resolución de problemas. Aconsejamos leer el
mismo en caso de no haberlo hecho. Recordemos que los pasos a seguir para elaborar un
programa son los siguientes:
En este módulo nos centraremos en el análisis del problema y el diseño del algoritmo que lo
resuelva.
¿Qué es un algoritmo?
Un algoritmo es una secuencia ordenada y finita de pasos tal que su ejecución resuelve un
determinado problema o un grupo de problemas.
La palabra algoritmo viene de Al-Khwarizmi, sobrenombre del matemático árabe del siglo IX,
Mohámed ben Musa, que alcanzó gran reputación al enunciar paso a paso las reglas para sumar,
restar, multiplicar y dividir números con decimales.
Página 3 de 29
Introducción a la Programación
La vida cotidiana está llena de soluciones algorítmicas, algunas de ellas son tan comunes que no
se requiere pensar en los pasos que incluye la solución. La mayoría de las actividades que se
realizan diariamente están compuestas por tareas más simples que se ejecutan en un orden
determinado, lo cual genera un algoritmo. Desde los primeros años de escolaridad se trabaja con
algoritmos, en especial en el campo de las matemáticas, como los métodos utilizados para sumar,
restar, multiplicar y dividir.
Las características fundamentales que debe tener todo algoritmo son:
Otro ejemplo de un algoritmo en la vida cotidiana puede ser el de los pasos para armar un
juguete o una receta de cocina…
Pero si pensamos en problemas que podemos resolver con una computadora, debemos ser más
formales en la especificación de los pasos del algoritmo. Por ejemplo, si queremos hallar la suma
de dos números, los pasos a seguir son:
• Paso 1. Obtener los números a calcular.
• Paso 2. Calcular la suma de los mismos.
• Paso 3. Mostrar la suma de los números.
Página 4 de 29
Introducción a la Programación
En cuanto a la representación de algoritmos, existen varias técnicas. Las más conocidas son
diagramas de flujo, pseudocódigo y diagramas Nassi–Schneiderman o de Chapín. Estos diagramas
facilitan la visualización del problema planteado. En esta materia no nos dedicaremos al
aprendizaje de la programación mediante diagramas sino implementado nuestros algoritmos en
un lenguaje de programación.
Variables
Una variable es una posición de memoria donde se puede almacenar un valor.
Las variables pueden ser de tipo entero (int), real (float), cadena de caracteres (string) o booleano
(bool)
Los nombres de las variables pueden ser cadenas de 1 a 32 letras y/o dígitos. Se acepta el guión bajo
en los nombres (nom_1), pero el nombre de la variable no puede comenzar con un número. Además,
debemos tener en cuenta que en Python se consideran como distintas las letras en minúsculas y en
mayúsculas. Por ejemplo, la variable contc es distinta a la variable contC.
Debemos tener en cuenta también que no se pueden usar palabras reservadas del lenguaje como
nombres de variables. Y se toma como buena práctica, darle a la variable un nombre que se
relacione con el dato a guardar en su interior
Python tiene 28 palabras reservadas, que son las siguientes:
and – continue – else – for – import – not – raise – assert – def – except – from – in – or – return –
break – del – exec – global – is – pass – try – class – elif – finally – if – lambda – print
- while
Según el tipo con el que se defina la variable, ocupará determinado espacio en la memoria. La
definición de la variable se puede realizar en la instrucción que permite leer su valor o bien cuando le
asignamos un valor (según el tipo de valor que le asignemos será el tipo que quede definida la
variable). La asignación la realizamos con el signo “=”.
Por ejemplo, num = 15 (la variable num queda definida de tipo entero)
Página 5 de 29
Introducción a la Programación
Asimismo, una variable queda definida de tipo real si se le asigna un número con coma decimal. La
parte entera de dicho número está formada por los dígitos ubicados a la izquierda de la coma,
mientras que los dígitos de la derecha constituyen la parte decimal.
También se puede utilizar notación científica, y añadir una e (de exponente) para indicar un
exponente en base 10. Por ejemplo:
real = 0.1e-3 sería equivalente a 0.1 x 10-3 = 0.1 x 0.001 = 0.0001
Son aquellas que se ejecutan una después de otra. Son ejemplos de estructuras secuenciales:
• La instrucción de lectura: se utiliza para recibir un dato desde un dispositivo de entrada
(generalmente el teclado) y almacenarlo en un espacio de memoria.
• La asignación (representada por el signo “=”). Se utiliza para guardar un valor o una
expresión en un espacio de memoria llamado variable. Las variables poseen un nombre
definido por el programador.
VARIABLE = EXPRESIÓN
Proceso:
Cálculo del área área = base* altura
Página 6 de 29
Introducción a la Programación
Salida:
Mostrar los resultados obtenidos área y perímetro
Nota: área y perímetro son variables en las que se almacena el resultado de las operaciones
planteadas a la derecha del igual.
Como bien observamos cada línea es una acción que le indicamos al intérprete de comandos para que
la ejecute.
En las líneas 1 y 2 mediante la función input le pedimos al programa que le solicite al usuario un dato.
La función input, es nuestra sentencia que nos permitirá ingresar datos desde el teclado. Entre los
paréntesis y encerrado entre comillas dobles se escribe el texto que se desea mostrar al usuario de
forma literal. Esta función por defecto convierte todo lo ingresado por teclado en formato texto
(string). Es por eso que la función input se encuentra entre paréntesis y delante de los mismos la
palabra int, lo que se realiza mediante la función int es convertir el texto ingresado en un valor de tipo
entero (castear a entero). Luego ese valor convertido es asignado en las variables base y altura.
Una vez ingresados los datos se realizan los cálculos del perímetro (línea 3) y del área (línea 4).
Por último en las líneas 5 y 6 se pide al compilador que muestre los datos por pantalla. Para ello
utilizaremos la función print.
La función print nos permite interactuar con el usuario a través de la consola mostrando mensajes,
por ejemplo: informando resultados, o acciones que esperamos que haga el mismo. Dicha función
muestra por pantalla todo lo que se escriba dentro de las comillas dobles o simples, por ejemplo:
En este caso si ejecutamos esta única sentencia visualizamos por consola el siguiente mensaje:
Página 7 de 29
Introducción a la Programación
Volviendo el ejemplo del cálculo del área y del perímetro, observaremos que las sentencias print
además de mostrar un literal (texto a visualizar), hay un nombre de variable separado por una ‘, ‘. En
este caso lo que se está indicando al compilador es que además del mensaje muestra el valor de cada
variable.
Como bien hemos observado en el ejemplo las sentencias que se ejecutan pueden tener
operaciones matemáticas, veamos a continuación cuales son los operadores matemáticos en
Python y sus significados y utilización
Página 8 de 29
Introducción a la Programación
Como bien hemos comentado, en Python el operador de asignación es un único signo = (igual).
Una asignación significa que la variable que se encuentra a la izquierda del = toma el valor que
contiene la variable de la derecha.
Si a la derecha hay un operando o más, primero se resuelve esa expresión y luego se asigna.
Python, como otros lenguajes, permite un formato abreviado en los casos en los que una variable
aparezca a la izquierda y a la derecha del igual: variable1 = variable1 operador expresión
El contenido de la variable y es reemplazado por el valor que contenía multiplicado por 10.
IMPORTANTE: Las variables se deben inicializar, según corresponda, antes de realizar la operación.
Veamos otro ejemplo, supongamos el siguiente enunciado: Ingresar un importe de dinero en pesos
y mostrar su equivalente en dólares y euros, considerando la cotización del día
Datos de entrada:
Importe en pesos: pesos
Cotización del dólar: dólar
Cotización del Euro: euro
Proceso:
Cálculo del equivalente en dólares dólares = pesos/dólar
Cálculo del equivalente en euros euros = pesos/euro
Salida:
Mostrar los resultados obtenidos dólares y euros
Página 9 de 29
Introducción a la Programación
En el programa se puede indicar o agregar una línea como comentario. Esto es útil para documentar
los programas, explicar el funcionamiento de una parte en particular y mejorar la legibilidad de los
mismos.
● Si el comentario ocupa solo una línea, se coloca al comenzar el mismo el símbolo de
numeral (#). Si el comentario tiene más de una línea, se escribe todo el texto entre tres
comillas dobles (“““comentario”””).
● Los comentarios en la misma línea deben separarse con dos espacios en blanco y después
del símbolo # también hay que dejar un espacio en blanco.
Página 10 de 29
Introducción a la Programación
Estructuras de decisión
Las estructuras de decisión permiten controlar la ejecución de ciertas acciones, según se cumpla o
no cierta condición. La condición es evaluada para el valor que toma la o las variables que la
forman, en el momento en que ésta se ejecuta. Dicho de otro modo, las estructuras de decisión
son aquellas que nos permiten "preguntar" sobre el valor de una o más variables, pudiendo así
actuar según la respuesta obtenida. Estas respuestas siempre serán Verdaderas o Falsas, pudiendo
tomar de esta manera dos caminos diferentes.
La decisión es condicional si sólo se ejecuta una acción por la condición verdadera, en cambio es
alternativa si se ejecutan ciertas acciones cuando la condición es verdadera y otras cuando la
condición es falsa. La decisión condicional en Python está identificada por la palabra reservada if
La forma más simple de un condicional es un if (del inglés si) seguido de la condición a evaluar y dos
puntos (:) al final de la línea. En las siguientes líneas e indentado, se escribe el código a ejecutar en
caso de que dicha condición sea verdadera. Este bloque de instrucciones a ejecutar con la condición
verdadera finaliza con la siguiente instrucción sin indentar.
Ejemplo:
Página 11 de 29
Introducción a la Programación
NOTA: Siempre tiene que haber una instrucción a ejecutar cuando la condición resulta VERDADERA.
En este caso, solo se mostrará el mensaje por consola en caso que el número ingresado por teclado
sea mayor a 10
Condicionales alternativos
Otra forma de la estructura de decisión if es la ejecución alternativa, en la que hay dos posibilidades
y la condición determina cuál de las dos se ejecuta. La sintaxis en este caso es:
Si se debe ejecutar alguna acción cuando la condición es falsa, esta debe estar precedida por la
palabra else: a la altura del if al que se asocia.
Como vimos antes, el else es opcional, o sea que no tiene que colocarse en el caso que no haya que
ejecutar ninguna sentencia cuando la condición es falsa.
Supongamos el siguiente ejemplo: ingresar un número distinto de cero y decir si es par o impar.
Para poder determinar que un número es par o no lo que debemos hacer es dividir el número por dos
y ver su resto, si el mismo es cero entonces el número es par sino es impar.
Página 12 de 29
Introducción a la Programación
Como bien se observa en el código en la línea 2 se realiza la consulta si el resto de
dividir el número ingresado por 2 es igual a cero. En estas condiciones que se verifican en los
condicionales siempre se determina su valor de verdadero o falso a través de una comparación.
Para realizar las comparaciones utilizamos los operadores relacionales, estos son símbolos que se
usan para comparar dos valores. Si el resultado de la comparación es correcto, la expresión
considerada es verdadera, en caso contrario es falsa.
A continuación, se visualiza una tabla con los símbolos de los operadores relacionales que se utilizan
en Python y sus significados:
== igual a a == b a es igual a b
!= no igual a a != b a no es igual a b
Página 13 de 29
Introducción a la Programación
A continuación, vemos los resultados que se emiten por consola a partir del código presentado en el
ejemplo;
Veamos un nuevo ejemplo, supongamos el siguiente enunciado: Se desea desarrollar un algoritmo que muestre
el valor absoluto de un número.
Datos de entrada:
Número que se ingresa: nro
Proceso:
Página 14 de 29
Introducción a la Programación
Información de salida:
Condicionales anidados
Se llaman condicionales anidados a un condicional que dentro de alguna de sus partes tiene otra
condición dentro de él. Supongamos el siguiente enunciado: Ingresar un número y determinar si el
mismo es positivo, negativo o neutro.
Veamos a continuación la resolución de este problema y su explicación:
Página 15 de 29
Introducción a la Programación
Como observamos el código tiene dos condicionales uno en la línea 2 y que tiene un bloque else en la
línea 4. En este bloque se determina si el número es negativo, en caso de serlo se mostrará por
consola el mensaje correspondiente.
En caso que el número no fuera negativo, ejecutará el código que se encuentre dentro del bloque else
de la línea 4. Esto implica entonces que el número leído puede ser > 0 o =0 , por lo tanto el condicional
de la línea 5 vuelve a preguntar con un condicional si el número ingresado es mayor que cero, de ser
así imprime por consola el mensaje correspondiente. En caso de no ser >0 y <0 por descarte se infiere
que el número es = 0, imprimiendo por el else de la línea 8 el mensaje que el número es neutro.
Es importante darse cuenta que las estructuras condicionales las podemos anidar, o poner unas
debajo de otra. Si tenemos en cuenta el ejemplo anterior, otra forma de ver el código sería de la
siguiente forma:
Página 16 de 29
Introducción a la Programación
El resultado que obtendremos al ejecutar el código es exactamente el mismo en
ambos casos, la diferencia está en que el primer ejemplo es más óptimo, dado que al encontrar la
opción correspondiente, no ejecuta los condicionales que siguen, y en el segundo, siempre se van a
ejecutar todos los condicionales..
Python además nos provee una forma más sencilla de escribir condicionales anidados. Es por eso que,
si hay más de dos ramas en la salida de la condición, se puede usar la sentencia elif como una
abreviatura de else if. Veamos a continuación un ejemplo de esto, teniendo en cuenta el mismo caso
de estudio.
Cualquiera de los tres códigos genera la misma salida. Como se puede apreciar,no hay una única forma
de escribir un código.
Página 17 de 29
Introducción a la Programación
hay q ordenar las imagenes de salida con los codigos q las producen
Página 18 de 29
Introducción a la Programación
Los operadores lógicos retornan un valor lógico (verdadero o falso) basados sus tablas de verdad.
Operador Descripción
not Negación (no)
and Conjunción (y)
or Disyunción (o)
Una condición con and es verdadera si todas las condiciones que conecta son verdaderas, para ello
observemos la tabla de verdad del operador and.
Y una condición con or es verdadera si por lo menos una de las dos condiciones es verdadera.
Página 19 de 29
Introducción a la Programación
Condición 1 or Condición 2
V V V
V V F
F V V
F F F
Por lo tanto, una condición and es falsa si alguna de las condiciones que conecta es falsa, y una
condición or es falsa, si todas las condiciones que conecta son falsas
En ciertas ocasiones, también es útil usar el operador not (negación de la condición), que devuelve el
valor de verdad contrario al de la condición que afecta. Si la condición es verdadera, al anteponer el
operador not, el valor de verdad será falso; y por el contrario, si la condición es falsa, anteponiéndole
el operador not obtendremos una condición verdadera.
not Condición
F V
V F
1. not
2. and
3. or
Para poder comprender un poco más sobre el uso de los conectores lógicos planteamos los siguientes
escenarios:
Página 20 de 29
Introducción a la Programación
Uso del or
Tengo invitados en casa y voy a comprar 1 kilo de helado. Sé que los únicos gustos que comen son chocolate o
vainilla. Al llegar a la heladería nos informan
● Hay chocolate, pero no hay vainilla. LO COMPRO, pues la primera condición es verdadera.
● Sólo hay vainilla, no chocolate. LO COMPRO, pues la segunda condición es verdadera.
● Hay chocolate y vainilla. LO COMPRO, pues las dos condiciones son verdaderas.
● Hay americana y dulce de leche. NO LO COMPRO, pues ninguna de las condiciones es
verdadera.
En base a lo visto sobre el uso de operadores lógicos, supongo el siguiente caso: Realizar
un programa que permita ingresar un número y decir si es de dos cifras o no.
Una primera resolución podría ser:
Página 21 de 29
Introducción a la Programación
Veamos otro ejemplo con el uso de operadores lógicos: Ingresar dos números enteros y decir si
alguno es divisible por el otro
En resumen:
Página 22 de 29
Introducción a la Programación
Los paréntesis se escriben después del nombre de toda función para escribir entre ellos el
argumento.
En el programa que aparece en el cuadro anterior se quiere mostrar la cadena de caracteres
enunciada entre comillas dobles. Al ejecutarlo, aparecerá en la pantalla Hola Mundo.
La cadena de caracteres escrita entre comillas también se llama mensaje, leyenda o literal, y al
mostrarla se respetan exactamente todos los caracteres que aparecen allí.
Dentro del texto a visualizar podemos aplicar secuencias de escape que nos permitirán dar formato a
los textos que se muestran por la consola. Todas las secuencias de escape se escriben con la barra
invertida ´\´ y a continuación un carácter. Mediante el uso de esta secuencia podemos hacer que en
los textos aparezcan algunos caracteres especiales como “, " etc.
A continuación detallamos algunos de las secuencias de escape que podemos utilizar en el print()
● \n: significa línea nueva (el cursor se coloca al comienzo de la siguiente línea).
● \t: tabulador horizontal
● \\: imprime una diagonal invertida \
● \": imprime la doble comilla
Veamos algunos ejemplos de utilización de las secuencias de escape y como se visualizan las mismas
en la consola de Python
● \n - Enter
Página 23 de 29
Introducción a la Programación
Página 24 de 29
Introducción a la Programación
● \t - Tabulación
Como ya hemos visto podemos agregar a nuestros mensajes los valores de una variable. Si queremos
que además de la leyenda el programa muestre el contenido más de una variable, podemos usar la
siguiente notación:
Página 25 de 29
Introducción a la Programación
Esta forma nos permite armar el texto incluyendo las variables entre los literales. Nótese que el texto
va siempre entre “” y separando por ‘,’ se escriben los nombres de las variables. Estas no quedan
dentro de las comillas.
Como bien observamos además en la línea 3 del ejemplo, también se resuelve la suma de las
variables a y b, esto quiere decir que dentro de un print podemos realizar cálculos matemáticos.
Otra forma de obtener el mismo resultado es escribir dentro de las comillas, en el lugar que
queremos que aparezca el valor de la variable, el símbolo de % seguido de la letra que indica
el tipo de variable y luego de las comillas, el símbolo % y entre paréntesis el nombre de la/s
variable/s, separadas por una coma en caso de haber más de uno.
Veamos un ejemplo de lo planteado
En este caso el resultado es el mismo que en el código anterior, pero es diferente la forma en que se
escribe la sentencia print().
Como comentamos cada porcentaje identifica el valor de una variable. Es por eso que en el listado de
variables que se encuentra en % se enumeran las variables que se quieren mostrar.
La función reemplazará entonces el primer formato por la primera variable de la lista, el segundo
formato por la segunda variable, y así sucesivamente. En definitiva, el reemplazo del formato es
posicional con respecto a las variables.
Cabe aclarar que dependiendo del tipo de dato que queramos mostrar es el formato a poner. Veamos
a continuación un ejemplo de los diversos formatos que podremos utilizar en la función print().
Página 26 de 29
Introducción a la Programación
Página 27 de 29
Introducción a la Programación
Como se observa en la imagen con el código dentro de los paréntesis del print primero escribimos f y
encerrado entre ‘ escribimos el texto que queremos mostrar, en caso de tener que mostrar el valor
contenido en una variable, ponemos en { } el nombre de la variable que queremos mostrar.
Si observamos la salida por cada renglón tendremos la salida que hemos estipulado en cada print.
Si te estás preguntando si podés meter más de una variable entre las llaves, la respuesta es sí, en caso
de hacerlo debes poner las variables dentro de las llaves, pero separando cada una por una coma (“,”)
Como se observa en el código en la línea 7 se imprimirán ambos datos.
En la salida observaremos que al mostrar los datos, los mismos se ven como una tupla y no sería
correcto mostrarlo de esta forma.
En caso de querer limitar la cantidad de lugares decimales, deberemos aplicar la notación que se ve en
el código siguiente..
Página 28 de 29
Introducción a la Programación
Página 29 de 29