1 introducci n a las ciencias de computadoras n.
Download
Skip this Video
Download Presentation
1. Introducción a las Ciencias de Computadoras

Loading in 2 Seconds...

play fullscreen
1 / 93

1. Introducción a las Ciencias de Computadoras - PowerPoint PPT Presentation


  • 135 Views
  • Uploaded on

1. Introducción a las Ciencias de Computadoras. Algoritmos y Desarrollo de Programas I. Objetivos. Cuando finalice esta lección, el estudiante: Podrá definir lo que es Ciencias de Computadoras. Sabrá lo que es un algoritmo y cómo se relaciona con los programas de computadoras.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '1. Introducción a las Ciencias de Computadoras' - carnig


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
1 introducci n a las ciencias de computadoras

1. Introducción a las Ciencias de Computadoras

Algoritmos y Desarrollo de Programas I

objetivos
Objetivos
  • Cuando finalice esta lección, el estudiante:
    • Podrá definir lo que es Ciencias de Computadoras.
    • Sabrá lo que es un algoritmo y cómo se relaciona con los programas de computadoras.
    • Distinguirá los componentes de un sistema de computadoras: el hardware y el software.
objetivos cont
Objetivos (cont.)
  • Cuando finalice esta lección, el estudiante:
    • Identificará los dispositivos principales de hardware.
    • Distinguirá los tipos principales de software
    • Podrá indicar cómo se utiliza el sistema binario para representar números y caracteres en la memoria de la computadora
objetivos cont1
Objetivos (cont.)
  • Cuando finalice esta lección, el estudiante:
    • Sabrá lo que es un lenguaje de programación.
    • Sabrá lo que es el Ciclo de Vida del Desarrollo de un Programa y cuáles son sus etapas.
    • Conocerá cuáles son las principales herramientas en el desarrollo de programas
qu piensa usted que es ciencias de computadoras
¿Qué piensa usted que es Ciencias de Computadoras?
  • Ciencias de computadoras…
    • No es usar programas
      • …todo el mundo debería saber usar programas
    • No es reparar computadoras
      • …esto lo hace un Técnico en Electrónica
    • No es diseñar computadoras
      • …esto lo hace un Ingeniero de Computadoras
una cita interesante
Una cita interesante…
  • Computer Science is no more about computers than Astronomy is about telescopes. ~ Edsger W. Dijkstra
    • Esta cita la pronunció uno de los padres de las Ciencias de Computadoras.
  • Si Ciencias de Computadoras no es el estudio de las computadoras, ¿qué es entonces?
qu estudia las ciencias de computadoras
¿Qué estudia las Ciencias de Computadoras?
  • Las Ciencias de Computadoras es el estudio de los algoritmos.
  • Un algoritmo es un procedimiento detallado para resolver un problema.
  • Un programa es un algoritmo implementado con un lenguaje de programación.
  • Por lo tanto, los científicos de computadoras somos solucionadores de problemas.
qu estudia las ciencias de computadoras cont
¿Qué estudia las Ciencias de Computadoras? (cont.)
  • Los científicos de computadoras:
    • Analizan los requisitos de un problema.
    • Diseñan el algoritmo más adecuado.
    • Implementan el algoritmo escribiendo un programa.
    • Ejecutan el programa en una computadora.
qu estudia las ciencias de computadoras cont1
¿Qué estudia las Ciencias de Computadoras? (cont.)
  • Ciencias de computadoras…
    • Utiliza las matemáticas y la lógica
      • …para analizar la eficiencia de los algoritmos
    • Utiliza el método científico y conceptos de ingeniería
      • …para diseñar algoritmos y programas de forma organizada
    • Utiliza destrezas de comunicación escrita y oral
      • …para comunicarse con sus colegas y con el público
    • Es interdisciplinaria
      • …ya que uno tiene que aprender a resolver problemas de diversos tipos
programaci n de computadoras
Programación de computadoras
  • Es una parte importante de la Ciencia de Computadoras, ya que el fin primordial del diseño de un algoritmo es que éste pueda ser programado y ejecutado en una computadora.
  • Los programadores crean los programas que hacen de la computadora una herramienta útil en todas las profesiones.
la programaci n como arte y ciencia
La programación como arte y ciencia
  • Para programar hay que ser creativo.
  • La programación es un arte porque cada pequeño detalle de un programa tiene que ser diseñado con mucho cuidado.
  • Dos programas pueden implementar el mismo algoritmo y ser completamente diferentes gracias a la creatividad de su autor.
la programaci n como arte y ciencia cont
La programación como arte y ciencia (cont.)
  • La programación es una ciencia porque requiere análisis, experimentación y disciplina.
  • Para programar hay que aprender lenguajes diferentes con reglas.
  • Se usa la teoría matemática para determinar la eficiencia de un programa.
qu es una computadora
¿Qué es una computadora?
  • Una computadora es una máquina que manipula datos de distintos tipos de acuerdo a un conjunto de instrucciones.
  • Estos datos pueden ser:
    • Números
    • Símbolos
    • Imágenes
    • Sonidos
    • etc.
qu es una computadora cont
¿Qué es una computadora? (cont.)
  • Una computadora puede …
    • Obtener datos.
    • Informar resultados.
    • Llevar a cabo cómputos matemáticos y otros procesos.
    • Almacenar y recuperar datos rápidamente.
    • Repetir procesos un sinnúmero de veces sin cansarse ni equivocarse.
sistemas de computadoras
Sistemas de computadoras
  • Los sistemas de computadoras consisten de:
    • Hardware – los componentes físicos de la máquina (monitor, teclado, etc.)
    • Software – las instrucciones que se ejecutan, organizadas en programas
el hardware
El hardware
  • El hardware consiste de los componentes físicos de la computadora, tales como el monitor, teclado, impresora, CPU, etc.
  • La gran mayoría de las computadoras siguen el modelo de Von Neumann (1945).
el hardware cont
El hardware (cont.)
  • En el modelo de Von Neumann, las computadores se componen de:
    • Dispositivos de entrada
    • Dispositivos de salida
    • Memoria o almacenamiento principal
    • Memoria o almacenamiento secundario
    • Unidad central de procesamiento (CPU)
el hardware cont1

Main Memory

CPU

El hardware (cont.)

Input Devices

Output Devices

Secondary Storage

Devices

el hardware los dispositivos de entrada
El hardware: los dispositivos de entrada
  • Los dispositivos de entrada (input devices) permiten que la computadora reciba datos del mundo exterior.
    • Teclado
    • Ratón
    • Rastreador (scanner)
    • Cámara digital
    • Micrófono
el hardware los dispositivos de salida
El hardware: los dispositivos de salida
  • Los dispositivos de salida (output devices) permiten que la computadora comunique información al mundo exterior.
    • Pantalla
    • Impresora
    • Bocinas
el hardware la memoria principal
El hardware: la memoria principal
  • La memoria principal (main memory) está conectada al CPU y almacena los datos e instrucciones entradas.
  • Hay dos tipos de memoria principal:
    • RAM (Random-Access Memory o memoria de acceso aleatorio)
    • ROM (Read-Only Memory o memoria solamente para leer)
el hardware la memoria principal cont
El hardware: la memoria principal (cont.)
  • RAM es un tipo de memoria rápida y barata en la cual se puede escribir y leer.
  • RAM se divide en secciones del mismo tamaño que se pueden acceder en cualquier orden.
  • El problema con RAM es que es volátil, o sea, se borra cuando la computadora se apaga.
el hardware la memoria principal cont1
El hardware: la memoria principal (cont.)
  • Cada sección de memoria posee una dirección y almacena un byte.
  • Un byte es un grupo de 8 bits.
  • Un bit es un dígito binario (0 ó 1).
el hardware la memoria principal cont2
El hardware: la memoria principal (cont.)
  • En un byte puede haber una porción de un dato o de una instrucción.
  • No es raro que una computadora moderna tenga varios gigabytes (billones de bytes) de RAM.
el hardware la memoria principal cont3

2000

2001

2002

2003

2004

2005

2006

2007

El hardware: la memoria principal (cont.)

Direcciones de memoria

Cada sección de memoria almacena un byte.

Un byte es un grupo de 8 bits.

10101010

A una sección de 2 bytes se le llama un word.

el hardware la memoria principal cont4
El hardware: la memoria principal (cont.)
  • ROM es también una memoria principal y es tan rápida como RAM pero es más cara y no se puede escribir en ella, sólo leer.
  • Los datos e instrucciones en ROM son colocados por el manufacturero de la computadora.
  • ROM no es volátil y su tamaño suele ser de solamente varios kilobytes (miles de bytes).
el hardware la memoria principal cont5
El hardware: la memoria principal (cont.)
  • ROM contiene los programas que le permiten a la computadora llevar a cabo el POST (Power-On Self-Test y cargar el sistema operativo).
  • Algunos tipos de ROM pueden ser alterados pero el procedimiento es lento y no es frecuente.
el hardware la memoria secundaria
El hardware: la memoria secundaria
  • Cuando hablemos de memoria principal nos referiremos a RAM.
  • Además de la memoria principal, las computadoras tienen dispositivos de memoria o almacenamiento secundario (secondary storage).
el hardware la memoria secundaria cont
El hardware: la memoria secundaria (cont.)
  • Los dispositivos de almacenamiento secundario son mucho más lentos que RAM pero también mucho más baratos.
    • Disco duro
    • USB flash drives
    • CD y DVD
  • Estos dispositivos no son volátiles y se puede leer y escribir en ellos.
  • Su capacidad se mide en megabytes (millones de bytes), gigabytes (billones de bytes) y terabytes (trillones de bytes).
el hardware la unidad central de procesamiento
El hardware: la unidad central de procesamiento
  • El componente más importante de una computadora es la unidad central de procesamiento.
  • También se conoce como CPU (Central Processing Unit).
  • Su trabajo es buscar las instrucciones y datos de la memoria principal, ejecutar las instrucciones y producir resultados que se devuelven a la memoria principal.
el hardware la unidad central de procesamiento cont
El hardware: la unidad central de procesamiento (cont.)
  • El CPU consiste de tres componentes principales:
    • Unidad de control – coordina todos los componentes de la computadora.
    • Unidad de aritmética y lógica – ejecuta las instrucciones llevando a cabo cómputos matemáticos y comparaciones.
    • Registros – almacenan momentáneamente los datos y la instrucción con la que está trabajando el CPU en un momento dado.
el hardware la unidad central de procesamiento cont1

Processor

Control Unit

Arithmetic Logic Unit (ALU)

InstructionsDataInformation

InstructionsDataInformation

El hardware: la unidad central de procesamiento (cont.)

Control Unit

Arithmetic Logic Unit (ALU)

Memory

InputDevices

OutputDevices

Data

Information

StorageDevices

el hardware la unidad central de procesamiento cont2

Memory

Processor

ALU

Control Unit

El hardware: la unidad central de procesamiento (cont.)

Step 1. FetchObtain program instruction or data item from memory

Step 2. DecodeTranslate instruction into commands

Step 4. StoreWrite result to memory

Step 3. ExecuteCarry out command

el software
El software
  • El software consiste del conjunto de programas que una computadora ejecuta.
  • Hay tres categorías generales de software:
    • Sistema Operativo
    • Programas de Aplicaciones
    • Herramientas de Programación
el software el sistema operativo
El software: el sistema operativo
  • El sistema operativo es el conjunto de programas que administra los dispositivos de hardware y controla los procesos que se llevan a cabo en la computadora.
  • Algunos ejemplos:
    • Windows
    • Mac OS X
    • UNIX, Linux
    • Android
el software las aplicaciones
El software: las aplicaciones
  • Las aplicaciones son los programas que hacen que la computadora sea útil para los usuarios.
  • Algunos ejemplos:
    • Procesadores de palabra (Word)
    • Hojas de cálculo (Excel)
    • Programas de presentaciones (PowerPoint)
    • Manejadores de bases de datos (Access)
el software las herramientas de programaci n
El software: las herramientas de programación
  • Las herramientas de programación le permiten a las personas construir, ejecutar y evaluar programas de computadoras.
    • Editores de texto – para escribir el programa
    • Compiladores o interpretadores – para traducir el programa a lenguaje de máquina (binario)
    • Depuradores – para evaluar y encontrar errores en el programa
  • Es común que estas herramientas se combinen en un ambiente de desarrollo integrado (IDE).
desarrollo hist rico de las computadoras
Desarrollo histórico de las computadoras
  • Los científicos de computadoras debemos estar familiarizados con los eventos más importantes en el desarrollo de éstas.
  • A continuación se muestran algunos momentos importantes en el desarrollo de máquinas programables.
desarrollo hist rico de las computadoras cont
Desarrollo histórico de las computadoras (cont.)
  • En 1801 Joseph Jacquard inventó una máquina de tejer que creaba patrones dejándose llevar por instrucciones en una tarjeta perforada.
desarrollo hist rico de las computadoras cont1
Desarrollo histórico de las computadoras (cont.)
  • En los 1830s Charles Babbage diseñó unas máquinas (difference and analytical engines) que podían realizar cálculos matemáticos rápidamente usando un sistema de tarjetas parecido al de Jacquard.
  • Ada Lovelace diseñó programas para el analytical engine.
desarrollo hist rico de las computadoras cont2
Desarrollo histórico de las computadoras (cont.)
  • En 1889 Herman Hollerith construyó una máquina que usaba tarjetas perforadas para tabular el censo de EE.UU. de 1890.
desarrollo hist rico de las computadoras cont3
Desarrollo histórico de las computadoras (cont.)
  • A fines de los 1930s Howard Aiken construyó la Mark I que usaba transmisores eléctricos.
  • La Universidad de Harvard la usaba para realizar cálculos complejos.
desarrollo hist rico de las computadoras cont4
Desarrollo histórico de las computadoras (cont.)
  • La sucesora de la Mark I, la Mark II, es famosa por contener el primer bug (error) en un programa.
  • Lo encontró un ayudante de la programadora Grace Hopper.
desarrollo hist rico de las computadoras cont5
Desarrollo histórico de las computadoras (cont.)
  • En los 1940s John Mauchly y J. Presper Eckert desarrollaron la primera computadora digital electrónica llamada ENIAC.
  • Usaba tubos al vacío.
desarrollo hist rico de las computadoras cont6
Desarrollo histórico de las computadoras (cont.)
  • La Mark I y la ENIAC se programaban conectando físicamente cables eléctricos en un orden determinado anteriormente.

Programadoras de la ENIAC

desarrollo hist rico de las computadoras cont7
Desarrollo histórico de las computadoras (cont.)
  • La Mark I y la ENIAC no seguían el modelo de Von Neumann.
  • Además de describir los componentes de las computadoras, este modelo sugería que la memoria almacenara tanto los datos como las instrucciones (concepto del programa almacenado).
desarrollo hist rico de las computadoras cont8
Desarrollo histórico de las computadoras (cont.)
  • A partir de los 1950s, las compañías de computadoras reemplazaron los tubos al vacío por los transistores que son mucho más confiables y eficientes.
desarrollo hist rico de las computadoras cont9
Desarrollo histórico de las computadoras (cont.)
  • Los transistores han continuado achicándose y se agrupan en circuitos integrados.
  • Los circuitos integrados se colocan en piezas pequeñas llamadas chips o microchips.
desarrollo hist rico de las computadoras cont10
Desarrollo histórico de las computadoras (cont.)
  • A partir de los 1960s surgieron computadoras que permitían que muchas personas trabajaran a la vez usando terminales.
  • A partir de los 1970s surgieron las primeras redes de computadoras de cobertura amplia (wide area networks) y conceptos tales como el Internet, el correo electrónico y la transferencia de archivos.
desarrollo hist rico de las computadoras cont11
Desarrollo histórico de las computadoras (cont.)
  • A finales de los 1970s y especialmente durante los 1980s se empezaron a utilizar las computadoras personales y se desarrollaron las redes de cobertura local (local area networks).
desarrollo hist rico de las computadoras cont12
Desarrollo histórico de las computadoras (cont.)
  • En los años 1990s se popularizaron enormemente las computadoras personales debido al desarrollo de sistemas operativos y aplicaciones que usaban interfaces gráficas.
  • La creación del World Wide Web a principio de los 1990s y su comercialización fueron también momentos importantes.
desarrollo hist rico de las computadoras cont13
Desarrollo histórico de las computadoras (cont.)
  • En la primera década de este siglo, hay varios desarrollos importantes tales como:
    • Infraestructura de comunicaciones eficiente (DSL, cable, redes inalámbricas)
    • Tecnología ubicua (presente en todas partes y en todo momento, tales como celulares, cámara digitales, iPod e imitadores, PDAs, etc.)
representaci n de datos en la memoria
Representación de datos en la memoria
  • Todos los datos e instrucciones se representan internamente en la memoria de la computadora usando números binarios.
  • Las computadoras usan números binarios porque es más fácil crear dispositivos electrónicos de dos estados de voltaje (binarios) que de 10 estados (dispositivos decimales).
representaci n de datos en la memoria los n meros
Representación de datos en la memoria: los números
  • Los humanos usamos el sistema decimal para representar los números.
    • 147 = (1 × 102) + (4 × 101) + (7 × 100) = 100 + 40 + 7
  • La computadora usa el sistema binario.
    • 100100112 = (1 × 27) + (1 × 24) + (1 × 21) + (1 × 20) = 128 + 16 + 2 + 1 = 14710
representaci n de datos en la memoria los n meros cont
Representación de datos en la memoria: los números (cont.)
  • Para transformar de binario a decimal y viceversa conviene recordar que:
    • 20 = 1 24 = 16
    • 21 = 2 25 = 32
    • 22 = 4 26 = 64
    • 23 = 8 27 = 128
representaci n de datos en la memoria los n meros cont1
Representación de datos en la memoria: los números (cont.)
  • Para determinar la representación binaria de un número entero en sistema decimal se puede crear una tabla de las potencias de 2 y determinar con cuál suma de potencias se obtiene el número deseado.
  • Por ejemplo,
    • 14710 = ?2

1 0 0 1 0 0 1 1

128 64 32 16 8 4 2 1

representaci n de datos en la memoria los n meros cont2
Representación de datos en la memoria: los números (cont.)
  • Un algoritmo que podemos utilizar para determinar la representación binaria de un número entero en sistema decimal es dividir el número entre 2 y seguir dividiendo el cociente obtenido hasta que sea 0. Luego, se recogen los residuos en orden inverso.
representaci n de datos en la memoria los n meros cont3
Representación de datos en la memoria: los números (cont.)
  • Por ejemplo, 14710 = ?2
    • 147 / 2 = 73 R 1
    • 73 / 2 = 36 R 1
    • 36 / 2 = 18 R 0
    • 18 / 2 = 9 R 0
    • 9 / 2 = 4 R 1
    • 4 / 2 = 2 R 0
    • 2 / 2 = 1 R 0
    • 1 / 2 = 0 R 1
  • Por lo tanto, 14710 = 100100112
representaci n de datos en la memoria los n meros cont4
Representación de datos en la memoria: los números (cont.)
  • Los números con los que hemos trabajados son enteros no negativos.
  • Para representar números negativos y números con punto decimal se usan métodos que sólo almacenen bits en la memoria.
  • Estos métodos se verán en otro curso.
representaci n de datos en la memoria los n meros cont5
Representación de datos en la memoria: los números (cont.)
  • El número más grande que se puede representar en 1 byte es 255 (= 28 – 1).
  • Para representar números mayores hacen falta usar varios bytes.
  • Los científicos de computadoras utilizan el sistema hexadecimal para abreviar representaciones binarias.
representaci n de datos en la memoria los n meros cont6
Representación de datos en la memoria: los números (cont.)
  • El sistema hexadecimal define 16 dígitos diferentes que van del 0 al 9 y de la A a la F.
  • Para transformar un número binario a hexadecimal sólo es necesario:
    • Agrupar los bits en porciones de 4 bits.
    • Sustituir cada porción de 4 bits por su equivalente hexadecimal.
representaci n de datos en la memoria los n meros cont7
Representación de datos en la memoria: los números (cont.)
  • La siguiente tabla compara los sistemas decimal, hexadecimal y binario:
representaci n de datos en la memoria los n meros cont8
Representación de datos en la memoria: los números (cont.)
  • Por ejemplo:
    • 100010112 = 8B16
    • 110100112 = D316
    • 010101112 = 5716
  • En el último ejemplo es importante destacar que el 57 es un número hexadecimal que corresponde al 87 decimal.
representaci n de datos en la memoria los caracteres
Representación de datos en la memoria: los caracteres
  • Además de números, la computadora almacena caracteres.
  • Un caracter es una letra, símbolo o dígitos que no se usa en un cómputo matemático.
  • A cada caracter se le asigna un número binario equivalente de acuerdo a un código.
representaci n de datos en la memoria los caracteres cont
Representación de datos en la memoria: los caracteres (cont.)
  • Los códigos más utilizados son:
    • ASCII – cada caracter corresponde a un número binario de 8 bits.
    • Unicode – cada caracter corresponde a un número binario de 16 bits.
  • Muchos programas utilizan ASCII pero los programas hechos en lenguajes modernos, como Java, utilizan Unicode.
representaci n de datos en la memoria los caracteres cont1
Representación de datos en la memoria: los caracteres (cont.)
  • En el código ASCII se utilizan los números de 0 a 255 para representar los caracteres.
  • Por ejemplo, al caracter ‘A’ se le asigna el número 65, al caracter ‘B’ se le asigna el número 66 y así sucesivamente.
  • Esto quiere decir que cuando se coloca el caracter ‘A’ en la memoria, lo que se almacena es la representación binaria del número 65.
representaci n de datos en la memoria los caracteres cont2
Representación de datos en la memoria: los caracteres (cont.)
  • Es importante destacar que una letra puede tener varios caracteres asociados.
  • A continuación se muestran varios caracteres con sus códigos ASCII:

A = 6510 a = 9710 á = 16010

B = 6610 b = 9810 é = 13010

C = 6710 c = 9910 í = 16110

representaci n de datos en la memoria los caracteres cont3
Representación de datos en la memoria: los caracteres (cont.)
  • Para transformar una cadena de caracteres a binario hace falta una tabla de código ASCII (puede buscarla en Internet).
  • Por ejemplo, la representación binaria de la cadena de caracteres “Auto” requiere 4 bytes y es la siguiente
    • 01000001 01110101 01110100 01101111
representaci n de datos en la memoria im genes sonido v deo
Representación de datos en la memoria: imágenes, sonido, vídeo
  • Las imágenes, el sonido y el vídeo también se representan usando números binarios pero los métodos se verán en otro curso.
lenguajes de programaci n
Lenguajes de programación
  • Como se indicó anteriormente, un programa es un algoritmo implementado usando un lenguaje de programación
  • Los programas obtienen datos, los procesan siguiendo instrucciones precisas y producen información.
lenguajes de programaci n cont
Lenguajes de programación (cont.)
  • El lenguaje nativo de la computadora se conoce como lenguaje de máquina.
  • En este lenguaje, tanto los datos como las instrucciones se representan como números binarios.
lenguajes de programaci n cont1
Lenguajes de programación (cont.)
  • Programar en lenguaje de máquina es difícil ya que sólo se usan bits y cada tipo diferente de CPU tiene su propio lenguaje.
  • En los años 1950s, se inventó el lenguaje de ensamblaje que sustituye las instrucciones en lenguaje de máquina por palabras y permite el uso de variables.
lenguajes de programaci n cont2
Lenguajes de programación (cont.)
  • El problema del lenguaje de ensamblaje es que, como el de máquina, depende del tipo de CPU.
  • Hoy en día se programa usando lenguajes de alto nivel que no dependen del tipo de CPU y que son más fáciles de aprender.
lenguajes de programaci n cont3
Lenguajes de programación (cont.)
  • Algunos ejemplos de lenguajes de alto nivel son:
    • FORTRAN – primer lenguaje de alto nivel. Fue diseñado para aplicaciones científicas y matemáticas.
    • COBOL – lenguaje diseñado para aplicaciones comerciales.
    • C y C++ - lenguajes diseñados para programar sistemas operativos.
    • Java – lenguaje diseñado para programar aplicaciones que en una computadora o en páginas Web.
    • Visual Basic – lenguaje diseñado para crear fácilmente aplicaciones de Windows.
lenguajes de programaci n cont4
Lenguajes de programación (cont.)
  • Para apreciar los distintos tipos de lenguajes, veamos un ejemplo.
  • Suponga que en RAM hay dos números en las direcciones 120 y 121 y que se desea sumarlos y colocar el resultado en la dirección 122.
  • En un lenguaje de alto nivel, como Java, se pueden usar variables para representar las direcciones de memoria y escribir la siguiente instrucción:
    • c = a + b;
lenguajes de programaci n cont5
Lenguajes de programación (cont.)
  • En un lenguaje de ensamblaje, se usan instrucciones más primitivas que detallan el trabajo que realiza el CPU, por ejemplo:
    • MOVE a, R1
    • MOVE b, R2
    • ADD R1, R2
    • MOVE R2, c
  • En este fragmento se mueven los datos de RAM a registros del CPU, se procesan y se mueve el resultado de un registro a RAM.
lenguajes de programaci n cont6
Lenguajes de programación (cont.)
  • En un lenguaje de máquina, los nombres de las instrucciones, de los registros y de las variables se sustituirían por códigos binarios.
  • El programa del ejemplo se podría ver así:
    • 00001000 01111000 00000001
    • 00001000 01111001 00000010
    • 00001001 00000001 00000010
    • 00001000 00000010 01111010
ejemplos de lenguajes
Ejemplos de Lenguajes
  • Basic
  • Cobol
  • C++
  • RPG
  • Java
otros lenguajes disponibles
Otros Lenguajes Disponibles

ADA

ALGOL

APL

FORTH

FORTRAN

HYPERTALK

LISP

LOGO

MODULA-2

PASCAL

PILOT

PL/I

PROLOG

SMALLTALK

la ingenier a de software y el proceso de programaci n
La Ingeniería de Software y el proceso de programación
  • Mientras más complejos son los programas más necesario es recurrir a un proceso sistemático para desarrollarlos.
  • La Ingeniería de Software es la disciplina de las Ciencias de Computadoras que envuelve el desarrollo de programas complejos.
la ingenier a de software y el proceso de programaci n cont
La Ingeniería de Software y el proceso de programación (cont.)
  • La Ingeniería de software recomienda un proceso que se le conoce como el Ciclo de Vida del Desarrollo de Programas (SDLC, por sus siglas en inglés).
la ingenier a de software y el proceso de programaci n cont1
La Ingeniería de Software y el proceso de programación (cont.)
  • Las siguientes son las etapas principales del SDLC:
    • Análisis – se determinan los requisitos del programa en términos de los datos requeridos (input), las fórmulas (process) y los resultados deseados (output).
    • Diseño – se diseña el algoritmo que cumple los requisitos. Además se diseñas las pantallas y los informes que sean necesarios.
    • Codificación – se escribe el programa usando un lenguaje de programación adecuado.
la ingenier a de software y el proceso de programaci n cont2
La Ingeniería de Software y el proceso de programación (cont.)
  • Etapas del SDLC (cont.):
    • Evaluación – se prueba el programa para corroborar que cumple con los requisitos.
    • Implantación – se pone el programa a disposición de los usuarios.
    • Mantenimiento – se actualiza el programa para incorporar cambios en los requisitos.
estilos de programaci n
Estilos de programación
  • El SDLC permite desarrollar programas metódicamente pero no indica el estilo de programación que se debe seguir.
  • En la actualidad hay dos estilos de programación populares:
    • La programación procedimental o estructurada
    • La programación orientada a objetos
estilos de programaci n cont
Estilos de programación (cont.)
  • En la programación procedimental (conocida también como programación estructurada), los programas se organizan en procedimientos o rutinas que ejecutan tareas requeridas.
  • Los procedimientos contienen instrucciones que se organizan usando estructuras de control (secuencia, selección y repetición).
estilos de programaci n cont1
Estilos de programación (cont.)
  • En la programación orientada a objetos (OOP, Object-Oriented Programming), los programas se componen de artículos que interactúan entre sí llamados objetos.
  • Cada objeto posee sus propias características y puede ejecutar operaciones.
estilos de programaci n cont2
Estilos de programación (cont.)
  • El siguiente ejemplo puede ayudar a tener una idea sobre estos conceptos.
  • Suponga que usted tiene que programar un sistema de matrícula de estudiantes.
  • ¿Cómo se diseñará el programa?
estilos de programaci n cont3
Estilos de programación (cont.)
  • Si está usando programación procedimental, se deben identificar las tareas (procedimientos), por ejemplo:
    • Matricularse en un curso
    • Darse de baja de un curso
    • Ver los cursos matriculados
    • Pagar la matrícula
estilos de programaci n cont4
Estilos de programación (cont.)
  • Si está usando programación orientada a objetos, se deben identificar los objetos que interactúan, por ejemplo:
    • Estudiantes
    • Cursos
    • Profesores
    • Registrador
estilos de programaci n cont5
Estilos de programación (cont.)
  • Cada objeto que represente un estudiante en el sistema tendrá sus características (identificación, nombre, programa de estudios, etc.).
  • También podrá llevar a cabo operaciones tales como matricularse o darse de baja de un curso.
estilos de programaci n cont6
Estilos de programación (cont.)
  • Java es un lenguaje diseñado para usar programación orientada a objetos pero permite la programación procedimental.
  • En este curso y su continuación veremos ambos estilos de programación.