29
Computación I (CI- Computación I (CI- 2125) 2125) Clase 1 Clase 1 Prof. Mireya Morales Prof. Mireya Morales Primera Primera

Computación I (CI-2125) Clase 1

Embed Size (px)

DESCRIPTION

Computación I (CI-2125) Clase 1. Prof. Mireya Morales Primera. Contenido. Justificación del curso Arquitectura del Computador. Definición de Algoritmo. Formas de Representación de Algoritmos. Análisis Descendente. Codificación vs. Programación. Historia del Lenguaje C. - PowerPoint PPT Presentation

Citation preview

Page 1: Computación I (CI-2125) Clase 1

Computación I (CI-2125)Computación I (CI-2125)Clase 1Clase 1

Prof. Mireya Morales PrimeraProf. Mireya Morales Primera

Page 2: Computación I (CI-2125) Clase 1

ContenidoContenido

Justificación del cursoJustificación del curso Arquitectura del Computador. Arquitectura del Computador. Definición de Algoritmo. Definición de Algoritmo. Formas de Representación de Formas de Representación de

Algoritmos.Algoritmos. Análisis Descendente. Análisis Descendente. Codificación vs. Programación. Codificación vs. Programación. Historia del Lenguaje C. Historia del Lenguaje C.

Page 3: Computación I (CI-2125) Clase 1

Justificación del CursoJustificación del Curso

Las ciencias y disciplinas modernas Las ciencias y disciplinas modernas emplean a los computadores, sus redes y emplean a los computadores, sus redes y a la Internet como instrumentos para su a la Internet como instrumentos para su desarrollo o aplicación.desarrollo o aplicación.

El computador es una El computador es una máquinamáquina que se que se programaprograma para que ejecute para que ejecute tareas.tareas.

Programar correctamente requiere comprender como funciona este y qué se puede hacer con un lenguaje de programación.

Tomado de las notas del Prof. Miguel Torrealba

Page 4: Computación I (CI-2125) Clase 1

Arquitectura del ComputadorArquitectura del Computador

Los computadores en realidad sólo hacen 4 Los computadores en realidad sólo hacen 4 cosas:cosas: Recibir entradas: Aceptan información del Recibir entradas: Aceptan información del

mundo exterior.mundo exterior. Producir salidas: Reflejan información al Producir salidas: Reflejan información al

mundo exterior.mundo exterior. Procesan información: Ejecutan Procesan información: Ejecutan

operaciones aritméticas y/o lógicas.operaciones aritméticas y/o lógicas. Almacenan información: Los datos Almacenan información: Los datos

reposan en algún dispositivo.reposan en algún dispositivo.

Page 5: Computación I (CI-2125) Clase 1

El computador es una máquina electrónica.El computador es una máquina electrónica. La forma más simple de transmitirle señales La forma más simple de transmitirle señales

eléctricas a un computador es con un eléctricas a un computador es con un alfabeto de 2 símbolos: 1 y 0. 8 bits alfabeto de 2 símbolos: 1 y 0. 8 bits consecutivos constituyen un byte.consecutivos constituyen un byte.

Los diseñadores construyen computadores Los diseñadores construyen computadores que agrupan secuencias de bits en trozos que agrupan secuencias de bits en trozos que se transmiten y procesan en una que se transmiten y procesan en una operación, estas agrupaciones seoperación, estas agrupaciones se conocen conocen como como palabraspalabras del computador del computador

Arquitectura del ComputadorArquitectura del Computador

Tomado de las notas del Prof. Miguel Torrealba

Page 6: Computación I (CI-2125) Clase 1

Tradicionalmente una palabra contiene una Tradicionalmente una palabra contiene una instruccióninstrucción al al computador.computador.

En lenguaje C el programador escribe:En lenguaje C el programador escribe:A=B + CA=B + CEn otro lenguaje puede ser:En otro lenguaje puede ser:SUMA A,B,C esta expresión indica “coloca la suma de B y SUMA A,B,C esta expresión indica “coloca la suma de B y

C en A”C en A”

Arquitectura del ComputadorArquitectura del Computador

Tomado de las notas del Prof. Miguel Torrealba

Tipo Operador

OP1 OP2 OP3

Page 7: Computación I (CI-2125) Clase 1

Del ejemplo anterior se puede deducir A=B + C Es una instrucción de

un Lenguaje de Alto Nivel Mientras que una expresión como:

ADD B,C Lenguaje EnsambladorADD A,B Lenguaje de Bajo Nivel

Arquitectura del Computador

Tomado de las notas del Prof. Miguel Torrealba

10001101 00101000 00000100 00000000Tipo

OperaciónOP1 OP2 OP3

Page 8: Computación I (CI-2125) Clase 1

OP1 y OP2 son datos de EntradaTipo de operación es un dato de EntradaOP3 en un dato de Salida

Arquitectura del ComputadorUn Modelo abstracto de la operación

Tomado de las notas del Prof. Miguel Torrealba

Ejecuciónde la

Instrucción

OP1

OP2OP3

Tipo de Operación

Page 9: Computación I (CI-2125) Clase 1

Los datos requieren un lugar donde guardarse.

El computador moderno tiene como una premisa de su operación que se “Almacene el programa” a ejecutar en un área llamada MEMORIA PRINCIPAL (RAM).

La Unidad Central de Procesos (UCP) es el elemento principal del computador porque es donde se ejecutan las instrucciones que se leen de la memoria RAM

Arquitectura del ComputadorArquitectura del Computador

Tomado de las notas del Prof. Miguel Torrealba

Page 10: Computación I (CI-2125) Clase 1

La UCP tiene tres elementos principales: Unidad de control: Dirige, coordina y administra

todos los recursos de la computadora. Es responsable de la ejecución de las instrucciones e indica a cada componente las acciones a efectuar.

Unidad Aritmético-Lógica: Realiza operaciones aritméticas tales como sumas, restas y operaciones lógicas.

Banco de registros: Dispositivos de alta velocidad para almacenar datos e instrucciones temporalmente, mientras se ejecutan las instrucciones.

Arquitectura del ComputadorArquitectura del Computador

Page 11: Computación I (CI-2125) Clase 1

Los dispositivos de almacenamientoLos dispositivos de almacenamiento: : han surgido para solventar la volatilidad han surgido para solventar la volatilidad de la RAM. Son más lentos pero de la RAM. Son más lentos pero permiten almacenar grandes volúmenes permiten almacenar grandes volúmenes de datos.de datos.

Dispositivos de Entrada/SalidaDispositivos de Entrada/Salida: : Interfaz con el usuarioInterfaz con el usuario Conexión con sistemas de almacenamientoConexión con sistemas de almacenamiento Conexiones a redesConexiones a redes

Arquitectura del ComputadorArquitectura del Computador

Page 12: Computación I (CI-2125) Clase 1

El bus: Representa mecanismos de comunicación entre los elementos del computador. Está constituido por: Líneas de control Líneas de datos Líneas de dirección

Arquitectura del ComputadorArquitectura del Computador

Page 13: Computación I (CI-2125) Clase 1

Los computadores representan la información usando dígitos binarios 1 y 0. La información representada es: Números:

• Naturales: Positivos incluyendo 0• Enteros (con signo): Positivos y negativos• Coma flotante: Reales

Caracteres: Alfabéticos y signos de puntuación

Arquitectura del ComputadorArquitectura del ComputadorRepresentación de la informaciónRepresentación de la información

Page 14: Computación I (CI-2125) Clase 1

La representación de números de los naturales es a través del cálculo de potencias de 2. También se usa codificación en Octal y Hexadecimal.

Números enteros o con signo se hace a través de la representación signo-magnitud o en complemento A2 (es el más usado).

Números en coma flotante. Se usa el siguiente formato: sM x BsE

Arquitectura del ComputadorArquitectura del ComputadorRepresentación de la informaciónRepresentación de la información

Page 15: Computación I (CI-2125) Clase 1

donde s es el signo + o – M es la mantisa o parte significativa B es la base E es el exponente con signo

Representación de caracteres pueden procesarse con alguna codificación preestablecida como es el caso de ASCII (7 y 8 bits) y UNICODE (2 bytes)

Arquitectura del ComputadorArquitectura del ComputadorRepresentación de la informaciónRepresentación de la información

Page 16: Computación I (CI-2125) Clase 1

Arquitectura del ComputadorArquitectura del ComputadorMEMORIA

RAM O ROM

Subsistema de E/S

UCPUnidad de

Control

Unidad deAritmético/

LógicaRegistros

Buses externos al UCP

Page 17: Computación I (CI-2125) Clase 1

Simplificando la realidad se puede indicar que la Memoria Principal puede ser del tipo RAM o ROM. Las posiciones de almacenamiento en la memoria se enumeran en forma consecutiva, empezando con el valor 00. Así pues una cosa es el contenido de una localidad de memoria y otra su dirección.

Arquitectura del Computador

Tomado de las notas del Prof. Miguel Torrealba

Page 18: Computación I (CI-2125) Clase 1

Arquitectura del ComputadorArquitectura del Computador

Page 19: Computación I (CI-2125) Clase 1

Arquitectura del ComputadorArquitectura del ComputadorUnidades de medida de memoriaUnidades de medida de memoria

Bit: Contracción de las palabras digito binario Bit: Contracción de las palabras digito binario ((bibinary diginary digitt). Es la unidad de datos más ). Es la unidad de datos más pequeña que puede manejar un computador.pequeña que puede manejar un computador.

Byte: 8 bits.Byte: 8 bits. Exabyte: 1024 Petabyte Exabyte: 1024 Petabyte Kilobyte: 1024 byte Zetabyte: 1024 ExabyteKilobyte: 1024 byte Zetabyte: 1024 Exabyte Megabyte: 1024 KBMegabyte: 1024 KB Yottabyte: 1024 ZetaBYottabyte: 1024 ZetaB Gigabyte: 1024 MB Brontobyte: 1024 YottaBGigabyte: 1024 MB Brontobyte: 1024 YottaB Terabyte: 1024 GigabyteTerabyte: 1024 Gigabyte Petabyte: 1024 TerabytePetabyte: 1024 Terabyte

Page 20: Computación I (CI-2125) Clase 1

Definición de AlgoritmoDefinición de Algoritmo Secuencia ordenada de instrucciones bien Secuencia ordenada de instrucciones bien

definidas y efectivas, que al ser ejecutadas definidas y efectivas, que al ser ejecutadas siempre producen un resultado y terminan en siempre producen un resultado y terminan en un tiempo finito.un tiempo finito.

Secuencia ordenadaSecuencia ordenada: próximo paso definido : próximo paso definido sin ambigüedad, cada paso está numerado.sin ambigüedad, cada paso está numerado.

El término bien definidasEl término bien definidas indica claramente indica claramente entendible y sin ambigüedades para la entendible y sin ambigüedades para la máquina o persona que la va a ejecutar.máquina o persona que la va a ejecutar.

El término efectivaEl término efectiva muestra que existe un muestra que existe un método formal para ejecutar y obtener un método formal para ejecutar y obtener un resultado.resultado.

Tomado de las notas de la Prof. Carmen R. Rodríguez

Page 21: Computación I (CI-2125) Clase 1

Definición de AlgoritmoDefinición de Algoritmo Primitivas: Son las instrucciones elementales Primitivas: Son las instrucciones elementales

que no pueden ser divididas en pasos más que no pueden ser divididas en pasos más básicos. básicos.

En el contexto de la programación se espera En el contexto de la programación se espera que un algoritmo cumpla con 3 características:que un algoritmo cumpla con 3 características: Sea completo. Debe producir una respuesta binaria Sea completo. Debe producir una respuesta binaria

para cada pregunta en el dominio del problema.para cada pregunta en el dominio del problema. Sea procedimental. La secuencia finita de Sea procedimental. La secuencia finita de

instrucciones se ejecuta mecánicamenteinstrucciones se ejecuta mecánicamente Sea deterministico. Para entradas idénticas Sea deterministico. Para entradas idénticas

produce la misma salida.produce la misma salida.

Tomado de las notas del Prof. Miguel Torrealba

Page 22: Computación I (CI-2125) Clase 1

Definición de AlgoritmoDefinición de Algoritmo

El estado de un algoritmo puede ser El estado de un algoritmo puede ser analizado en base a la descripción de su analizado en base a la descripción de su entrada y de sus posibles salidas.entrada y de sus posibles salidas.

La expresión que describe todas las La expresión que describe todas las posibles entradas del segmento posibles entradas del segmento algorítmico se define como algorítmico se define como precondiciónprecondición . .

Y la Y la poscondiciónposcondición es la expresión que es la expresión que describe todas sus posibles salidas.describe todas sus posibles salidas.

Tomado de las notas del Prof. Miguel Torrealba

Page 23: Computación I (CI-2125) Clase 1

Formas de Representación de Formas de Representación de AlgoritmosAlgoritmos

Lenguaje NaturalLenguaje Natural Lenguaje AlgorítmicoLenguaje Algorítmico Diagramas de flujoDiagramas de flujo

Page 24: Computación I (CI-2125) Clase 1

Análisis DescendenteAnálisis Descendente

Técnica de programación arriba-abajo (top-Técnica de programación arriba-abajo (top-down) que consiste en dividir un problema en down) que consiste en dividir un problema en subproblemas, aplicando un proceso de subproblemas, aplicando un proceso de refinamiento paso a paso que permita llegar refinamiento paso a paso que permita llegar a instrucciones primitivas.a instrucciones primitivas.

Entre sus ventajas se tiene que se ve el Entre sus ventajas se tiene que se ve el problema dentro del contexto sin pensar en problema dentro del contexto sin pensar en los detalles que puedan ser confusos en un los detalles que puedan ser confusos en un primer nivel.primer nivel.

Se pueden hacer esperar decisiones cuya Se pueden hacer esperar decisiones cuya solución no es inmediata, hasta que sean solución no es inmediata, hasta que sean pasos elementales.pasos elementales.

Se puede dividir el problema en Se puede dividir el problema en subproblemas y compartirlo.subproblemas y compartirlo.

Page 25: Computación I (CI-2125) Clase 1

Codificación vs. ProgramaciónCodificación vs. Programación

Programación:Programación: Se refiere a todos los Se refiere a todos los pasos involucrados en resolver un pasos involucrados en resolver un problema de computación.problema de computación.

Codificación:Codificación: Se define como el Se define como el proceso de escribir instrucciones en proceso de escribir instrucciones en algún lenguaje de programación algún lenguaje de programación existenteexistente

Page 26: Computación I (CI-2125) Clase 1

Codificación vs. ProgramaciónCodificación vs. Programación

La Programación Involucra:La Programación Involucra: Definir lo que se quiere hacerDefinir lo que se quiere hacer Clarificar las ambigüedades del enunciado Clarificar las ambigüedades del enunciado

del problemadel problema Decidir como resolver el problemaDecidir como resolver el problema Esquematizar la soluciónEsquematizar la solución

En la Codificación se debe aplicar:En la Codificación se debe aplicar: La detección de erroresLa detección de errores Documentación, pruebas y mantenimientoDocumentación, pruebas y mantenimiento

Page 27: Computación I (CI-2125) Clase 1

Paradigmas de la ProgramaciónParadigmas de la Programación

El software de un sistema debe ser:El software de un sistema debe ser: FiableFiable AdaptableAdaptable ReusableReusable MantenibleMantenible

Criterios de diseño claros y bien definidos:Criterios de diseño claros y bien definidos: La AbstracciónLa Abstracción La encapsulaciónLa encapsulación El ocultamiento de la informaciónEl ocultamiento de la información La modularidadLa modularidad

Page 28: Computación I (CI-2125) Clase 1

Tipos de software Tipos de software

Software base o sistema operativo: Conjunto Software base o sistema operativo: Conjunto de todos los programas que controlan la de todos los programas que controlan la ejecución de todas las aplicaciones y ejecución de todas las aplicaciones y administran todos los recursos del computador.administran todos los recursos del computador.

Software de aplicación: Programa diseñado y Software de aplicación: Programa diseñado y escrito para realizar una tarea específica, ya escrito para realizar una tarea específica, ya sea personal, de negocios o de procesamiento.sea personal, de negocios o de procesamiento.

Software de comunicaciones: Conjunto de Software de comunicaciones: Conjunto de programas que permiten la comunicación entre programas que permiten la comunicación entre dispositivos locales o remotos de una red. dispositivos locales o remotos de una red.

Page 29: Computación I (CI-2125) Clase 1

Historia del Lenguaje CHistoria del Lenguaje C

MULTICS

UNIX

BCPLMartin Richards, 1967

BKen Thompson, 1970

CDenns Ritchie, 1972