Paradigmas de Programacion
Paradigmas de Programacion
Paradigmas de programación
No sólo existen varios tipos de lenguajes de programación, sino que también se pueden
encontrar distintas formas de programar una aplicación. Hay diversos paradigmas que
permiten encontrar una solución más adecuada a los problemas. La idea es que el
programador los conozca y sepa seleccionar el adecuado para cada situación particular. Lo
que es verdad, es que, para cada paradigma conviene utilizar ciertos lenguajes de
programación, y no cualquiera. Esto se debe a que la mayoría de los lenguajes fueron
creados para ser utilizados en determinados ambientes de programación.
Un paradigma de programación representa un enfoque particular o filosofía para la
construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y
desventajas. También hay situaciones donde un paradigma resulta más apropiado que
otro.
Programación estructurada.
La programación estructurada es una forma de escribir programación de computadora
de forma clara, para ello se utilizan únicamente tres estructuras: secuencial, selectiva e
iterativa.
Ventajas de la programación estructurada.
Con la programación estructurada, elaborar programas de computadora sigue siendo
una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este
estilo se pueden obtener las siguientes ventajas:
1. Los programas son más fáciles de entender, ya que pueden ser leídos de forma
secuencial.
2. La estructura del programa es más clara puesto que las instrucciones están más
ligadas o relacionadas entre sí.
Conceptos de Programación
Pseudocódigo
El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de
la forma más detallada posible, y a su vez lo más parecida posible al lenguaje que
posteriormente se utilizara para la codificación del mismo.
Las principales características de este lenguaje son:
Programa:
suma_simple
Variables: a:
entero b:
entero
suma: entero
Inicio
Imprimir "Ingrese un número" ;
Leer a;
Imprimir "Ingrese otro número" ;
Leer
b;
suma=
a+b;
Imprimir "Resultado: ", suma;
Fin
Caracteres
El tipo de dato carácter es un dígito individual el cual se puede representar como
numéricos (0 al 9), letras (a-z) y símbolos (!"$&/\).
INFORMÁTICA I
Numéricos
Este tipo de dato puede ser real o entero, dependiendo del tipo de dato que se vaya a
utilizar.
Enteros: son los valores que no tienen punto decimal, pueden ser positivos o negativos
y el cero
Reales: estos caracteres almacenan números muy grandes que poseen parte entera y
parte decimal.
Constantes
Cualquier número invariable, letra simple o cadena de caracteres se conoce como
constante.
Ejemplo:
Pi=3,1415;
Estructuras condicionales
No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando
hay que tomar una decisión aparecen las estructuras condicionales.
En nuestra vida diaria se nos presentan situaciones donde debemos decidir.
Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?
Estructura condicional simple
Cuando se presenta la elección tenemos la opción de realizar una actividad o no realizar
ninguna.
Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del verdadero
hay actividades y por el camino del falso no hay actividades.
Ejemplo: Ingresar el sueldo de una persona, si supera los 3000 pesos mostrar un mensaje en
pantalla indicando que debe abonar impuestos.
Programa
sueldo;
Variables:
Sueldo:
real;
Inicio
Imprimir(“Ingrese el sueldo”);
Leer(sueldo);
Si(sueldo>3000)
Imprimir(“Debe abonar impuestos”);
Finsi
Fin
Estructura condicional compuesta
Cuando se presenta la elección tenemos la opción de realizar una actividad u otra. Es
decir tenemos actividades por el verdadero y por el falso de la condición. Lo más
INFORMÁTICA I
importante que hay que tener en cuenta que se realizan las actividades de la rama del
verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas.
Ejemplo: Realizar un programa que solicite ingresar dos números distintos y muestre por
pantalla el mayor de ellos.
Programa mayor;
Variables:
Num1: entero;
Num2: entero;
Inicio
Imprimir(“Ingrese el primer num”);
Leer(num1);
Imprimir(“Ingrese el segundo num”);
Leer(num2);
Si(num1>num2)
Imprimir (num1,“es mayor”);
Sino
Imprimir (num2,“es mayor”);
Finsi
Fin
Estructura Condicional Anidada
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o
el falso de una estructura condicional hay otra estructura condicional.
Cuando se debe tomar más de una decisión, y con una sola estructura condicional no
alcanza, debemos añadir otras.
La cantidad de “SI” a utilizar, dependerá de la cantidad de opciones posibles. Si tengo tres
opciones posibles, entonces necesitaré dos estructuras condicionales.
Cantidad de estructuras condicionales= cantidad de opciones posibles -1
Ejemplo: Confeccionar un programa que pida por teclado tres notas de un alumno, calcule
el promedio e imprima alguno de estos mensajes:
Si el promedio es >=8 mostrar "Promocionado".
Si el promedio es >=6 y <7 mostrar "Regular".
Si el promedio es <4 mostrar "Reprobado".
Programa
notas;
Variables:
promedio:
real;
Inicio
Imprimir (“Ingrese el promedio”);
Leer(promedio);
Si(nota>=8)
Imprimir (“Promocionado”);
Sino Si(nota>=6)
Imprimir (“Regular”);
Sino
Imprimir (“Reprobado”);
INFORMÁTICA I
Finsi
Finsi
F
i
n
Operadores
En una condición deben disponerse únicamente variables, valores constantes y
operadores relacionales.
>Operadores Relacionales:
> (mayor)
< (menor)
== (igual)
!= (distinto)
V V V
V F F
F V F
F F F
Operador O (or)
Cuando vinculamos dos o más condiciones con el operador O, con que una de las dos
condiciones sea Verdadera alcanza para que el resultado de la condición compuesta sea
Verdadero.
Condición 1 Condición 2 Resultado
V V V
V F V
INFORMÁTICA I
F V V
F F F
Condiciones Múltiples
Cuando en un algoritmo se llega a un punto de realización de varias opciones, nos vemos
obligados a usar condiciones múltiples, porque nos sería más fácil realizar la lógica,
aunque también resulta hacerlo con la instrucción condicional SI, pero este se nos haría
muy tedioso, ya que tendríamos que hacer varias instrucciones ya sean independientes o
anidadas.
En caso(variable) Sea
Caso (valor 1):
Instrucción 1;
Caso (valor 2):
Instrucción 2;
Caso (valor N):
Instrucción N;
Otro Caso: (Opcional)
Instrucción;
Fincaso
Ejemplo: Al ingresar un mero del 1 al 7, debe figurar el nombre del día de la semana. Tener en
cuenta que el 1 es el lunes, 2 es martes y así sucesivamente.
Programa semana;
Variables:
Num:entero;
Día: carácter;
Inicio
Imprimir (“Ingrese el núm. del día de la semana”);
Leer(num);
En caso(num) Sea
Caso (valor 1):
Dia=”Lunes”;
Caso (valor 2):
Dia=”Martes”;
Caso (valor 3):
Dia=”Miércoles”;
Caso (valor 4):
Dia=”Jueves”;
Caso (valor 5):
Dia=”Viernes”;
Caso (valor 6):
INFORMÁTICA I
Dia=”Sábado”;
Caso (valor 7):
Dia=”Domingo”;
Otro Caso:
Dia=”ERROR!”;
Fincaso
Imprimir(dia);
F
i
n
Estructuras Repetitivas
Es todos los algoritmos realizados hasta este punto, cada instrucción se ha ejecutado sólo
una vez ya sea en forma secuencias o en forma selectiva. Sin embargo, con frecuencia,
cierto tipo de problemas requieren de la ejecución reiterada o repetida de un grupo de
instrucciones.
Por ejemplo, el programa que califica los exámenes de ingreso a la Universidad consta
básicamente de un grupo de instrucciones que califican sólo una prueba. Luego, si
deseamos procesar todos los exámenes, agregaremos algunas instrucciones el número de
veces que sea necesario para procesar la totalidad de los exámenes.
Para la ejecución repetida de un conjunto de instrucciones, los lenguajes de
programación ofrecen una variedad de sentencias o códigos, los que se denominan
estructuras repetitivas, estructuras iterativas o simplemente bucles.
Contadores y acumuladores
Un contador es una variable auxiliar o de proceso, cuyo propósito es llevar la cuenta del
número de veces que se está ejecutando un conjunto de sentencias o un determinado
proceso.
El formato de contador es:
Contador=contador+1;
El acumulador es también una variable auxiliar o de proceso, cuyo propósito es sumar
(acumular) diferentes valores del mismo tipo.
Generalmente la implementación de los procesos con un acumulador tiene el siguiente
formato.
Acumulador=acumulador+variable;
En ambos casos, se debe iniciar las variables antes de empezar el bucle.
Tipos de estructuras repetitivas
En forma indistinta se utiliza estructuras repetitivas, estructura iterativa o bucle para
referirse a la repetición de un proceso un número fijo o variable de veces.
En el desarrollo de los procesos iterativos se distinguen los siguientes tipos de bucles.
INFORMÁTICA I
Bucles Bucles
Finitos Infinitos
Para Mientras
Repetir
Bucles infinitos
Son estructuras repetitivas en las que no se conoce el número de veces que se ejecutarán
las instrucciones que se encuentran dentro del bucle. Por ejemplo, si se trata se contar el
número de dígitos de un número entero positivo no sabemos cuántos dígitos tendrá el
número; consiguientemente no se sabe cuántas veces se realizara el proceso de contar.
Otro ejemplo es el número de clientes que debe atender un cajero de banco, quien no sabe
a priori cuantas personas existen en la cola para ser atendidos.
Ejemplo: Se quiere hallar la suma de varios números positivos introducidos por teclado, de
manera que el proceso termina cuando se introduce un número negativo.
Programa suma;
Variables:
Num: entero;
Suma: entero;
Inicio
Suma=0;
Num=1;
Mientras (num>=0) hacer
Imprimir(“Ingrese un num”);
Leer(num);
Suma=suma+num;
Finmientras
Imprimir(“El resultado de la suma es: “,suma);
INFORMÁTICA I
F
i
n
Repetir
Instrucciones
Hasta (condición)
Ejemplo: Se quiere hallar la suma de varios números positivos introducidos por teclado, de
manera que el proceso termina cuando se introduce un número negativo.
Programa suma;
Variables:
Num: entero;
Suma: entero;
Inicio
Suma=0;
Num=0;
Repetir
Suma=suma+num;
Imprimir(“Ingrese un num”);
Leer(num);
Hasta (num<=0)
Imprimir(“El resultado de la suma es: “,suma);
F
i
n
Diferencia de las estructuras mientras y repetir
En la estructura mientras la condición se evalúa al inicio, antes de entrar al bucle, por
tanto es más general y permite la posibilidad de que el bucle pueda no ejecutarse. Mientras
que en la estructura repetir la condición se evalúa al final, por tanto el bucle se ejecutará
al menos una vez bajo cualquier circunstancia.
La estructura mientras termina cuando la condición es falsa, en tanto que la estructura
repetir termina cuando la condición es verdadera.
Ambas estructuras pueden utilizarse cuando no se conoce de antemano el número de
veces que debe ejecutarse el bucle.
¿Cuál de las estructuras es la más conveniente?, depende de la naturaleza de cada
problema. Pero todo problema implementado con la estructura repetir - hasta puede
implementarse con la estructura mientras hacer.
INFORMÁTICA I
Bucles finitos
Son estructuras repetitivas en que se conoce a priori el número de veces que se
ejecutaran las instrucciones que se encuentran dentro del bucle. Ejemplo si se trata de
ingresar 5 notas a priori se sabe que se debe leer repetidamente 5 notas;
consiguientemente el proceso de leer se repetirá 5 veces.
Estructura Para
La estructura PARA es utilizada en aquellos algoritmos en los que se conoce previamente
e número de veces que se deben repetir la ejecución de un bloque de instrucciones. Esta
estructura corresponde a las denominadas estructuras repetitivas fijas y especialmente
diseñadas para simplificar la escritura de los ciclos controlados por un contador.
La variable se denomina variable de control del bucle y hace el papel de contador de la
estructura repetitiva. La primera vez que se ejecuta la sentencia PARA, el valor inicial
(valorinicial) se asigna a la variable de control, luego el bloque de instrucciones del bucle
se ejecuta repetidamente y en cada repetición la variable contador del bucle se incrementa
automáticamente en 1(por defecto); hasta alcanzar el valor final (valorfinal), luego el
control del programa continua en la siguiente instrucción a la estructura repetitiva.
• La variable de control del ciclo no puede cambiarse desde dentro del ciclo, pero
si puede utilizarse.
• Después de ejecutarse el bloque de instrucciones de proceso, la variable de
control se incrementa en 1 automáticamente, siempre y cuando no se declare un
valor de aumento.
• Se debe verificar que al momento de iniciarse el ciclo El valor inicial de la variable
de control debe ser menor o igual al valor final que debe de tomar
• No se debe poner una condición adicional de terminación del ciclo.
I:
entero;
Inicio
Suma=0;
Para (i=1 hasta 10)
Imprimir (“Ingrese un num”);
Leer(num);
Suma=suma+num;
finpara
Imprimir(“El resultado de la suma es: “,suma);
F
i
n