0% encontró este documento útil (0 votos)
36 vistas14 páginas

Paradigmas de Programacion

Este documento describe diferentes paradigmas de programación como la programación estructurada y orientada a objetos. También explica conceptos como diagramas de flujo, pseudocódigo y variables.

Cargado por

Lucas012
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
36 vistas14 páginas

Paradigmas de Programacion

Este documento describe diferentes paradigmas de programación como la programación estructurada y orientada a objetos. También explica conceptos como diagramas de flujo, pseudocódigo y variables.

Cargado por

Lucas012
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

INFORMÁTICA I

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í.

3. Reducción del esfuerzo en las pruebas. El seguimiento de las fallas ("debugging")


se facilita debido a la lógica más visible, por lo que los errores se pueden detectar y
corregir más fácilmente.
4. Reducción de los costos de mantenimiento.
5. Programas más sencillos y más rápidos.
6. Los bloques de código son auto explicativos, lo que apoya a la documentación.
Desventajas de la programación estructurada.
El principal inconveniente de este método de programación, es que se obtiene un único
bloque de programa, que cuando se hace demasiado grande puede resultar problemático
su manejo, esto se resuelve empleando la programación modular, definiendo módulos
interdependientes programados y compilados por separado.
INFORMÁTICA I

Programación Orientada a Objetos.


La Programación Orientada a Objetos (POO u OOP según siglas en inglés) es un
paradigma de programación que define los programas en términos de "clases de objetos",
objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto
es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del
resto).
La programación orientada a objetos expresa un programa como un conjunto de estos
objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas
y módulos más fáciles de escribir, mantener y reutilizar.

Relación entre la Programación Orientada a Objetos y la programación


estructurada.
Aunque la programación estructurada (a veces llamada procedural o procedimental)
condujo a mejoras de la técnica de programación secuencial, los métodos modernos de
diseño de software orientado a objetos incluyen mejoras entre las que están el uso de los
patrones de diseño, diseño por contrato, y lenguajes de modelado (ejemplo: UML).
La programación orientada a objetos es más moderna, es una evolución de la
programación estructurada que plasma en el diseño de una familia de lenguajes conceptos
que existían previamente con algunos nuevos.
Entre los lenguajes orientados a objetos destacan los siguientes:

o Ada. o C++. o C#. o VB.Net. o Delphi. o Java. o Perl (soporta herencia


múltiple). o PHP (en su versión 5). o PowerBuilder. o Python. o Ruby.
o Smalltalk.
Muchos de estos lenguajes de programación no son puramente orientados a objetos, sino
que son híbridos que combinan la POO con otros paradigmas.
Un nuevo paso en la abstracción de paradigmas de programación es la Programación
Orientada a Aspectos (POA). Aunque es todavía una metodología en estado de maduración,
cada vez atrae a más investigadores e incluso proyectos comerciales en todo el mundo.

Conceptos de Programación

Qué es un Diagrama de Flujo


Un diagrama de flujo es una representación gráfica de un proceso. Cada paso del
proceso es representado por un símbolo diferente que contiene una breve descripción de
la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con
flechas que indican la dirección de flujo del proceso.
El diagrama de flujo ofrece una descripción visual de las actividades implicadas en un
proceso mostrando la relación secuencial ente ellas, facilitando la rápida comprensión de
cada actividad y su relación con las demás, el flujo de la información y los materiales, las
ramas en el proceso, la existencia de bucles repetitivos, el número de pasos del proceso,
INFORMÁTICA I

las operaciones de interdepartamentales… Facilita también la selección de indicadores de


proceso

Beneficios del Diagrama de Flujo

• En primer lugar, facilita la obtención de una visión transparente del proceso,


mejorando su comprensión. El conjunto de actividades, relaciones e incidencias
de un proceso no es fácilmente discernible a priori. La diagramación hace posible
aprehender ese conjunto e ir más allá, centrándose en aspectos específicos del
mismo, apreciando
las interrelaciones que forman parte del proceso así como las que se dan con
otros procesos y subprocesos.
• El diagrama de flujo facilita la identificación de los clientes, es más sencillo
determinar sus necesidades y ajustar el proceso hacia la satisfacción de sus
necesidades y expectativas.
• Estimula el pensamiento analítico en el momento de estudiar un proceso,
haciendo más factible generar alternativas útiles.
• Proporciona un método de comunicación más eficaz, al introducir un lenguaje
común, si bien es cierto que para ello se hace preciso la capacitación de aquellas
personas que entrarán en contacto con la diagramación.
• Igualmente, constituye una excelente referencia para establecer mecanismos de
control y medición de los procesos, así como de los objetivos concretos para las
distintas operaciones llevadas a cabo.
• Facilita el estudio y aplicación de acciones que redunden en la mejora de las
variables tiempo y costes de actividad e incidir, por consiguiente, en la mejora
de la eficacia y la eficiencia.
• Constituyen el punto de comienzo indispensable para acciones de mejora o
reingeniería.
INFORMÁTICA I

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:

 Es una forma de representación sencilla de utilizar y de manipular.


 Facilita el paso del programa al lenguaje de programación.
 Es independiente del lenguaje de programación que se vaya a utilizar.
 Es un método que facilita la programación y solución al algoritmo del programa.
La estructura del mismo está conformada por:

Programa: debe ir el nombre del mismo.


Tipos de datos: se declaran las constantes y variables
Cuerpo:
Inicio
Instrucciones
Fin
Ejemplo: Realizar la suma de dos números enteros.
INFORMÁTICA I

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

Variables, tipos de datos y constantes


Una de las tareas esenciales de un lenguaje de programación es la de identificar el tipo
de datos que manipula.
Los datos se almacenan en la memoria del ordenador. El sistema de memoria consta de
celdas numeradas de forma distintiva llamadas direcciones de memoria. Cuando se
almacena algo, hay que conocer las direcciones para poder recuperarlo y trabajar con ello.
Un lenguaje de programación nos evita el tener que seguir el rastro de estas direcciones
de memoria sustituyendo sus nombres. Estos nombres se denominan variables. Las
variables son los nombres descriptivos de las direcciones de memoria.
Antes de utilizar una variable, debemos declararla. Tenemos que identificar qué tipo de
información almacenará. Este proceso se llama definición de variable. Las variables deben
declararse al comienzo de cualquier bloque de código
Nombres de variables

 Todas las definiciones de variables deben incluir dos cosas: el nombre de la


variable y su tipo de datos. No se deben colocar espacios en el nombre de una
variable.
 Los nombres de las variables no deben ser muy largos. No debe utilizar palabras
reservadas.
 Generalmente los primeros ocho caracteres de un nombre de variable son
significativos.
 Los nombres de variables deben tener sentido y describir lo que almacenan
dichas variables. Deben evitarse los nombres de una sola letra siempre que sea
posible.
Tipo de Datos:

 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)

>= (mayor o igual)

<= (menor o igual)

== (igual)

!= (distinto)

Condiciones compuestas con operadores lógicos


Operador Y (and)
Cuando vinculamos dos o más condiciones con el operador Y, las dos condiciones deben ser
verdaderas para que el resultado de la condición compuesta de Verdadero y continúe por la
rama del verdadero de la estructura condicional.

Condición 1 Condición 2 Resultado

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.

 Estructura Mientras… Hacer


La estructura repetitiva “mientras” es aquella es que el cuerpo del bucle se repite
mientras se cumple una determinada condición.
Primero se procede a la inicialización de las variables que involucran el test de salida; luego
se procede a verificar la condición o test de salida, entrando al bucle si esta condición es
verdadera.
Si la condición no es verdadera se termina la ejecución del bucle, pasando a ejecutarse la
primera instrucción que sigue al bucle.

Mientras (condición) hacer


Instrucciones
Finmientras

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

 Estructura Repetir… Hasta


Esta estructura repetitiva exige que las instrucciones de proceso se realicen por lo menos
una vez, pues primero se ejecutan las instrucciones de proceso y luego recién se verifica la
validez de la condición en el test de salida.

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.

Como se puede ver, comparativamente con la sentencia mientras la estructura para no


requiere de instrucciones para inicializar el contador, para verificar la condición y para
incrementar el contador, éstas son inherentes a su semántica.

Para (contador=valorinicial hasta valorfinal, aumento (opcional))


Instrucciones
Finpara

La estructura para no es de propósito general, por lo que al momento de usarla se debe


recordar lo siguiente:

• 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.

Ejemplo: Se quiere hallar la suma de 10 números introducidos por teclado.


Programa suma;
Variables:
Num: entero;
Suma: entero;
INFORMÁTICA I

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

También podría gustarte