• No se han encontrado resultados

Tema 4 Curso Fundamentos Semana 5 pdf

N/A
N/A
Protected

Academic year: 2020

Share "Tema 4 Curso Fundamentos Semana 5 pdf"

Copied!
88
0
0

Texto completo

(1)
(2)
(3)

También es llamado software interno, esta

formado por el conjunto de rutinas que

desarrollada por alguna casa proveedora de

software con el fin de ayudar a los usuarios en

la

utilización

de

los

recursos

computacionales.

En esta categoría se encuentran: el sistema

operativo,

los

compiladores,

los

(4)

Desde el momento en que se enciende la

computadora, esta ejecuta una serie de pasos

que la preparan para ser utilizada, por ejemplo:

identifica los dispositivos que tiene conectados

 la cantidad de memoria disponible y si esta está trabajando en forma correcta

ejecuta un programa llamado el sistema operativo

(5)

El

sistema operativo

es el

software del sistema

de mas relevancia

, ya que se encarga de

administrar todos los recursos computacionales

en tareas tales como:

 La asignación del CPU a los procesos que lo requieren.

La asignación y el manejo de la memoria principal  El manejo de los dispositivos periféricos, etc.

Entre los sistemas operativos mas comunes

(6)

La industria del software es única. Bill Gates, el

cofundador

de

Microsoft,

comenzó

por

desarrollar software para la computadora Altair

que vio en la portada de la revista Popular

Electronics en 1974.

Mas tarde, su compañía registro los derechos de

(7)

Los productos de software generalmente caen

dentro de una de las siguientes

categorías:

Sistemas operativos

 Utilerías

Procesadores de Palabras  Hojas de cálculo

Administradores de Bases de Datos  Comunicaciones

Gráficos

(8)

Además, existen cientos de categorías mas

especializadas, que incluyen:

Sistemas de contabilidad

Sistemas para la administración bancaria Software para planeación financiera

Sistemas para la administración de oficinas legales y medicas

Software para diagnostico medico

(9)

Se refiere principalmente a los programas

desarrollados por el usuario para resolver un

problema especifico como inventarios o

contabilidad.

Estos programas cuando son de uso común

pueden comprarse en lugar de desarrollarse.

En esta categoría también se pueden incluir los

(10)

Existen programas de computadoras para casi

cualquier propósito.

Aplicaciones para optimizar la productividad (hojas de cálculo, procesadores de palabras

Sistemas para administración de bases de datos

(11)

Muchos de estos sistemas de propósito

especifico son productos de compañías

pequeñas o relativamente pequeñas que

anuncian sus productos en revistas y

periódicos de negocios.

Las compañías en negocios o situaciones

únicas,

algunas

veces

contratan

programadores

para

desarrollar,

dar

mantenimiento

y

actualizar

software

(12)

La mayoría de las necesidades de un negocio

pequeño se pueden satisfacer usando software

comercial que se compra en tiendas al menudeo

o a través de demostraciones y revistas.

Pero cuando simplemente no existe un producto

comercial para una necesidad en particular, la

empresas recurren a:

compañías de programación

 desarrolladores de software independiente

 empleados contratados especialmente para

(13)
(14)

El

único

y

verdadero

lenguaje

de

(15)

Un programa es una secuencia detallada de

(16)

Todo programa tiene que existir en lenguaje

(17)

Escribir un programa en lenguaje de máquina

(18)

Los programas necesitan un intermedio entre

ellos mismos y la máquina.

Para transformar a las computadoras en

(19)

Para los científicos que estaban desarrollando el primer

programa para traducir instrucciones a código de máquina, cualquier lenguaje mas fácil de entender que el lenguaje máquina habría sido considerado un lenguaje de alto nivel.

 El programa que ellos presentaron se denominó

ensamblador, ya que toma instrucciones que las personas pueden entender y las ensambla (unir, juntar) en lenguaje de máquina.

 Ahora bien, para que un ensamblador pueda hacer esto, las

(20)

En comparación con los estándares actuales, el

lenguaje ensamblador es un lenguaje de bajo nivel, ya que sus comandos corresponden uno a uno con el conjunto de instrucciones de una CPU.

 No existe un lenguaje ensamblador único. Cada tipo

de CPU que tenga un conjunto de instrucciones exclusivo posee su propio lenguaje ensamblador.

El lenguaje ensamblador todavía es altamente

(21)

Lenguaje de máquina del Intel 8088. El código de máquina

en hexadecimal se resalta en rojo, el equivalente en

(22)

Los programadores rara vez escriben programas

de

tamaño

considerable

en

lenguaje

ensamblador. Mas bien lo

usan

para

afinar partes

importantes de programas escritos en un lenguaje

de mas alto nivel.

El

lenguaje

ensamblador

sigue

siendo

(23)

Hay algunas situaciones en las cuales los

profesionales pudieran elegir utilizar el lenguaje

ensamblador. Por ejemplo cuando:

 interactuando directamente con el hardware, por ejemplo en drivers de dispositivo y manejadores de interrupción

Usando instrucciones específicas del procesador no

explotadas o disponibles por el compilador.

 algoritmos de cifrado

no existe ningún lenguaje de alto nivel, en un

(24)

 se escriben virus de computadora, bootloaders

(diseñado exclusivamente para preparar todo lo que necesita el sistema operativo para funcionar), ciertos

drivers de dispositivo, u otros elementos muy cerca del hardware o al sistema operativo de bajo nivel.

 se escriben juegos y otros software para calculadoras

gráficas.

 se escribe software compilador que genera código

(25)

El siguiente es un ejemplo del programa

clásico

Hola mundo

escrito para la

arquitectura de procesador

x86 (bajo el

(26)
(27)

También se les conoce como lenguajes de

tercera generación. Un lenguaje de alto nivel se

aparta aún más de lo que el lenguaje

ensamblador se aparta del código máquina. Una

instrucción en lenguaje de alto nivel genera

varias instrucciones en código máquina.

Los lenguajes de alto nivel usan:

palabras y frases mas fáciles de entender

(28)

Cada lenguaje acepta sus propias instrucciones

que realizarán diferentes operaciones, las cuales

se clasifican en las siguientes categorías:

1.

Instrucciones de entrada y salida

 Comunicación de los dispositivos de entrada / salida con el procesador.

Se utilizan para leer y almacenar datos.

2.

Instrucciones de cálculo

(29)

3.

Instrucciones de comparación lógica

Comparaciones en el momento de analizar las instrucciones condicionales (IF)

Utiliza los operadores <,>,<=, >=, =, <>, OR, AND, NOT

4.

Instrucciones de consulta

Se utilizan para obtener información a partir de una base de datos

(30)

Son mas fáciles de aprender que el lenguaje

ensamblador

Se ocupa menos tiempo para escribirlos

Proporcionan una mejor documentación del

programa.

Son mas fáciles de almacenar.

No restringe al programador a un solo tipo de

(31)

Un programa escrito en lenguaje de alto nivel

debe traducirse a lenguaje máquina antes de

ser ejecutado. A este proceso se le llama

(32)

Son lenguajes de muy alto nivel cuya

característica principal es permitir a los

usuarios con poco conocimiento sobre la

programación a bajo nivel, desarrollar sus

propios programas de aplicación.

Son lenguajes que permiten la interacción

(33)
(34)

Es un programa que traduce un programa

escrito en un lenguaje de alto nivel y lo

convierte al programa correspondiente

escrito en lenguaje máquina.

Por consiguiente, el programa de alto nivel

original se llama

programa fuente

y el

programa en lenguaje de máquina producido

(35)

Es un programa que lee las instrucciones

(36)
(37)

Multimedia:

Es la combinación de mas de un

medio de comunicación para transmitir

información. Generalmente incluye el uso de

texto, audio, graficas, animación de gráficas y

video.

Cliente/Servidor:

Es una tecnología utilizada

(38)

Realidad virtual: Es una realidad simulada por

computadora que puede interactuar con los sentidos. Es una realidad artificial que proyecta al usuario en un espacio tridimensional que genera la computadora.

 Es un sistema tecnológico, basado en el empleo de

(39)
(40)
(41)

Son los programas que permiten al usuario actualizar los

datos de inmediato en los archivos de la computadora, es decir, son programas que permiten un dialogo hombre-máquina.

 A estos programas también se les llama programas en

tiempo real. Estos programas son indispensable en aquellos casos en que los datos contenidos en los archivos se modifican varias veces en un día y se consultan en forma casi inmediata con las modificaciones que se efectuaron.

(42)

Un programa que corre bajo el modo batch,

(43)
(44)

Las computadoras mas antiguas se podían

(45)

Actualmente, los conjuntos de instrucciones

que componen a los programas se almacenan

en archivos de disco.

Los archivos de programa se denominan

(46)

 Los contenidos reales de un archivo ejecutable nos

parecerán ilegibles, ya que el código del programa ejecutable no esta hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.

 Los archivos de programas ejecutables contienen el

código de máquina, que la CPU identifica como sus instrucciones.

 El programador teclea instrucciones o declaraciones

(47)

El proceso de conversión de archivos de

código fuente de programa a un archivo

ejecutable de programa consta de dos pasos:

Compilación, lo lleva a cabo un programa denominado compilador.

 El compilador toma el archivo de código fuente, lo traduce a código objeto y almacena este ultimo en otro archivo de disco que recibe el nombre de

(48)

El código objeto se puede describir como el

código fuente traducido a un programa

ejecutable.

Cada vez que se realiza una modificación a un

(49)
(50)

Entre los primeros lenguajes de alto nivel

desarrollados se encuentran los siguientes:

FORTRAN

 COBOL  BASIC  PASCAL  C

(51)

 Desarrollado por John Backus y un equipo de

programadores en IBM, Fortran quiere decir FORmula TRANslator (traductor de formula) fue uno de los primeros lenguajes de alto nivel y se diseño específicamente para programas matemáticos y de ingeniería.

 Por ser uno de los primeros lenguajes de alto nivel,

Fortran disfruto de inmediato de una amplia aceptación después de su introducción en 1957.

 Fortran se estandarizo y mejoro en 1966 y

(52)

Debido a que su radio de acción son casi

exclusivamente las aplicaciones matemáticas y

de ingeniería, Fortran no ha sido usado en forma

extensa en las computadoras personales.

Sin embargo, Fortran sigue siendo un lenguaje

(53)

Es difícil escribir un bucle "for", y errores en la escritura de sólo un carácter pueden llevar a errores durante el tiempo de ejecución en vez de errores de compilación, en el caso de que no se usen las construcciones más frecuentes.

Algunas de las versiones anteriores no poseían facilidades que son consideradas como útiles en las máquinas modernas, como la asignación dinámica de memoria.

Por ejemplo, Fortran 95 posee comandos mucho más breves para efectuar operaciones matemáticas con matrices y dispone de tipos. Esto no sólo mejora mucho la lectura del programa sino que además aporta información útil al compilador.

(54)

Significa Common Business Oriented Languaje (lenguaje

orientado a negocios comunes), fue desarrollado en 1960 por un comité que organizo el gobierno de Estados Unidos.

El comité tenia como misión resolver el problema de

incompatibilidad entre los fabricantes de computadoras.

El objetivo de crear un lenguaje de programación universal

que pudiera ser usado en cualquier ordenador

Hasta ese entonces, el gobierno de Estados Unidos ha sido

(55)

 Desafortunadamente, cada fabricante empleo

lenguajes diseñados para sus propias máquinas, creando un problema gigantesco a la gente encargada de poner en marcha programas gubernamentales.

 En parte gracias al apoyo del gobierno, Cobol gano

amplia aceptación como lenguaje estandarizado. Los programas de Cobol son fáciles de leer, pero escribir un programa resulta de alguna manera tedioso.

 En la revisión de 2002 se le añadió orientación a

(56)

Programa Hola mundo IDENTIFICATION DIVISION. PROGRAM-ID. Saludos. * ENVIRONMENT DIVISION. * DATA DIVISION. WORKING-STORAGE SECTION. * PROCEDURE DIVISION. INICIO.

(57)

El lenguaje Basic comenzó siendo casi por completo una

herramienta para ensenar programación a los estudiantes. Basic, que quiere decir, Beginners All purpose Symbolic Instruction Code (Codigo de instrucción simbólica para todo propósito dirigido a principiantes).

 Dada su simplicidad, Basic rápidamente se hizo popular y,

cuando vino el despegue de las computadoras personales, fue el primer lenguaje de alto nivel que se uso en estas máquinas nuevas. Las versiones de Basic han sido incluidas en cada computadora compatible con IBM.

 La existencia de Basic en virtualmente toda PC IBM y

(58)

 También existen versiones mas grandes y poderosas

de Basic que son ampliamente usadas por programadores profesionales y por compañías desarrolladoras de software.

 El lenguaje y sus variantes llegaron a estar

ampliamente disponibles en los microcomputadores a finales de los años 1970 y en los años 1980. El BASIC sigue siendo popular hasta el día de hoy en un puñado de dialectos altamente modificados, y en nuevos lenguajes, influenciados por BASIC tales como

(59)

BASIC está disponible para casi todas las plataformas y sistemas operativos existentes.

Una implementación gratuita que cumple con estándares y es multiplataforma es Bywater BASIC (bwBASIC). El intérprete está escrito en C y viene bajo la licencia GNU. Está diseñado para interfaz de texto o consola (no gráfica), no incluye soporte para crear interfaces gráficas de usuario (GUI's, Graphical User Interface).

Hay un BASIC gratuito que si incluye soporte para GUI, es similar a Visual Basic y se ejecuta en Windows y GNU/Linux, es Phoenix Object BASIC.

Existen muchas implementaciones de BASIC freeware o GNU, como

(60)

No debe confundirse con software libre, en inglés free puede ser libre o

gratuito.

Freeware tipo de software no libre que se distribuye sin costo, disponible para su uso y por tiempo ilimitado

shareware, en el que la meta es lograr que un usuario pruebe el producto durante un tiempo ("trial") limitado, y si le satisface, pague por él, habilitando toda su funcionalidad. A veces se incluye el código fuente pero no es lo usual.

Freeware suele incluir una licencia de uso, que permite su redistribución pero con algunas restricciones, como no modificar la

(61)

El software libre (en inglés free software), es la denominación del

software que respeta la libertad de los usuarios sobre su producto adquirido y, por tanto, una vez obtenido puede ser usado, copiado, estudiado, cambiado y redistribuido libremente.

El software libre se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar el software y distribuirlo modificado.

El software libre suele estar disponible gratuitamente, o al precio de costo de la distribución a través de otros medios; sin embargo no es obligatorio que sea así, por lo tanto no hay que asociar software libre a "software gratuito" (denominado usualmente freeware), ya que, conservando su carácter de libre, puede ser distribuido comercialmente

(62)

Desarrollado por el profesor

suizo

Niklaus

Wirth entre los años 1968 y 1969 y publicado

en 1970. Su objetivo era crear un lenguaje que

facilitara el aprendizaje de programación a

sus alumnos, utilizando la

programación

(63)

 Pascal se caracteriza por ser un lenguaje de

programación estructurado fuertemente tipificado. Esto implica que:

 El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal

facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.

El tipo de dato de todas las variables debe ser

declarado previamente para que su uso quede habilitado.

 El nombre de Pascal fue escogido en honor al

(64)

A diferencia de lenguajes de programación descendientes de C,

Pascal utiliza el símbolo ":=" para la asignación en vez de "=". Si bien el segundo es más conocido, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs

difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distintas para asignaciones y comparaciones, no sufre estos errores.

 Además sus programas tienen definidas dos partes:

 Declarativa: debe aparecer todo lo que se usará, se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.

(65)
(66)

 Fue desarrollado a principios de los 70 con el objetivo de

tener un lenguaje que se pudiera integrar con el sistema operativo UNIX.

 C se desarrolló a partir de un lenguaje llamado B.

 Es un lenguaje muy poderoso pues con él la

computadora puede hacer casi todo lo que es permitido realizar.

 En la actualidad existe la versión más alta de C que se

(67)
(68)
(69)

La programación estructurada es una forma de escribir programas de ordenador de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN).

(70)

1. Los programas son más fáciles de entender, ya que pueden ser

leídos de forma secuencial, sin necesidad de hacer seguimiento a saltos de línea (GOTO) dentro de los bloques de código para entender la lógica.

2. La estructura del programa es 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 los

fallos o errores del programa ("debugging") se facilita debido a la estructura más visible, por lo que los errores se pueden detectar y corregir más fácilmente.

4. Programas más sencillos y más rápidos (ya que es más fácil su

optimización).

5. Los bloques de código son auto explicativos, lo que facilita la

(71)

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

(72)
(73)

La programación modular es un paradigma de

programación que consiste en dividir un

programa en módulos o subprogramas con el fin

de hacerlo más legible y manejable.

Se presenta históricamente como una evolución

(74)

Al aplicar la programación modular, un problema

complejo debe ser dividido en varios subproblemas

más simples, y estos a su vez en otros

subproblemas más simples.

Esto debe hacerse hasta obtener subproblemas lo

suficientemente simples como para poder ser

resueltos fácilmente con algún lenguaje de

programación.

Ésta técnica se llama refinamiento sucesivo, divide

(75)

Un

módulo

es cada una de las partes de un

programa que resuelve uno de los subproblemas

en que se divide el problema complejo original.

Cada uno de estos módulos tiene una tarea bien

definida y algunos necesitan de otros para poder

operar.

En caso de que un módulo necesite de otro,

(76)

Si bien un modulo puede entenderse como

una

parte

de un programa en cualquiera de sus

formas y variados contextos, en la práctica es

común representarlos con procedimientos y

funciones.

Adicionalmente, también pueden considerarse

(77)
(78)

 La programación orientada a objetos o POO (OOP

según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.

 Está basado en varias técnicas, incluyendo herencia,

abstracción, polimorfismo y encapsulamiento.

 Su uso se popularizó a principios de la década de los años

(79)

Los objetos son entidades que combinan

estado

(atributo)

,

comportamiento (método)

e

identidad

:

 El estado está compuesto de datos, será uno o varios

atributos a los que se habrán asignado unos valores concretos (datos).

 El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, es decir, qué operaciones se pueden realizar con él.

(80)

 Los objetos tienen dos características: Un estado y un

comportamiento.

Por ejemplo un perro tiene un estado: nombre, color,

raza, altura, etc. y un comportamiento: ladrar, cavar pozo, llorar, dormir, comer, etc.

 Un auto es un objeto. También tiene un estado: Cantidad

de puertas, color, tamaño, etc. y un comportamiento: acelerar, frenar, subir cambio, bajar cambio, girar izq., girar der., …

A las funciones de los objetos, tales como acelerar en el

(81)

Un ejemplo mas complicado de un objeto podría

ser el siguiente:

 Objeto: Cuenta bancaria

Atributos: tipo, titular, saldo.  Métodos: Depositar, Extraer.

Aquí se ve la necesidad de que el atributo "saldo" sea

(82)

Un objeto contiene toda la información que permite

definirlo e identificarlo frente a otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos.

 A su vez, los objetos disponen de mecanismos de

interacción llamados métodos, que favorecen la comunicación entre ellos.

 Esta comunicación favorece a su vez el cambio de

(83)

La POO difiere de la programación estructurada

tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida.

La programación estructurada anima al programador a

pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan.

En la programación estructurada sólo se escriben

(84)

Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.

(85)

Objeto: entidad provista de un conjunto de propiedades o atributos

(datos) y de comportamiento o funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa). Es una instancia a una clase.

Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya

ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento: Es un suceso en el sistema (tal como una interacción del usuario

(86)

Mensaje: una comunicación dirigida a un objeto, que le

ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Propiedad o atributo: contenedor de un tipo de datos

asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Componentes de un objeto: atributos, identidad,

(87)

Simula (1967) es aceptado como el primer lenguaje que posee las

características principales de un lenguaje orientado a objetos.

C++C#

Clipper (lenguaje de programación) (Versión 5.x con librería de objetos Class(y)) Object Pascal (Delphi)

Java

JavaScript (la herencia se realiza por medio de la programación basada en

prototipos)

PHP (a partir de su versión 5) PowerBuilder

PythonVB.NET

Visual FoxPro (en su versión 6)  Visual Basic 6.0

Visual ObjectsXBase++

Lenguaje de programación Scala (lenguaje usado por Twitter)

 Muchos de estos lenguajes de programación no son puramente orientados a

(88)

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

Referencias

Documento similar

El presente estudio fue realizado para determinar la longevidad y el ciclo gonotrófico en 594 mosquitos de la especie Aedes aegypti en el municipio de Girardot en condiciones

pintorescas para el turista; ataúdes en las calles porque en la pandemia no se da abasto con los entierros; muertos por el virus circundante que se llevan sentados en un auto

Para facilitar la búsqueda posterior e identificación de sus cursos se sugiere que maneje la siguiente estructura en la opción nombre completo del curso en mayúscula

Para conectar a cumplir con tres meses de reciclaje local de anfibios como de vapor de ser efectuado lejos de control distinto al reducir barreras visuales entre albergues para

Los últimos estadios de la blefarocalasia deben ser diferenciados de otras causas de laxitud palpebral, nótese que la mayoria de causas de hiperlaxitud palpebral se presentan

Para lograr lo anterior, el investigador tiene como condición necesaria pero no suficiente (ya que existen otros criterios de objetividad), mostrar el trabajo de investigación

 Genesis 1:26-28 Entonces dijo Dios: Hagamos al hombre a nuestra imagen, conforme a nuestra semejanza; y señoree en los peces del mar, en las aves de los cielos, en

En el caso de posibles impagos derivados del Contrato de la Tarjeta o de cualquier modalidad especial de financiación, tanto en El Corte Inglés ( y Red Grupo El Corte Inglés) como