INTRODUCCION A LOS
ALGORITMOS
MENU DEL DIA
• Algo sobre computadores u
GNU/Linux.
• Sistemas de procesamiento
de información.
• Generalidades sobre los
algoritmos.
• Lenguajes de
programación.
• Traductores de lenguaje.
• Tarea.
• Ejemplos
ALGO SOBRE LOS COMPUTADORES Y
GNU/LINUX
REVOLUTION OS
•
•
•
•
•
•
•
•
•
http://www.youtube.com/watch?v=n1v6icF
gkbo&feature=related
http://www.youtube.com/watch?v=FPXvlGr
9eOg&feature=related
http://www.youtube.com/watch?v=gc8JmG
VPmQ8&feature=related
http://www.youtube.com/watch?v=7PufDt6
akm0&feature=related
http://www.youtube.com/watch?v=YomtdHcpDE&feature=related
http://www.youtube.com/watch?v=0KoTBm
kmSgc&feature=related
http://www.youtube.com/watch?v=10Woq
VAscEA&feature=related
http://www.youtube.com/watch?v=_Ql49JR
Ah8Q&feature=related
http://www.youtube.com/watch?v=3GeoEc
U04IE&feature=related
ALGO SOBRE LOS COMPUTADORES,
GNU/LINUX
CODIGO LINUX
• http://www.youtube.com/watch
?v=1RtWkywPJ5I&feature=PlayLi
st&p=1DF7114EF3EAFFA3&index
=74
• http://www.youtube.com/watch
?v=_F5FiP9yCEc&feature=related
• http://www.youtube.com/watch
?v=4iNQ3c9_Zg&feature=related
• http://www.youtube.com/watch
?v=NVMg3AMF8lc&feature=relat
ed
• http://www.youtube.com/watch
?v=ACqOXd4rqpg&feature=relate
d
ALGO SOBRE LOS COMPUTADORES,
GNU/LINUX
PIRATAS DEL SILICON VALLEY
•
•
•
•
•
•
•
•
•
•
http://www.youtube.com/watch?v=cAt6zZTIo20&f
eature=related
http://www.youtube.com/watch?v=6eNKYvkBKNE
&feature=related
http://www.youtube.com/watch?v=r0MtYZBZSwA
&feature=related
http://www.youtube.com/watch?v=43rNw7iKXWA
&feature=related
http://www.youtube.com/watch?v=VgYx0uz6n2c&
feature=related
http://www.youtube.com/watch?v=zruSmCTOXZo
&feature=related
http://www.youtube.com/watch?v=Bl5i66m67YM
&feature=fvw
http://www.youtube.com/watch?v=92gtBEKNWXU
&feature=related
http://www.youtube.com/watch?v=Ffler9Kt2rc&fe
ature=fvw
http://www.youtube.com/watch?v=E1AXjJHOMxE
&feature=related
ALGO SOBRE LOS COMPUTADORES,
GNU/LINUX
MARAVILLAS
MODERNAS – EL
ORDENADOR
•
•
•
•
•
http://www.youtube.com/watch?v=
wK_yCGN1FvM
http://www.youtube.com/watch?v=
1HYxJRF7QCo&feature=related
http://www.youtube.com/watch?v=
3NPz3r_ewg4&feature=related
http://www.youtube.com/watch?v=s
glj8WyGHGg&feature=related
http://www.youtube.com/watch?v=
3A4jGEKrzlg&feature=related
ALGO SOBRE LOS COMPUTADORES,
GNU/LINUX
MARAVILLAS
MODERNAS – LA
TECNOLOGIA DE
LOS 80’s
•
•
•
•
•
http://www.youtube.com/watch?v=t
S9csJWE7Vc
http://www.youtube.com/watch?v=
D8UMln93-DY&feature=related
http://www.youtube.com/watch?v=s
0LWYe5zh20&feature=related
http://www.youtube.com/watch?v=
wS7bP5Qbv30&feature=related
http://www.youtube.com/watch?v=
QhI42AZUom0&feature=related
ALGO SOBRE LOS COMPUTADORES,
GNU/LINUX
VIDEOTUTORIALES FELIPE
•
•
•
•
http://microe.udea.edu.co/~henry/.video_t
utoriales_felipe_london/Videopresentaciones/Presentacion01%20%20Intro%20al%20Computador/Intro%20al
%20Computador.html
http://microe.udea.edu.co/~henry/.video_t
utoriales_felipe_london/Videopresentaciones/Presentacion02%20%20Mainboard/Mainboard.html
http://microe.udea.edu.co/~henry/.video_t
utoriales_felipe_london/Videopresentaciones/Presentacion03%20%20Memorias%20RAM/Presentacion03%20
-%20Memorias%20RAM.html
http://microe.udea.edu.co/~henry/.video_t
utoriales_felipe_london/Videopresentaciones/Presentacion04%20%20Procesadores/Presentacion04%20%20Procesadores.html
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Computadora: Maquina o aparato
electrónico capaz de ejecutar
operaciones repetitivas a muy alta
velocidad.
COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION
Entrada = Datos
Representación de algún hecho,
concepto o entidad real (los datos
pueden tomar diferentes formas; por
ejemplo palabras escritas o habladas,
números y dibujos).
PROCESADOR
Salida = Información
Datos procesados y organizados.
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
Ejemplos:
• El termostato.
• Arturito
• Nosotros mismos.
¿Cómo el procesador transforma
esos datos de entrada en
información 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 resolución de un
problema.
SISTEMAS DE PROCESAMIENTO DE
INFORMACION
HARDWARE:
Conjunto
de
componentes físicos de la
computadora (equipo físico)
SOFTWARE:
Conjunto
de
programas que controlan el
funcionamiento
de
una
computadora (equipo lógico).
Dispositivos de
entrada/salida
E/s
(Periféricos)
Memoria
central
Unidad central
de
procesamiento
Almacenamiento
secundario
(memoria
auxiliar)
GENERALIDADES SOBRE LOS
ALGORITMOS
Metodología de programación: Consiste en la metodología aplicada para la
resolución de problemas mediante programas.
Problema
Tarea que se desea
resolver.
Diseño del
algoritmo
Descripción ordenada
de la secuencia de
pasos
(sin
ambigüedades) que
conducen
a
la
solución de problema
dado (Análisis del
problema y desarrollo
del algoritmo).
Programa de
computador
Expresar el algoritmo
como un programa
en el lenguaje de
programación
adecuado.
Ejecución
validación
programa
computadora.
y
del
de
La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida.
Ejemplo: La receta de un sancocho.
GENERALIDADES SOBRE LOS
ALGORITMOS
Entradas
PROCESO
Salida
GENERALIDADES SOBRE LOS
ALGORITMOS
¿Qué hacer para ver la película tiburón?
Algoritmo general
1. Ir a cine.
2. Comprar la entrada
3. Ver la película.
4. Regresar a la casa.
GENERALIDADES SOBRE LOS
ALGORITMOS
Algoritmo refinado
1. Inicio
2. ver la cartelera de cines en el periodico.
3. si no proyectan “Tiburon” entonces
3.1. decidir otra actividad.
3.2. ir al paso 7
si_no
3.3. ir al cine
Fin_si
4. si hay cola entonces
4.1. ponerse en la cola
4.2. mientras haya personas delante entonces
4.2.1. avanzar en la cola
fin_mientras
fin_si
5. si hay puesto entonces
5.1. comprar la entrada (y pa la nena si va
acompañado).
5.2. pasar a la sala.
5.3. localizar el puesto
6.
7.
5.4. mientras proyectan la película hacer
5.4.1. ver película.
fin_mientras
5.5. abandonar el cine
si_no
5.6. arriar madres
fin_si
volver a la casa.
fin
GENERALIDADES SOBRE LOS
ALGORITMOS
ESTRUCTURAS CLAVES EN EL ALGORTIMO
ANTERIOR
• Paso
• Condicion
• Ciclo
PASO
instrucción
arriar madres
CONDICION
si condicion entonces
pasos verdadero
si_no
pasos falso
fin_si
CICLO
mientras condicion hacer
pasos dentro del ciclo
fin_mientras
mientras proyectan la película hacer
ver película.
fin_mientras
si no proyectan “Tiburon” entonces
decidir otra actividad.
ir al paso 7
si_no
ir al cine
fin_si
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 programación.
• Programación:
Actividad
que consiste en expresar un
algoritmo en forma de
programa.
• Instrucción: 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
• Están escritos en un lenguaje
directamente inteligible por la
maquina. Las instrucciones consisten
en cadenas binarias que especifican
una operación, y las posiciones
(dirección) de memoria implicadas
en la operación.
• Dependen del hardware de la
computadora (PC diferente de
Macintosh)
00001011011100001010
LENGUAJES DE PROGRAMACION
LENGUAJE DE BAJO NIVEL
• Es un lenguaje mas fácil de usar
que el lenguaje de
maquina.
• Las instrucciones del lenguaje ensamblador son
conocidas como nemotécnicos (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
traducción a lenguaje de maquina.
• Ensamblador.
ADD N,M,P
0110 1001 1010 1011
LENGUAJES DE PROGRAMACION
LENGUAJE DE ALTO NIVEL
• Diseñados para que las personas
entiendan y escriban los programas de
un modo mas fácil 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
modificación en diferentes tipos de
maquinas.
C, C++, COBOL,
FORTRAN, Pascal,
Java, Phyton.
LENGUAJES DE PROGRAMACION
{Lenguaje Pascal}
program suma;
var x,s,r:integer; {declaración de las variables}
begin {comienzo del programa principal}
writeln('Ingrese 2 números enteros');{imprime el texto}
readln(x,s); {lee 2 números y los coloca en las variables x y s}
r:= x + s; {suma los 2 números 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 interrupción 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
código de maquina.
• Clasificación:
– Compiladores: Lenguaje de alto
nivel --> Lenguaje de maquina.
– Interprete: Un traductor que
toma un programa fuente, lo
traduce y a continuación lo
ejecuta.
TERMINOLOGIA BASICA VI
•
•
Compilación: Proceso de traducción
de programas. El resultado del
proceso de compilación es un
archivo objeto.
Enlazado: Proceso realizado por el
linker o enlazador, básicamente este
programa es el encargado de juntar
todos los ficheros de codigo objeto,
la información de todos los recursos
necesarios (bibliotecas) , eliminar
todos los recursos que no se
necesitan y enlazar el código objeto
con sus bibliotecas. El resultado final
de este procedimiento es un
ejecutable o una biblioteca.
FIN DE LA CLASE
Descargar

INTRODUCCION AL LENGUAJE C