Está en la página 1de 98

UNIDAD 1 ORDENAMIENTOS,

BÚSQUEDAS Y PROCESOS RECURSIVOS


M.Sc Lic. Roxana Laurel Rodríguez
¿QUÉ ES UN PROGRAMA?

•Un programa es un conjunto de pasos


lógicos escritos en un lenguaje de
programación que nos permite realizar
una tarea específica.
COMPILADOR

•Un compilador es un programa que


“analiza” todo el código fuente de un
programa escrito en un lenguaje de
alto nivel y lo traduce a código
máquina (llamado también código
objeto).
COMPILADOR

El proceso de compilación de un programa en C#


VENTAJAS COMPILACIÓN

• La ejecución del código traducido suele ser más


rápido.
• Solo el usuario debe tener el compilador; el
usuario final puede usar el código sin él.
• El código traducido se almacena en lenguaje
máquina.
DESVENTAJA COMPILACIÓN

•Cualquier modificación del código


(resolución de errores, desarrollo
del software, etc.) requiere volverlo
a traducir
INTÉRPRETE

•Los intérpretes, por otro lado, son


programas que ejecutan directamente
las instrucciones escritas en alto nivel
sin crear un programa objeto.
INTÉRPRETE

...

El proceso de interpretación de un programa en JavaScript


VENTAJAS INTERPRETACIÓN

•Se puede ejecutar el código en


cuanto lo complete; no hay fases
adicionales de traducción.
VENTAJAS INTERPRETACIÓN

• El código se almacena utilizando el lenguaje


de programación, no el de la máquina; esto
significa que puede ejecutarse en
computadoras que utilizan diferentes
lenguajes máquina; no compila el código
por separado para cada arquitectura
diferente.
DESVENTAJAS INTERPRETACIÓN

• El código compartirá la potencia de la


computadora con el intérprete, por lo que
no puede ser realmente rápido.
• Los usuarios deben tener el intérprete para
ejecutar su código.
¿QUÉ ES UN LENGUAJE DE
PROGRAMACIÓN?
•Un lenguaje de programación es una
herramienta que permite desarrollar
software o programas para
computadora.
LENGUAJES DE PROGRAMACIÓN
PYTHON

• Python es un lenguaje de programación de


alto nivel, interpretado, multiparadigma y
de uso generalizado con semántica
dinámica, que se utiliza para la
programación de propósito general.
VENTAJAS

• Python es un lenguaje muy expresivo


(compacto)
• Python es muy legible (sintaxis muy
elegante).
• Python ofrece un entorno interactivo que
facilita la realización de pruebas.
VENTAJAS

• Python puede usarse como lenguaje imperativo,


procedimental o como lenguaje orientado a objetos.
• Python posee un rico juego de estructuras de
datos que se pueden manipular de modo sencillo.
• Python multiplataforma porque se puede ejecutar
las aplicaciones en Windows, Mac y Linux.
MODOS DE PROGRAMACIÓN

En Python hay dos:


Programación en modo interactivo
Programación en modo script1

1
Archivo de texto que contiene código Python para ser ejecutado por el
cliente
MODOS DE PROGRAMACIÓN

Programación en modo interactivo:


ejecutar el intérprete sin un archivo
como parámetro.
MODOS DE PROGRAMACIÓN

Programación en modo script:


ejecutar el intérprete con un archivo
de extensión .py o script como
parámetro.
MODOS DE PROGRAMACIÓN

Por ejemplo el archivo primero.py


EJEMPLO DE SINTAXIS
IDENTIFICADORES

Un identificador es un nombre ue se usa


para identificar una variable, función, clase,
módulo u otro objeto.
Un identificador comienza con una letra (A-
Z o a-z) o un guión bajo (_) seguido de cero
más letras, guiones bajos y dígitos (0-9).
IDENTIFICADORES

Por ejemplo, los siguientes identificadores son


válidos:
Var1
_var1
_
_1_
Var_1
IDENTIFICADORES

No se permite caracteres de


puntuación como !, #, @, $ y %
dentro de los identificadores.
IDENTIFICADORES

Los siguiente identificadores no son válidos:


@var1
1var
1_var
Var$1
#___!
IDENTIFICADORES

Python es sensible al tamaño.


Por ejemplo:
Se puede observar
que las tres variables
son distintas porque
mantienen su valor
PALABRAS RESERVADAS

and continue finally is raise as def for lambda


return assert del fromNone True async elif
global nonlocal try await else if not while
break except import or with class Falsein pass
yield
CONVENCIÓN DE NOMENCLATURA
PARA LOS IDENTIFICADORES
 Los nombres de las clases comienzan con
una letra mayúscula. Todos los demás
identificadores comienzan con una letra
minúscula.
Comenzar un identificador con un guión
bajo indica que el identificador es privado.
CONVENCIÓN DE NOMENCLATURA
PARA LOS IDENTIFICADORES
Comenzar un identificador con dos
guiones bajos indica que el identificador es
fuertemente privado.
Si el identificador también termina con
dos guiones bajos al final, es un nombre
especial definido por Python.
SANGRÍA

En Python no se usan llaves para indicar


bloques de código para definer clases,
funciones o estructuras de control.
Los bloques de Código se indican
mediante sangría, que se aplica de forma
estricta.
MÚLTIPLES LÍNEAS

Las instrucciones en Python no


generalmente termina con una nueva
línea.
Se puede usar el caracter de continuación
de línea (\) para indicar que la línea debe
continuar.
MÚLTIPLES LÍNEAS
MÚLTIPLES LÍNEAS

Las instrucciones contenidas entre [], {}, () no


necesitan usar el caracter de continuación de
línea.
USO DE COMILLAS Y COMENTARIOS

Python acepta comillas simples (‘), dobles


(“) y triples (‘ ‘ ‘ o “””) para denotar
literales de tipo de cadena, siempre que el
mismo tipo de comillas comience y termine
la cadena.
USO DE COMILLAS Y COMENTARIOS

Las comillas triples se utilizan para extender la cadena


a múltiples líneas y también para crear comentarios (de
varias líneas).
USO DE COMILLAS Y COMENTARIOS

Cada variable en Python contiene


una instancia de un objeto.
Hay dos tipos de objetos en
Python: objetos mutables e
inmutables.
USO DE COMILLAS Y COMENTARIOS

El tipo de objeto se define en


tiempo de ejecución y no se puede
cambiar posteriormente.
Sin embargo, su estado se puede
cambiar si es un objeto mutable.
TIPOS DE DATOS

Python tiene integrados los siguientes tipos de datos


mutables e inmutables:
Categoría Tipos Texto: str
Numéricos: int, float, complex Secuencias: list,
tuple, range Asignación: dict
Conjuntos: set, frozenset Booleano: bool
Binarios: bytes, bytearray, memoryview
ENTERO

Números que NO tienen decimales:


Positivos
Negativos
Cero
ENTERO

Ejemplos:
5 -10 0
100 -2
1 -1000
ENTERO

No hay límite
Python 3 puede tener un valor tan
grande como la máquina puede
almacenar.
FLOAT

Números en coma flotante.


Números que TIENEN decimales:
Positivos
Negativos
Inclusive el cero si se encuentra representado 0.0
FLOAT

Ejemplos:
5.0 -10.90.0
10.7 -2.1
0.07
BOOL

Representan los valores de:

True False
(verdadero) (falso)

Son palabras reservadas en el lenguaje de


programación (keyword).
BOOL

Son importantes para:


Expresiones condicionales
Ciclos (bucles)
CADENAS DE CARACTERES str

Secuencia de caracteres encerrados


entre comillas y usados para
representar contenido de tipo texto en
el programa.
CADENAS DE CARACTERES str

Está permitido:

No está permitido:
CADENAS DE CARACTERES str

La cadena tiene un tamaño que se


determina por el número de caracteres
que posee.
CADENAS DE CARACTERES str

La estructura interna de una cadena es:


“Python”
CADENAS DE CARACTERES str

Ejemplo: Imprimir caracter a caracter la


cadena “Python” :
RECIBIR DATOS DEL USUARIO
RECIBIR DATOS DEL USUARIO

La función input() permite recibir datos de


entrada.
var = input(mensaje)
mensaje: es opcional
La función input() siempre retorna una cadena de
caracteres.
EJEMPLO

Programa que pida un número entero y verifique si es


par o impar:
OPERADORES y OPERANDOS

Los operadores son símbolos que


denotan una operación.
Los operandos son valores con los
cuales se ejecuta las operación.
OPERADORES y OPERANDOS

Una expresión es una combinación de


valores, variables y operadores que al ser
evaluados resultan en un valor.
Expresión = operador + operandos
TIPOS DE OPERADORES

Aritméticos
Lógicos
De asignación
Relacionales
OPERADORES ARITMÉTICOS

Suma (+)División entera (//) Resta (-)

Exponente (**) Multiplicación (*) Módulo

(%) División (/)


OPERADOR +

CONCATENAR
OPERADOR -
OPERADOR *
OPERADOR /

Siempre retorna un
número de punto flotante
OPERADOR //

floor division
Trunca la parte
decimal
OPERADOR **
OPERADOR %

Retorna el resto o residuo de la división entera.


OPERADORES LÓGICOS

Permiten trabajar con valores booleanos (True y


False).
Los operadores lógicos son los siguientes:
and
or
not
OPERADOR and

Evalúa si los operandos (proposiciones) son


verdaderos en caso de ser así retorna verdadero.
x and y
Tabla de verdad:
OPERADOR or

Evalúa si los operandos (proposiciones) y si al


menos uno es verdadero retorna verdadero.
x or y
Tabla de verdad:
OPERADOR not

Niega el operando (proposición).


or x
Tabla de verdad:
PRIORIDAD

Mayor
not
and
or Menor
OPERADORES RELACIONALES

Son utilizados para comparar valores y retornan


un valor booleano.
OPERADOR DESCRIPCIÓN

> Mayor que

>= Mayor o igual que

< Menor que

<= Menor o igual que

== Comparacion de igualdad

!= Distintos
OPERADORES RELACIONALES
OPERADORES DE ASIGNACIÓN
Operador

= Edad =6
+= Edad+=3 Edad=Edad+3
-= Edad-=2 Edad=Edad-2
*= Edad*=2 Edad=Edad*2
/= Edad/=2 Edad=Edad/2
**= Edad**=3 Edad=Edad**3
//= Edad//=2 Edad=Edad//2
%= Edad%=3 Edad=Edad%3
SINTAXIS for
La sintaxis para utilizar el for es la siguiente:

Donde var es una variable iterativa.


Y secuencia puede ser una lista, una tupla, un rango o
una cadena.
EJEMPLO for
Iteraciones en secuencias de tipo str y list:
EJEMPLO for
Iteraciones en secuencia de tipo range:
SINTAXIS while
La sintaxis para utilizar el while es la siguiente:

Donde expresión es una expresión booleana.


EJEMPLO while
Cuenta regresiva:
INSTALACIÓN
• www.Python.org

Permite ejecutar
python.exe sin
especificar la ruta
completa
INSTALACIÓN
• www.Python.org
INSTALACIÓN
• Entorno de desarrollo:
Break y continue

•break: Sale del ciclo inmediatamente, e


incondicionalmente termina la
operación del ciclo; el programa
comienza a ejecutar la instrucción más
cercana después del cuerpo del ciclo.
Break y continue

•Ejemplo:
Break y continue

•continue: Se comporta como si el


programa hubiera llegado
repentinamente al final del cuerpo; el
siguiente turno se inicia y la expresión
de condición se prueba de inmediato.
Break y continue

•Ejemplo:
SENTENCIA if …

•La estructura de control if ... permite


que un programa ejecute unas
instrucciones cuando se cumplan una
condición o más condiciones.
SENTENCIA if …

•En inglés "if" significa "si" (condición)


SENTENCIA if … else …

•La estructura de control if ... else


permite que un programa ejecute unas
instrucciones cuando se cumple una
condición y otras instrucciones cuando
no se cumple esa condición.
SENTENCIA if … else …

Sintaxis:
ESTRUCTURA CONDICIONAL if …
elif… else
•Estas construcciones permiten
condicionar la ejecución de uno o
varios bloques de sentencias al
cumplimiento de una o varias
condiciones.
SENTENCIA if … elif … else …

La estructura de control if … elif … else


permite encadenar varias condiciones.

Nota. Cuando se cumple una de las comparaciones Python ya no evalúa las siguientes condiciones.
SENTENCIA if … elif … else …

•Si se cumple la condicion1, se ejecuta


suite_1.
•Si no se cumple la condicion1 pero si se
cumple la condicion2, se ejecuta suite_2.
•Si no se cumplen ni la condicion1 ni la
condicion2, se ejecuta suite_3.
SENTENCIA if … elif … else …

•Estructura equivalente:
SENTENCIA if … elif … else …

•Ejemplo: Desarrollar un programa que


pida al usuario que ingrese un año y
verifique si es bisiesto o no. Se debe
considerar lo siguiente:
SENTENCIA if … elif … else …

•Si el número del año no es divisible entre cuatro, es un


año común.
•De lo contrario, si el número del año no es divisible entre
100, es un año bisiesto.
•De lo contrario, si el número del año no es divisible entre
400, es un año común.
•De lo contrario, es un año bisiesto.
•Se considera ésta regla vigente a partir del año de 1582).
SENTENCIA if … elif … else …
SENTENCIA if … elif … else …

•Ejemplo: Desarrollar un programa que


elimine las vocales de una palabra.
SENTENCIA if … elif … else …
ENLACES DE INTERÉS

• Página oficial de Python: www.Python.org


• Editor en línea:
Python Online Compiler & Interpreter – Replit
Lista completa de IDEs disponibles:
IntegratedDevelopmentEnvironments - Python Wiki
Visual Studio Code:
https://code.visualstudio.com/Download

También podría gustarte