Sunteți pe pagina 1din 36

Algoritmos y Programación

Sesión 3
Elementos y estructuras básicas de un programa
Ing. José Nicolás González Jiménez
Programación secuencial

• Llamada también estructurada


• Propuesta por Böhm-Jacopini
• Todo programa puede escribirse utilizando únicamente:
• Secuencia
• Instrucciones condicionales
• Iteraciones (repeticiones, bucles)
• Desplaza al “código espagueti” y es adoptado de manera
generalizada a finales del siglo XX.
• “La sentencia GOTO considerada perjudicial”
Componentes de un programa
• Comentarios
• Identificadores
• Tipos de datos
• Variables
• Palabras reservadas
• Funciones
• Estructuras de control: condicionales y repetitivas
Historia

▪ Guido Van Rossum


▪ Holanda 1990
▪ Monty Python’s Flying Circus
▪ Sintaxis simple, práctica e
intuitiva
▪ De propósito general: NASA,
motor de búsqueda de Google,
Bolsa de Valores de New York
▪ Interpretado
▪ Lenguaje de Programación
Orientado a Objetos
Versiones de Python utilizadas
Python 3.6.4
https://www.python.org/downloads/release/python-364/

Descargar el “executable installer” para Windows (32/64 bits) o la versión para Mac
OS para Apple.

PyCharm Community edition


https://www.jetbrains.com/pycharm/download/#section=windows
Identificadores

▪ Son los nombres que identifican a los elementos tales como variables y
funciones en un programa.
▪ Es una secuencia de caracteres con letras, dígitos y guión bajo ( _ )
▪ Debe iniciar con una letra o un guión bajo.
▪ No puede ser una palabra reservada.
▪ Puede tener cualquier tamaño.
▪ Area, area y AREA son diferentes identificadores
Tipos de Datos
• Simples: • Compuestos:
• Entero • Listado / Cola
• Decimal • Matrices
• Caracter • Árbol
• Booleano • Estructura
• Enumerado • Objeto (imagen, gráfica,
• Apuntador a Memoria instancia, valor de BD…)
• Manejador de archivo
Reglas de Codificación
▪ Los comentarios son una línea e inician con ‘#’

▪ La sangría cuenta.

▪ No poner signos de puntuación al final de la instrucción.

▪ Es lenguaje sensible a mayúsculas.

▪ Errores de programación:
▪ Sintaxis
▪ Ejecución
▪ Lógicos
Operador de Asignación
• Operador binario: =
• El valor del operando derecho es copiado a la memoria indicada por el operando
izquierdo
▫ variable1 = valor
▫ variable1 = variable2
▫ variable1 = expresión
• El tipo de dato resultante del operando izquierdo queda igual que el del operando
derecho:
▫ s = “hola” // s queda como cadena de caracteres
▫ x = 3.5 // x queda como decimal
▫ a = b + 3
▫ 3 = x // NO es valido, 3 no es variable
Operadores Aritméricos

Operador Significa Ejemplo Resultado

+ Suma 34 + 1 35

- Resta 34.0 – 0.1 33.9

* Multiplicación 300 * 30 9000

/ División Decimales 1/2 0.5

// División Enteros 1 // 2 0

** Potencia 4 ** 0.5 2.0

% Residuo 20 % 3 2
Operadores de Asignación Aumentados

Operador Significa Ejemplo Equivalente


+= Asignación de Suma a += 8 a=a+8
-= Asignación de Resta a -= 8 a=a-8
*= Asignación de Multiplicación a *= 8 a=a*8

/= Asignación de División de a /= 8 a=a/8


Decimales

//= Asignación de División de a //= 8 a = a // 8


Enteros

**= Asignación de Potencia a **= 8 a = a ** 8


%= Asignación de Residuo a %= 8 a=a%8
Operaciones permitidas

Suma Entero Decimal Caracter

Entero Entero Decimal ---

Decimal Decimal Decimal ---

Caracter --- --- Caracter


Operaciones permitidas

Resta Entero Decimal Caracter

Entero Entero Decimal ---

Decimal Decimal Decimal ---

Caracter --- --- ---


Operaciones permitidas

Multiplicación Entero Decimal Caracter

Entero Entero Decimal Caracter

Decimal Decimal Decimal ---

Caracter Caracter --- ---


Operaciones permitidas

División Entero Decimal Caracter

Entero Decimal Decimal ---

Decimal Decimal Decimal ---

Caracter --- --- ---


Operaciones permitidas

División Entera Entero Decimal Caracter

Tipo decimal,
Entero Entero ---
Resultado .0

Tipo decimal, Tipo decimal,


Decimal ---
Resultado .0 Resultado .0

Caracter --- --- ---


Precedencia, Conversión y Redondeo
• Como evalúa Python la siguiente expresión ?
• 3+4*4+5*(4+3)–1

• Los operadores dentro de paréntesis se evalúan primero.


• Los paréntesis pueden estar anidados.
• Cuando varios operadores intervienen, este es el orden:
• Potencia (**) se aplica primero
• Multiplicación (*), División (/, //) y Residuo (%) después. Si una expresión
contiene varios de estos, se aplican de izquierda a derecha.
• Suma (+) y Resta (-) se aplican al último. Si una expresión contiene varios, se
aplica de izquierda a derecha.
Ejercicios de práctica
Inicia PyCharm, un nuevo proyecto.

Puedes cambiar la ubicación del proyecto, el nombre lo tomará del


directorio de ubicación.

Asegúrate de escoger la versión 3.6.x de Python en la lista de interprete.


Ejercicios de práctica
Agrega un nuevo archivo de código Python al proyecto.

Dando click derecho en el proyecto y siguiendo el camino mostrado en la imagen.

Necesitas asignar un nombre al archivo. Este se abrirá en la ventana principal de


Pycharm para empezar a trabajar con él.
Ejercicios de práctica.
Inicia poniendo las siguiente instrucciones:
mensaje = "Hola mundo"
suma = 1 + 2

Da click derecho en el nombre del archivo e inicia la ejecución del


mismo con la opción “Run …”

Con estas dos instrucciones, la ejecución no reflejará nada. La consola


de ejecución sólo mostraré el mensaje:
“Process finished with exit code 0”
Tipos de Operadores
• Asignación
• Aritméticos
Asignación Aumentados
• Relacionales
• Condicionales o Lógicos
Operadores Relacionales
• Comparan valores numéricos, lógicos o caracteres
• Devuelven siempre un valor lógico (true, false).
• Todos los operadores relacionales son binarios
• Son utilizados principalmente en las sentencias de control de flujo: if, for, do, while

Operador Significa Ejemplo Equivalente


(radio es 5)

< Menor que radio < 0 False


<= Menor o igual que radio <= 0 False
> Mayor que radio > 0 True
>= Mayor o igual que radio >= 0 True
== Igual a radio == 0 False
!= No igual a radio != 0 True
Operadores Condicionales o Lógicos
• Realizan operaciones con valores lógicos
• Devuelven siempre un valor lógico (true, false).
• Son utilizados principalmente en las sentencias de control de flujo: if, for, do, while
• and : devuelve true si ambos operandos son true
• or : devuelve true si algún operando es true
• not : invierte el valor lógico del operando
• Si b1 = false, b2 = true
• ¿Cuánto vale la siguiente expresión? not(b1) and b2 or b1
• Precedencia: Primero «not»; luego «and»; al final «or»
• Si x = 50, y = 100
• ¿Cuánto vale la siguiente expresión? y < x and y >= 2 * x
• Precedencia: Primero * (aritmético); luego <,> (relacional); al final «and» (lógico)
Entrada - Salida
• Origen de los Datos:
• Teclado
• Puerto / Dispositivo
• Archivos • Destino de los Datos:
• Base de Datos • Pantalla
• Otro Programa • Puerto / Dispositivo
• Archivos
• Base de Datos
• Otro Programa
Entradas de datos

▪ var = input([texto a desplegar])

▪ var = eval(input([texto a desplegar]))


Entradas de datos - ¿Diferencia?
input() – regresa un tipo de dato CARACER

eval() – evalúa la entrada para convertirla en un tipo de dato numérico.

input y eval son dos funciones que utilizaremos de manera constante en


cualquier programa codificado en Python.
Entradas de datos - ¿Diferencia?
input() – regresa un tipo de dato CARÁCTER.

No podemos hacer operaciones con una entrada obtenida con un input.


Ejercicios de práctica
• En el archivo de Python en que has estado trabajando, escribe y
ejecuta lo siguiente:

print ("hola mundo")


print ("hola mundo")

Observa que la segunda línea no está escrita al extremo izquierdo,


replica esto en tu código.

¿Qué pasa al ejecutar el código?


Ofrece una explicación del error.
Ejercicios de práctica
• En el archivo de Python en que has estado trabajando, escribe y
ejecuta lo siguiente:
print ("hola mundo")
print "hola mundo"

Ahora ambas línea están escritas alineadas al extremo izquierdo.

¿Qué pasa al ejecutar el código?


Ofrece una explicación del error.
Indentación
• Comúnmente llamado sangría.
• Python la utiliza para controlar el flujo de los programas.
• Las líneas que forman parte de una estructura de control tienen un
nivel de indentación mayor al de la misma estructura.
• Puede ser un ‘tab’ o uno o varios espacios
• Necesita ser uniforme a lo largo de la estructura de control.
Ejercicios de práctica
• En el archivo de Python en que has estado trabajando, escribe y
ejecuta lo siguiente:
print("hola mundo")
print("hola", "mundo")
print("mensaje mixto:", 123)
print("otro", "mensaje", "separado")
print("Si separo las palabras","aparece","un","espacio","entre cada una")
print("Hola:")
print("Hola", ":")

Observa el resultado en cada instrucción print.


¿podrías explicar el propósito e impacto de utilizar varios parámetros en
la función?
Ejercicios de práctica
• En el archivo de Python en que has estado trabajando, escribe y
ejecuta lo siguiente:
nombre=input(dame tu nombre)

¿Qué pasa al ejecutar el código?


Ofrece una explicación del error.
Ejercicios de práctica
• Escribe las instrucciones necesarias en un programa de Python para
que te pregunte y guarde en variables separadas:
• Nombre
• Carrera
• Expediente

• Imprime en pantalla el siguiente texto:

Juan Perez Gomez, ingeniería ingenieril, (123456)


Ejercicios de práctica
• Escribe las instrucciones necesarias en un programa de Python para
que te pregunte un número entero y escriba en pantalla:
• El siguiente número
• La mitad del número
• El doble del número

• El resultado se debe ver:


8 es el siguiente número de 7
La mitad de 7 es 3.5
El doble de 7 es 14
Ejercicios de práctica
• Escribe las instrucciones necesarias en un programa de Python para
que te pregunte el radio de un círculo y escriba:
• El perímetro
• El área

• El resultado se debe ver:


Un círculo de radio 1 tiene un perímetro de 6.2832
Un círculo de radio 1 tiene un área de 3.1416
Ejercicios de práctica
• Escribe las instrucciones necesarias en un programa de Python para
que te pregunte el número total de segundos transcurridos de un
evento.

• Convertir esos segundos en notación de hora, minutos, segundos, la


salida debe ser:

14568 segundos son 4 horas, 2 minutos, 48 segundos.

S-ar putea să vă placă și