Diapositivas U2.1. Fundamentos de Programación en Python

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

U2.1.

Fundamentos de programación
en Python

1
Introducción a la programación

• Programar es:
• Automatizar procesos o tareas (p. ej. el sistema de semáforos de una ciudad)
• Resolver problemas (p. ej. encontrar el camino más corto entre dos lugares)
• Facilitar acciones (p. ej. firmar documentos electrónicamente)
• Crear (p. ej. una aplicación que pone nuestra cara en una escena de ficción)

• Programar es una actividad multidisciplinar en la que se combina el


arte, la creatividad, la ingeniería y las matemáticas, entre otras
disciplinas, que se unen mediante la informática.
2
Introducción a la programación

• Programar es crear programas, es decir, secuencias de órdenes o


instrucciones que le indican a un dispositivo electrónico o informático,
mediante un lenguaje de programación, qué debe hacer y en qué orden,
sin ambigüedades y con una finalidad concreta.

• Al programar, implementamos algoritmos, es decir, métodos para la


resolución de problemas. Los algoritmos han de ser:
• Precisos: Sin posibles ambigüedades o casos sin contemplar
• Ordenados: Instrucciones dispuestas en un orden de realización
• Finitos: Tienen un final, es decir, un número finito de pasos
3
Lenguajes de programación

• Lenguaje: Conjunto de símbolos (alfabeto) que se combinan


entre sí formando palabras (léxico) para expresar un
significado (semántica) bajo unas reglas u orden correcto
(sintaxis).

• Lenguaje de programación: Lenguaje para crear programas


informáticos, es decir, para implementar algoritmos sobre un
dispositivo electrónico o informático. Un programa se
escribirá como una secuencia de frases (instrucciones) del
lenguaje de programación.
Lenguajes de programación

• Lenguaje máquina

• Directamente 0 / 1

• Lenguajes de bajo nivel: se representan los 0 y 1


con un lenguaje mnemónico. Ej: lenguaje
ensamblador

• Lenguaje de alto nivel: son lenguajes más


próximos al humano. Ej: lenguaje Java, PHP,
Python, C++
Interpretación vs. compilación

• Se necesita de un proceso de traducción de un programa en alto o bajo nivel a


lenguaje máquina. Esta traducción se puede hacer:
• Antes de ejecutar el programa (compilación). Un programa compilador traduce el código
fuente del programa, escrito por el programador, a un fichero ejecutable compuesto de 0s y
1s (p. ej. un archivo .exe en sistemas operativos Windows).
• C y C++ son, fundamentalmente, lenguajes compilados

• Mientras se ejecuta el programa (interpretación). Un programa intérprete traduce el código


fuente del programa, escrito por el programador, en tiempo real e instrucción a instrucción,
leyendo una instrucción, convirtiéndola a 0s y 1s y ejecutándola, leyendo una instrucción...
• PHP y Python son, fundamentalmente, lenguajes interpretados
Interpretación vs. compilación
Interpretación vs. compilación

• También existen fórmulas intermedias entre la compilación y la interpretación (p.


ej. Java):

• De hecho, muchos de los lenguajes interpretados actuales (p. ej. Python) tienen
también fases de compilación para acelerar su ejecución.
Paradigmas de programación

• A la hora de programar, existen diferentes maneras o enfoques para crear


un programa. Son diferentes paradigmas de programación.

• Un paradigma de programación es un modelo básico para el diseño y la


implementación de programas.

• Cada modelo tiene sus ventajas e inconvenientes y podrá ser más o menos
apropiado para un caso o problema a resolver concreto.
Paradigmas de programación
• Estructurado:

Nació para solventar los problemas y limitaciones de la


programación convencional (GOTO). Permite utilizar
estructuras que facilitan la modificación, reutilización y
lectura del código.

Los lenguajes de programación estructurada se conocen como


lenguajes de arriba hacia abajo. La mayoría de los primeros
lenguajes de programación pertenecen a este paradigma.

• Orientado a objetos:

En este paradigma, todas las entidades del mundo real están


representadas por clases. Los objetos son instancias de clases,
por lo que cada objeto encapsula un estado y un
comportamiento. Los objetos interactúan entre sí a través de
mensajes.
Representación de algoritmos

• Al analizar y representar cómo resolver un problema mediante un algoritmo en


un programa informático, disponemos de varias herramientas o técnicas,
complementarias entre sí:
• Diagramas de flujo: Esta técnica utiliza símbolos gráficos para la representación del
algoritmo
• Pseudocódigo: Esta técnica se basa en el uso de palabras clave y acciones en
lenguaje natural
• Tablas de decisión: Esta técnica representa en una tabla las posibles condiciones del
problema con sus respectivas acciones
Diagramas de flujo
Pseudocódigo

• Ejemplo: Diseñar un programa en pseudocódigo que solicite como


entrada al usuario la base y la altura de un rectángulo y devuelva como
salida su área.
PROGRAMA calcularAreaRectangulo
DATOS
Entrada: base, altura; Salida: area
ALGORITMO
ESCRIBIR (“Introduce la base y la altura del rectángulo: ”)
LEER (base, altura)
area = base * altura
ESCRIBIR (“El área del rectángulo es: “ . area)
FIN
Tablas de decisión

• Ejemplo: Diseñar un programa que aplique descuentos a compras del 0%,


5% y 10% según si el monto de la compra es pequeño, mediano o grande y
de si el cliente es frecuente o no.
Tablas de decisión

• Ejemplo: Diseñar un programa que aplique descuentos a compras del 0%,


5% y 10% según si el monto de la compra es pequeño, mediano o grande y
de si el cliente es frecuente o no.
Tablas de decisión

• Ejemplo: Diseñar un programa que aplique descuentos a compras del 0%,


5% y 10% según si el monto de la compra es pequeño, mediano o grande y
de si el cliente es frecuente o no.
Tablas de decisión

• Ejemplo: Diseñar un programa que aplique descuentos a compras del 0%,


5% y 10% según si el monto de la compra es pequeño, mediano o grande y
de si el cliente es frecuente o no.
Tablas de decisión

• Ejemplo: Determinar la nómina de los empleados de acuerdo con estos criterios:


· Si el empleado es altamente productivo, tendrá en nómina un plus de productividad.

· Si el empleado es encargado de su grupo, tendrá en nómina un plus de encargado.

· Si el empleado ha cometido una infracción grave durante ese mes, le será eliminado cualquier plus
Editor de código vs. IDE

• Un editor de código es un tipo de software sencillo que incluye


básicamente un editor de texto y algunas utilidades y herramientas
básicas para el proceso de edición de código en múltiples lenguajes
de programación.

Sublime Text, Visual Studio Code, Atom, Notepad++,


Brackets, Gedit, Geany, nano, vim, Emacs…

19
Editor de código vs. IDE

• Un IDE (Integrated Development Environment) o entorno de desarrollo


integrado es un tipo de software de mayor complejidad que incluye el
editor de texto y herramientas avanzadas para programar de la forma más
eficiente y completa posible dentro del propio software (p. ej. herramientas
de compilación, depuración de programas, conexión a bases de datos, etc.),
orientándose normalmente a uno o a pocos lenguajes de programación.
Visual Studio, Eclipse, PyCharm, Komodo IDE, NetBeans,
Spyder, Thonny, AWS Cloud9, Codeanywhere…
20
Editor de código vs. IDE
Editor de código IDE
FUNCIÓN Escribir código Escribir, compilar y ejecutar código
CARACTERÍSTICAS Funcionalidades de asistencia al Funcionalidades de escritura y
desarrollador en la escritura de depuración de código mediante puntos
código de ruptura (breakpoints), etc.

LENGUAJES DE Soporta múltiples lenguajes de Generalmente se centra en ofrecer


PROGRAMACIÓN programación soporte para uno o pocos lenguajes de
programación
COMPILADOR Y No lo hay Sí lo hay
DEPURADOR
AUTOCOMPLETADO DE Sí lo hay Sí lo hay
CÓDIGO
RESALTADO Y COLOREADO Sí lo hay Sí lo hay
DE CÓDIGO
GUIADO Y ASISTENCIA Sí lo hay Sí lo hay
21
¿Cuál es el mejor editor o IDE?

• La elección de un editor de código o de un IDE está cargada de la


componente del gusto personal
• El programador/a debe estar en sintonía con la herramienta con
la que trabaja, a la par que la utiliza de forma ágil y eficiente
• Así, no hay un mejor editor de código o un mejor IDE. El mejor
será el que más nos guste y sea más productivo para nosotros

22

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy