SlideShare uma empresa Scribd logo
1 de 204
Baixar para ler offline
INTRODUCCION A LA TECNOLOGIA

                    MCC, Jorge Enrique León Ardila

                                             2012



22/08/2012                                           1
HISTORIA DE LA TECNOLOGIA



                       VIDEO HISTORIA DE LA TECNOLOGIA




      MCS, Jorge Enrique León Ardila
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
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
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
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
El ABACO


Tendria 5000 años de
antigüedad
Es la primera
herramienta para
calcular conocida
Blaise Pascal (1623-1662)
Matemático Francés
Construyó la primera máquina
de sumar en 1642
Joseph Marie Jacquard
Utilizó tarjetas perforadas
Inventó el Jacquard loom, 1801
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ó
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ó.
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”
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
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
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
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
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)
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
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
ENIAC (cont.)
ENIAC (cont.)
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.
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.
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.
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.
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
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
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
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
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
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
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.
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.
El futuro...?
Mecánica Popular 1954
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.
Historia de Internet
 Las primeras redes fueron centralizadas. Si uno de ellos se
  estropeaba, toda la red dejaba de funcionar.
 1969DARPA (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.
 1971Se 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).
Historia de Internet
• 1972 Se crea la primera Red de comunicaciones civil, llamada
  ARPANET, lo que significó el comienzo de Internet.
• 1973La DARPA busca un modo de intercambiar “paquetes” y crea
  los protocolos de comunicaciones.
 1974Se 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).
 1983ARPANET cambia el protocolo NCP por TCP/IP y
  estandariza el protocolo, el cual es el usado hoy día habitualmente.
Historia de Internet
 1989Se crea el protocolo de transmisión HTTP, el lenguaje de
  documentos HTML y el concepto de los URL.
 1990Se construye el primer cliente Web, llamado
  WorldWideWeb (WWW), y el primer servidor web.
 1995Se 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.
 2005El 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.
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.
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.
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
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
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
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
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.
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).
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).
SISTEMAS OPERATIVOS
                        DEFINICION


            Bits
                       S.O.




8/22/2012          JORGE ENRIQUE LEON ARDILA   48
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
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
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
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
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
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
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
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
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
Sistemas de
Numeración

  MCS, Jorge Enrique León Ardila
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
¿ 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
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
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
¿ 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
¿ 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
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
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
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
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
Mas ejemplos:

                              3                  2
    2143 (5) = 2.5 + 1.5 + 4.5 + 3

                              2
     124 (6) = 1.6 + 2.6 + 4
                              2
     346 (8) = 3.8 + 4.8 + 6
                                3                    2
    23A5(11) = 2.11 + 3.11 + 10.11 + 5

      54 (8) = 5.8 + 4



                MCS, Jorge Enrique León Ardila
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
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
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
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
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
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
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
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
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
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
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
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
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
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
MCS, Jorge Enrique León Ardila
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
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
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
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
Algoritmos




        MCS, Jorge Enrique León Ardila
Algoritmos
                                   1.    5+1=6
   491                             2.
                                   3.
                                         Anotar 6
                                         2+9=11
  + 25                             4.
                                   5.
                                         Anotar 1 y guardar 1
                                         4+0=4

   516                             6.
                                   7.
                                         4+1=5
                                         Anotar 5
                                   8.    El resultado es 516


        MCS, Jorge Enrique León Ardila
Algoritmos

   V                                            +

 + F                                    V
                                        V
                                            V
                                            F
                                                V
                                                F

  F                                     F
                                        F
                                            V
                                            F
                                                F
                                                F



       MCS, Jorge Enrique León Ardila
Algoritmos
            san
         + sano
        sansano
        MCS, Jorge Enrique León Ardila
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Construcción de un algoritmo
                        Ingresar K y P



                           G=K/1000



                            M=G x P



                          Devolver M




        MCS, Jorge Enrique León Ardila
Construcción de un algoritmo

                   Ingresar K y P

                      G=K/1000

                       M=G x P

                     Devolver M




        MCS, Jorge Enrique León Ardila
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
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
Entrada de datos
 Dispositivos de entrada
   Teclado
   Mouse
   Botones
   Censores de tacto
   Cámaras digitales
   Scanners
   Archivos




                MCS, Jorge Enrique León Ardila
Entrada de datos




        MCS, Jorge Enrique León Ardila
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
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
Salida de datos
 Dispositivos de salida
   Pantalla
   Impresora
   Parlantes
   Tableros luminosos
   Motores
   Tarjeta de red
   Archivos




                MCS, Jorge Enrique León Ardila
Salida de datos
                              C:




         MCS, Jorge Enrique León Ardila
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
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
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
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
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
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
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
Aplicación de operadores
                             operandos




                            M=G * P


                              operador




        MCS, Jorge Enrique León Ardila
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
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
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
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
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
Combinación de operaciones básicas
                         1


                         2



                        C

                                          3



                         4                    C: Condición


         MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                                       1

                                       2


                            C
        si                                        no

             3

                                      4



                                                  C: Condición
                 MCS, Jorge Enrique León Ardila
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
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
Combinación de operaciones básicas
                            1


                            2


              si                         no
                           C


       3a                                     3b



                             4                C: Condición

            MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                                    1

                                    2


                         C
        si                                          no

             3a                                3b

                                   4



                                                    C: Condición
              MCS, Jorge Enrique León Ardila
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
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
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
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
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
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
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
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
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
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
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
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
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
Combinación de operaciones básicas

                                                 etoc
                             Botón

  1      2          3



 giro   saldo     clave        …
                                                        error




                                salir

                MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                                           Botón

  1       2               3                          etoc




  giro   saldo            clave                …   error




                              salir


              MCS, Jorge Enrique León Ardila
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
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
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
Combinación de operaciones básicas
                              1


                                      no
                           C

                         si


                              2




                              3

                                           C: Condición
          MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                               1

                              C




                                     2




                               3

                                           C: Condición
          MCS, Jorge Enrique León Ardila
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
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
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
Combinación de operaciones básicas
                            1




                            2


               no
                           C
                                si

                            3

                                           C: Condición
          MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                               1




                                     2




                               C

                               3

                                           C: Condición
          MCS, Jorge Enrique León Ardila
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
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
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
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
Combinación de operaciones básicas
                                     1




                 Inicio contador, fin contador




                                    2



                                    3

          MCS, Jorge Enrique León Ardila
Combinación de operaciones básicas
                               1

             Inicio contador, fin contador




                                     2




                               3


          MCS, Jorge Enrique León Ardila
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
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
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
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.
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.
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.
Vectores y Matrices
                                        Reales
                              Simples   Enteros
                                        Char
 Tipos de                               Boolean
 Estructuras                            Enumerados
               Estáticas


                                         String
                                         arrays
                            Complejas    set
                                         record
               Dinámicas (punteros)      file
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.
Vectores
                        Elementos


      Mi_vector     9 5 6 2 4 8 3



     Nombre de
      la variable            Posición : 1
                    Contenido : Mi_vector[1] = 9
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.
Vectores
 Ejemplo 1 - Diagrama de Jackson


                       Ejemplo 1




        Lectura del   Suma de         Muestra
        arreglo       los elementos   resultados
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
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.
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.
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] )
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).
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.
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
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.
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*
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.
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
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.
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)
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
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;
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] )
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.
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.
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);
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;
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.

Mais conteúdo relacionado

Mais procurados

Mais procurados (15)

LINEA DEL TIEMPO TECNOLOGIA
LINEA DEL TIEMPO TECNOLOGIALINEA DEL TIEMPO TECNOLOGIA
LINEA DEL TIEMPO TECNOLOGIA
 
Línea de tiempo de la tecnología
Línea de tiempo de la tecnologíaLínea de tiempo de la tecnología
Línea de tiempo de la tecnología
 
Avances tecnológicos más importantes producidos desde el siglo
Avances tecnológicos más importantes producidos desde el sigloAvances tecnológicos más importantes producidos desde el siglo
Avances tecnológicos más importantes producidos desde el siglo
 
Linea de tiempo
Linea de tiempoLinea de tiempo
Linea de tiempo
 
Linea de tiempo .avances tecnologicos.
Linea de tiempo .avances tecnologicos.Linea de tiempo .avances tecnologicos.
Linea de tiempo .avances tecnologicos.
 
La Historia Del Computador
La Historia Del ComputadorLa Historia Del Computador
La Historia Del Computador
 
Tics
TicsTics
Tics
 
Historiainformatica
HistoriainformaticaHistoriainformatica
Historiainformatica
 
Historiainformatica
HistoriainformaticaHistoriainformatica
Historiainformatica
 
Historiainformatica
HistoriainformaticaHistoriainformatica
Historiainformatica
 
Historia de la informática
Historia de la informáticaHistoria de la informática
Historia de la informática
 
La informatica
La informaticaLa informatica
La informatica
 
Presentación1
Presentación1Presentación1
Presentación1
 
Objetos tecnológicos desde 1900
Objetos tecnológicos desde 1900Objetos tecnológicos desde 1900
Objetos tecnológicos desde 1900
 
Evolucion historica de la informatica
Evolucion historica de la informaticaEvolucion historica de la informatica
Evolucion historica de la informatica
 

Destaque (8)

El impacto de internet en nuestras vidas
El impacto de internet en nuestras vidasEl impacto de internet en nuestras vidas
El impacto de internet en nuestras vidas
 
Von Neumann
Von NeumannVon Neumann
Von Neumann
 
Personajes historicos de la computacion
Personajes historicos de la computacionPersonajes historicos de la computacion
Personajes historicos de la computacion
 
Estudio de linea base ambiental
Estudio de linea base ambientalEstudio de linea base ambiental
Estudio de linea base ambiental
 
Alan Turing
Alan TuringAlan Turing
Alan Turing
 
Pioneros de la computacion y sus aportaciones
Pioneros de la computacion y sus aportacionesPioneros de la computacion y sus aportaciones
Pioneros de la computacion y sus aportaciones
 
LINEA DE BASE EIA
LINEA DE BASE EIALINEA DE BASE EIA
LINEA DE BASE EIA
 
2.1.3 línea base ambiental
2.1.3 línea base ambiental2.1.3 línea base ambiental
2.1.3 línea base ambiental
 

Semelhante a Introduccion a la tecnologia (20)

Introducion
IntroducionIntroducion
Introducion
 
Historia De la Informatica
Historia De la InformaticaHistoria De la Informatica
Historia De la Informatica
 
El computador
El computadorEl computador
El computador
 
00 historia de computacion
00 historia de computacion00 historia de computacion
00 historia de computacion
 
00 historia
00 historia00 historia
00 historia
 
00 historia
00 historia00 historia
00 historia
 
Computacion
ComputacionComputacion
Computacion
 
Historia de la computadora
Historia de la computadoraHistoria de la computadora
Historia de la computadora
 
00 historia
00 historia00 historia
00 historia
 
00 historia
00 historia00 historia
00 historia
 
tema 1m clase1
tema 1m clase1tema 1m clase1
tema 1m clase1
 
Historia
HistoriaHistoria
Historia
 
Computacion
ComputacionComputacion
Computacion
 
Historia de la Computación
Historia de la ComputaciónHistoria de la Computación
Historia de la Computación
 
Historia de la computacion
Historia de la computacionHistoria de la computacion
Historia de la computacion
 
Historia de la computacion
Historia de la computacionHistoria de la computacion
Historia de la computacion
 
Linea de tiempo de la computadora
Linea de tiempo de la computadoraLinea de tiempo de la computadora
Linea de tiempo de la computadora
 
00 historia
00 historia00 historia
00 historia
 
Historia de la comútación
Historia de la comútaciónHistoria de la comútación
Historia de la comútación
 
Historia del computador
Historia del computadorHistoria del computador
Historia del computador
 

Introduccion a la tecnologia

  • 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
  • 8. Blaise Pascal (1623-1662) Matemático Francés Construyó la primera máquina de sumar en 1642
  • 9. Joseph Marie Jacquard Utilizó tarjetas perforadas Inventó el Jacquard loom, 1801
  • 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.  1969DARPA (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.  1971Se 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. • 1973La DARPA busca un modo de intercambiar “paquetes” y crea los protocolos de comunicaciones.  1974Se 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).  1983ARPANET cambia el protocolo NCP por TCP/IP y estandariza el protocolo, el cual es el usado hoy día habitualmente.
  • 38. Historia de Internet  1989Se crea el protocolo de transmisión HTTP, el lenguaje de documentos HTML y el concepto de los URL.  1990Se construye el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web.  1995Se 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.  2005El 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).
  • 48. SISTEMAS OPERATIVOS DEFINICION Bits S.O. 8/22/2012 JORGE ENRIQUE LEON ARDILA 48
  • 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
  • 58. Sistemas de Numeración MCS, Jorge Enrique León Ardila
  • 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
  • 69. Mas ejemplos: 3 2 2143 (5) = 2.5 + 1.5 + 4.5 + 3 2 124 (6) = 1.6 + 2.6 + 4 2 346 (8) = 3.8 + 4.8 + 6 3 2 23A5(11) = 2.11 + 3.11 + 10.11 + 5 54 (8) = 5.8 + 4 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
  • 84. 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
  • 89. Algoritmos MCS, Jorge Enrique León Ardila
  • 90. Algoritmos 1. 5+1=6 491 2. 3. Anotar 6 2+9=11 + 25 4. 5. Anotar 1 y guardar 1 4+0=4 516 6. 7. 4+1=5 Anotar 5 8. El resultado es 516 MCS, Jorge Enrique León Ardila
  • 91. Algoritmos V + + F V V V F V F F F F V F F F MCS, Jorge Enrique León Ardila
  • 92. Algoritmos san + sano sansano 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
  • 118. Entrada de datos 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
  • 122. Salida de datos C: 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
  • 130. Aplicación de operadores operandos M=G * P operador 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
  • 136. Combinación de operaciones básicas 1 2 C 3 4 C: Condición MCS, Jorge Enrique León Ardila
  • 137. Combinación de operaciones básicas 1 2 C si no 3 4 C: Condición 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
  • 140. Combinación de operaciones básicas 1 2 si no C 3a 3b 4 C: Condición MCS, Jorge Enrique León Ardila
  • 141. Combinación de operaciones básicas 1 2 C si no 3a 3b 4 C: Condición 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
  • 155. Combinación de operaciones básicas etoc Botón 1 2 3 giro saldo clave … error salir MCS, Jorge Enrique León Ardila
  • 156. Combinación de operaciones básicas Botón 1 2 3 etoc giro saldo clave … error salir 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
  • 160. Combinación de operaciones básicas 1 no C si 2 3 C: Condición MCS, Jorge Enrique León Ardila
  • 161. Combinación de operaciones básicas 1 C 2 3 C: Condición 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
  • 165. Combinación de operaciones básicas 1 2 no C si 3 C: Condición MCS, Jorge Enrique León Ardila
  • 166. Combinación de operaciones básicas 1 2 C 3 C: Condición 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
  • 171. Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3 MCS, Jorge Enrique León Ardila
  • 172. Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3 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.