Está en la página 1de 30

Computacin I (CI-2125

y CI-2127)
Clase 1
Prof. Mireya Morales Primera

Contenido
Justificacin del curso
Arquitectura

del Computador.
Definicin de Algoritmo.
Formas de Representacin de Algoritmos.
Anlisis Descendente.
Codificacin vs. Programacin.
Historia del Lenguaje C

Justificacin del Curso


computador es una mquina que se
programa para que ejecute tareas.

El

Programar

correctamente
requiere
comprender como funciona el computador
y qu se puede hacer con un lenguaje

de programacin.

Tomado de las notas del Prof. Miguel Torrealba

Arquitectura del Computador


Los

computadores en realidad slo hacen 4


cosas:

Recibir entradas: Aceptan informacin del


mundo exterior.

Producir salidas: Reflejan informacin al


mundo exterior.
Procesan
informacin:
Ejecutan
operaciones aritmticas y/o lgicas.

Almacenan
informacin:
Los
datos
reposan en algn dispositivo.

Arquitectura del Computador


El

computador es una mquina


electrnica.

La

forma ms simple de
transmitirle seales elctricas a
un computador es con un
alfabeto de 2 smbolos: 1 y 0.
Tomado de las notas del Prof. Miguel Torrealba

Arquitectura del Computador


Un Modelo abstracto de la operacin
OP1
OP2

Ejecucin
de la
Instruccin

OP3

Tipo de Operacin

OP1 y OP2 son datos de Entrada


Tipo de operacin es un dato de Entrada
OP3 en un dato de Salida
Tomado de las notas del Prof. Miguel Torrealba

Arquitectura del Computador


Los

datos requieren un lugar donde


guardarse.
El computador moderno tiene como una
premisa de su operacin 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
Tomado de las notas del Prof. Miguel Torrealba
RAM

Arquitectura del Computador


La

UCP tiene tres elementos principales:

Unidad de control:
Unidad Aritmtico-Lgica:
Banco de registros: Dispositivos de alta
velocidad para almacenar datos e
instrucciones temporalmente, mientras se
ejecutan las instrucciones.

Arquitectura del Computador


Los

dispositivos de almacenamiento:
han surgido para solventar la volatilidad
de la RAM. Son ms lentos pero
permiten almacenar grandes volmenes
de datos.
Dispositivos de Entrada/Salida:
Interfaz con el usuario
Conexin con sistemas de almacenamiento

Conexiones a redes

Arquitectura del Computador


Representacin de la informacin
La

representacin de caracteres
puede
procesarse
con
alguna
codificacin preestablecida como es el
caso de ASCII (7 y 8 bits) y UNICODE
(2 bytes)

Arquitectura del Computador


MEMORIA
RAM O ROM

UCP

Unidad de
Control

Unidad de
Aritmtico/
Lgica

Registros

Buses externos al UCP

Subsistema de E/S

Arquitectura del Computador


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 direccin.
Tomado de las notas del Prof. Miguel Torrealba

Arquitectura del Computador

Definicin de Algoritmo
Secuencia

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

Secuencia

ordenada: prximo
paso definido sin ambigedad,
cada paso est numerado.
Tomado de las notas de la Prof. Carmen R. Rodrguez

Definicin de Algoritmo
El

trmino bien definidas indica


claramente entendible y sin
ambigedades para la mquina o
persona que la va a ejecutar.

El

trmino efectiva muestra que


existe un mtodo formal para
ejecutar y obtener un resultado.
Tomado de las notas de la Prof. Carmen R. Rodrguez

Precondicin y Postcondicin
El

estado de un algoritmo puede ser


analizado en base a la descripcin de
su entrada y de sus posibles salidas.
La expresin que describe todas las
posibles entradas del segmento
algortmico
se
define
como
precondicin .
Y la postcondicin es la expresin que
describe todas sus posibles salidas.
Tomado de las notas del Prof. Miguel Torrealba

Precondicin y Postcondicin
Las precondiciones indican las condiciones
que deben satisfacer los datos de entrada
para que el programa pueda cumplir su
tarea.

Las

postcondiciones

indican
las
condiciones de salida que son aceptables
como soluciones correctas del problema en
cuestin.

Precondicin y Postcondicin
Ejemplo: Programa que calcula la raz
cuadrada
Precondicin: Que el argumento de la
funcin no sea negativo
Postcondicin: La raz cuadrada de
ese argumento.

Formas de Representacin de
Algoritmos
Lenguaje Natural
Diagramas de flujo
Lenguaje Algortmico o seudocdigo

Diagramas de Flujo
Es

una forma de representacin algortmica


que usa una esquematizacin grfica.
Muestra grficamente los pasos a seguir
para alcanzar la solucin al problema.
Todo
esquema
de
representacin
algortmica debe ser independiente del
lenguaje.
El diagrama de flujo representa la solucin
del problema. El programa representa la
implementacin

Diagramas de Flujo
Smbolos utilizados
Marca el inicio y fin del diagrama
Se usa para introducir datos de entrada

Representa un proceso.
Asignaciones, operaciones aritmticas

NO

SI

Se utiliza para representar una decisin

Diagramas de Flujo
Smbolos utilizados
Se utiliza para representar una
decisin mltiple: el switch
Representa la impresin de un resultado
Expresan la direccin del flujo del
diagrama
Expresa conexin dentro de una misma pgina
Representar conexin entre pginas diferentes
Expresa un mdulo de un subproblema que hay
que resolver antes de continuar el DF.

Diagramas de Flujo
Ejemplo. Calcular el rea de un tringulo
INICIO

BAS,
ALT

AREA BAS*ALT/2

AREA

FIN

Lectura de datos

Clculo del rea

Escritura del resultado

Diagramas de Flujo
Todo diagrama de flujo debe tener inicio y fin.
Las lneas utilizadas para indicar la direccin
del flujo del diagrama, deben ser rectas:
verticales u horizontales
Todas las lneas utilizadas para indicar
direccin
del
diagrama,
deben
estar
conectadas.
Debe construirse de arriba hacia abajo y de
izquierda a derecha.
La notacin utilizada debe ser independiente
del lenguaje de programacin.

Diagramas de Flujo
Si la construccin del diagrama de flujo
requiere ms de una hoja se deben utilizar los
conectores adecuados y enumerar las pginas
correspondientes.
Al
resolver un problema complejo es
conveniente colocar comentarios que expresen
o ayuden a entender la solucin.
No puede llegar ms de una lnea a un smbolo
determinado.

Anlisis Descendente
Tcnica

de programacin arribaabajo (top-down) que consiste en


dividir
un
problema
en
subproblemas,
aplicando
un
proceso de refinamiento paso a
paso que permita llegar a
instrucciones primitivas.

Anlisis Descendente
Entre

sus ventajas se tiene que se ve


el problema dentro del contexto sin
pensar en los detalles que puedan
ser confusos en un primer nivel.
Se pueden hacer esperar decisiones
cuya solucin no es inmediata, hasta
que sean pasos elementales.
Se puede dividir el problema en
subproblemas y compartirlo.

Codificacin vs. Programacin


Programacin:

Se refiere a todos los


pasos involucrados en resolver un
problema de computacin.
Codificacin: Se define como el
proceso de escribir instrucciones en
algn lenguaje de programacin
existente

Codificacin vs. Programacin


La Programacin Involucra:

Definir lo que se quiere hacer

Clarificar las ambigedades del enunciado


del problema

Decidir como resolver el problema


Esquematizar la solucin

En la Codificacin se debe aplicar:

La deteccin de errores

Documentacin, pruebas y mantenimiento

Historia del Lenguaje C


MULTICS

BCPL
Martin Richards, 1967

B
Ken Thompson, 1970

UNIX

C
Denns Ritchie, 1972

También podría gustarte