1. INTRODUCCION A LA TECNOLOGIA
MCC, Jorge Enrique León Ardila
2012
22/08/2012 1
2. HISTORIA DE LA TECNOLOGIA
VIDEO HISTORIA DE LA TECNOLOGIA
MCS, Jorge Enrique León Ardila
3. HISTORIA DE LA TECNOLOGIA
LA REVOLUCIÓN INDUSTRIAL
Es considerada como el mayor cambio tecnológico socioeconómico y cultural de
la historia, ocurrido entre finales del siglo XVIII y principios del XIX, que comenzó
en el Reino Unido y se expandió por el resto del mundo.
La economía basada en el trabajo manual fue sustituida por otra dominada por la
industria y la introducción de maquinaria.
La revolución empezó con la mecanización de las industrias textiles y el desarrollo
de los procesos de hierro. La expansión del comercio aumentó por la mejoría de
las rutas y, posteriormente, por el ferrocarril.
El desarrollo de maquinaria en las dos primeras décadas del siglo XIX facilitó la
manufactura para una mayor producción de artefactos utilizados en otras
industrias.
MCS, Jorge Enrique León Ardila
4. HISTORIA DE LA TECNOLOGIA
SIGLO XIX.
Los avances del siglo XIX serán muchos y muy significativos, pero sin duda el
mayor logro será la electricidad, desarrollo que cambiará para siempre la
sociedad y la tecnología. Así, en este siglo Volta inventa la pila, Faraday inventa
el motor eléctrico y Edison la bombilla.
En el campo de la locomoción van a ocurrir mejoras importantes: Stephenson
inventa la locomotora, Otto el motor de cuatro tiempos y Diesel el motor que
lleva su nombre. Con estos avances el mundo se empieza a hacer mucho más
pequeño.
En el campo de los materiales Bessemer desarrolla su convertidor que es capaz
de abaratar terriblemente la producción del acero industrial.
El Siglo XIX verá también un importante descubrimiento en el campo de las
telecomunicaciones: Meucci inventa el teléfono que finalmente patentará y
comercializará Graham Bell.
MCS, Jorge Enrique León Ardila
5. HISTORIA DE LA TECNOLOGIA
SIGLO XX.
En 1903 los hermanos Wright hacen volar su primer prototipo de aeroplano con
motor.
En 1957 se envía el primer satélite artificial, el Sputnik I ruso. Serán, sin
embargo, los americanos los primeros en pisar la luna en 1969.
La primera mitad del siglo XX verá el desarrollo de nuevas teorías científicas que
afectarán a mundos hasta ahora inexplorados: lo grande con la Teoría General
de la Relatividad de Einstein, y lo pequeño a través de la Mecánica Cuántica.
El siglo XX verá también el desarrollo de la electrónica, lo que permitirá el
avance de las telecomunicaciones: Marconi inventa la radio y poco después
vendría la televisión.
Uno de los avances más importantes será: el desarrollo de los ordenadores e
internet, favorecido por la aparición del transistor. Por vez primera el mundo
entero está interconectado y el conocimiento es ya universal e instantáneo.
MCS, Jorge Enrique León Ardila
6. HISTORIA DE LA TECNOLOGIA
SIGLO XXI.
Se descifra el genoma humano y se avanza en su comprensión, lo que permite
conocer mejor ciertas enfermedades.
Grupos de satélites orbitan alrededor de la Tierra, permitiendo el
posicionamiento inmediato de cualquier objeto mediante GPS.
La nanotecnología abre nuevos campos para nuevos materiales que tendrán
importantes aplicaciones industriales.
En 2001 Apple lanza al mercado el primer iPod.
En 2006 Nintendo desarrolla la videoconsola Wii, primera con mando
inalámbrico a la que seguiría después Xbox con kinets.
Popularización de Los ebooks.
MCS, Jorge Enrique León Ardila
7. El ABACO
Tendria 5000 años de
antigüedad
Es la primera
herramienta para
calcular conocida
10. Charles Babbage (1791-1871)
Matemático Inglés
Creó una máquina de
Diferencias en 1822
Usó tecnología para
relojes
Para resolver ecuaciones
polinomiales
Nunca se terminó
11. Máquina Analítica
Babbage (1933) diseñó la máquina analítica
Máquina programable de propósito general
Vapor como fuente de energía.
Diseñada para almacenar 1000 números con 50
decimales cada uno. Las instrucciones
almacenadas en tarjetas perforadas
Nunca se construyó.
12. Augusta Ada King,
Condesa de Lovelace (1815-1852)
Ayudante de Babbage
Diseñó un lenguaje para
la máquina analítica
Es considerada la
primera programadora
de la historia
Se creó el lenguaje de
programación “Ada”
13. Herman Hollerith
Desarrolló una máquina no
programable para procesar los datos
del censo de 1980 de USA.
Los datos se almacenaban en
tarjetas Perforadas
Redujo el tiempo del censo de años a
semanas
14. John Atanasoff
Físico americano
Construyó la máquina ABC a
finales de los años 30
Para resolver sistemas de
ecuaciones
Usó tubos de vacío
No la terminó por falta de
recursos
15. Konrad Zuse
Ingeniero Alemán
Construyó el primer computador
digital programable en los años 30
Usó retardos electromecánicos para
realizar conmutación
Primera máquina en la que se utilizó
el sistema numérico binario
Falta de recursos
16. Howard Aiken
Físico Americano y
matemático aplicado
Construyó Harvard Mark I
en colaboración con IBM en
1944
Usó retardos
electromecánicos
Números de 23 digitos,
logaritmos y funciones
trigonométricas
17. Alan Turing (1912-1954)
Matemático inglés y primer
científico de computación
Creó modelos matemáticos de
computadores (Máquina de
Turing) 1936
Demostró teoremas
fundamentales acerca de las
limites de la computabilidad
(Teoría de la Computación)
18. Alan Turing (1912-1954)
Ayudó a decifrar (criptoanálisis) los
códigos secretos “Enigma” durante
la 2° guerra mundial
Trabajó en la construcción de un
computador electrónico británico
(Colossus) para decifrar códigos
Perseguido por ser Homosexual.
Se suicidó en 1954
19. ENIAC
ENIAC: Electronic Numerical Integrator And Calculator
Creado en la Universidad de Pennsylvania por John Mauchly
y J. Presper Eckert en 1946
Primer computador digital electrónico de propósito general.
Usó 19000 tubos de vacío. Fallas cada una hora.
La programación requería configurar físicamente la máquina
Llenaba una habitación de 30x50 pies, pesó 30 tons., y
disipaba 150000 watts de energía
Se usó para realizar los cálculos del proyecto de la bomba
atómica
22. John von Neumann(1903-1957)
Matemático Húngaro, cibernético
Trabajó en el proyecto de la
bomba atómica
Inventó la teoría juegos y la
teoría del autómata auto-
replicante
Originador el concepto de
programa almacenado en el
computador en 1945.
23. John von Neumann (cont.)
Creó el modelo de
instrucciones de programa y
datos almacenados en la
memoria del computador.
Se pueden reprogramar.
La Arquitectura de
computador de Von Neumann
llegó a ser estandar universal
El primer programa
almacenado electrónicamente
aparece en 1947.
24. Generaciones de computadores
• Primera - 1940-1956: tubos de vacío, lenguaje de máquina;
• Segunda - 1956-1963: Transistores, lenguaje ensamblador (bajo
nivel), lenguajes Cobol y Fortran (alto nivel);
• Tercera - 1964-1971: Circuitos integrados, usuarios interactúan con
aplicaciones y sistema operativo por medio de teclado y monitores;
• Cuarta - 1971-Presente: Microprocesadores, primeros
computadores domésticos;
• Quinta - Presente y futuro: Inteligencia artificial, reconocimiento
de voz, procesamiento paralelo, computación quántica, nano-
tecnología, lenguaje natural.
25. Bio electrónica
• Redes neuronales, como las del cerebro, flexibles y
adaptables.
• Procesan datos de manera muy eficiente y en paralelo.
• Micro procesador: 10x106 compuertas lógicas, 20 Wats,
4 GHz.
• Cerebro de abeja: 106 de neuronas, 0,1x10-6 Wat, 1KHz
simultáneamente ve, olfatea, vuela, recolecta polen y
vive en comunidad.
26. Lenguajes de Programación de Alto
Nivel
Grace Hopper construyó el
primer compilador en 1952.
John Backus y el equipo de
programadores de IBM
desarrollaron por FORTRAN
en 1957.
Se construye ALGOL en
1958, es considerado
antecesor de C
27. Lenguajes de Programación de Alto
Nivel
(1959) COBOL, desarrollado por Grace Hopper.
(1958) LISP desarrollado por John McCarthy en
Standford
(1963) BASIC desarrollado por Thomas Kurtz y John
Kemeny en Dartmouth
(1968) PASCAL desarrollado por Niklaus Wirth en 1968.
(1972) PROLOG desarrollado por Alain Colmerauer y Phillip
Roussel en 1972
28. Lenguajes de Programación de Alto
Nivel (cont.)
A comienzo de los 70 el lenguaje C es desarrollado por Brian Kernighan y
Dennis Ritchie en los laboratorios Bell de AT&T
29. Internet y WWW
(1969) red ARPANET, se
conectaron 4 computadores
ubicados en UCSB, UCLA, Utah y
SRI.
(finales de los 80) WWW(World
Wide Web) desarrollado en
CERN, Suiza, por Tim Berners-
Lee.
(1990) Primer browser de Web
creado por Tim Berners-Lee
30. La Internet y la WWW
Marc Andreesen y Eric Bina
desarrollan el browser de
Web Mosaic en la universidad
de Illinois
Marc Andreesen y Jim Clark
crean Netscape en 1994
31. Pantelégrafo
Il Pantelegrafo ideato
dall'abate Giovanni
Caselli è un
dispositivo per inviare
e ricevere immagini a
distanza con un
metodo
elettrochimico. Il Pantelegrafo prende servizio il 16 febbraio 1865 e va in
pensione nel 1870.
www.museoscienza.org/radio/telefax.html
32. Pantelégrafo (cont.)
Telefax de 1865
La puntina metallica del trasmittente esplora il documento originale scorrendo su linee
parallele, e invia messaggi al ricevente attraverso la linea telegrafica. La puntina del
ricevente percorre un foglio trattato chimicamente e annerisce la carta a seconda del
segnale ricevuto. Due grossi pendoli garantiscono la sincronia dei due apparati.
33. El futuro...
“I think there is a world market for maybe five
computers” ---- Thomas Watson, Chairman of IBM,
1943.
“If automotive technology had progressed as fast as
computer technology between 1960 and today, the
car today would have en engine less than a tenth of
an inch across, would get 120 000 miles per gallon,
have top speed of 240 000 miles per hour, and
would cost $4” --- Rick Decker and Stuart
Hirshfield, The Analytical Engine.
35. Historia de Internet
Internet es una red mundial de ordenadores
interconectados con un conjunto de protocolos, el más
destacado, el TCP/IP. Aparece por primera vez en 1960.
Algunos de los servicios disponibles en Internet son la
Web (WWW), el acceso remoto a otras máquinas,
transferencia de archivos (FTP), correo electrónico
(SMTP), boletines electrónicos, conversaciones en
línea, mensajería instantánea, transmisión
de archivos, etc.
36. Historia de Internet
Las primeras redes fueron centralizadas. Si uno de ellos se
estropeaba, toda la red dejaba de funcionar.
1969DARPA (Departamento de defensa americano) creó
una red sin nodos centralizados. Uno de los problemas
era que muchos de los paquetes enviados no llegaba al
destino o llegaba defectuoso, pero se volvían a mandar.
1971Se creó el primer programa para enviar correo
electrónico. Combinaba un programa interno de correo
electrónico y un programa de transferencia de ficheros. Se
presentó el primer “Protocolo para la transmisión de
archivos en Internet”, que sentó las bases para el futuro
protocolo de transmisión de archivos (FTP).
37. Historia de Internet
• 1972 Se crea la primera Red de comunicaciones civil, llamada
ARPANET, lo que significó el comienzo de Internet.
• 1973La DARPA busca un modo de intercambiar “paquetes” y crea
los protocolos de comunicaciones.
1974Se diseña un nuevo protocolo, el TCP (Transmission
Control Protocol), que se convirtió en el estándar aceptado.
Permitió a las diversas redes conectarse en una verdadera red de
redes alrededor del mundo. También se crea el sistema Ethernet
para enlazar a través de un cable único a las computadoras de una
red local (LAN).
1983ARPANET cambia el protocolo NCP por TCP/IP y
estandariza el protocolo, el cual es el usado hoy día habitualmente.
38. Historia de Internet
1989Se crea el protocolo de transmisión HTTP, el lenguaje de
documentos HTML y el concepto de los URL.
1990Se construye el primer cliente Web, llamado
WorldWideWeb (WWW), y el primer servidor web.
1995Se creó Internet2, más veloz que la Internet original, lo
que permite el manejo de archivos muy grandes y aplicaciones en
videoconferencia, telemedicina y muchas otras cosas imposibles
antes.
2005El número de usuarios de internet con conexión de
banda ancha superan a los de internet con conexión vía módem
en la mayoría de países desarrollados, lo cual significa el
crecimiento de la necesidad de la comunicación vía
Internet.
39. Internet2
Internet2 es un consorcio sin fines de lucro que desarrolla
aplicaciones y tecnologías de redes avanzadas para transferir
información a alta velocidad.
Es una red desarrollada principalmente por 270 universidades
estadounidenses y otras compañías tecnológicas. Está
construida en fibra óptica y permite altas velocidades y una gran
fiabilidad.
Las velocidades mínimas esperadas son 622 Mbps para un
miembro de I2 (universidades y socios) y 50 Mbps para un
usuario particular.
La enseñanza, el aprendizaje y la investigación, en
colaboración, pueden requerir interconexión y altas conexiones
de banda ancha en tiempo real, aunque la nueva red no pretende
sustituir a la antigua, al menos a corto plazo.
40. Términos y siglas
Protocolos: conjunto de reglas que controlan la
secuencia de mensajes que ocurren durante una
comunicación entre entidades que forman una red.
HTML:”lenguaje de marcas hipertextuales”. Lenguaje de
marcación que es el formato estándar de las páginas web.
HTTP:Es el protocolo de transferencia usado en cada
transacción de la Web (WWW).
ADSL: "Línea de Abonado Digital Asimétrica". Consiste en
una línea digital de alta velocidad, apoyada en el cable
de cobre que lleva la línea telefónica convencional.
•ADSL2 y ADSL2+: son unas tecnologías que
ofrecen una transferencia sensiblemente mayor que
la proporcionada por el ADSL convencional.
41. DATO vs INFORMACIÓN
El DATO es un hecho aislado, no evaluado, ni
significativo. Es sólo el resultado de un fenómeno.
Para que se transforme en INFORMACIÓN, es
necesario realizar operaciones con los datos que le
agreguen valor y le den utilidad para el usuario.
MCS, Jorge Enrique León Ardila
42. Del DATO a la INFORMACIÓN
Captarlos: Acción de registrar los datos.
Verificarlos: Validación de los datos.
Clasificarlos: Separarlos por categorías.
Ordenarlos: Colocarlos en secuencia.
Resumirlos y calcularlos: Para darles un sentido lógico.
Almacenarlos: Acción de guardar.
Recuperarlos.
Copiarlos: ejemplo de PC a papel.
Distribuirlos: Entregar al usuario.
MCS, Jorge Enrique León Ardila
43. Características de la INFORMACIÓN
ACCESIBLE: Facilidad y rapidez para obtenerla.
PRECISA: No tiene errores.
RELEVANTE: Sirve para la decisión que la requiere.
OPORTUNA.
CLARA: Exenta de expresiones ambiguas.
FLEXIBLE: A más de 1 decisión y más de 1 usuario.
VERIFICABLE: Varios usuarios, = decisión.
MCS, Jorge Enrique León Ardila
44. Clasificación de la INFORMACIÓN
En relación a la organización:
Interna o Externa.
En relación a su naturaleza:
Descriptiva, Rendimiento, Predictiva.
S/ posición del usuario:
Estratégica, Táctica, Técnica.
S/ flujo de información:
Horizontal o Vertical.
MCS, Jorge Enrique León Ardila
45. CLASIFICACION DEL SOFTWARE
Para fines prácticos se puede clasificar al software en tres grandes tipos:
Software de sistema:
Su objetivo es desvincular adecuadamente al usuario y al programador de los
detalles de la computadora en particular que se use, aislándolo especialmente
del procesamiento referido a las características internas de: memoria, discos,
puertos y dispositivos de comunicaciones, impresoras, pantallas, teclados, etc. El
software de sistema le procura al usuario y programador adecuadas interfaces de
alto nivel, herramientas y utilidades de apoyo que permiten su mantenimiento.
Incluye entre otros:
• Sistemas operativos.
• Controladores de dispositivos.
• Herramientas de diagnóstico.
• Herramientas de Corrección y Optimización.
• Servidores.
• Utilidades.
46. CLASIFICACION DEL SOFTWARE
Software de programación:
Es el conjunto de herramientas que permiten al programador desarrollar
programas informáticos, usando diferentes alternativas y lenguajes de
programación, de una manera práctica. Incluye entre otros:
• Editores de texto.
• Compiladores.
• Intérpretes.
• Enlazadores.
• Depuradores.
• Entornos de Desarrollo Integrados (IDE): Agrupan las anteriores
herramientas, usualmente en un entorno visual, de forma tal que
el programador no necesite introducir múltiples comandos para
compilar, interpretar, depurar, etc. Habitualmente cuentan con
una avanzada interfaz gráfica de usuario (GUI).
47. CLASIFICACION DEL SOFTWARE
Software de aplicación:
Es aquel que permite a los usuarios llevar a cabo una o varias tareas específicas,
en cualquier campo de actividad susceptible de ser automatizado o asistido, con
especial énfasis en los negocios. Incluye entre otros:
• Aplicaciones para Control de sistemas y automatización industrial.
• Aplicaciones ofimáticas.
• Software educativo.
• Software empresarial.
• Bases de datos.
• Telecomunicaciones (por ejemplo Internet y toda su estructura lógica).
• Videojuegos.
• Software médico.
• Software de Cálculo Numérico y simbólico.
• Software de Diseño Asistido (CAD).
• Software de Control Numérico (CAM).
49. SISTEMAS OPERATIVOS
DEFINICION
Un Sistema Operativo es un programa que actúa como intermediario
entre el usuario y el hardware de un computador.
PROPOSITOS:
1. Gestión de los recursos hardware del computador.
2. Gestión de las aplicaciones que se ejecutan en el computador
(procesos).
3. Interfaz entre el usuario y el computador (IHM).
8/22/2012 JORGE ENRIQUE LEON ARDILA 49
50. SISTEMAS OPERATIVOS
VISTA ABSTRACTA DE LOS COMPONENTES
Usuario 1 Usuario 2 Usuario 3 ... Usuario n
Compilado Intérprete Editor texto Base de Datos
r
Programas del Sistema y Aplicativos
Sistema Operativo
Hardware
8/22/2012 JORGE ENRIQUE LEON ARDILA 50
51. SISTEMAS OPERATIVOS
Versiones Windows
Cronología.
•MS-DOS. Agosto de 1981
•Windows 1.0. 20 de Noviembre de 1985
•Windows 2.0 Abril de 1987
•Windows 3.0 22 de Mayo de 1990
•Windows NT 24 de mayo de 1993
•Windows 95 24 de Agosto de 1995
•Windows 98 25 de Junio de 1998
•Windows Millenium (ME) 14 de Septiembre de 2000
•Windows XP 25 de Octubre de 2001
•Windows Server 2003 15 de Abril de 2003
•Windows Vista (NT 6.0) 8 de Noviembre de 2006
•Windows Sever 2008 (NT 6.1) 1 de Febrero de 2008, R2 22 Julio de 2009
•Windows 7 15 de Octubre de 2009
•Windows CE (Windows embedded) 2004, última 2 de feb de 2010.
8/22/2012 JORGE ENRIQUE LEON ARDILA 51
52. SISTEMAS OPERATIVOS
MICROSOFT WINDOWS
EVOLUCIÓN.
2008 SERVER R2 2009
2003 SERVER 2003
2000 SERVER 2000
NT SERVER 1993
TRABAJO EN GRUPO 1990
WINDOWS 1985
MS DOS 1981
8/22/2012 JORGE ENRIQUE LEON ARDILA 52
53. SISTEMAS OPERATIVOS
VERSIONES DISPONIBLES DE WINDOWS SERVER (ULTIMA VERSION A 32 BITS).
DATOS A MAYO DE 2010
Windows Server 2008 Standard Edition (x86 y x86-64)
Windows Server 2008 R2 Todas las Ediciones (Solo 64Bit)
Windows Server 2008 Enterprise Edition (x86 y x86-64)
Windows Server 2008 Datacenter Edition (x86 y x86-64)
Windows HPC Server 2008 (reemplaza Windows Compute Cluster Server 2003)
Windows Web Server 2008 (x86 y x86-64)
Windows Storage Server 2008 (x86 y x86-64)
Windows Small Business Server 2008 (Nombre clave "Cougar") (x86-64) para
pequeñas empresas
Windows Essential Business Server 2008 (Nombre clave "Centro") (x86-64) para
empresas de tamaño medio[3]
Windows Server 2008 para sistemas basados en Itanium
Windows Server 2008 Foundation Server
8/22/2012 JORGE ENRIQUE LEON ARDILA 53
54. SISTEMAS OPERATIVOS
SISTEMA OPERATIVO LINUX.
El 14 de marzo de 1994, se lanzó Linux 1.0.0, que constaba de
176.250 líneas de código. En marzo de 1995 se lanzó Linux 1.2.0,
que ya estaba compuesto de 310.950 líneas de código.
En mayo de 1996 Torvalds decidió adoptar al pingüino Tux como
mascota para Linux.
La versión 2 de Linux se lanzó el 9 de junio de 1996 y fue un gran
éxito. A éste le siguieron grandes desarrollos:
8/22/2012 JORGE ENRIQUE LEON ARDILA 54
55. SISTEMAS OPERATIVOS
SISTEMA OPERATIVO LINUX. CRONOLOGIA.
• 25 de enero de 1999: Linux 2.2.0 con 1.800.847 líneas de código.
• 18 de diciembre de 1999: se publicaron parches de IBM Mainframe
para 2.2.13, Linux es usado en ordenadores corporativos.
• 4 de enero de 2001: Linux 2.4.0 con 3.377.902 líneas de código.
• 17 de diciembre de 2003: Linux 2.6.0 con 5.929.913 líneas de código.
• 24 de diciembre de 2008: Linux 2.6.28 con 10.195.402 líneas de
código.
• 24 de febrero de 2010: 2.6.33 con 12.990.041 líneas de código.
8/22/2012 JORGE ENRIQUE LEON ARDILA 55
56. SISTEMAS OPERATIVOS
SISTEMA OPERATIVO LINUX. DISTRIBUCIONES.
• DEBIAN. Red de desarrolladores voluntarios con un gran
compromiso por los principios del software libre.
• FEDORA. una distribución lanzada por Red Hat para la
comunidad.
• GENTOO. una distribución orientada a usuarios avanzados.
• UBUNTU. La distribución mas popular a 2010.
• gOS. una distribución basada en Ubuntu para netbooks.
• KNOPPIX. Primera distribución LIVE. Basada en Debian.
Kubuntu,
• LINUX MINT. una popular distribución derivada de Ubuntu.
• MANDRIVA. De la compañía francesa del mismo nombre, popular
en Francia y Brasil. Está basada en RED HAT.
•. . .
8/22/2012 JORGE ENRIQUE LEON ARDILA 56
57. COMPONENTES DE UN ENTORNO INFORMATICO
HARDWARE.
•Partes del computador.
•Memoria (Ram, Rom)
•Disco
•Puertos (entrada/salida)
•Puerto de Red
•Periféricos
•Configuraciones.
•Diferencias Desktop vs laptop.
8/22/2012 JORGE ENRIQUE LEON ARDILA 57
59. Número y Numeral
5 V
Numeral:
Representación de un número
por medio de símbolos.
Número: Idea que se tiene de cantidad.
MCS, Jorge Enrique León Ardila
60. ¿ Qué es un Sistema de Numeración ?
Un Sistema de Numeración, es un conjunto de reglas y
principios, que se emplean para representar
correctamente los números.
Entre estos principios tenemos:
1. Principio de Orden
2. Principio de la Base
3. Principio posicional
MCS, Jorge Enrique León Ardila
61. 1. Principio de Orden
Toda cifra en un numeral, tiene un orden, por convención,
el orden se cuenta de derecha a izquierda.
Ejemplo:
568
1er. Orden
2do. Orden
3er. Orden
Observación:
No confundir el lugar de una cifra, con el orden de una
cifra, el lugar se cuenta de izquierda a derecha.
MCS, Jorge Enrique León Ardila
62. 2. Principio de la Base
Todo sistema de numeración, tiene una base, que es un
número entero mayor que la unidad, el cual nos indica la
forma como debemos agrupar.
Ejemplo:
En el Sistema Senario (Base 6), debemos agrupar las
unidades de 6 en 6, veamos:
2 3(6) = 15
Grupos
Unidades que sobran
MCS, Jorge Enrique León Ardila
63. ¿ Cómo se representa Veinte en el Sistema
Quinario ( Base 5 ) ?
En el sistema “Quinario”, debemos agrupar de 5 en 5.
4 0(5) = 20
Grupos
Unidades que sobran
MCS, Jorge Enrique León Ardila
64. ¿ Cómo representar un número en otra base ?
Para representar un número en un sistema diferente
al decimal, se emplea el método de:
“Divisiones Sucesivas”
Ejemplo:
Representar 243 en el sistema heptal ( Base 7 )
243 7
34 7
5
4
6
Entonces:
243 = 465(7)
MCS, Jorge Enrique León Ardila
65. La Base de un sistema de numeración también nos indica
cuantas cifras pueden usarse en el sistema, veamos:
Base Sistema Cifras que emplea
2 Binario 0; 1
3 Ternario 0; 1; 2
4 Cuaternario 0; 1; 2; 3
5 Quinario 0; 1; 2; 3; 4
6 Senario 0; 1; 2; 3; 4; 5
7 Heptal 0; 1; 2; 3; 4; 5; 6
8 Octal 0; 1; 2; 3; 4; 5; 6; 7
9 Nonario 0; 1; 2; 3; 4; 5; 6; 7; 8
10 Decimal 0; 1; 2; 3; 4; 5; 6; 7; 8; 9
11 Undecimal 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; A
12 Duodecimal 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; A; B
A = 10 B = 11
MCS, Jorge Enrique León Ardila
66. 3. Principio posicional:
En un numeral toda cifra tiene un ”valor posicional”,
veamos un ejemplo:
457
Unidades = 7.1 = 7
Decenas = 5.10 = 50
Centenas = 4.100 = 400
Observación:
La suma de los valores posiciónales, nos da el número.
400 + 50 + 7 = 457
MCS, Jorge Enrique León Ardila
67. Descomposición Polinómica en el Sistema Decimal
Consiste en expresar un numeral como la suma de los
valores posicionales de sus cifras.
Ejemplos:
4x2x = 4.1000 + x.100 + 2.10 + x.1
2ab = 2.100 + a.10 + b.1
(x+1)xyx = (x+1).1000 + x.100 + y.10 + x.1
3ab = 3.100 + a.10 + b.1
ab = a.10 + b.1
MCS, Jorge Enrique León Ardila
68. Descomposición polinómica de numerales representados en
otros sistemas de numeración
Ejemplo:
4357 (9) = 4.9 3 + 3.9 2 + 5.9 + 7.1
3 1
9
2 9
9
MCS, Jorge Enrique León Ardila
70. Podemos emplear la Descomposición Polinómica para hallar
el equivalente de un numeral en el Sistema Decimal
Ejemplos:
3 2
4521 (7) = 4.7 + 5.7 + 2.7 + 1
= 4.343 + 5.49 + 14 + 1 = 1632
2
124 (5) = 1.5 + 2.5 + 4
= 1.25 + 10 + 4 = 39
64 (8) = 6.8 + 4 = 52
MCS, Jorge Enrique León Ardila
71. En algunos casos tendremos que descomponer numerales
con valores incognitos
Ejemplos:
3 2
2x3y (5) = 2.5 + x.5 + 3.5 + y
= 2.125 + x.25 + 15 + y
= 265 + 25x + y
352 (n) = 3.n 2 + 5.n + 2
xyz (a) = x.a 2 + y.a + z
2abc (x) = 2.x 3 + a.x 2 + b.x + c
MCS, Jorge Enrique León Ardila
72. Algunos Conceptos Finales
Numeral Capicúa
Se llama así a aquel numeral que leído de derecha a izquierda,
se lee igual que de izquierda a derecha.
Ejemplos:
44 ; 373 ; 4224 ; 56765 ; 876678 ; 1234321
Literalmente los representamos:
aa ; aba ; abba ; abcba ; abccba ; …….
Cifra Significativa
Se llama así a toda cifra que es diferente de cero, en el
sistema decimal las cifras significativas son:
1; 2; 3; 4; 5; 6; 7; 8 y 9
MCS, Jorge Enrique León Ardila
73. EJERCICIOS:
1. Si: ab + ba = 132 , hallar (a+b).
2. ¿Cuántos numerales de dos cifras son iguales a 4 veces
la suma de sus cifras?.
3. Hallar un numeral de tres cifras que empieza en 6,
y que sea igual a 55 veces la suma de sus cifras.
4. Si a un numeral de dos cifras se le agrega dos ceros a
la derecha, el numeral aumenta en 2871. Hallar el
numeral.
5. Si: abcd = 37.ab + 62.cd , hallar (a+b+c+d)
MCS, Jorge Enrique León Ardila
74. EJERCICIOS:
6. Hallar el valor de “a”, en: 13a0 = 120
7. Hallar el valor de “a”, en: 2a2a = 1000
8. Si los numerales: n23(m) ; p21 (n) ; n3m(6) y 1211(p)
están correctamente escritos, hallar m, n y p.
9. Expresar en el sistema octal, el mayor número de tres
cifras de base 6, dar la cifra de menor orden.
MCS, Jorge Enrique León Ardila
75. EJERCICIOS:
Ejercicio 1:
Si: ab + ba = 132 , hallar (a+b).
Descomponemos polinomicamente:
(10a + b) + (10b + a) = 132
Agrupamos los términos semejantes:
11a + 11b = 132
Simplificamos:
a + b = 12 …… Rpta.
MCS, Jorge Enrique León Ardila
76. Ejercicio 2:
¿Cuántos numerales de dos cifras son iguales a 4 veces la
suma de sus cifras?.
Si es numeral de dos cifras, entonces sera: ab
Por dato:
ab = 4 ( a+b )
Descomponemos polinomicamente y multiplicamos:
10a + b = 4a + 4b
6a = 3b 2a = b
1 2 ab = 12
2 4 ab = 24
3 6 ab = 36
4 8 ab = 48
Rpta: Hay 4 numerales de dos cifras
MCS, Jorge Enrique León Ardila
77. Ejercicio 3:
Hallar un numeral de tres cifras que empieza en 6, y
que sea igual a 55 veces la suma de sus cifras.
Si el numeral empieza en 6, entonces sera: 6ab
Por dato: 6ab = 55 ( 6+a+b )
Descomponemos polinomicamente y multiplicamos:
600 + 10a + b = 330 + 55a + 55b
Agrupamos términos semejantes y simplificamos:
270 = 45a + 54b
30 = 5a + 6b
0 5 6ab = 605
6 0 6ab = 660 … 2 Rptas.
MCS, Jorge Enrique León Ardila
78. Ejercicio 4:
Si a un numeral de dos cifras se le agrega dos ceros a la
derecha, el numeral aumenta en 2871. Hallar el numeral.
Si es un numeral de dos cifras: ab
Al agregarle dos ceros a la derecha, obtenemos: ab00
Pero: ab00 = ab. 100 = 100.ab
Por lo tanto aumentó: 100 ab – ab = 99.ab
Entonces: 99. ab = 2871
ab = 29 …… Rpta.
MCS, Jorge Enrique León Ardila
79. Ejercicio 5:
Si: abcd = 37.ab + 62.cd , hallar (a+b+c+d)
abcd = ab00 + cd = 100.ab + cd
Reemplazando, tenemos:
100.ab + cd = 37.ab + 62.cd
63.ab = 61.cd
ab 61
=
cd 63
Entonces:
ab = 61 y cd = 63
Luego:
a+b+c+d = 6+1+6+3 = 16 …… Rpta.
MCS, Jorge Enrique León Ardila
80. Ejercicio 6:
Hallar el valor de “a”, en: 13a0 (4) = 120
Convertimos 120 al sistema cuaternario
120 4
30 4
0 120 = 1320(4)
7 4
2
3 1
Reemplazando tenemos:
13a0 (4) = 1320 (4) a = 2 … Rpta.
MCS, Jorge Enrique León Ardila
81. Ejercicio 7:
Hallar el valor de “a”, en: 2a2a (7) = 1000
Aplicamos descomposición polinómica
3 2
2.7 + a.7 + 2.7 + a = 1000
2.343 + a.49 + 14 + a = 1000
686 + 49a + 14 + a = 1000
700 + 50a = 1000
50a = 300
a = 6 … Rpta.
MCS, Jorge Enrique León Ardila
82. Ejercicio 8:
Si los numerales: n23(m) ; p21 (n) ; n3m(6) y 1211(p)
están correctamente escritos, hallar m, n y p.
Aplicamos: BASE > CIFRA
n23(m) m > n y m > 3
p21(n) n > p y n > 2
n3m(6) 6 > n y 6 > m
1211(p) p > 2
Ordenando, tenemos: 6 > m > n > p> 2
5 4 3 … Rptas.
MCS, Jorge Enrique León Ardila
83. Ejercicio 9:
Expresar en el sistema octal, el mayor número de tres
cifras de base 6, dar la cifra de menor orden.
El mayor numero de tres cifras de base 6 es: 555(6)
Pasándolo a base 10:
2
555 = 5.6 + 5.6 + 5 = 180 + 30 + 5 = 215
(6)
Ahora al sistema octal (base 8):
215 8
26 8 555 (6) = 215 = 327(8)
7
3
2
La cifra de menor orden es 7 …. Rpta.
MCS, Jorge Enrique León Ardila
85. ESCUELA MILITAR DE AVIACION
ALGORITMIA.
La Algoritmia se puede definir como el estudio de los
Algoritmos.
Una definición más amplia nos dice que es la ciencia que
nos permite evaluar el efecto que tienen diferentes factores
externos sobre los algoritmos disponibles, de tal modo que
sea posible seleccionar el que más se ajuste a nuestras
circunstancias particulares.
MCS, Jorge Enrique León Ardila
86. ESCUELA MILITAR DE AVIACION
QUE ES UN ALGORITMO?
En matemáticas, ciencias de la
computación, y disciplinas
relacionadas, un algoritmo (del
latín, dixit algorithmus y éste a su
vez del matemático persa al-
Jwarizmi) es una lista bien
definida, ordenada y finita de
operaciones que permite hallar la
solución a un problema. Dado un
estado inicial y una entrada, a
través de pasos sucesivos y bien
definidos se llega a un estado final,
obteniendo una solución. Los
algoritmos son objeto de estudio de
la algoritmia.
MCS, Jorge Enrique León Ardila
87. ESCUELA MILITAR DE AVIACION
QUE ES UN ALGORITMO?
Su importancia radica en mostrar la manera de llevar a
cabo procesos y resolver mecánicamente problemas
matemáticos o de otro tipo. Al igual que las
funciones matemáticas, los algoritmos reciben una
entrada y la transforman en una salida,
comportándose como una caja negra. Sin embargo,
para que un algoritmo pueda ser considerado como tal,
debe ser determinista, tener un número finito de
instrucciones y debe acabar.
MCS, Jorge Enrique León Ardila
88. Algoritmos
¿Que es un algoritmo?
“Una lista de instrucciones donde se especifica una
sucesión de operaciones necesarias para resolver
cualquier problema de un tipo dado”.
Ejemplo sumar dos números
MCS, Jorge Enrique León Ardila
93. Algoritmos
Entrada
¿Qué se necesita para realizar los pasos?
Salida
¿Que se obtiene al final del algoritmo?
Tipos de datos
Números: enteros, reales, complejos
Texto: letras, palabras, frases
Otros
MCS, Jorge Enrique León Ardila
94. Algoritmos
Sirven para resolver un tipo de problema especifico.
Son secuencias de pasos concretos.
Requiere la definición de la entrada y la salida.
Adecuados para ser ejecutados por un computador
MCS, Jorge Enrique León Ardila
95. Algoritmos
¿Qué tiene que ver con la programación?
La programación consiste en crear programas de
computador que resuelvan problemas específicos.
Un programa de computador es la implementación de
un algoritmo.
MCS, Jorge Enrique León Ardila
96. Algoritmos
¿Qué es un programa de computador?
Es una secuencia de pasos a ejecutar
Los pasos están descritos en un lenguaje especial.
Este lenguaje se puede traducir al lenguaje del
computador.
Por lo general es un archivo de texto.
El texto escrito en dicho lenguaje se denomina el código
del programa.
MCS, Jorge Enrique León Ardila
97. Descripción de un algoritmo
Es necesario contar con formas de expresar
algoritmos
Diseño del algoritmo antes de codificar
Diseño del algoritmo de manera independiente del
lenguaje de programación
Diferentes alternativas
Pseudo - código
Diagramas de flujo
Diagramas de Nassi-Schneidermann
MCS, Jorge Enrique León Ardila
98. Descripción de un algoritmo
Pseudo – código
El algoritmo se expresa en lenguaje natural
Expresa de manera genérica los pasos del algoritmo
No provee detalles de la implementación particular del
código final
MCS, Jorge Enrique León Ardila
99. Descripción de un algoritmo
Diagramas de flujo
Presentan el algoritmo de manera gráfica.
De gran utilidad para seguir la “ruta” de un algoritmo.
Aplicables a muchas otras disciplinas.
MCS, Jorge Enrique León Ardila
100. Descripción de un algoritmo
Diagramas de flujo.
Un diagrama de flujo es una representación gráfica de un
algoritmo o de una parte del mismo. Los diagramas de flujo
ayudan en la comprensión de la operación de las estructuras de
control (Si, Mientras).
La ventaja de utilizar un algoritmo es que se lo puede construir
independientemente de un lenguaje de programación, pues al
momento de llevarlo a código se lo puede hacer en cualquier
lenguaje.
Dichos diagramas se construyen utilizando ciertos símbolos de
uso especial como son rectángulos, diamantes, óvalos, y
pequeños círculos, estos símbolos están conectados entre sí por
flechas, conocidas como líneas de flujo. A continuación se
detallarán estos símbolos.
MCS, Jorge Enrique León Ardila
101. Descripción de un algoritmo
Diagramas de flujo.
Nombre Símbolo Función
Representa el inicio y fin de un
programa. También puede representar
Terminal una parada o interrupción programada
que sea necesaria realizar en un
programa.
Cualquier tipo de introducción de datos
en la memoria desde los periféricos o
Entrada / salida
registro de información procesada en un
periférico.
Cualquier tipo de operación que pueda
originar cambio de valor, formato o
Proceso posición de la información almacenada
en memoria, operaciones aritméticas, de
transformaciones, etc.
MCS, Jorge Enrique León Ardila
102. Descripción de un algoritmo
Diagramas de flujo.
Nombre Símbolo Función
Indica operaciones lógicas o de
comparación entre datos (normalmente
dos) y en función del resultado de la
Decisión
misma determina (normalmente si y no)
cual de los distintos caminos alternativos
del programa se debe seguir
Sirve para enlazar dos partes
cualesquiera de un diagrama a través de
Conector Misma
un conector en la salida y otro conector
Página
en la entrada. Se refiere a la conexión
en la misma pagina del diagrama
Indicador de
Indica el sentido de la ejecución de las
dirección o línea
operaciones
de flujo
Se utiliza en ocasiones en lugar del
símbolo de salida. El dibujo representa
Salida
un pedazo de hoja. Es usado para
mostrar datos o resultados.
MCS, Jorge Enrique León Ardila
103. Descripción de un algoritmo
Diagramas de flujo.
Nombre Símbolo Función
Indica Decisión Múltiple. Dentro del
rombo se coloca un selector y este
Decisión Múltiple almacena un valor. Dependiendo del
valor que tome el selector, se tomará la
rama correspondiente.
Sirve para enlazar dos páginas de un
Conector de diagrama a través de un conector al final
Diferente Página de la página y otro conector en el
comienzo de la siguiente.
Mostrar Muestra salida de resultados en pantalla,
resultado en equivalente a la instrucción Escribir del
pantalla pseudocódigo.
Llamado a Se utiliza para indicar operaciones o
proceso o procesos que se ejecutarán por fuera de
subrutina la secuencia actual (subprograma).
MCS, Jorge Enrique León Ardila
104. Descripción de un algoritmo
Diagramas de flujo.
Reglas de los diagramas de flujo.
Debe de indicar claramente dónde inicia y dónde termina el diagrama.
Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin.
Organizar los símbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y
de izquierda a derecha.
No usar lenguaje de programación dentro de los símbolos.
Centrar el diagrama en la página.
Las líneas deben ser verticales u horizontales, nunca diagonales.
MCS, Jorge Enrique León Ardila
105. Descripción de un algoritmo
Diagramas de flujo.
Reglas de los diagramas de flujo.
No cruzar las líneas de flujo empleando los conectores adecuados sin hacer uso excesivo
de ellos.
MCS, Jorge Enrique León Ardila
106. Descripción de un algoritmo
Diagramas de flujo.
Reglas de los diagramas de flujo.
No fraccionar el diagrama con el uso excesivo de conectores.
Solo debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas líneas de
flujo a otras líneas.
MCS, Jorge Enrique León Ardila
107. Descripción de un algoritmo
Diagramas de flujo.
Reglas de los diagramas de flujo.
Las líneas de flujo deben de entrar a un símbolo por la parte superior y/o izquierda
y salir de él por la parte inferior y/o derecha.
Evitar que el diagrama sobrepase una página; de no ser posible, enumerar y emplear
los conectores correspondientes.
Usar lógica positiva, es decir, realizar procesos cuando es verdadera la condición y
expresar las condiciones de manera clara (por ej., "no es a =/= de b" ==> "a=b").
Comentar al margen únicamente cuando sea necesario.
MCS, Jorge Enrique León Ardila
108. Descripción de un algoritmo
Diagrama de Nassi-Schneidermann
También se denominan diagramas de caja.
Menos usado que el diagrama de flujo
Mas ordenado
Ocupa mucho espacio para representar algoritmos
complejos.
MCS, Jorge Enrique León Ardila
109. Construcción de un algoritmo
1. Definir el problema a resolver
2. Identificar las entradas del algoritmo
3. Identificar la salida del algoritmo
4. Definir los pasos a seguir para convertir las
entradas en la salida
5. Seguir los pasos y comprobar que el algoritmo
sea correcto analizando la salida.
6. Revisar los pasos y hacer las correcciones.
7. Resolver el problema.
MCS, Jorge Enrique León Ardila
110. Construcción de un algoritmo
Construcción de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
Escribir cada uno de los pasos del algoritmo en el lenguaje de
programación
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
MCS, Jorge Enrique León Ardila
111. Construcción de un algoritmo
Ejemplo:
Objetivo: Calcular el precio de una manzana
Entradas
Precio (en pesos) del kilo de manzanas [K]
Peso (en gramos) promedio de una manzana[P]
Salida
Precio (en pesos) de una manzana [M]
MCS, Jorge Enrique León Ardila
112. Construcción de un algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/1000
Calcular M = G x P
Devolver el valor de M
Fin.
MCS, Jorge Enrique León Ardila
113. Construcción de un algoritmo
Ingresar K y P
G=K/1000
M=G x P
Devolver M
MCS, Jorge Enrique León Ardila
114. Construcción de un algoritmo
Ingresar K y P
G=K/1000
M=G x P
Devolver M
MCS, Jorge Enrique León Ardila
115. Construcción de un algoritmo
Operaciones básicas
Entrada de datos
Salida de datos
Utilización de variables
Utilización de constantes
Aplicación de operadores
Asignación de valores
Combinación de operaciones básicas
Secuencial
Selectiva
Repetitiva
MCS, Jorge Enrique León Ardila
116. Entrada de datos
Los algoritmos son para solucionar tipos de problemas
Es imprescindible poder entregar entradas distintas en
cada ejecución
La entrada de datos se realiza mediante algún
dispositivo
MCS, Jorge Enrique León Ardila
117. Entrada de datos
Dispositivos de entrada
Teclado
Mouse
Botones
Censores de tacto
Cámaras digitales
Scanners
Archivos
MCS, Jorge Enrique León Ardila
119. Entrada de datos
Cada dispositivo tiene distintas características.
Por lo general, sirven para cosas distintas
Los sistemas definen un dispositivo de entrada por
defecto
Este dispositivo se denomina la entrada estándar.
En un computador suele ser el teclado.
MCS, Jorge Enrique León Ardila
120. Salida de datos
De nada sirve implementar un algoritmo si no
podemos saber su resultado.
Al finalizar el algoritmo (o durante), es imprescindible
obtener la información resultante de su ejecución.
La salida de datos se realiza mediante dispositivos.
MCS, Jorge Enrique León Ardila
121. Salida de datos
Dispositivos de salida
Pantalla
Impresora
Parlantes
Tableros luminosos
Motores
Tarjeta de red
Archivos
MCS, Jorge Enrique León Ardila
123. Salida de datos
Al igual que con la entrada, cada dispositivo tiene
finalidades distintas.
Los sistemas definen un dispositivo de salida por
defecto
Este dispositivo se denomina la salida estándar.
En un computador suele ser la pantalla.
MCS, Jorge Enrique León Ardila
124. Utilización de variables
Durante la ejecución del algoritmo, es importante
recordar los resultados parciales de cada paso.
Estos resultados se etiquetan con un nombre.
Al invocar con posterioridad ese nombre, recuperamos
el resultado parcial.
MCS, Jorge Enrique León Ardila
125. Utilización de variables
K es un dato de entrada, y también
Se considera una variable
G=K/1000
Esta variable se denomina G y se
utiliza para recordar el valor de un
gramo de manzana.
MCS, Jorge Enrique León Ardila
126. Utilización de variables
La principal característica de una variable es que su
valor puede cambiar en el tiempo.
Usualmente se compara con una caja donde se puede
almacenar una sola “cosa”.
Por lo general, las variables se definen con un tipo de
dato.
El tipo de dato restringe que tipo de “cosas” se pueden
guardar en las “cajas”.
MCS, Jorge Enrique León Ardila
127. Utilización de constantes
Además de las variables, un algoritmo requiere de
constantes.
A diferencia de las variables, su valor no puede cambiar
en el tiempo.
Las constantes también pueden recibir nombres para
mayor claridad.
Ej.: PI = 3.1415
MCS, Jorge Enrique León Ardila
128. Utilización de constantes
G=K/1000
La constante “1000” sirva para
transformar el valor Por kilo a un valor
por gramo
MCS, Jorge Enrique León Ardila
129. Aplicación de operadores
Para obtener resultados, generalmente es necesario
“transformar” las entradas en la salida.
Para esto se aplican operadores de distinta índole
Aritméticos ( + , - , * , / )
Lógicos (igual que, mayor que, menor que, y, o, no)
Etc.
Los operadores requieren de operandos y entregan
un resultado.
Por lo general, los operadores son unarios o
binarios.
MCS, Jorge Enrique León Ardila
131. Asignación de valores
El resultado de un operador se puede almacenar en
una variable.
Para esto se utiliza un tipo especial de operador.
Este es el operador de asignación.
Solo se pueden asignar valores a variables, no a
constantes
MCS, Jorge Enrique León Ardila
132. Asignación de valores
Operador de asignación
M=G * P
El resultado de GxP se asigna a la variable M
MCS, Jorge Enrique León Ardila
133. Combinación de operaciones básicas
Secuencial
Un conjunto de operaciones básicas pueden ser
ejecutadas en forma secuencial.
Una operación no inicia hasta que la anterior termina
MCS, Jorge Enrique León Ardila
134. Combinación de operaciones básicas
Diagrama de flujo
Diagrama de Nassi-Schneidermann
Ingresar K y P
Ingresar K y P Ingresar K=200 y P=250
G=K/1000 G tiene el valor 0,2
G=K/1000
M=G * P M tiene el valor 50
M=G * P
Devolver M
Devolver M
MCS, Jorge Enrique León Ardila
135. Combinación de operaciones básicas
Selectiva
Un algoritmo puede optar por ejecutar o no una
operación (SI –ENTONCES).
Un algoritmo puede optar por ejecutar una u otra
operación (SI-ENTONCES-SINO).
Esta decisión se basa en un condición.
Esta decisión controla el flujo del algoritmo.
Por esto, se denomina una estructura de control.
MCS, Jorge Enrique León Ardila
138. Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3
fin si
Ejecutar 4
fin
MCS, Jorge Enrique León Ardila
139. Combinación de operaciones básicas
Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
tomar el paraguas
fin si
tomar la mochila
tomar la micro
fin
MCS, Jorge Enrique León Ardila
142. Combinación de operaciones básicas
Inicio
Ejecutar 1
Ejecutar 2
si se cumple C entonces
Ejecutar 3a
si no
Ejecutar 3b
fin si
Ejecutar 4
fin
MCS, Jorge Enrique León Ardila
143. Combinación de operaciones básicas
Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar paraguas
si no
llevar la chaqueta
fin si
tomar la mochila
tomar el microcomputador
fin
MCS, Jorge Enrique León Ardila
144. Combinación de operaciones básicas
EJERCICIOS:
Desarrollar los siguientes ejercicios, Una
fila desarrolla el diagrama de flujo, la
segunda en pseudo-algoritmo y la tercera en
el algoritmo de Nassi Schneiderman.
1. Leer tres números y calcular cual es el
mayor de los tres. Imprimir el resultado.
2. Imprimir la suma y el producto de los
tres números leídos.
3. Leer el número N y determinar si el
número es par o impar, imprimir el
resultado.
MCS, Jorge Enrique León Ardila
145. Combinación de operaciones básicas
EJERCICIOS:
Desarrollar los siguientes ejercicios, Una
fila desarrolla el diagrama de flujo, la
segunda en pseudo-algoritmo y la tercera en
el agoritmo de Nassi Schneiderman.
1. Leer tres números y calcular cual es el
mayor de los tres. Imprimir el resultado.
2. Imprimir la suma y el producto de los
tres números leídos.
3. Leer el número N y determinar si el
número es par o impar, imprimir el
resultado.
MCS, Jorge Enrique León Ardila
146. Combinación de operaciones básicas
EJERCICIOS:
Desarrolle un algoritmo que calcule el cociente y
residuo de una división entera entre dos número
enteros positivos dados, sin utilizar el operador
de división (/) o multiplicación (*).
Solución:
1. Cociente igual a cero.
2. ¿Es dividendo menor a divisor? Salta a 6.
3. Resta dividendo menos divisor. Guardar
resultado como nuevo dividendo.
4. Suma 1 al cociente.
5. Ve a 2.
6. Residuo = dividendo.
7. Imprime cociente y residuo.
MCS, Jorge Enrique León Ardila
147. Combinación de operaciones básicas
Estructura de control selectiva
Una condición es cualquier proposición lógica que tenga
un valor verdadero o falso definido.
Este esquema selectivo se denomina “decision binaria”.
¿Y si hay más de dos opciones?
MCS, Jorge Enrique León Ardila
148. Combinación de operaciones básicas
Estructura de control selectiva
Toda decisión se puede llevar a un esquema de decisión
binaria.
Basta con decidir entre una alternativa y todo el resto
Si se elige “el resto”, se decide entre una alternativa y el
resto del resto.
Etc…
MCS, Jorge Enrique León Ardila
149. Combinación de operaciones básicas
1
x mayor que 0 x menor que 0
x?
x igual a 0
2a 2b 2c
3
MCS, Jorge Enrique León Ardila
150. Combinación de operaciones básicas
1
si no
x mayor que 0?
x menor que 0?
no si
2a 2b 2c
3
MCS, Jorge Enrique León Ardila
151. Combinación de operaciones básicas
1
x mayor que 0?
si no
x menor que 0?
no si
2a
2b 2c
3
MCS, Jorge Enrique León Ardila
152. Combinación de operaciones básicas
Inicio
Ejecutar 1
Si x es mayor que cero entonces
Ejecutar 2a
Si no
Si x es menor que cero entonces
Ejecutar 2c
Si no
Ejecutar 2b
fin si
fin si
Ejecutar 3
fin
MCS, Jorge Enrique León Ardila
153. Combinación de operaciones básicas
Ejemplo: levantarse en la mañana
Inicio
salir de la cama
ducharse
tomar desayuno
si esta lloviendo entonces
llevar paraguas
si no esta lloviendo pero hace frío
llevar la chaqueta
si no
llevar un chaleco
fin si
tomar la mochila
tomar el microcomputador
fin MCS, Jorge Enrique León Ardila
154. Combinación de operaciones básicas
Estructura de selección múltiple
Para algunos casos se puede utilizar un esquema
selectivo no binario (EN EL CASO DE)
Ejemplo: ingreso de opción de menú de un cajero
automático
Si el usuario presionó el botón 1, hacer un giro
Si el usuario presionó el botón 2, entregar saldo
Si el usuario presionó el botón 3, cambiar la clave
Etc.
MCS, Jorge Enrique León Ardila
157. Combinación de operaciones básicas
Inicio
en el caso que el botón presionado
sea el 1
hacer giro
sea el 2
entregar saldo
sea el 3
cambiar clave
…
En cualquier otro caso
Error
fin caso
fin
MCS, Jorge Enrique León Ardila
158. Combinación de operaciones básicas
Repetitiva
Además de combinar operaciones en forma secuencial y
selectiva, se puede repetir la ejecución de una operación
cuantas veces se desee.
Existen varios esquemas
Repetir MIENTRAS se cumpla una condición.
Repetir HASTA QUE se cumpla una condición.
Repetir un número de veces.
MCS, Jorge Enrique León Ardila
159. Combinación de operaciones básicas
MIENTRAS
Se repite una operación mientras una condición sea
verdadera.
Al dejar de serlo, se rompe el ciclo
Si la condición nunca es falsa, se tiene un ciclo infinito.
MCS, Jorge Enrique León Ardila
162. Combinación de operaciones básicas
Inicio
ejecutar 1
mientras se cumpla la condición
ejecutar 2
fin mientras
ejecutar 3
fin
MCS, Jorge Enrique León Ardila
163. Combinación de operaciones básicas
Ejemplo validar ingreso de valor positivo
Inicio
definir variable x
asignar el valor -1 a x
mientras x sea menor que cero
ingresar x por teclado
fin mientras
mostrar valor de x
fin
MCS, Jorge Enrique León Ardila
164. Combinación de operaciones básicas
HASTA QUE
Se repite la ejecución de una operación hasta que se
cumpla una condición.
La principal diferencia con MIENTRAS es que la
operación se ejecuta al menos una vez.
MCS, Jorge Enrique León Ardila
167. Combinación de operaciones básicas
Inicio
ejecutar 1
repetir
ejecutar 2
hasta que se cumpla condición
ejecutar 3
fin
MCS, Jorge Enrique León Ardila
168. Combinación de operaciones básicas
Ejemplo
Mismo ejemplo anterior
Inicio
definir variable x
repetir
ingresar x por teclado
Hasta que x sea mayor que cero
mostrar valor de x
fin
MCS, Jorge Enrique León Ardila
169. Combinación de operaciones básicas
EJERCICIOS.
1. Produzca un diagrama que lea las edades de 10
personas. Presente en pantalla la mayor edad y
la menor edad leída.
2. Escriba un diagrama que lea un entero N y
calcule el resultado de la siguiente serie:
1–1/2+1/3-1/4+…+- 1/N
MCS, Jorge Enrique León Ardila
170. Combinación de operaciones básicas
Repetir un número fijo de veces
Muy útil cuando se sabe el numero de repeticiones a
ejecutar.
Por lo general se define una variable que sirve de
contador
El contador mantiene el número de cada iteración.
También se puede definir el incremento del contador en
cada iteración.
MCS, Jorge Enrique León Ardila
173. Combinación de operaciones básicas
Inicio
ejecutar 1
desde contador inicial hasta
contador final
ejecutar 2
fin desde
ejecutar 3
fin
MCS, Jorge Enrique León Ardila
174. Combinación de operaciones básicas
5
Ejemplo
i
i 0
Inicio
definir variable “sumatoria”
asignar el valor 0 a “sumatoria”
desde i igual a 0 hasta i igual a 5
sumatoria = sumatoria + i
fin desde
mostrar valor de “sumatoria”
fin
MCS, Jorge Enrique León Ardila
175. Combinación de operaciones básicas
Combinación de estructuras de control seriales,
selectivas y repetitivas
Cualquier combinación es posible
Pueden existir estructuras anidadas
Es importante definir el comienzo y el termino de cada
estructura
MCS, Jorge Enrique León Ardila
176. Vectores y Matrices
Vectores: Introducción.
Con lo aprendido hasta ahora resolvamos los
siguientes problemas:
Dados 50 números enteros, obtener el promedio de
ellos. Mostrar por pantalla dicho promedio y los
números ingresados que sean mayores que él.
Dados n números, obtener e imprimir la suma de todos
ellos. A continuación mostrar por pantalla todos los
sumandos.
177. Vectores y Matrices
Es posible resolver estos problemas? Por qué?
Una de las principales dificultades que se observan
con estos problemas es que para la resolución de
ambos es necesario almacenar la totalidad de los
datos a procesar.
No sería eficiente crear n cantidad de variables para
guardar estos datos.
Para realizar programas y/o algoritmos que nos
permitan resolver los problemas planteados,
usaremos una nueva estructura de datos denominada
vectores.
178. Vectores y Matrices
Una estructura de datos es un conjunto de datos con
un cierto orden.
Las estructuras de datos pueden ser dinámicas o
estáticas.
Estáticas: aquellas a las que se le asigna una cantidad fija
de memoria de acuerdo a lo definido en la declaración
de la variable.
Dinámicas: son aquellas cuyo tamaño en memoria
aumenta o disminuye en tiempo de ejecución de
acuerdo a las necesidades del programa.
179. Vectores y Matrices
Reales
Simples Enteros
Char
Tipos de Boolean
Estructuras Enumerados
Estáticas
String
arrays
Complejas set
record
Dinámicas (punteros) file
180. Vectores
Qué es un vector?
Un vector (o arreglo unidimensional) es una
estructura de datos en la cual se almacena un
conjunto de datos de un mismo tipo. Es decir que un
arreglo es una lista de n elementos que posee las
siguientes características:
se identifica por un único nombre de variable.
sus elementos se almacenan en posiciones contiguas de
memoria.
se accede a cada uno de sus elementos en forma
aleatoria.
181. Vectores
Elementos
Mi_vector 9 5 6 2 4 8 3
Nombre de
la variable Posición : 1
Contenido : Mi_vector[1] = 9
182. Vectores
Ejemplos:
Ejemplo 1. Resolvamos este primer ejemplo:
Cargar 10 elementos en un vector, sumarlos y mostrar el
resultado por pantalla.
Pasos para resolver este problema:
Leer un vector de 10 elementos.
Sumar los elementos.
Mostrar el resultado de la suma por pantalla.
183. Vectores
Ejemplo 1 - Diagrama de Jackson
Ejemplo 1
Lectura del Suma de Muestra
arreglo los elementos resultados
184. Vectores - Ejemplo1
Declaración del tipo del arreglo
Program Ejemplo1; {Version 1}
type
sumandos = array[1..10] of integer;
var Declaración de la variable arreglo
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
read(vec_sumandos[i] ) Lectura de los elementos del arreglo
for i := 1 to 10 do
suma:= suma +vec_sumandos[i];
writeln (´La suma de los números es´, suma);
end. Suma de los elementos
185. Vectores - Ejemplo1
Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
begin
read(vec_sumandos[i] )
suma:= suma +vec_sumandos[i];
end;
writeln (´La suma de los números es´, suma);
end.
186. Vectores - Declaración
Como ya dijimos anteriormente, los arreglos son
estructuras de datos, por lo tanto las mismas
deben ser declaradas.
Esta operación se realiza dependiente del
lenguaje de programación en que se trabaje.
Igualmente, se deben definir las variables que se
utilicen en el programa.
187. Vectores - Operaciones
Con la siguiente declaración:
type
T_Notas = array [1..30] of integer;
var
Notas: T_Notas;
Lectura de un vector.
for i:= 1 to 30 do
read(Notas[i] )
188. Vectores - Operaciones
Escritura de un vector.
for i:= 1 to 30 do
writeln(Notas[i] )
Copia de vectores.
for i:= 1 to 30 do
Aux_Notas[i]:= Notas[i];
o bien: Aux_Notas:=Notas; (si el lenguaje lo permite).
189. Vectores - Ejemplos resueltos
Ej1- Dados 50 números enteros, obtener el promedio de ellos.
Mostrar por pantalla dicho promedio y los números ingresados
que sean mayores que el mismo.
Ej2 - Dados n números, obtener e imprimir la suma de todos
ellos. A continuación mostrar por pantalla todos los sumandos.
190. Vectores - Ejemplos resueltos
Programa Ej1; for i:= 1 to max do
Definir constantes: read(numeros[i] )
suma:= suma +numeros[i];
max = 50;
Definir vectores: Promedio:= suma/max;
t_numeros = arreglo(max) entero;
Definir variables: Escribir (´El promedio es ´,Promedio);
suma, i : entero Para i := 1 to 50 haga
promedio: real; Si numeros[i] > promedio
Entonces
numeros : t_numeros;
Escriba (´El número´, numeros[i],
Inicio ´es mayor al promedio´);
suma := 0; Fin
191. Vectores - Ejemplos resueltos
for i:= 1 to max do
begin
read(numeros[i] )
suma:= suma +numeros[i];
end;
Promedio:= suma/max;
writeln (´El promedio es ´,Promedio´);
for i := 1 to 50 do
if numeros[i] > promedio
then
writeln (´El número´, numeros[i], ´es mayor al
promedio´);
end.
192. Vectores - Ejemplos resueltos
Program Ej2; Para i:= 1 to n haga
Definir constantes lea(numeros[i] )
max = 100;
suma:= suma +numeros[i];
Definir vectores
t_numeros = array[1.. max] of integer;
Definir variables writeln (´La suma es ´,suma);
suma, i, n : integer;
promedio: real; Para i := 1 to n haga
numeros : t_numeros;
Escriba (´Sumando´, i, ´es´, numeros[i])
Inicio
suma := 0; Fin.
write (´Ingrese cantidad de #s a sumar: ´);
Leer n *máximo 100 números*
193. Vectores - Ejemplos resueltos
for i:= 1 to n do
begin
read(numeros[i] )
suma:= suma +numeros[i];
end;
writeln (´La suma es ´,suma´);
for i := 1 to n do
writeln (´El sumando´, i, ´es´, numeros[i]);
end.
194. Vectores - Vectores Paralelos
Dos o más arreglos que utilizan el mismo subíndice para
acceder a elementos de distintos arreglos, se denominan
arreglos paralelos. Estos arreglos pueden procesarse
simultáneamente.
Ejercicio:
Se tienen dos arreglos. El primero contiene nombres de
personas y el segundo contiene los sexos de las personas del
primer arreglo, codificados como ´f´ femenino y ´m´
masculino. Obtener a partir de estos otros dos arreglos, el
primero de los cuales debe contener todos los nombres de los
varones y el segundo, el nombre de todas las mujeres
195. Matrices
Resolvamos el siguiente problema:
Un instituto desea controlar los resultados de los
alumnos en las distintas asignaturas de la facultad
de Ingeniería. El programa debe ingresar las
calificaciones de los alumnos y visualizar en
pantalla la media de notas por alumno y la media
de notas por asignatura.
Las asignaturas están codificadas de 1 a 6 y hay 30
alumnos.
196. Matrices
Es posible resolver este problema con lo visto
hasta ahora?
Para realizar el anterior programa , debemos
trabajar con una tabla (o matriz o arreglo
bidimensional)
197. Matrices
Mi_Matriz 9 5 6 2 4 8 3
9 5 6 2 4 8 3
9 5 6 2 4 8 3
Nombre de
la variable
Posición : 3,1
Contenido : Mi_vector[3,1] = 9
198. Matrices - Declaraciones
Al igual que con las vectores, las matrices deben ser
declaradas en el lenguaje en que se utilicen.
Ejemplos de declaraciones:
Ej1:
type
T_matriz = array[ 1..10, 1..10 ] of real;
var
Matriz: valores;
199. Matrices - Operaciones
Con la siguiente declaración:
type
T_matriz = array[ 1..10, 1..10 ] of real;
var
Matriz: valores;
Lectura de una matriz.
for i:= 1 to 10 do
for j:= 1 to 10 do
readln(Matriz[i,j] )
200. Matrices - Operaciones
Escritura de una matriz.
for i:= 1 to 10 do
for j:= 1 to 10 do
writeln(Matriz[i,j] )
El recorrido de las matrices puede realizarse tanto por filas como por
columnas, de acuerdo al problema a resolver.
201. Matrices - Ejemplos resueltos
Ej3.
Un instituto desea controlar los resultados de los alumnos en las distintas
asignaturas de la facultad de Ingeniería. El programa debe ingresar las
calificaciones de los alumnos y visualizar en pantalla la media de notas
por alumno y la media de notas por asignatura.
Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.
202. Matrices - Ejemplos resueltos
Program Ej3;
const
max_fila = 6 ;
max_col = 30;
type
t_tabla = array[1.. max_fila,max_col ] of char;
var
i, j: integer;
tabla: t_tabla;
suma: integer;
prom_al, prom_mat:real;
begin
for i:= 1 to max_fila do
for j:= 1 to max_fila do
writeln(´Ingrese la nota para la materia´, i, ´del alumno´, j);
203. Matrices - Ejemplos resueltos
for i:= 1 to max_fila do
begin
suma:=0;
for j:= 1 to max_col do
suma:= suma + tabla[i,j];
prom_mat [i] : =suma /i;
end;
for i:= 1 to max_col do
begin
suma:=0;
for j:= 1 to max_fila do
suma:= suma + tabla[i,j];
prom_al [i] : =suma /i;
end;
204. Matrices - Ejemplos resueltos
writeln (´La suma es ´,suma´);
for i := 1 to max_fila do
writeln (´El promedio de calificaciones para la asignatura´, i, ´es´,
prom_mat[i]);
end.
for j := 1 to max_col do
writeln (´El promedio de calificaciones para el alumno´, j, ´es´,
prom_al[j]);
end.