introduccion a la tecnologia

204
INTRODUCCION A LA TECNOLOGIA MCC, Jorge Enrique León Ardila 2012 22/08/2012 1

Upload: irmay

Post on 18-Jun-2015

661 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Introduccion a la tecnologia

INTRODUCCION A LA TECNOLOGIA

MCC, Jorge Enrique León Ardila

2012

22/08/2012 1

Page 2: Introduccion a la tecnologia

HISTORIA DE LA TECNOLOGIA

MCS, Jorge Enrique León Ardila

VIDEO HISTORIA DE LA TECNOLOGIA

Page 3: Introduccion a la tecnologia

HISTORIA DE LA TECNOLOGIA

MCS, Jorge Enrique León Ardila

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.

Page 4: Introduccion a la tecnologia

HISTORIA DE LA TECNOLOGIA

MCS, Jorge Enrique León Ardila

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.

Page 5: Introduccion a la tecnologia

HISTORIA DE LA TECNOLOGIA

MCS, Jorge Enrique León Ardila

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.

Page 6: Introduccion a la tecnologia

HISTORIA DE LA TECNOLOGIA

MCS, Jorge Enrique León Ardila

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.

Page 7: Introduccion a la tecnologia

El ABACO

Tendria 5000 años de antigüedad

Es la primera herramienta para calcular conocida

Page 8: Introduccion a la tecnologia

Blaise Pascal (1623-1662)

Matemático Francés

Construyó la primera máquina

de sumar en 1642

Page 9: Introduccion a la tecnologia

Joseph Marie Jacquard

Utilizó tarjetas perforadas

Inventó el Jacquard loom, 1801

Page 10: Introduccion a la tecnologia

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ó

Page 11: Introduccion a la tecnologia

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ó.

Page 12: Introduccion a la tecnologia

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”

Page 13: Introduccion a la tecnologia

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

Page 14: Introduccion a la tecnologia

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

Page 15: Introduccion a la tecnologia

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

Page 16: Introduccion a la tecnologia

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

Page 17: Introduccion a la tecnologia

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)

Page 18: Introduccion a la tecnologia

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

Page 19: Introduccion a la tecnologia

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

Page 20: Introduccion a la tecnologia

ENIAC (cont.)

Page 21: Introduccion a la tecnologia

ENIAC (cont.)

Page 22: Introduccion a la tecnologia

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.

Page 23: Introduccion a la tecnologia

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.

John von Neumann (cont.)

Page 24: Introduccion a la tecnologia

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.

Page 25: Introduccion a la tecnologia

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.

Page 26: Introduccion a la tecnologia

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

Page 27: Introduccion a la tecnologia

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

Page 28: Introduccion a la tecnologia

A comienzo de los 70 el lenguaje C es desarrollado por Brian Kernighan y Dennis Ritchie en los laboratorios Bell de AT&T

Lenguajes de Programación de Alto Nivel (cont.)

Page 29: Introduccion a la tecnologia

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

Page 30: Introduccion a la tecnologia

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

Page 31: Introduccion a la tecnologia

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

Page 32: Introduccion a la tecnologia

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.

Page 33: Introduccion a la tecnologia

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.

Page 34: Introduccion a la tecnologia

El futuro...?

Mecánica Popular 1954

Page 35: Introduccion a la tecnologia

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.

Page 36: Introduccion a la tecnologia

Las primeras redes fueron centralizadas. Si uno de ellos se estropeaba, toda la red dejaba de funcionar.

1969DARPA (Departamento de defensa americano) creó una red sin nodos centralizados. Uno de los problemas era que muchos de los paquetes enviados no llegaba al destino o llegaba defectuoso, pero se volvían a mandar.

1971Se creó el primer programa para enviar correo electrónico. Combinaba un programa interno de correo electrónico y un programa de transferencia de ficheros. Se presentó el primer “Protocolo para la transmisión de archivos en Internet”, que sentó las bases para el futuro protocolo de transmisión de archivos (FTP).

Historia de Internet

Page 37: Introduccion a la tecnologia

• 1972 Se crea la primera Red de comunicaciones civil, llamada ARPANET, lo que significó el comienzo de Internet.

• 1973La DARPA busca un modo de intercambiar “paquetes” y crea los protocolos de comunicaciones.

1974Se diseña un nuevo protocolo, el TCP (Transmission Control Protocol), que se convirtió en el estándar aceptado. Permitió a las diversas redes conectarse en una verdadera red de redes alrededor del mundo. También se crea el sistema Ethernet para enlazar a través de un cable único a las computadoras de una red local (LAN).

1983ARPANET cambia el protocolo NCP por TCP/IP y estandariza el protocolo, el cual es el usado hoy día habitualmente.

Historia de Internet

Page 38: Introduccion a la tecnologia

1989Se crea el protocolo de transmisión HTTP, el lenguaje de documentos HTML y el concepto de los URL.

1990Se construye el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web.

1995Se creó Internet2, más veloz que la Internet original, lo que permite el manejo de archivos muy grandes y aplicaciones en videoconferencia, telemedicina y muchas otras cosas imposibles antes.

2005El número de usuarios de internet con conexión de banda ancha superan a los de internet con conexión vía módem en la mayoría de países desarrollados, lo cual significa el crecimiento de la necesidad de la comunicación vía Internet.

Historia de Internet

Page 39: Introduccion a la tecnologia

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.

Page 40: Introduccion a la tecnologia

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.

Page 41: Introduccion a la tecnologia

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

Page 42: Introduccion a la tecnologia

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

Page 43: Introduccion a la tecnologia

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

Page 44: Introduccion a la tecnologia

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

Page 45: Introduccion a la tecnologia

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

Page 46: Introduccion a la tecnologia

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

Page 47: Introduccion a la tecnologia

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).

CLASIFICACION DEL SOFTWARE

Page 48: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 48

SISTEMAS OPERATIVOS

DEFINICION

S.O. Bits

Page 49: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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).

Page 50: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 50

VISTA ABSTRACTA DE LOS COMPONENTES

Usuario 1 Usuario 2 Usuario 3 Usuario n ...

Compilador

Intérprete Editor texto Base de Datos

Programas del Sistema y Aplicativos

Sistema Operativo

Hardware

SISTEMAS OPERATIVOS

Page 51: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 51

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.

SISTEMAS OPERATIVOS

Versiones Windows

Page 52: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 52

mkdir

rmdir

chown

chgrp

chmod

EVOLUCIÓN.

SISTEMAS OPERATIVOS

MICROSOFT WINDOWS

2000

1993

1990

1985

1981

2003

2009

MS DOS

WINDOWS

TRABAJO EN GRUPO

NT SERVER

2000 SERVER

2003 SERVER

2008 SERVER R2

Page 53: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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

Page 54: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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:

Page 55: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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.

Page 56: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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. •. . .

Page 57: Introduccion a la tecnologia

8/22/2012 JORGE ENRIQUE LEON ARDILA 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.

Page 58: Introduccion a la tecnologia

Sistemas de Numeración

MCS, Jorge Enrique León Ardila

Page 59: Introduccion a la tecnologia

5

Número y Numeral

Idea que se tiene de cantidad.

Representación de un número por medio de símbolos.

Número:

Numeral:

V

MCS, Jorge Enrique León Ardila

Page 60: Introduccion a la tecnologia

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

¿ Qué es un Sistema de Numeración ?

3. Principio posicional

MCS, Jorge Enrique León Ardila

Page 61: Introduccion a la tecnologia

Toda cifra en un numeral, tiene un orden, por convención, el orden se cuenta de derecha a izquierda.

Ejemplo:

568

1. Principio de Orden

1er. Orden

2do. Orden

3er. Orden

No confundir el lugar de una cifra, con el orden de una cifra, el lugar se cuenta de izquierda a derecha.

Observación:

MCS, Jorge Enrique León Ardila

Page 62: Introduccion a la tecnologia

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:

2. Principio de la Base

En el Sistema Senario (Base 6), debemos agrupar las unidades de 6 en 6, veamos:

2 3 (6)

Grupos

Unidades que sobran

= 15

MCS, Jorge Enrique León Ardila

Page 63: Introduccion a la tecnologia

¿ Cómo se representa Veinte en el Sistema Quinario ( Base 5 ) ?

4 0 (5)

Grupos

Unidades que sobran

= 20

En el sistema “Quinario”, debemos agrupar de 5 en 5.

MCS, Jorge Enrique León Ardila

Page 64: Introduccion a la tecnologia

Para representar un número en un sistema diferente al decimal, se emplea el método de:

“Divisiones Sucesivas”

¿ Cómo representar un número en otra base ?

Ejemplo:

Representar 243 en el sistema heptal ( Base 7 )

243 7

34 5

7

4 6

Entonces:

243 = 465 (7)

MCS, Jorge Enrique León Ardila

Page 65: Introduccion a la tecnologia

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

Page 66: Introduccion a la tecnologia

En un numeral toda cifra tiene un ”valor posicional”, veamos un ejemplo:

457

3. Principio posicional:

Unidades

Decenas

Centenas

La suma de los valores posiciónales, nos da el número.

Observación:

= 7.1 = 7

= 5.10 = 50

= 4.100 = 400

400 + 50 + 7 = 457

MCS, Jorge Enrique León Ardila

Page 67: Introduccion a la tecnologia

Consiste en expresar un numeral como la suma de los valores posicionales de sus cifras.

Ejemplos:

Descomposición Polinómica en el Sistema Decimal

4x2x

2ab

(x+1)xyx

3ab

ab

= 4.1000 + x.100 + 2.10 + x.1

= 2.100 + a.10 + b.1

= (x+1).1000 + x.100 + y.10 + x.1

= 3.100 + a.10 + b.1

= a.10 + b.1

MCS, Jorge Enrique León Ardila

Page 68: Introduccion a la tecnologia

Descomposición polinómica de numerales representados en otros sistemas de numeración

Ejemplo:

4357 = (9)

1

9 9

2

9 3

4.9 + 3 3.9 + 2 5.9 + 7.1

MCS, Jorge Enrique León Ardila

Page 69: Introduccion a la tecnologia

Mas ejemplos:

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

124 = 1.6 + 2.6 + 4 (6) 2

54 = 5.8 + 4 (8)

346 = 3.8 + 4.8 + 6 (8) 2

23A5 = 2.11 + 3.11 + 10.11 + 5 (11) 3 2

MCS, Jorge Enrique León Ardila

Page 70: Introduccion a la tecnologia

Ejemplos:

Podemos emplear la Descomposición Polinómica para hallar el equivalente de un numeral en el Sistema Decimal

4521 = 4.7 + 5.7 + 2.7 + 1 (7) 3 2

= 4.343 + 5.49 + 14 + 1 = 1632

124 = 1.5 + 2.5 + 4 (5) 2

= 1.25 + 10 + 4 = 39

64 = 6.8 + 4 = (8) 52

MCS, Jorge Enrique León Ardila

Page 71: Introduccion a la tecnologia

Ejemplos:

En algunos casos tendremos que descomponer numerales con valores incognitos

2x3y = 2.5 + x.5 + 3.5 + y (5) 3 2

= 2.125 + x.25 + 15 + y

= 265 + 25x + y

352 = 3.n + 5.n + 2 (n) 2

xyz = x.a + y.a + z (a) 2

2abc = 2.x + a.x + b.x + c (x) 3 2

MCS, Jorge Enrique León Ardila

Page 72: Introduccion a la tecnologia

Se llama así a aquel numeral que leído de derecha a izquierda, se lee igual que de izquierda a derecha.

Ejemplos:

Algunos Conceptos Finales

44 ; 373 ; 4224 ; 56765 ; 876678 ; 1234321

Numeral Capicúa

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

Page 73: Introduccion a la tecnologia

EJERCICIOS:

1. Si: ab + ba = 132 , hallar (a+b).

MCS, Jorge Enrique León Ardila

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)

Page 74: Introduccion a la tecnologia

EJERCICIOS:

MCS, Jorge Enrique León Ardila

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 y (6) 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.

Page 75: Introduccion a la tecnologia

EJERCICIOS:

Ejercicio 1:

Si: ab + ba = 132 , hallar (a+b).

Descomponemos polinomicamente:

(10a + b) + (10b + a) = 132

11a + 11b = 132

a + b = 12

Agrupamos los términos semejantes:

Simplificamos:

…… Rpta.

MCS, Jorge Enrique León Ardila

Page 76: Introduccion a la tecnologia

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

10a + b =

2a = b

Por dato: ab = 4 ( a+b )

Descomponemos polinomicamente y multiplicamos:

6a =

1 2

2 4

ab =

ab =

4a + 4b

3b

12

24

3 6

4 8

ab =

ab =

36

48

Rpta: Hay 4 numerales de dos cifras

MCS, Jorge Enrique León Ardila

Page 77: Introduccion a la tecnologia

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

600 + 10a + b =

30 = 5a + 6b

Por dato:

… 2 Rptas.

6ab = 55 ( 6+a+b )

Descomponemos polinomicamente y multiplicamos:

Agrupamos términos semejantes y simplificamos:

270 =

0 5

6 0

6ab =

6ab =

330 + 55a + 55b

45a + 54b

605

660

MCS, Jorge Enrique León Ardila

Page 78: Introduccion a la tecnologia

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

100 ab – ab =

Al agregarle dos ceros a la derecha, obtenemos: ab00

Pero:

Por lo tanto aumentó:

99. ab = 2871

ab00 =

Entonces:

ab = 29 …… Rpta.

ab. 100 = 100.ab

99.ab

MCS, Jorge Enrique León Ardila

Page 79: Introduccion a la tecnologia

Ejercicio 5:

Si: abcd = 37.ab + 62.cd , hallar (a+b+c+d)

abcd = ab00 + cd

Reemplazando, tenemos:

= 100.ab + cd

100.ab + cd = 37.ab + 62.cd

63.ab = 61.cd

ab 61

cd 63 =

Entonces:

ab = 61 cd = 63 y

…… Rpta. Luego:

a+b+c+d = 6+1+6+3 = 16

MCS, Jorge Enrique León Ardila

Page 80: Introduccion a la tecnologia

Hallar el valor de “a”, en: 13a0 = 120 (4)

Convertimos 120 al sistema cuaternario

… Rpta.

120 4

30 0

4

7 2

4

1 3

120 = 1320 (4)

Reemplazando tenemos:

13a0 = (4) 1320 (4) a = 2

Ejercicio 6:

MCS, Jorge Enrique León Ardila

Page 81: Introduccion a la tecnologia

Hallar el valor de “a”, en: 2a2a = 1000 (7)

Aplicamos descomposición polinómica

2.7 + a.7 + 2.7 + a 3 2 = 1000

686 + 49a + 14 + a = 1000

700 + 50a = 1000

50a = 300

a = 6 … Rpta.

Ejercicio 7:

2.343 + a.49 + 14 + a = 1000

MCS, Jorge Enrique León Ardila

Page 82: Introduccion a la tecnologia

Si los numerales: n23 ; (m)

Aplicamos: BASE > CIFRA

… Rptas.

p21 ; (n) n3m y (6) 1211 (p) están correctamente escritos, hallar m, n y p.

n23 (m) m > n m > 3 y

p21 (n) n > p n > 2 y

n3m (6) 6 > n 6 > m y

1211 (p) p > 2

Ordenando, tenemos: 6 > m > n > p > 2

5 3 4

Ejercicio 8:

MCS, Jorge Enrique León Ardila

Page 83: Introduccion a la tecnologia

Expresar en el sistema octal, el mayor número de tres cifras de base 6, dar la cifra de menor orden.

555 (6) El mayor numero de tres cifras de base 6 es:

215 8

26 7

8

3 2

= 215 = 327 (8)

La cifra de menor orden es 7 …. Rpta.

Ejercicio 9:

Pasándolo a base 10:

555 = 5.6 + 5.6 + 5 (6) 2 = 180 + 30 + 5 = 215

Ahora al sistema octal (base 8):

555 (6)

MCS, Jorge Enrique León Ardila

Page 84: Introduccion a la tecnologia

MCS, Jorge Enrique León Ardila

Page 85: Introduccion a la tecnologia

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

Page 86: Introduccion a la tecnologia

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.

ESCUELA MILITAR DE AVIACION

MCS, Jorge Enrique León Ardila

Page 87: Introduccion a la tecnologia

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.

ESCUELA MILITAR DE AVIACION

MCS, Jorge Enrique León Ardila

Page 88: Introduccion a la tecnologia

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

Page 89: Introduccion a la tecnologia

Algoritmos

MCS, Jorge Enrique León Ardila

Page 90: Introduccion a la tecnologia

Algoritmos 1. 5+1=6

2. Anotar 6

3. 2+9=11

4. Anotar 1 y guardar 1

5. 4+0=4

6. 4+1=5

7. Anotar 5

8. El resultado es 516

491 + 25

516

MCS, Jorge Enrique León Ardila

Page 91: Introduccion a la tecnologia

Algoritmos

V + F

F

+

V V V

V F F

F V F

F F F

MCS, Jorge Enrique León Ardila

Page 92: Introduccion a la tecnologia

Algoritmos

san + sano

sansano

MCS, Jorge Enrique León Ardila

Page 93: Introduccion a la tecnologia

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

Page 94: Introduccion a la tecnologia

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

Page 95: Introduccion a la tecnologia

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

Page 96: Introduccion a la tecnologia

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

Page 97: Introduccion a la tecnologia

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

Page 98: Introduccion a la tecnologia

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

Page 99: Introduccion a la tecnologia

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

Page 100: Introduccion a la tecnologia

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

Page 101: Introduccion a la tecnologia

Descripción de un algoritmo Diagramas de flujo.

MCS, Jorge Enrique León Ardila

Nombre Símbolo Función

Terminal

Representa el inicio y fin de un programa. También puede representar una parada o interrupción programada que sea necesaria realizar en un programa.

Entrada / salida

Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico.

Proceso

Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc.

Page 102: Introduccion a la tecnologia

Descripción de un algoritmo Diagramas de flujo.

MCS, Jorge Enrique León Ardila

Nombre Símbolo Función

Decisión

Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir

Conector Misma Página

Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma pagina del diagrama

Indicador de dirección o línea de flujo

Indica el sentido de la ejecución de las operaciones

Salida

Se utiliza en ocasiones en lugar del símbolo de salida. El dibujo representa un pedazo de hoja. Es usado para mostrar datos o resultados.

Page 103: Introduccion a la tecnologia

Descripción de un algoritmo Diagramas de flujo.

MCS, Jorge Enrique León Ardila

Nombre Símbolo Función

Decisión Múltiple

Indica Decisión Múltiple. Dentro del rombo se coloca un selector y este almacena un valor. Dependiendo del valor que tome el selector, se tomará la rama correspondiente.

Conector de Diferente Página

Sirve para enlazar dos páginas de un diagrama a través de un conector al final de la página y otro conector en el comienzo de la siguiente.

Mostrar resultado en pantalla

Muestra salida de resultados en pantalla, equivalente a la instrucción Escribir del pseudocódigo.

Llamado a proceso o subrutina

Se utiliza para indicar operaciones o procesos que se ejecutarán por fuera de la secuencia actual (subprograma).

Page 104: Introduccion a la tecnologia

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

Page 105: Introduccion a la tecnologia

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

Page 106: Introduccion a la tecnologia

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

Page 107: Introduccion a la tecnologia

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

Page 108: Introduccion a la tecnologia

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

Page 109: Introduccion a la tecnologia

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

Page 110: Introduccion a la tecnologia

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

Page 111: Introduccion a la tecnologia

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

Page 112: Introduccion a la tecnologia

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

Page 113: Introduccion a la tecnologia

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

MCS, Jorge Enrique León Ardila

Page 114: Introduccion a la tecnologia

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

MCS, Jorge Enrique León Ardila

Page 115: Introduccion a la tecnologia

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

Page 116: Introduccion a la tecnologia

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

Page 117: Introduccion a la tecnologia

Entrada de datos Dispositivos de entrada

Teclado

Mouse

Botones

Censores de tacto

Cámaras digitales

Scanners

Archivos

MCS, Jorge Enrique León Ardila

Page 118: Introduccion a la tecnologia

Entrada de datos

MCS, Jorge Enrique León Ardila

Page 119: Introduccion a la tecnologia

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

Page 120: Introduccion a la tecnologia

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

Page 121: Introduccion a la tecnologia

Salida de datos Dispositivos de salida

Pantalla

Impresora

Parlantes

Tableros luminosos

Motores

Tarjeta de red

Archivos

MCS, Jorge Enrique León Ardila

Page 122: Introduccion a la tecnologia

Salida de datos C:\

MCS, Jorge Enrique León Ardila

Page 123: Introduccion a la tecnologia

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

Page 124: Introduccion a la tecnologia

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

Page 125: Introduccion a la tecnologia

Utilización de variables

G=K/1000

Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.

K es un dato de entrada, y también Se considera una variable

MCS, Jorge Enrique León Ardila

Page 126: Introduccion a la tecnologia

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

Page 127: Introduccion a la tecnologia

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

Page 128: Introduccion a la tecnologia

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

Page 129: Introduccion a la tecnologia

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

Page 130: Introduccion a la tecnologia

Aplicación de operadores

M=G * P

operandos

operador

MCS, Jorge Enrique León Ardila

Page 131: Introduccion a la tecnologia

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

Page 132: Introduccion a la tecnologia

Asignación de valores

M=G * P

Operador de asignación

El resultado de GxP se asigna a la variable M

MCS, Jorge Enrique León Ardila

Page 133: Introduccion a la tecnologia

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

Page 134: Introduccion a la tecnologia

Combinación de operaciones básicas

G=K/1000

M=G * P

Ingresar K y P

Devolver M

Ingresar K=200 y P=250 G tiene el valor 0,2 M tiene el valor 50

G=K/1000

M=G * P

Ingresar K y P

Devolver M

Diagrama de flujo

Diagrama de Nassi-Schneidermann

MCS, Jorge Enrique León Ardila

Page 135: Introduccion a la tecnologia

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

Page 136: Introduccion a la tecnologia

Combinación de operaciones básicas

C

3

4

2

1

C: Condición

MCS, Jorge Enrique León Ardila

Page 137: Introduccion a la tecnologia

Combinación de operaciones básicas

3

si no

4

2

1

C

C: Condición MCS, Jorge Enrique León Ardila

Page 138: Introduccion a la tecnologia

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

Page 139: Introduccion a la tecnologia

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

Page 140: Introduccion a la tecnologia

Combinación de operaciones básicas

C

3a 3b

4

2

1

si no

C: Condición

MCS, Jorge Enrique León Ardila

Page 141: Introduccion a la tecnologia

Combinación de operaciones básicas

3a 3b

si no

4

2

1

C

C: Condición MCS, Jorge Enrique León Ardila

Page 142: Introduccion a la tecnologia

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

Page 143: Introduccion a la tecnologia

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

Page 144: Introduccion a la tecnologia

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

Page 145: Introduccion a la tecnologia

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

Page 146: Introduccion a la tecnologia

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

Page 147: Introduccion a la tecnologia

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

Page 148: Introduccion a la tecnologia

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

Page 149: Introduccion a la tecnologia

Combinación de operaciones básicas

2a 2b 2c

3

1

x?

x mayor que 0

x igual a 0

x menor que 0

MCS, Jorge Enrique León Ardila

Page 150: Introduccion a la tecnologia

Combinación de operaciones básicas

3

x mayor que 0?

1

x menor que 0?

si

si

no

no

2a 2b 2c

MCS, Jorge Enrique León Ardila

Page 151: Introduccion a la tecnologia

Combinación de operaciones básicas

1

3

2a

x mayor que 0?

x menor que 0?

2b 2c

si

si no

no

MCS, Jorge Enrique León Ardila

Page 152: Introduccion a la tecnologia

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

Page 153: Introduccion a la tecnologia

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

Page 154: Introduccion a la tecnologia

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

Page 155: Introduccion a la tecnologia

Combinación de operaciones básicas

Botón

giro saldo clave error

1 3 2

etoc

salir

MCS, Jorge Enrique León Ardila

Page 156: Introduccion a la tecnologia

Combinación de operaciones básicas

giro clave saldo error

Botón

1 2 3 etoc

salir

MCS, Jorge Enrique León Ardila

Page 157: Introduccion a la tecnologia

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

Page 158: Introduccion a la tecnologia

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

Page 159: Introduccion a la tecnologia

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

Page 160: Introduccion a la tecnologia

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

MCS, Jorge Enrique León Ardila

Page 161: Introduccion a la tecnologia

Combinación de operaciones básicas

1

3

2

C

C: Condición MCS, Jorge Enrique León Ardila

Page 162: Introduccion a la tecnologia

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

Page 163: Introduccion a la tecnologia

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

Page 164: Introduccion a la tecnologia

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

Page 165: Introduccion a la tecnologia

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

MCS, Jorge Enrique León Ardila

Page 166: Introduccion a la tecnologia

Combinación de operaciones básicas

1

3

2

C

C: Condición MCS, Jorge Enrique León Ardila

Page 167: Introduccion a la tecnologia

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

Page 168: Introduccion a la tecnologia

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

Page 169: Introduccion a la tecnologia

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

Page 170: Introduccion a la tecnologia

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

Page 171: Introduccion a la tecnologia

Combinación de operaciones básicas

Inicio contador, fin contador

2

3

1

MCS, Jorge Enrique León Ardila

Page 172: Introduccion a la tecnologia

Combinación de operaciones básicas

1

3

2

Inicio contador, fin contador

MCS, Jorge Enrique León Ardila

Page 173: Introduccion a la tecnologia

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

Page 174: Introduccion a la tecnologia

Combinación de operaciones básicas

Ejemplo

5

0i

i

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

Page 175: Introduccion a la tecnologia

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

Page 176: Introduccion a la tecnologia

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.

Page 177: Introduccion a la tecnologia

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.

Page 178: Introduccion a la tecnologia

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.

Page 179: Introduccion a la tecnologia

Vectores y Matrices

Tipos de Estructuras

Estáticas

Dinámicas (punteros)

Simples Reales Enteros Char Boolean Enumerados

String arrays set record file

Complejas

Page 180: Introduccion a la tecnologia

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.

Page 181: Introduccion a la tecnologia

Vectores

Mi_vector

Nombre de la variable

9 3 5 4 8 2 6

Elementos

Posición : 1 Contenido : Mi_vector[1] = 9

Page 182: Introduccion a la tecnologia

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.

Page 183: Introduccion a la tecnologia

Vectores

Ejemplo 1

Muestra

resultados

Lectura del

arreglo

Ejemplo 1 - Diagrama de Jackson

Suma de

los elementos

Page 184: Introduccion a la tecnologia

Vectores - Ejemplo1

Program Ejemplo1; {Version 1} type sumandos = array[1..10] of integer; var suma, i : integer; vec_sumandos : sumandos; begin suma := 0; for i:= 1 to 10 do read(vec_sumandos[i] ) for i := 1 to 10 do suma:= suma +vec_sumandos[i]; writeln (´La suma de los números es´, suma); end.

Declaración de la variable arreglo

Declaración del tipo del arreglo

Lectura de los elementos del arreglo

Suma de los elementos

Page 185: Introduccion a la tecnologia

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.

Page 186: Introduccion a la tecnologia

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.

Page 187: Introduccion a la tecnologia

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] )

Page 188: Introduccion a la tecnologia

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).

Page 189: Introduccion a la tecnologia

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.

Page 190: Introduccion a la tecnologia

Vectores - Ejemplos resueltos Programa Ej1;

Definir constantes:

max = 50;

Definir vectores:

t_numeros = arreglo(max) entero;

Definir variables:

suma, i : entero

promedio: real;

numeros : t_numeros;

Inicio

suma := 0;

for i:= 1 to max do

read(numeros[i] )

suma:= suma +numeros[i];

Promedio:= suma/max;

Escribir (´El promedio es ´,Promedio);

Para i := 1 to 50 haga

Si numeros[i] > promedio

Entonces

Escriba (´El número´, numeros[i], ´es mayor al promedio´);

Fin

Page 191: Introduccion a la tecnologia

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.

Page 192: Introduccion a la tecnologia

Vectores - Ejemplos resueltos Program Ej2;

Definir constantes

max = 100;

Definir vectores

t_numeros = array[1.. max] of integer;

Definir variables

suma, i, n : integer;

promedio: real;

numeros : t_numeros;

Inicio

suma := 0;

write (´Ingrese cantidad de #s a sumar: ´);

Leer n *máximo 100 números*

Para i:= 1 to n haga

lea(numeros[i] )

suma:= suma +numeros[i];

writeln (´La suma es ´,suma);

Para i := 1 to n haga

Escriba (´Sumando´, i, ´es´, numeros[i])

Fin.

Page 193: Introduccion a la tecnologia

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.

Page 194: Introduccion a la tecnologia

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

Page 195: Introduccion a la tecnologia

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.

Page 196: Introduccion a la tecnologia

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)

Page 197: Introduccion a la tecnologia

Matrices 9 3 5 4 8 2 6

9 3 5 4 8 2 6

9 3 5 4 8 2 6

Mi_Matriz

Nombre de la variable

Posición : 3,1 Contenido : Mi_vector[3,1] = 9

Page 198: Introduccion a la tecnologia

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;

Page 199: Introduccion a la tecnologia

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] )

Page 200: Introduccion a la tecnologia

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.

Page 201: Introduccion a la tecnologia

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.

Page 202: Introduccion a la tecnologia

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);

Page 203: Introduccion a la tecnologia

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;

Page 204: Introduccion a la tecnologia

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.