martes, 20 de noviembre de 2018

9.2. Programación Estructurada

 
Identificación de la estructura básica

La estructura básica está en su lugar; simplemente necesita cambiar el título y añadir algo de texto. Lo primero que tenemos que saber es que en toda página web existen dos partes claramente diferenciadas: la cabecera, o head, y el cuerpo, o body.

Programación 

La programación es un proceso que se utiliza para idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores; y a la preparación de los datos necesarios para obtener una solución de un problema.
En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones informáticas y videojuegos; es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++, Java, Python entre otros) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por un microprocesador.

Lenguajes de programación

Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. ... Se asume generalmente que la traducción de las instrucciones a un código que comprende la computadora debe ser completamente sistemática.

Compiladores e interpretes

Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel: Compilador e intérprete.
Existen dos tipos principales de traductores de los lenguajes de programación de alto nivel:
  • Compilador, que analiza el programa fuente y lo traduce a otro equivalente escrito en otro lenguaje (por ejemplo, en el lenguaje de la máquina). Su acción equivale a la de un traductor humano, que toma un libro y produce otro equivalente escrito en otra lengua.
  • Intérprete, que analiza el programa fuente y lo ejecuta directamente, sin generar ningún código equivalente. Su acción equivale a la de un intérprete humano, que traduce las frases que oye sobre la marcha, sin producir ningún escrito permanente. Intérpretes y compiladores tienen diversas ventajas e inconvenientes que los hacen complementarios:
    • Un intérprete facilita la búsqueda de errores, pues la ejecución de un programa puede interrumpirse en cualquier momento para estudiar el entorno (valores de las variables, etc.). Además, el programa puede modificarse sobre la marcha, sin necesidad de volver a comenzar la ejecución.
    • Un compilador suele generar programas más rápidos y eficientes, ya que el análisis del lenguaje fuente se hace una sola vez, durante la generación del programa equivalente. En cambio, un intérprete se ve obligado generalmente a analizar cada instrucción tantas veces como se ejecute (incluso miles o millones de veces).
    • Un intérprete permite utilizar funciones y operadores más potentes, como por ejemplo ejecutar código contenido en una variable en forma de cadenas de caracteres. Usualmente, este tipo de instrucciones es imposible de tratar por medio de compiladores. Los lenguajes que incluyen este tipo de operadores y que, por tanto, exigen un intérprete, se llaman interpretativos. Los lenguajes compilativos, que permiten el uso de un compilador, prescinden de este tipo de operadores.
Librerías

En informática, una biblioteca o, llamada por vicio del lenguaje librería (del inglés library) es un conjunto de implementaciones funcionales, codificadas en un lenguaje de programación, que ofrece una interfaz bien definida para la funcionalidad que se invoca.

Creación de estructuras secuenciales

La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Estructuras selectivas if-else y anidades múltiples

Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas y son utilizadas en todos los lenguajes de programación, en este caso veremos estructuras selectivas para el lenguaje de programación Ruby,  creado por el programador japonés Yukihiro “Matz” Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995.En el círculo de amigos de Matsumoto se le puso el nombre de “Ruby” (en español rubí) como broma aludiendo al lenguaje de programación “Perl” (perla)
En las estructuras selectivas se evalúan una condición y en función del resultado de la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, si_no), las estructuras selectivas pueden ser:

Simples

Las estructuras selectivas simples o condicionales están compuesta únicamente de una sola condición si es verdadera ejecutara la acción o acciones si la condición es falsa no hará nada.
if (condición) entre paréntesis esta la condición que se debe evaluar
acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias acciones)
end
Antes de mostrar el ejemplo vamos a explicar algunos comandos que vamos a utilizar:
# => este comando nos permite poner un comentario, puede ser a principio de linea o en cualquier posición de ella.
puts => este comando nos permite imprimir cualquier texto en pantalla, puede ser el resultado de una operación o un texto escrito entre comillas.
Ejemplo:
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts “Es mayor de edad”
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis es verdadera, porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18, no mostraría ningún resultado.

Dobles

Las estructuras selectivas dobles están compuesta únicamente de una sola condición, si es verdadera ejecutara la acción o acciones y si la condición es falsa ejecutara las acciones para la condición falsa. Esta estructura selectiva solo se debe utilizar únicamente cuando existen dos condiciones, si hubieran mas de dos condiciones se puede utilizar varias selectivas simples o una selectiva múltiple.
if (condición)
acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)
else
acción (si la condición entre paréntesis es falsa se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)
end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts “Es mayor de edad”
else
puts “Es menor de edad”
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis es verdadera, porque, edad que tiene asignado 19 es mayor a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18,  el resultado seria Es menor de edad, porque, la condición es falsa.

Múltiples

Las estructuras selectivas múltiples o anidadas están compuesta múltiples selectivas simples que están unidas por el comando elsif el resultado que se obtiene con una selectiva multiple se puede obtener con varias selectivas simples, entonces, ¿cual es la diferencia? el codigo es mas pequeño, aunque, yo siempre he recomendado a mis alumnos que cuando recien se esta aprendiendo a programar es recomendable que al principio se trabaje con selectivas simples, a medida que se va aprendiendo y ganando destreza se puede comenzar a utilizar las selectivas multiples en los casos que ellos crean conveniente y necesarios.
if (condición)
acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)
elsif (condición)
acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)
elsif (condición)
acción (si la condición entre paréntesis es verdadera se ejecutara la acción o acciones, porque, puede estar conformado por varias lineas)
end
Ejemplo:
Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad
edad = 19 # asignamos un valor a la variable edad
if (edad > 17)
puts “Es mayor de edad”
elsif (edad < 18)
puts “Es menor de edad”
end
Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque, la condición que esta entre paréntesis de la primera condición es verdadera, porque, en las selectivas múltiples cada condición debe ser única, porque, cuando ingresa en una de ellas ahí termina el programa, si el valor asignado a la variable edad fuera menor a 18,  el resultado seria Es menor de edad, porque, hubiera ingresado en la segunda condición y no en la primera.
Estructuras de iterativas do-while

    9.1 Programación en Pseudocódigo


    creación de un algoritmo 

    En programación, un algoritmo establece, de manera genérica e informal, la secuencia de pasos o acciones que resuelve un determinado problema y, para representarlo, se utiliza, fundamentalmente, dos tipos de notación: pseudocódigo y diagramas de flujo.
    Diseño de algoritmos

    Para llegar a la realización de un programa es necesario el diseño previo de algoritmo, de modo que sin algoritmo no puede existir un programa.
    Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de 
    la computadora que lo ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo.

    Dada la importancia del algoritmo en la ciencia de la computación, un aspecto muy importante será el diseño de algoritmos. El diseño de la mayoría de los algoritmos requiere 
    creatividady conocimientos profundos de la técnica de la programación.


    Simbología y diagrama de flujo

    El diagrama de flujo o flujograma o diagrama de actividades es la representación gráfica de un algoritmo o proceso. Se utiliza en disciplinas como programacióneconomíaprocesos industriales y psicología cognitiva.

    En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa los flujos de trabajo paso a paso . Un diagrama de actividades muestra el flujo de control general.
    En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven elementos físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.
    Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin del proceso.

    9 Programación en pseudocódigo y estructurado

    Programación en pseudocódigo y estructurado

    La programación estructurada es un paradigma; ya que está orientada a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación.
    Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini, y una famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 1968 y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.

    9 Programación en pseudocódigo y estructurado

    La programación estructurada es un paradigma; ya que está orientada a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia, selección (if y switch) e iteración (bucles for y while), considerando innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a "código espagueti", que es mucho más difícil de seguir y de mantener, y era la causa de muchos errores de programación.
    Surgió en la década de 1960, particularmente del trabajo Böhm y Jacopini, y una famosa carta, La sentencia goto considerada perjudicial, de Edsger Dijkstra en 1968 y fue reforzado teóricamente por el teorema del programa estructurado, y prácticamente por la aparición de lenguajes como ALGOL con adecuadas y ricas estructuras de control.

    8.5 Compartir archivos y carpetas de manera segura



    8.5 Compartir archivos y carpetas de manera segura Asignar permisos a usuarios: Para agregar usuarios en Business Central, el administrador de Office 365 de la empresa primero debe crear los usuarios en el centro de administración de Office 365. Para obtener más información, vea Agregar usuarios a Office 365 para empresas
    Una vez que los usuarios se crean en Office 365, se pueden importar a la ventana de 
    Usuarios en Business Central. A los usuarios se les asignan conjuntos de permisos según el plan asignado al usuario en Office 365. Para obtener información detallada acerca de las licencias, consulte la Guía de licencias de Microsoft Dynamics 365 Business CentralDespués podrá asignar conjuntos de permisos a los usuarios para definir a qué objetos de base de datos y, por lo tanto, a qué elementos de la interfaz de usuario, tienen acceso y en qué empresas. Puede agregar usuarios a grupos de usuarios. Esto facilita asignar los mismos conjuntos de permisos a varios usuarios.

    2.-Asignar permisos a grupos: Puede asignar permisos desde diversos lugares del portlet de creación de informes. Hay dos espacios de nombres de seguridad, que difieren en función del escenario de instalación que elija. Para la instalación de Tivoli Common Reporting en un solo sistema, los espacios de nombres son Cognos y VMMProvider. Para instalación distribuida, VMMProvider no se instala y, en su lugar, se sustituye por el espacio de nombres que elija durante la configuración LDAP.
    8.4 Aplicación de buenas prácticas de seguridad de la red Internet.

    Configuración de cuentas y grupos de usuarios: Configuración de grupos y de usuarios. El Administrador de usuario
     le permite visualizar, modificar, añadir y borrar los usuarios y gruposlocales. Para usar el Administrador de usuarios, debe estar ejecutando el sistema X Window y tener privilegios de root y tener el paquete RPM redhat-config-users instalado.

     Cuentas de usuario y contraseñas: Una cuenta de usuario es una colección de información que indica al sistema operativo los archivos y carpetas a los que puede tener acceso un determinado usuario del equipo, los cambios que puede realizar en él y sus preferencias personales, como el fondo de escritorio o el protector de pantalla.

    Grupos de usuarios: El sistema de administración de usuarios de Symphony utiliza grupos de usuarios. Esto permite a los administradores organizar los privilegios de seguridad de los usuarios como parte de Grupos. El administrador establece los privilegios de seguridad del grupo y asigna los usuarios a grupos.

     2.-Manejo de software de seguridad en el equipo: El manejo de los software en el equipo es de importancia por su capacidad de proteger al equipo de cómputo de amenazas en la red. Es utilizado para poder proteger el equipo de amenazas que se pueden encontrar en la red u otros dispositivos 
    Actualizaciones automáticas se actualiza sin que el operador tenga que hacerlo por medio de una configuración son herramientas que permiten tener el equipo actualizado.

    3.-Actualizaciones automáticas: Puede actualizar automática o manualmente los archivos de configuración para asegurarse de que los archivos de configuración contienen la información de seguridad de red más reciente.

    Los archivos de configuración actualizados ayudan a eliminar falsos positivos y a proteger el sistema de los últimos sitios maliciosos, botnets y otra actividad de Internet sospechosa.
    4.- Opciones de seguridad en los Navegadores: Seguridad del navegador es la aplicación de la seguridad de internet​ en el navegador web con la finalidad de proteger datos en red y sistemas computacionales de brechas de privacidad o malware.
    5.- Filtro antiphishing Firewall: En lo que a seguridad de nuestras herramientas informáticas se refiere, como así también en la constante protección de nuestra información personal, nunca son demasiados los esfuerzos que ponemos para evitar que nuestra PC sea infectada por un malware.
    6.- Antispyware: SUPER AntiSpyware es un software para Microsoft Windows​ que detecta y elimina spyware, adware, troyanos, rogue software, gusanos y rootkits. A pesar de su capacidad para detectar malware, el programa no está diseñado para reemplazar el antivirus.

    7.-Antispam: El antispam es lo que se conoce como método para prevenir el correo basura. Tanto los usuarios finales como los administradores de sistemas de correo electrónico utilizan diversas técnicas contra ello.


    8.3 Riesgos sociales


    Contenidos inapropiados:  Existen páginas en Internet que plantean temas no adecuados para nadie y en especial para usuarios jóvenes. Es el caso de sitios que tratan de fomentar el racismo, violencia, terrorismo, armas, sectas, pornografía infantil, abusos infantiles, tráfico de drogas, anorexia o bulimia, etc.
    Ingeniería social: La ingeniería Social está definida como un ataque basado en engañar a un usuario o administrador de un sitio en la internet, para poder ver la información que ellos quieren. Se hace para obtener acceso a sistemas o información útil. Los objetivos de la ingeniería socialson fraude, intrusión de una red.
    Hostigamiento en línea o Cyberbulling/ Cyberstalking: El ciberacoso (derivado del término en inglés cyberbullying) también denominado acoso virtual o acoso cibernético, es el uso de medios de comunicación digitales para acosar a una persona o grupo de personas, mediante ataques personales, divulgación de información confidencial o falsa entre otros medios. Es decir, se considera ciberacoso, o ciberagresión a todo aquello que se realice a través de los dispositivos electrónicos de comunicación con el fin intencionado de dañar o agredir a una persona o a un grupo. Además, estos actos de ciberagresión poseen unas características concretas que son el anonimato del agresor, su inmediatez y su alcance.​ Puede constituir un delito penal. El ciberacoso implica un daño recurrente y repetitivo infligido a través de los medios electrónicos. Según R. B. Standler,​ el acoso pretende causar angustia emocional, preocupación, y no tiene propósito legítimo para la elección de comunicaciones.
    Prevención del sextingEl 'sexting' consiste en el envío o intercambio de contenidos de tipo sexual, principalmente fotografías y vídeos, producidos por el propio remitente y enviados a otras personas por medio de aplicaciones de telefonía móvil u otros dispositivos tecnológicos. Cuando esta difusión se realiza sin el consentimiento de la víctima, los autores pueden enfrentarse a la imputación de delitos como el de revelación de secretos o contra el honor.
    Información falsa: “Toda aquella información fabricada y publicada deliberadamente para engañar e inducir a terceros a creer falsedades o poner en duda hechos verificables”.
    Privacidad o cuidado de la identidad digital:  No publicar excesiva información personal y familiar, ni datos que permitan la localización física. No aceptar solicitudes de contacto de forma compulsiva, sino sólo a personas conocidas.

    Adicción al Internet: Es un término que se refiere a una supuesta patología que supone un uso abusivo de Internet, a través de diversos dispositivos (ordenadores, teléfonos, tabletas, etc.), que interfiere con la vida diaria.

    Identidad digital: También llamada identidad digital, es la revolución anticipada de la verificación de la identidad en línea utilizando tecnologías emergentes centradas al usuario tales como el estándar OpenID o Microsoft Windows CardSpace. Se encuentra dentro de la teoría de la Web 2.0, donde enfatiza en un modo simple y abierto método de identificación en transacciones cuyo proceso es similar al mundo real, como por ejemplo una licencia de conducir.

    Huella digital: La intención de la tecnología de huella digital es identificar de manera precisa y única a una persona por medio de su huella dactilar.Certificando la autenticidad de las personas de manera única e inconfundible por medio de un dispositivo electrónico que captura la huella digital y de un programa que realiza la verificación.