Anda di halaman 1dari 42

COMPUTACIÓN Y ALGORITMOS I

CONCEPTOS FUNDAMENTALES
Computación e Informática
• La Computación es la disciplina que busca establecer
una base científica para resolver problemas mediante
el uso de dispositivos electrónicos y sistemas
computacionales.
• La Computación es el estudio de métodos algorítmicos
para representar y transformar la información,
incluyendo su teoría, diseño, implementación,
aplicación y eficiencia.
Las raíces de la computación e informática se extienden
profundamente en la matemática y la ingeniería. La
matemática imparte el análisis del campo y la ingeniería
imparte el diseño.
• Informática es un vocablo inspirado en el francés informatique,
formado a su vez por la conjunción de las palabras information y
automatique, para dar idea de la automatización de la información
que se logra con los sistemas computacionales.
• Informática es un conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático y racional de la
información por medio de computadoras.

• Un sistema informático, cumple tres tareas principales: entrada


(captación de datos en formato digital), proceso (tratamiento y
administración de esa información) y salida (transmisión de los
resultados digitales de esas operaciones)
• Desde el punto de vista de las ciencias de la computación, el
elemento físico utilizado para el tratamiento de la información es la
computadora.
• La Computación e Informática se define como el
conjunto de conocimientos científicos y técnicos (bases
teóricas, métodos, metodologías, técnicas, y tecnologías)
que hacen posible el procesamiento automático de los
datos mediante el uso de computadores, para producir
información útil y significativa para el usuario.
• La Computación e Informática es la ciencia del
tratamiento automático de la información mediante un
computador (llamado también ordenador o
computadora).
Diferencia entre Computación e
Informática
• La Informática tiene relación con el tratamiento de la
información y sus usos; es más cercana a las personas. La
Computación tiene relación con los computadores y sus
aspectos internos.
• Esta palabra (Informática) se usa principalmente en
España y Europa. Computación se usa sobre todo en
América y proviene de cómputo (o cálculo).
• Desde el punto de vista de las ciencias de la
computación, el elemento físico utilizado para el
tratamiento de la información es la computadora.
Conceptos Básicos de Computación
• Computadora: Es una maquina compuesta de elementos
físicos (HARDWARE), en su mayoría de origen electrónico, capaz
de realizar una gran variedad de trabajos a gran velocidad y con
gran precisión, siempre y cuando se le den las instrucciones
adecuadas (SOFTWARE).
• Para que un computador pueda ejecutar alguna instrucción,
primero ésta debe entregársele por algún medio físico y
codificado en algún lenguaje entendible por el computador. Si
la orden está dada en forma correcta y si el computador
cuenta con los medios necesarios para ejecutarla, lo hará.

• Programa: es un conjunto de instrucciones escritas en algún


lenguaje entendible por la máquina. A través de los
programas el computador puede realizar variadas
operaciones, desde procesar textos y dibujos hasta resolver
complejos problemas matemáticos
Elementos del Computador
Esquema básico del elemento físico
(Hardware)
• El hardware es el elemento físico de un sistema
computacional, es decir, todos los materiales que lo
componen, procesador, los dispositivos externos, los
cables, los soportes de información y en definitiva
todos aquellos elementos que tienen entidad física.

A. Unidad central de proceso o procesador. Es el


elemento principal o centro neurálgico de una
computadora y su misión consiste en coordinar y realizar
todas las operaciones del sistema informático.
Memoria Auxiliar

Unidad Central de Proceso


Procesador

Unidad de Control
Elementos Elementos
de entrada Unidad Aritmética-Lógica de salida

Memoria Central
• Está formador por:
– Unidad de control. Es la parte del procesador
encargada de gobernar el resto de las unidades,
además de interpretar y ejecutar las instrucciones
controlando su secuencia.
– Unidad aritmética-lógica. Es la parte del procesador
encargada de realizar todas las operaciones
elementales de tipo aritmético y lógico.

B. Memoria central. También denominada memoria


interna o principal, es el elemento encargado de
almacenar los programas y los datos necesarios para que
el sistema informático realice un determinado trabajo.
Es importante decir que para que un programa pueda
ser ejecutado en una computadora tiene que estar en ésta
memoria, así como los datos que necesiten ser
procesados en ese momento. Memoria RAM y ROM.
C. Elementos de entrada. También llamados periféricos o
unidades de entrada, son los dispositivos encargados de
introducir los datos y los programas desde el exterior a la
memoria central para su utilización. Estos dispositivos,
además de recibir la información del exterior, la preparan
para que la máquina pueda entenderla de forma correcta.

D. Memoria auxiliar. También denominada secundaria o


externa, son los dispositivos de almacenamiento masivo de
información que se utilizan para guardar datos y programas
en el tiempo para su posterior utilización. La característica
principal de los soportes que manejan estos dispositivos es la
de retener la información a lo largo del tiempo. Discos duros,
CDs, USBs.
E. Elementos de salida. Son aquellos dispositivos
cuya misión es recoger y proporcionar al exterior los
datos de salida o resultados de los procesos que se
realicen en el sistema informático. También se
denominan periféricos o unidades de salida.
Esquema básico del elemento lógico
(software)

• El software es la parte lógica que dota al


equipo físico de capacidad para realizar
cualquier tipo de trabajos.
Tiene su origen en ideas y procesos
desarrollados por el elemento humano,
plasmadas sobre un soporte determinado del
hardware y bajo cuya dirección trabaja
siempre la computadora.
• El elemento lógico de un sistema informático puede
clasificarse como aparece representado en el siguiente
esquema:
Software básico (Sistema operativo)

Software Programas
Software de aplicación
Datos

• El software básico es el conjunto de programas que el


equipo físico necesita para tener la capacidad de trabajar.
Estos programas en su conjunto configuran lo que se
denomina sistema operativo.

Sistema operativo: Es el soporte lógico que controla el


funcionamiento del equipo físico, ocultando los detalles del
hardware y haciendo sencillo el uso de la computadora.
Considere el siguiente esquema

Gestión de información
Gestión de memoria
Progr. de control Gestión de entrada y salida
Gestión del procesador
Gestión de trabajos

Sist. Operativo

Progr. de utilidad (Utilerías)


---- - --
Ha dware y S of tware

E.-ao. ,.._. ....,. • .. W:.�

Erllr«II..Luldl, �·. Or-•- :·-·«l-·C, O·-·_,_


D· l'loea .. -· """' - • """• .. - · ...... --

�;*'; '.;"' ;";;


';;-
\¿P"tn'l"$'.."..os'{j';*;'; '�;-·-··'Ml-•·-
a-a, -;;;-;";;
� OOI · o •• • • L.N,.-. ,.... °"1
¡;.!.!..!,..,,.,(.(�;
i..,,q,ljH•� IOM·C-·C••·'-•·--·""-·'°"-
--·OOf-.·-,.,.·
9 CompuCadora 1
�ocft-.w.M..CO
Pllnlln.Mc•UIO
� ... -,........
...
'"''"oll•"·OOC•

""'°'" _,.,..c.o,o,-
--,--·--:W.0
0.SIOt.Ma.M CII Ollol '"'-"''"'"
t,._ .... 1�, •11 ,_,_. ,_

!-.SOIHTMl.
--·-IIIOf•·O.-
..._,,. -·IMl·IWHI·-»

--·OlA·-
....,,- ..._-. t-, . ....-...---·-
Esquema básico del elemento
humano
• El elemento humano es el más importante de los que
constituyen la informática. Sin personas estas
máquinas serían totalmente inútiles.

El elemento humano, denominado comúnmente


personal informático, es el conjunto de personas que
desarrollan las distintas funciones relacionadas con el
uso de las computadoras. En general, se denomina
usuario, a la persona que utiliza en última instancia la
computadora y el software de aplicación como
herramienta para desarrollar su trabajo o ayudarse en su
actividad.
REPRESENTACION DE LA INFORMACION

• En las computadoras, la información se


representa en el SISTEMA BINARIO, es decir
en FORMATO BINARIO.
• Esto significa que emplean dispositivos que
solamente tienen dos estados posibles,
equivalentes a encendido y apagado.
• El BIT es la unidad de medida más pequeña de
los datos y puede valer 0 ó 1. Por ejemplo,
para almacenar UNA LETRA se requiere de 8
bits (lo que equivale a 1 byte).
• EtlOH unblt

Ello
· Etto et un blt

un byte

ol 1 1 o 1 o 1 o 1
1

1 bit o 1

Ir
'
2 estados

1 Realiza la tabla de los estados que se pueden representar con tres bits.
2 Ahora calcula cuentes estados se pueden representar con cuenc bits.
• Para calcular las siguientes unidades de medida se toma la
base y se eleva a un exponente en incremento.
• En este sistema, los números se representan
como potencias de 2. Cada cifra toma el valor
de 0 o 1.

• Ejemplo:
– El número 6 en notación binaria:
6 = 110
– Para convertir de notación binaria a decimal:
110 = 1 x 22 + 1x21 + 0 x 20 = 6
Sistema Binario
• Las unidades mayores al bit se expresan en unidades de 1024
en 1024.
• La diferencia de valores 1024 (en lugar de 1000 del Sistema
Internacional) es porque al trabajar en el sistema binario la
potencia 2 sería 210 que es igual a 1024 y es la más cercana a
1000.
• Ejemplos del uso de las unidades de medida al
describir la información que se almacena:
– Un documento de texto simple con el mensaje:
Hola Mundo ocupa en total 10 bytes.
– Un archivo de música MP3 de 3.23 minutos de
duración ocupa aproximadamente 3.23
Megabytes.
– Un video de alta definición de una duración de
0.33 segundos (dependiendo de su resolución)
ocupa aproximadamente 4.14 Megabytes.
Tabla de caracteres y símbolos
• Las tablas de caracteres son estándares adoptados por
la industria de software en diferentes regiones del
planeta para uniformizar la representación de los
caracteres, números y símbolos que se obtienen con el
teclado.
• Así se tiene que la tabla adoptada por Windows es la
tabla ANSI. Pero existen otras muy conocidas como la
tabla ASCII.
Lenguaje de Programación
• Es un conjunto de normas lingüísticas que permiten
escribir un programa con instrucciones que sean
entendidas por la computadora.
• Un lenguaje de programación es una notación para
escribir programas.
• Un lenguaje de programación permite al usuario crear
programas que serán entendidos por el computador
(directa o indirectamente) con el objetivo de realizar
alguna tarea.
• Todo lenguaje de programación tiene:
– Un alfabeto: que son los elementos léxicos permitidos
– Una Sintaxis: que indica cómo se construyen las frases del
lenguaje
– Una Semántica: que indica el significado de las palabras y
frases formadas.
• Programa
Es un conjunto de instrucciones escritas en un lenguaje de
programación susceptibles de ser ejecutadas por la
computadora.
Programa = conjunto de datos + algoritmos
– Datos: conjunto de valores.
– Algoritmo: Secuencia de pasos a seguir para resolver un
problema

Dijkstra (1972)
“El arte de la programación es el arte de organizar la
complejidad”
“Debemos organizar los cálculos de manera que nuestros
limitados sentidos sean suficientes para garantizar que el
cómputo arroje los resultados esperados”
• El lenguaje debe ayudarnos a escribir buenos
programas: un programa es bueno si es fácil de
leer, fácil de entender y fácil de modificar.
Lógicamente además de resolver el problema
deseado.
Clasificación de los lenguajes de
programación
• Lenguaje máquina
Los lenguajes máquina son aquellos cuyas
instrucciones son directamente entendibles por el
computador sin la necesidad de traducción alguna. Sus
instrucciones no son más que conjuntos de ceros y
unos (bits). Estas especifican la operación a realizar, los
registros del procesador y celdas de memoria
implicados, etc.
Estos lenguajes son dependientes de la máquina.
Obviamente, este tipo de lenguajes serán fáciles de
comprender para un computador pero muy difíciles para
el hombre.
• Lenguajes de bajo nivel (ensamblador)
La programación en lenguaje máquina es difícil, por ello se
necesitan lenguajes que permitan simplificar este proceso.
Los lenguajes de bajo nivel han sido diseñados para este
fin.
Estos lenguajes son generalmente dependientes de la
máquina, es decir, dependen de un conjunto de
instrucciones específicas del computador. Un ejemplo de
este tipo de lenguajes es el ensamblador. En él, las
instrucciones se escriben en códigos alfabéticos conocidos
como mnemotécnicos (generalmente, abreviaturas de
palabras inglesas).
Las palabras mnemotécnicas son mucho más fáciles de
recordar que las secuencias de ceros y unos. Una
instrucción típica de ensamblador puede ser:

ADD x,y,z
• Lenguajes de alto nivel
Los lenguajes de alto nivel son aquellos en los que las
instrucciones o sentencias son escritas con palabras similares
a las de los lenguajes humanos (en la mayoría de los casos,
el Inglés). Esto facilita la escritura y comprensión del código
al programador.
Estos lenguajes permiten escribir programas portables y
legibles.
Existen muchos lenguajes de alto nivel, por citar algunos:
ADA, BASIC, COBOL, FORTRAN, C , C++, Modula-2, Lisp,
Prolog, Pascal, Java, Php, html, xml , etc.
A continuación se presenta una instrucción de java:

if (x == y) System.out.println ('Esto es una prueba');


• Los programas escritos en lenguaje de alto nivel no
son entendibles directamente por la máquina.
Necesitan ser traducidos a instrucciones en lenguaje
máquina que entiendan los computadores. Los
programas que realizan esta traducción se llaman
compiladores, y los programas escritos en lenguajes
de alto nivel se denominan programas fuente.
Ejemplos de programas
Programa que escribe “Hola” en pantalla

Pascal

C
Ensamblador
Programas fuente y objeto
• Un programa puede ser definido como un conjunto
de instrucciones que pueden someterse como
unidad a un computador y utilizarse para dirigir el
comportamiento de éste.
• Un programa fuente es aquel que nos permite
escribir un algoritmo mediante un lenguaje formal. Por
eso al código desarrollado al programar se le llama
código fuente.
• Un programa objeto es el resultado de traducir un
programa fuente para obtener un lenguaje
comprensible por la máquina.
Traductores de programas
Los traductores son un tipo de programas cuya
función es convertir el código de un lenguaje en
otro. Por ejemplo un compilador, que traduce
código fuente en código objeto. Existen distintos
tipos de traductores, entre ellos destacan:
– Ensambladores
– Preprocesadores
– Intérpretes
– Compiladores
• Ensambladores
Es un tipo de traductor que convierte programas
escritos en lenguaje ensamblador en programas
escritos en código máquina.

• Preprocesadores
Traduce un lenguaje de alto nivel a otro, cuando el
primero no puede pasar a lenguaje máquina
directamente.
• Intérpretes
Se trata de traductores-ejecutores, es decir traduce en
tiempo de ejecución ya que con cada instrucción realizan
un proceso triple de lectura-traducción-ejecución. Son
relativamente lentos, pero muy buenos para la depuración
de programas.

• Compiladores
Es el tipo de traductor más conocido. Se trata de un
programa que traduce código fuente escrito en un lenguaje
de alto nivel (java) en código máquina (no siempre). Son más
rápidos que los intérpretes pero presentan mayor dificultad
a la hora de detectar errores.
Prognnm Fuente
(u ""•.<)

••
!
-c-
e
E
1

i
i.
'•
Librl'llM
. ....,
Prognnm ObjflO
i

(


••

.
·----- ,, �--

_,
Prognnm ejecuta e
(
Para ubicarnos en el curso: La parte central son los algoritmos
Xqqqqqqqqqqqqqqqjwn azacccc rd
Idea de cómo
resolver el
problema Traductores: Compilador

e
Aleo ritmo
• HW

... e
............... 1

o
• •
; Programa '

... Manejadores de Bases
de datos
': (Aprender un
Problema
: len¡u1Jt ee ,
: pro¡rf111K1on) ,
..................
�!=� �"""'··