Está en la página 1de 8

UNIVERSIDAD ABIERTA PARA ADULTOS

(UAPA)

ASIGNATURA
Lógica Computacional

TAREA
Tarea X

PARTICIPANTE:
José Francisco Rodríguez

Matricula:
202001501

FACILITADOR:
Mario Ortiz

Santiago de los Caballeros, República Dominicana

20 de junio del 2020.


1. Indagar en la Web sobre los fundamentos de programación: conceptos
básicos, características, estructura y tipos de programa.

Fundamentos de Programación es una asignatura básica que permite crear


programas que exhiban un comportamiento deseado. El proceso de escribir
código requiere frecuentemente conocimientos en varias áreas distintas, además
del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal.
 
Con esta materia el alumno aprenderá a escribir, a analizar, probar, depurar y dar
mantenimiento al programa generado en un Lenguaje de Programación.

La utilización de un lenguaje de programación requiere que usted conozca y utilice


algunas herramientas previas,  que le ayudarán a comprender y resolver problemas
de diferentes áreas como la matemática, la física y la contabilidad, entre otras; a
través del computador.

 Algoritmo
 Lenguaje de programación
 Programa fuente
 Programa objeto
 Compilador
 Pseudocódigo
 Diagramas de flujo

Algoritmo: es el conjunto de pasos ordenados lógicamente para realizar una


actividad o resolver un problema específico.

Ejemplos: los pasos ordenados lógicamente de una receta de cocina, para sumar dos
(2) números, para calcular el área de un triángulo, etc.

Características importantes de un algoritmo:

 Debe ser finito: todo algoritmo debe tener un fin.


 Debe ser definido: siempre debe dar el mismo resultado con los mismos
parámetros.
 Debe ser preciso: exactitud en el desarrollo de todos los pasos.

Lenguaje de programación: es un conjunto de palabras, letras, números y


símbolos especiales  con reglas sintácticas definidas que se utilizan para dar
instrucciones al computador.

Ejemplos: Qbasic, Visual Basic, Pascal, C++, Java, etc.

 Programa fuente: es el conjunto de pasos de un algoritmo escrito en un


lenguaje de programación de alto nivel.
 Programa objeto: es el conjunto de pasos de un algoritmo escrito en
lenguaje de máquina (bajo nivel).
 Compilador: es una aplicación o programa que traduce un programa fuente
en un programa objeto que puede ser interpretado y ejecutado por el
computador.
 Pseudocódigo: es un conjunto de instrucciones que se escriben en palabras
similares al lenguaje natural para resolver un problema o una tarea
específica.  Es una herramienta que se utiliza en la programación
estructurada.
 Diagrama de flujo: es la representación gráfica de un algoritmo o
pseudocódigo mediante símbolos convencionales que muestran las acciones,
procesos y flujo de la información para resolver un problema planteado.
 
2. Realizar un resumen, un cuadro comparativo, mapa mental, acerca de la
estructura de un programa, tomando en cuenta: sus fases y tipos de
programas.

Etapas Productos formalismo


Obtención de Casos de uso(actores, Plantilla del formato del
requerimientos escenarios) documento, diagrama de
interacción de usuario
(UIDs)
Diseño Conceptual Clases, subsistema, Modelos orientados a
relaciones, atributos objetos.
Diseño navegacional Nodos, enlaces, Vistas orientadas a
estructuras de acceso, objetos, cartas de
contexto, navegacionales, navegación orientadas a
transformaciones de objetos, clases de
navegación. contexto.
Diseño de interfaz Objetos de la interfaz Vistas abstractas de datos
abstracta abstracta respuestas a (ADV), diagramas de
eventos externos, configuración cartas de
transformaciones de la navegación de los ADVs.
interfaz
Implementación Aplicación en Los soportados por el
funcionamiento entorno.

3. Establecer la relación entre un lenguaje de programación opensource y


otro privativo.

En el mundo de la tecnología hay errores comunes con términos que no siempre


conseguimos diferenciar adecuadamente. Por ejemplo, aunque todos entendemos
bastante bien la diferencia entre el software privativo y el no privativo, no
siempre pasa lo mismo a la hora de separar los conceptos de software libre y el de
código abierto.
En primer lugar, el software libre no es sinónimo de gratuito, aunque en inglés la
palabra free pueda significar ambas cosas. Por otro lado, aunque es siempre de
código abierto u Open Source, no todo el software de código abierto es libre.
Aunque para entenderlo lo mejor será ver qué es cada cosa y ver después cuales
son las diferencias más significativas.

Y es que, tal y como defiende el propio Richard Stallman, "el movimiento por el
software libre y el movimiento por el código abierto son como dos frentes
políticos entre la comunidad de software libre". Ambos persiguen un objetivo
común de dar mayor libertad y transparencia al mundo del software, pero difieren
bastante en sus maneras de llevarlo a cabo.

El Software Libre se define por su ética

El Software Libre no sólo son aquellos programas cuyo código está abierto al público
para que cualquiera pueda mejorarlo. Representa todos aquellos que respetan las
libertades esenciales del usuario definidas por la Free Software Foundation,
fundación creada en 1985 por Richard Stallman para defender las libertades en el
mundo tecnológico.

Estas son las cuatro libertades esenciales de los usuarios tal y como las define la
FSF:

 La libertad de ejecutar el programa como se desea, con cualquier


propósito (libertad 0).

 La libertad de estudiar cómo funciona el programa, y cambiarlo para que


haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición
necesaria para ello.

 La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).

 La libertad de distribuir copias de sus versiones modificadas a terceros


(libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de
beneficiarse de las modificaciones. El acceso al código fuente es una condición
necesaria para ello.

Las cuatro libertades, según explica la fundación, tienen que ser aplicadas en


todo el código de un programa. De esta manera, si creamos un software a partir
de otro, tenemos que asegurarnos de que tanto la base sobre la que estamos
trabajando como las líneas que nosotros hemos añadido al proyecto respeten estas
libertades. Vamos, que el software producido a partir de software libre debería ser
libre también.

Open Source, una escisión pragmática

El 3 de febrero de 1998, varios integrantes de la comunidad de Software Libre


decidieron ir por su cuenta y crearon la Open Source Initiative (OSI). La decisión se
tomó justo después del lanzamiento de Netscape, viendo en él una oportunidad para
educar a los usuarios y empresas sobre los beneficios prácticos para los
proyectos que deciden liberan su código.

Así como la ética del Software Libre se define en cuatro puntos, la Open Source
Iniciativa tiene diez requisitos a cumplir por parte de un proyecto o las licencias bajo
las que se publica para que pueda ser definido como de código abierto:

 Libre redistribución: La licencia del software no debe impedir que este sea
regalado o vendido libremente como parte de una distribución mayor que
contenga programas de diferentes fuentes. Tampoco debe exigir un pago por
hacerlo.

 Código fuente: A la hora de publicar un programa tiene que incluirse su


código fuente íntegro o permitir acceder libremente a él.

 Trabajos derivados: Las licencias deben permitir modificaciones y trabajos


derivados, y debe permitir que estos se distribuyan bajo los mismos términos que
el software original.
 Integridad del código fuente del autor: Se puede impedir la distribución
de modificaciones únicamente si se permite la distribución de tales como
parches. También se puede requerir que trabajos derivados cambien de nombre
o número de versión.

 Sin discriminación de personas o grupos: No se puede discriminar a


ninguna persona o grupo a la hora de acceder a un programa o su código.

 Sin discriminación de áreas de iniciativa: Tampoco le se puede restringir


su acceso a ninguna iniciativa. Las empresas o grupos de investigación tienen
tanto derecho como el resto a utilizar el software.

 Distribución de la licencia: Los derechos asociados en las licencias de los


programas deben aplicarse a todos a los que lo redistribuyan sin necesidad de
pedir una licencia adicional.

 La licencia no debe ser específica de un producto: Un programa no


puede licenciarse únicamente como parte de un software mayor. Podrá ser
extraído y utilizado libremente y con todos los derechos en otras soluciones.

 La licencia no debe restringir otro software: El hecho de que un


proyecto sea de código abierto no puede obligar a que los programas en los que
se incluye sean también de código abierto.

 La licencia debe ser tecnológicamente neutral: Ninguna disposición de


la licencia puede basarse en la tecnología o un estilo de interfaz, con lo que, por
ejemplo, no se debe requerir su aceptación mediante gestos explícitos como
clicks de ratón.

Como veis, los puntos son bastante menos ideológicas y más pragmáticos. No se
centran tanto en el hecho que los programas derivados mantengan las
características, sino en fomentar la apertura del código que utilizan los
programas para que todos puedan colaborar y beneficiarse. Esta flexibilidad les ha
permitido ganarse socios de renombre como Facebook, Google, la Linux Foundation
o Mozilla.
Por lo tanto, en vez de un manifiesto ético lo que tenemos son puntos prácticos con
los que regular una actividad y poner orden previendo cualquier caso o conflicto que
se pueda dar. Pero tampoco deja de lado las libertades, ya que en varios de sus
puntos exigen que no se discrimine a nadie a la hora de poder acceder al código.

También es importante recalcar que no todos los programas que liberan su


código fuente son de código abierto, ya que este código puede estar siendo
liberado bajo unas licencias restrictivas que contradigan los principios en los que se
basa el proyecto Open Source.

¿Cuáles son las principales diferencias?

Estamos ante dos maneras de afrontar un objetivo similar, por lo que las diferencias
no son demasiadas. La principal es que el código abierto es menos estricto que el
software libre, por lo que en la práctica todo software libre se puede calificar como
código abierto, aunque no todo el software de código abierto tiene por qué
ser libre. Por ejemplo, algunas licencias de Open Source son demasiado restrictivas
como para considerarse libres.

Otra pequeña diferencia nos la encontramos a la hora de proteger a los autores


originales. La FSF recula con una excepción que permite que los autores puedan
pedir que un producto basado en el suyo sea renombrado para evitar confusiones.
Mientras, la OSI va un poco más allá permitiendo que se pueda impedir la
distribución de algunos subproductos, aunque siempre a cambio de que puedan
ser publicados como parches o añadidos para el original.

Pero más allá de eso las diferencias tampoco son demasiadas. A ojos de Stallman,
con el software libre se le quiere dar sentido a la libertad que implica el término,
mientras que utilizar código abierto no implica que haya siempre libertad, sino
disponibilidad a la hora de acceder al código. Aún así, el propio Stallman admite que
aunque no están de acuerdo en los principios básicos, sí que lo están en las
recomendaciones prácticas y en el colaborar en contra del software privativo

También podría gustarte