Vous êtes sur la page 1sur 37

Tres ingenieros de Linux y tres de Microsoft se disponan a viajar en tren

para asistir a un congreso. En la estacin, los de Microsoft compraron sus


pasajes y vieron que los de Linux slo compraban uno "Cmo van a
viajar tres personas con un solo pasaje?", les pregunt uno de los
empleados de Microsoft. "Ahora vers!, le respondi uno de Linux.
Subieron todos al tren y los empleados de Microsoft vieron como los tres
ingenieros de Linux se metan juntos en el bao. A poco de arrancar el
tren, lleg el revisor pidiendo los pasajes, toc la puerta del bao y dijo:
"Ticket por favor"... la puerta se abri lo suficiente como para que saliese
un brazo con el pasaje en la mano, el revisor lo marc y sigui su camino.
Al ver esto, los empleados de Microsoft acordaron que era una idea
genial y que copiaran el truco a la vuelta del congreso, para ahorrar unas
pesetillas. De regreso, en la estacin, los empleados de Microsoft
compraron un solo pasaje, y se quedaron atnitos al ver que los
ingenieros de Linux no sacaban ninguno... "Cmo van a viajar sin
pasaje?" pregunt perplejo uno de los empleados de Microsoft. "Ahora
vas a ver!", respondi uno de los linuxeros. Al subir al tren, los tres
empleados de Microsoft se metieron en un bao y los tres ingenieros de
Linux en otro... Arranc el tren, y rpidamente uno de los linuxeros sali
del bao, se dirigi al de los empleados de Microsoft, toc la puerta y
dijo : "Ticket por favor".....

SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Computadora: Maquina o aparato
electrnico capaz de ejecutar
operaciones repetitivas a muy alta
velocidad.

COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION

Entrada = Datos
Representacin de algn hecho,
concepto o entidad real (los datos
pueden tomar diferentes formas; por
ejemplo palabras escritas o habladas,
nmeros y dibujos).

PROCESADOR

Salida = Informacin
Datos procesados y organizados.

SISTEMAS DE PROCESAMIENTO DE
INFORMACION

HARDWARE:
Conjunto
de
componentes fsicos de la
computadora (equipo fsico)

SOFTWARE:
Conjunto
de
programas que controlan el
funcionamiento
de
una
computadora (equipo lgico).

Dispositivos de
entrada/salida
E/s
(Perifricos)

Memoria
central

Unidad central
de
procesamiento

Almacenamiento
secundario
(memoria
auxiliar)

Computadoras

En todas partes y con muchas formas

Por qu aprender a
Programar?

Programacin de computadoras

Programar

Indicar a la computadora qu es lo que tiene que hacer

Programa

Secuencia de instrucciones
Instrucciones que entiende la computadora
Y que persiguen un objetivo: resolver un problema!

Programadores

Trabajo en equipo
Mltiples roles...

Parque Jursico

Gestores
Analistas
Diseadores
Programadores
Probadores
Administradores de
sistemas
...

Programa informtico

Qu es programar?

Decirle a la computadora muy rpido exactamente lo que tiene


que hacer
Especificar la estructura y el comportamiento de un programa,
as como probar que el programa realiza su tarea
adecuadamente y con un rendimiento aceptable
Programa: Transforma entrada en salida
Entrada

Programa

Salida

Algoritmo: Secuencia de pasos y operaciones que debe realizar


el programa para resolver el problema
El programa implementa el algoritmo en un lenguaje concreto

La
Ingeniera
del
Software
La programacin es slo una etapa del proceso de desarrollo

Modelo de desarrollo en cascada:


Planificacin

Recursos necesarios, presupuesto, plan,


Qu?

Anlisis

Cmo?

Diseo
Programacin

Implementacin

Prueba y depuracin
Mantenimiento

Me maravillaba la posibilidad de
poder decirle a una computadora qu
hacer, lnea por lnea, y que ella me
responda.
En la escuela [] algunos proyectos
eran mejores que otros, pero todos
nos sirvieron para entender el
lenguaje propio de las computadoras
Aquellos conocimientos de
programacin aun hoy me servan
para resolver ciertos tipos de
problemas o para elaborar estrategias
de comunicacin

Aprender
Programacin me haba
enseado a pensar
analticamente.

Las computadoras se estn


haciendo presentes en casi
todo aspecto de las
actividades del ser humano

Es necesario aprender a
comunicarse con las mquinas

Las empresas, sin importar su tamao o rama en la


que trabajen, necesitan desarrollar sistemas de
informacin que les permitan crecer en sus
mercados

Y para eso, requieren de personas


con conocimientos en programacin!

Se necesitan
programadores.
Hay puestos de empleos disponibles,
pero nuestra fuerza de trabajo no
est capacitada para realizarlos.
Entre los economistas, esto se
conoce con el trmino desempleo
estructural.

La dependencia de la sociedad al uso de la


automatizacin crece cada vez ms.
La manera de tomar el control de los sistemas que
utilizamos en el da a da es entender cmo
funcionan. Y esto se logra

Aprendiendo a programar!

Expande tu mente

Aprender
Programacin

Te ayuda a pensar
en forma
algortmica

Te permite mejorar
y automatizar
tareas

Hoy en da, la oferta de


Desarrollar el pensamiento
lenguajes y entornos de
analtico Y en la medida
desarrollo es muy grande.
que evoluciones en el
La idea es empezar por
lenguaje que elegiste,
cualquier punto.
desarrollars el criterio para ir
conociendo otros lenguajes y
entornos, comparar y elegir el
que ms te guste.

Qu es lo importante?

En la mayora de los campos de la Ingeniera, los


estudiantes requieres tener acceso a toda una serie
de herramientas para crear algo bsico.
Pero

En Programacin...

Los estudiantes son los creadores!

Con tan solo un ordenador, los


programadores pueden imaginar

UN MUNDO PROPIO

SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Ejemplos:
Arturito
Nosotros mismos.

Cmo el procesador transforma


esos datos de entrada en
informacin procesada?

Algoritmo: Conjunto de instrucciones que


especifica la secuencia de operaciones a
realizar, en orden, para resolver un problema
especifico, en otras palabras un algoritmo es
una formula para la resolucin de un
problema.

GENERALIDADES SOBRE LOS


ALGORITMOS

Metodologa de programacin: Consiste en la metodologa aplicada para la


resolucin de problemas mediante programas.
Problema
Tarea que se desea
resolver.

Diseo del
algoritmo
Descripcin ordenada
de la secuencia de
pasos
(sin
ambigedades) que
conducen
a
la
solucin de problema
dado (Anlisis del
problema y desarrollo
del algoritmo).

Programa de
computador
Expresar el algoritmo
como un programa
en el lenguaje de
programacin
adecuado.
Ejecucin
validacin
programa
computadora.

y
del
de

La definicin de un algoritmo debe describir tres partes: Entrada, proceso y salida.


Ejemplo: La receta de un sancocho.

GENERALIDADES SOBRE LOS


ALGORITMOS

Describir los pasos para cruzar la calle.

Describa los pasos para cambiar un


bombillo quemado.

Describa los pasos para llevar a una


amiga a cine.

Describa los pasos para cambiar la


llanta pinchada de una cicla.

GENERALIDADES SOBRE
ALGORITMOS

LENGUAJES DE PROGRAMACION

Cuando el procesador es
una
computadora
el
algoritmo ha de expresarse en
una forma que recibe el
nombre de programa. Un
programa se escribe en un
lenguaje de programacin.
Programacin:
Actividad
que consiste en expresar un
algoritmo en forma de
programa.
Instruccin: Es cada uno de
los pasos que se ejecutan en
el programa.

Computadora
mata a
Flanders
???????

Principales lenguajes utilizados en la actualidad:


Lenguaje de maquina.
Lenguaje de bajo nivel.
Lenguaje de alto nivel

LENGUAJES DE PROGRAMACION
LENGUAJE DE MAQUINA
Estn escritos en un lenguaje
directamente inteligible por la
maquina. Las instrucciones consisten
en cadenas binarias que especifican
una operacin, y las posiciones
(direccin) de memoria implicadas
en la operacin.
Dependen del hardware de la
computadora (PC diferente de
Macintosh)

00001011011100001010

LENGUAJES DE PROGRAMACION

LENGUAJE DE BAJO NIVEL


Es un lenguaje mas fcil de usar

que el lenguaje de

maquina.
Las instrucciones del lenguaje ensamblador son
conocidas como nemotcnicos (ADD, SUB, DIV, etc.).

ADD N,M,P = 0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador no


puede ser ejecutado directamente por la
computadora por lo que requiere de una fase de
traduccin a lenguaje de maquina.
Ensamblador.

ADD N,M,P

0110 1001 1010 1011

LENGUAJES DE PROGRAMACION

LENGUAJE DE ALTO NIVEL


Diseados para que las personas
entiendan y escriban los programas de
un modo mas fcil que usando
lenguajes de maquina y ensamblador.
Es independiente de la maquina pues
las instrucciones no dependen del
hardware o maquina en particular.
Los programas escritos en lenguaje de
alto
nivel
son
portables
o
transportables, es decir que pueden ser
ejecutados con poca o ninguna
modificacin en diferentes tipos de
maquinas.

C, C++, COBOL,
FORTRAN, Pascal,
Java, Phyton.

LENGUAJES DE PROGRAMACION
{Lenguaje Pascal}
program suma;

var x,s,r:integer; {declaracin de las variables}


begin {comienzo del programa principal}
writeln('Ingrese 2 nmeros enteros');{imprime el texto}
readln(x,s); {lee 2 nmeros y los coloca en las variables x y s}
r:= x + s; {suma los 2 nmeros y coloca el resultado en r}
writeln('La suma es ',r); {imprime el resultado}
readln;
end.{termina el programa principal}

Alto Nivel

Bajo Nivel
Maquina

;Lenguaje ensamblador, sintaxis Intel para procesadores x86


mov eax,1 ;mueve a al registro eax el valor 1
xor ebx, ebx ;pone en 0 el registro ebx
int 80h ;llama a la interrupcin 80h (80h = 128 sistema
decimal)

TRADUCTORES DE LENGUAJE
Traductores de lenguaje

Son los programas que


traducen a su vez los
programas fuente escritos en
lenguajes de alto nivel a
cdigo de maquina.
Clasificacin:

Compiladores: Lenguaje de alto


nivel --> Lenguaje de maquina.
Interprete: Un traductor que
toma un programa fuente, lo
traduce y a continuacin lo
ejecuta.

Lenguajes de programacin de alto nivel


Traduccin
Compiladores:

Compilan y enlazan
programas completos
Intrpretes:

Compilan, enlazan
y ejecutan instruccin
a instruccin

Cdigo fuente
Compilador
Cdigo objeto
Enlazador
Programa
ejecutable

#include <iostream>
using namespace std;

int main()
{
cout << "Hola Mundo!" << endl;
return 0;
}

0100010100111010011100

Cdigo
objeto de
biblioteca
Para una arquitectura concreta
y un sistema operativo

Los lenguajes de programacin de alto nivel

Genealoga de lenguajes
COBOL
FORTRAN

1959

PL/I

1964

Prolog
1970

1958

BASIC
1964

Pascal

Python

1975

Smalltalk

1979

Eiffel
1986

Ruby

1971

Logo
1968

Scheme
1975

2000

1991

Ada

1964

1958

C#

Modula

1970

Simula

Lisp

1995

1983

1971

1963

ALGOL

Java

C++

CPL

1954

Versiones / Estndares

Haskell
1987

1993

TERMINOLOGIA BASICA VI

Compilacin: Proceso de traduccin


de programas. El resultado del
proceso de compilacin es un
archivo objeto.
Enlazado: Proceso realizado por el
linker o enlazador, bsicamente este
programa es el encargado de juntar
todos los ficheros de codigo objeto,
la informacin de todos los recursos
necesarios (bibliotecas) , eliminar
todos los recursos que no se
necesitan y enlazar el cdigo objeto
con sus bibliotecas. El resultado final
de este procedimiento es un
ejecutable o una biblioteca.

Vous aimerez peut-être aussi