1 2 Paradigmas Programas
1 2 Paradigmas Programas
Paradigmas de
Programación y
Tipos de Datos
Programación y Algoritmia 2
Lenguajes de Programación
• El procesador interpreta el algoritmo: comprende las instrucciones y
realiza las operaciones.
• El proceso de traducir un algoritmo en pseudocódigo a lenguaje de
programación se denomina codificación, y el algoritmo escrito en un
lenguaje de programación se denomina código fuente.
Programación y Algoritmia 3
Lenguajes de Programación
Programación y Algoritmia 4
Lenguajes de Programación
• Traductores: lenguaje de alto nivel a lenguaje de máquina.
• Compiladores: traduce los programas fuente en lenguaje de alto nivel
a lenguaje máquina. Esto se hace en una sola operación (compilación).
El programa compilado y depurado se denomina programa ejecutable
(C, C++, Java).
• Intérpretes: toma un programa fuente, lo traduce y lo ejecuta.
Lenguajes de tercera generación: ejecutan las instrucciones a medida
que se traducen.
Programación y Algoritmia 5
Lenguajes de Programación
Programación y Algoritmia 6
Lenguajes de Programación
• Década de los 40s: lenguaje de máquina. Luego ensambladores
(assemblers), usando lenguaje nemotécnico (formatos nemónicos).
• Lenguajes de alto nivel:
• FORTRAN (FORmula TRANslator), 1954 (IBM): problemas científicos y de
ingeniería.
• COBOL (Common Business-Oriented Language), 1959 (Grace Hopper – Dra. y
Almirante, U.S. Navy): gestión y negocios.
• BASIC, 1964; Pascal, 1970; C, 1971; C++, 1983; Perl, 1987; Java, 1997.
Programación y Algoritmia 7
Paradigmas de Programación
• Enfoques alternativos a los procesos de programación.
• Enfoque para la construcción de soluciones a problemas.
• Procedimental (imperativo), funcional, declarativo y orientado a
objetos.
Programación y Algoritmia 8
Lenguajes Imperativos (Procedimental)
• Método tradicional. Ejecución secuencial, excepto cuando intervienen
instrucciones de salto de secuencia o control.
• Secuencia de órdenes (comandos) que manipulan los datos para
producir los resultados deseados.
• Ejemplo: FORTRAN, COBOL, Pascal, BASIC, ALGOL, C, Ada.
Programación y Algoritmia 9
Lenguajes Declarativos
• Solicita al programador que describa el problema en lugar de
encontrar una solución algorítmica.
• Utiliza el principio del razonamiento lógico para responder a las
preguntas o cuestiones consultadas.
• Se basa en lógica formal y en el cálculo de predicados de primer orden.
• Ejemplo: Prolog.
Programación y Algoritmia 10
Lenguajes Orientados a Objetos, OOP
• Analogía con el mundo real: diseño y construcción de objetos que se
componen de datos y operaciones.
• Estructura modular. Encapsulamiento, herencia y polimorfismo.
• Ejemplo: C++, Smalltalk, Jaba, C#, Visual Basic.
Programación y Algoritmia 11
Etapas para resolver un problema
• Análisis del problema
• Diseño del algoritmo (diagrama de flujo, pseudocódigo)
• Codificación y ejecución del programa
• Verificación y depuración del programa
• Mantenimiento
• Documentación
Programación y Algoritmia 12
Programa
• Conjunto de instrucciones que producirán la ejecución de una
determinada tarea.
• Es un medio para conseguir un fin.
• Programar consiste en solucionar problemas.
• “Caja negra”
• Conjunto de códigos que transforman las entradas (datos – obtenidos
de la operación de lectura, leer) en salidas (resultados – presentados
por la operación de escritura, escribir).
Programación y Algoritmia 13
Elementos de un Programa
• Palabras reservadas (inicio, fin, si-entonces, …)
• Identificadores: nombres de variables, procedimientos, funciones, …)
• Caracteres especiales (coma, apóstrofo, …)
• Constantes
• Variables
• Expresiones
• Instrucciones
• Bucles
• Contadores
• Acumuladores
• Interruptores
• Estructuras (secuenciales, selectivas, repetitivas)
Programación y Algoritmia 14
Datos
• Expresión que describe los objetos con los que opera una
computadora.
• A nivel de máquina, un dato es un conjunto o secuencia de bits.
• Tipo de dato: conjunto específico de valores de los datos y un conjunto
de operaciones que actúan sobre esos datos.
• Los diferentes tipos de datos determinan cómo se representan y los
procesos que una computadora puede realizar con ellos.
Programación y Algoritmia 15
Datos
Los datos básicos vienen incorporados o integrados en los lenguajes de
programación.
Otro tipo de datos pueden ser definidos por el programador o por el
usuario.
También los hay simples y compuestos (estructurados). Estos últimos
son conjuntos de datos simples con relaciones definidas entre ellos.
Programación y Algoritmia 16
Datos Numéricos
• Enteros: también se les puede denominar de punto o coma fija. Los
mínimos y máximos en una computadora suelen ser -32.768 a +
32.767. Fuera de este rango se representan como reales.
• Reales: siempre tienen un punto decimal. Cuando son muy grandes (o
muy pequeños), suelen representarse en notación exponencial o
científica.
Programación y Algoritmia 17
Datos Numéricos
• Enteros: -32768 a 32767
• Enteros cortos: -128 a 127
• Enteros largos: -2147483648 a 2147483647
• Reales: 3739.41 3.7452 -52.321 3.67x10^20
Programación y Algoritmia 18
Datos Lógicos (boolean)
• Puede tomar uno de dos valores:
cierto o verdadero (true) y falso (false)
Programación y Algoritmia 19
Datos caracter (caracter, cadena)
• Caracteres: Alfabéticos (A, a, B, b,…), Numéricos (1, 2, …, 9, 0) y
especiales.
• Cadenas: sucesión de caracteres. Se suelen escribir entre comillas
simples o dobles. Tienen una longitud.
Programación y Algoritmia 20
Sintaxis
• Reglas bajo las cuales se combinan los elementos de un lenguaje de
programación.
• Solamente las instrucciones sintácticamente correctas pueden ser
interpretadas por la computadora.
• No se debe confundir las palabras utilizadas para el diseño del
algoritmo con las palabras utilizadas en un lenguaje de programación.
Programación y Algoritmia 21
Constantes y Variables.
Normalmente los identificadores de las variables y de las constantes con
nombre deben ser declaradas en los programas antes de ser utilizadas.
La sintaxis de una variable suele ser:
<tipo_de_dato> <nombre_variable> [=<expresión>]
ent numAlumnos = 25
Programación y Algoritmia 22
Constantes y Variables.
Programación y Algoritmia 23
Expresiones
• Son combinaciones de constantes, variables, símbolos de operación,
paréntesis y nombres de funciones especiales.
• Cada expresión toma un valor que se determina tomando los valores
de las variables y constantes implicadas y la ejecución de las
operaciones indicadas.
• Una expresión consta de operandos y operadores.
Programación y Algoritmia 24
Expresiones Aritméticas
• Son análogas a las fórmulas matemáticas. Las variables y constantes
son numéricas, al igual que las operaciones.
Programación y Algoritmia 25
Expresiones Lógicas (booleanas)
Programación y Algoritmia 26
Expresiones Lógicas (booleanas)
Programación y Algoritmia 27
Funciones Internas
Programación y Algoritmia 28
Instrucciones de Asignación
𝐴 ⟵ 12
𝐵⟵𝐴
𝐶⟵𝐵
Antes de ejecutar las instrucciones, el valor de 𝐴, 𝐵 y 𝐶 es indeterminado. Para
darles un valor inicial, hay que hacerlo explícitamente. A esto se le llama definir e
inicializar variables.
𝑁 ⟵𝑁+5
Las variables se deben pensar como en una posición de memoria, cuyo contenido
puede variar mediante instrucciones de asignación.
Programación y Algoritmia 29
Instrucciones de Asignación
El formato general de una operación de asignación es:
<nombre de la variable> ← <expresión>
La flecha de asignación se sustituye en otros lenguajes por “=“. La flecha
se utiliza en la redacción del algoritmo para evitar ambigüedades.
También se puede realizar una asignación múltiple de la siguiente
forma:
<nombre_variable> ← <variable> <operador>
<expresión>
Programación y Algoritmia 30
Instrucciones de lectura de datos (entrada)
Esta instrucción lee datos de un dispositivo de entrada.
leer (A, B, C)
Si el usuario ingresa los números 100, 200 y 300 en el terminal de lectura (un
teclado, por ejemplo), la lectura equivale a:
𝐴 ⟵ 100
𝐵 ⟵ 200
𝐶 ⟵ 300
Significa que se han asignado estos valores a las variables, archivándolos en la
memoria.
Programación y Algoritmia 31
Instrucciones de escritura de resultados
(salida)
Esta instrucción escribe datos en un dispositivo de salida.
escribir (A, B, C)
Si los datos almacenados en memoria de A, B y C son 100, 200 y 300
respectivamente, el dispositivo de salida mostrará estos resultados, por
ejemplo, a través de su visualización en una pantalla.
Programación y Algoritmia 32
Instrucciones de bifurcación
El desarrollo lineal de un programa se interrumpe cuando se ejecuta una
bifurcación. Estas pueden ser, según el punto del programa a donde se
bifurca, hacia adelante o hacia atrás.
Se realizan de modo condicional en función del resultado de la
evaluación de esta.
Programación y Algoritmia 33
Instrucciones de bifurcación
Programación y Algoritmia 34
Escritura de Algoritmos/Programas
algoritmo
cabecera del programa
sección de declaración
sección de acciones
Programación y Algoritmia 35
Cabecera + Declaración
• Todos los algoritmos y programas deben comenzar con una cabecera
en la que se exprese el identificador o nombre correspondiente con la
palabra reservada que señale el lenguaje.
• En los lenguajes de programación la palabra reservada para la
cabecera suele ser program. En algorítmica se denomina algoritmo.
Programación y Algoritmia 36
Cabecera + Declaración
algoritmo DEMO1
//Declaración de variables
var
tipo-1 : lista de variables-1
tipo-2 : lista de variables-2
.
.
tipo-n : lista de variables-n
Programación y Algoritmia 37
Cabecera + Declaración
algoritmo DEMO1
//Declaración de variables
var
entera : Numero_Empleado // número de empleado
real : Horas, // horas trabajadas
Impuesto, // impuesto a pagar
Salario // cantidad ganada
//Declaración de constantes numéricas
const
pi = 3.141592
tamaño = 43
horas = 6.50
Programación y Algoritmia 38
Comentarios
• La documentación de un programa es el conjunto de información que
facilitará su posterior mantenimiento.
• La documentación externa es aquella que se realiza para las fases
posteriores a la puesta en marcha inicial de un programa.
• La documentación interna es la que se acompaña en el código o
programa fuente y se realiza a base de comentarios significativos.
Programación y Algoritmia 39
Estilo de Escritura
algoritmo identificador //cabecera
// seccion de declaraciones
var tipo de datos : lista de identificadores
const lista de identificadores = valor
inicio
<sentencia S1>
<sentencia S2> // cuerpo del algoritmo
.
.
.
<sentencia Sn>
Fin
Programación y Algoritmia 40
Ejemplo
• Escriba un programa para resolver una ecuación de segundo grado
𝐴𝑥 2 + 𝐵𝑥 + 𝐶 = 0, utilizando los parámetros a, b y c. Recuerde que:
−𝑏 ± 𝑏 2 − 4𝑎𝑐
𝑥=
2𝑎
Para que la ecuación tenga solución real se requiere que el
discriminante sea mayor a cero.
𝑑 = 𝑏 2 − 4𝑎𝑐
Programación y Algoritmia 41
Ejemplo
• Si 𝑑 < 0, 𝑥1 = −𝑏 + 𝑏 2 − 4𝑎𝑐 /2𝑎 y 𝑥2 = −𝑏 − 𝑏 2 − 4𝑎𝑐 /2𝑎
• Si 𝑑 = 0, 𝑥1 = 𝑥2 = −𝑏/2𝑎
• Si 𝑑 < 0, 𝑥 no tiene solución real
Programación y Algoritmia 42
Ejemplo
El algoritmo que resuelve el problema es:
1. Inicio.
2. Introducir los coeficientes 𝑎, 𝑏 y 𝑐.
3. Cálculo del discriminante 𝑑 = 𝑏 2 − 4𝑎𝑐
4. Comprobar el valor de D.
Si 𝑑 es menor que 0, visualizar un mensaje de error,
Si 𝑑 es igual a 0, se obtienen dos raíces iguales 𝑥1 = 𝑥2 = −𝑏/2𝑎.
Si 𝑑 es mayor que 0, se calculan las dos raíces 𝑥1 y 𝑥2 .
5. Fin del algoritmo.
Programación y Algoritmia 43
Joyanes, 2008. Fundamentos de Programación. Algoritmos, estructura de datos y objetos 4ed.
Programación y Algoritmia 44
algoritmo raices
// resuelve una ecuación de 2.º grado
var
real : a, b, c
inicio
leer(a, b, c)
d ← b ^ 2 - 4 * a * c
si d < 0 entonces
escribir('raices complejas’)
si_no
si d = 0 entonces
escribir (-b / (2 * a)
si_no
escribir ((-b - raiz2(d)) / (2 * a)
escribir ((-b + raiz2(d)) / (2 * a)
fin_si
fin_si
fin
Programación y Algoritmia 45
Ejemplo
• Escribir un algoritmo que calcule el producto de los 𝑛 primeros
números naturales.
• El problema consiste en calcular el producto 𝑛 ∗ 𝑛 − 1 ∗ 𝑛 − 2 ∗
⋯ ∗ 3 ∗ 2 ∗ 1 que en términos matemáticos se le conoce con el
nombre de factorial de 𝑛 𝑛! .
Programación y Algoritmia 46
Ejemplo
El algoritmo que resuelve el problema será el siguiente:
1. Inicio
2. Leer 𝑛.
3. Caso de que 𝑛 = 0, visualizar «Factorial de 0 igual 1».
4. Comprobar que 𝑛 > 0 (los números negativos no se consideran).
5. Hacer la variable 𝑝 que va a contener el productor igual a 1.
6. Realizar el producto 𝑛 = 𝑝 ∗ 𝑛
Disminuir en una unidad sucesivamente hasta llegar a 𝑛 = 1, y de modo simultáneo los
productos 𝑝 ∗ 𝑛
7. Visualizar 𝑝
8. Fin.
Programación y Algoritmia 47
Programación y Algoritmia 48
algoritmo factorial
var
entero : n
real : p
inicio
leer(n)
si n = 0 entonces
escribir(‘Factorial de 0 igual a 1’)
si_no
si n > 0 entonces
p ← 1
(1) p ← p*n
n ← n – 1
si n = 1 entonces
escribir (‘Factorial = ’, p)
si_no
ir_a (1)
fin_si
si_no
escribir (‘Número negativo’)
fin_si
fin_si
fin
Programación y Algoritmia 49
Ejercicios
Resuelva los siguientes ejercicios:
• Se desea calcular independiente la suma de los números pares e
impares entre 1 y 200.
• Calcular la nota media de los alumnos de una clase considerando n-
número de alumnos y c-número de notas de cada alumno.
• Escribir la suma de los diez primeros números pares.
Programación y Algoritmia 50
Programación y Algoritmia 26/07/2023 51