introducción a la computación (ic) 2006 - i facultad de ingeniería y arquitectura manual de...

275
Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitec Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López Goycochea. Juan José Montero Román. Carmen Rosa Bertolotti Zúñiga.

Upload: cayetano-lama

Post on 09-Feb-2015

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a la Computación (IC)2006 - I

Facultad de Ingeniería y Arquitectura

Manual de Referencia Rápida, desarrollada por :

Ing. Jefferson López Goycochea.

Juan José Montero Román.

Carmen Rosa Bertolotti Zúñiga.

Page 2: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

I IV V VI VII VIII

4 Años

Plan de Estudios

II

II

IC

FDWeb

AEDI AEDII SWI

Prog I

SWII

Prog II

DIBD

III

Prácticas en FIA-DATA

Prácticas en EMPRESA

Electivos

Introducción a la Computación

Page 3: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Objetivos generales:

• Objetivo 1: Describir los componentes principales de hardware y software de los sistemas de computación, previo fundamento teórico.

• Objetivo 2: Explicar la teoría básica de la computación, estructura de los sistemas operativos y lenguajes de programación, de modo que el alumno aplique en forma eficiente su criterio para evaluar las características del mercado.

• Objetivo 3: Analizar los conceptos básicos relacionados con el diseño lógico de algoritmos.

• Objetivo 4: Aplicar, en el diseño de algoritmos, el uso intensivo de pseudocódigos y diagramas de flujo.

IC

HOY

II

Sílabo

Durante el desarrollo del curso, el estudiante desarrollará un programa de laboratorio, sustentado en los aspectos teóricos impartidos en el salón de clase.

Introducción a la Computación

Page 4: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Unidades:

IC

HOY

II

Sílabo

• Unidad I: (semana 01). HARDWARE.- EL COMPUTADOR Y SUS COMPONENTES

• Unidad II: (semana 02) PERIFERICOS, DISPOSITIVOS DE ENTRADA Y SALIDA

• Unidad III: (semana 03) SOFTWARE Y SU EVOLUCION. NIVELES

• Unidad IV: (semana 04) INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS

• Unidad IV: (semana 05 a semana 16) ALGORITMOS

Introducción a la Computación

Page 5: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

El curso es de evaluación permanente. El sistema de evaluación del presente curso consta de promedio de prácticas calificadas (PP), promedio de trabajos (PT), un examen final de teoría (E1) y un examen final de laboratorio (E2). El promedio final se obtiene de la siguiente manera:

P F = PP + PT + E1*2 + E2*2 6

Evaluación:

Sílabo

Introducción a la Computación

Page 6: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

• Presentación impresa (2 ptos).

• Calidad, limpieza y orden (1.5 ptos).• Incluir disquete o CD (0.5 ptos).

• Estructura (6 ptos).

• Contenido (12 ptos).

Trabajos de Investigación

• Carátula (0.5 ptos).• Índice (0.5 ptos).• Introducción (1.0 ptos).• Contenido.• Conclusiones (3.0 ptos).• Bibliografía (1.0 ptos).

Los trabajos se desarrollarán utilizando letra Arial tamaño 12 y espaciado 1.5

• Nombre de la universidad, facultad y escuela.

• Curso.• Titulo del trabajo.• Nombre y código del alumno.• Fecha de entrega.

Introducción a la Computación

Page 7: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Bibliografía:

Sílabo

• Introduccion a las Tecnologias de Informacion Mag. Jefferson López Goycochea

• Método de las 6’D. UML – Pseudocódigo – Java (Enfoque algorítmico) 2005. Juan José Flores Cueto.

• Método para la Solución de Problemas utilizando la programación Orientada a Objetos. Aspectos Básicos. 2003. Juan José Flores Cueto.

• Como programar en Java. Quinta Edición. Prentice Hall, 2004. Deitel & Deitel.

Introducción a la Computación

Page 8: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE: EL COMPUTADOR Y SUS COMPONENTES

HARDWARE: EL COMPUTADOR Y SUS COMPONENTES

Unidad 1:

Semana 01

Introducción a la Computación

Page 9: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 01

Objetivos:

• El computador y sus componentes

Introducción a la Computación

Page 10: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ingeniería de Computación y Sistemas

Computadora

•Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se realice un procesamiento sobre un conjunto de datos de entrada, obteniéndose otro conjunto de datos de salida.

•Maquina electrónica universal diseñada por el

hombre para el tratamiento racional y sistemático de la

información.

Page 11: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ingeniería de Computación y Sistemas

Computación

•Ciencia orientada a la búsqueda de las diferentes

maneras de almacenamiento y transmisión de datos, su

objetivo es el desarrollo de la tecnología capaz de

almacenar e interrelacionar la información .

Page 12: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Informática y cibernética

Informática

Es la ciencia que se encarga del tratamiento de la información haciendo uso de la

computadora

Page 13: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Informática y cibernética

cibernética

proviene del griego kybernēeēs (‘timonel’),

“ciencia que asegura la eficacia de la acción”Investigación de técnicas donde la información se transforma en la acción deseada.

Norbert Wiener (1948) teoría de los

mecanismos de control

Page 14: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ingeniería de Computación y Sistemas

Ingeniero

•Resuelve problemas con Ingenio.

Page 15: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ingeniería de Computación y Sistemas

Ingeniería de Sistemas

•Conjunto de métodos, técnicas y herramientas para

planificar, diseñar y administrar sistemas

complejos con el objetivo de lograr sistemas óptimos e

integrales.

Page 16: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ingeniería de Computación y Sistemas

Sistemas

•“Conjunto de elementos que

interactúan para alcanzar un objetivo

en común”

Page 17: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICA

ELEMENTOS DE UN SISTEMA INFORMÁTICO

Hardware, parte física del sistema

Software, parte lógica del sistema

Personal Informático (Humanware), personas que realizan funciones relacionadas con el uso y explotación de un sistema de computo.

Page 19: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA

Page 20: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPO PROC. M.RAM DISCO DURO

PC-XT 80086 640 K.B. 40 M.B.

PC-AT 80286 2 M.B. 100 M.B.

PC-AT 80386 SX, DX 8 M.B. 200 M.B.

PC-AT 80486 SX,DX, 16 M.B. 600 M.B.

DX2,DX4

PENTIUM I, II, III, IV 128 M.B. 8 G.B.

HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA

Page 21: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA

1940’s PRESENTE

COSTO

TAMAÑO

VELOCIDAD

CONFIABILIDAD

EFICIENCIA

FACILIDAD DE USO

Page 22: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

COMPONENTES ESTRUCTURALES DEL HARDWARE

Case

Page 23: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

COMPONENTES ESTRUCTURALES DEL HARDWARE

Mainboard

Es el centro de operaciones de cualquier computadora. Realiza las tareas fundamentales de la computadora.

Page 24: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

COMPONENTES ESTRUCTURALES DEL HARDWARE

Mainboard

Conector de reinicio Conector de bloqueo

Conector de altavoz CPU

Reloj de Cristal Reloj de Tiempo Real

Placa de todo el circuito Ranuras para tarjetas

Batería del BIOS Controlador de teclado

Conector de teclado Conector de alimentación

Chips del BIOS Zócalos SIMM

Chips de memoria RAM Chips de memoria ROM

Circuitos de apoyo Puentes (Jumpers)

Interruptores Coprocesador

Conector de LED

Definición:

Llamada Tarjeta Principal ó Tarjeta Madre, Placa Principal del Ordenador. Se encuentra dentro del Case o Caja, Es aquí donde se conectan los componentes del computador

Page 25: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

COMPONENTES ESTRUCTURALES DEL HARDWARE

Unidad Central del Sistema

Unidad Central de Proceso – CPU•Unidad de Control – CU•Unidad Aritmético-Lógica – ALU•Registros

Bus•Bus de Direcciones•Bus de Datos•Bus de Control

Memoria principal•Memoria RAM•Memoria ROM•Memoria CACHE

Page 26: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Unidadde Control

Registros

UnidadAritmética Lógica

Bus de Direcciones

Bus de Datos

Bus de

Control

C.P.U.

COMPONENTES ESTRUCTURALES DEL HARDWAREUnidad Central del Sistema

Page 27: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

UNIDAD DE ALMACENAMIENTO

Son todos aquellos en los cuales podemos guardar Información:

archivos, textos, documentos, etc.

Page 31: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA INTERNA

En la arquitectura PC, el núcleo del sistema está

integrado en una sola placa, denominada placa-base

("Motherboard" o "Mainboard").  En los sistemas actuales de

sobremesa, es una placa de circuito impreso multicapa de unos 600 cm2 en la que se incluyen elementos de

montaje superficial, zócalos y conectores para diversos elementos desmontables.

Page 32: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA INTERNA

Componentes:

A grandes rasgos, los componentes principales de la placa base son los que se han esquematizado en la figura:

•Bus externo.

•Procesador (UCP).

•BIOS.

•Chipset.  Juego de chips auxiliares.

•Memoria.

•Conectores de E/S, incluyendo alimentación.

Page 33: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA INTERNA

Al tratar de la placa-base comentamos que la memoria interna es la que se encuentra físicamente dentro del sistema constituido por la placa-base, o en tarjetas de circuito impreso directamente conectadas a ella.  Dentro de este tipo de memorias nos interesa distinguir las siguientes:

•Los registros del procesador

•La caché interna y externa

•La memoria BIOS

•La memoria RAM

Page 34: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA RAM

Aunque la clasificamos como "Interna", la memoria RAM ("Random access memory"), es también en alguna forma una memoria "externa"; en el sentido que está situada fuera del procesador; es como su bloc de notas. 

El procesador tiene una memoria pequeña (se reduce a sus registros), pero una gran facilidad para manejar este almacenamiento auxiliar. De hecho, gran parte del trabajo del procesador se concreta en traer y llevar datos desde RAM hasta sus propios registros.

Page 35: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIA

MEMORIA RAM - Tipos de RAM

Atendiendo a sus características físicas las memorias RAM se divide en dos grandes grupos:  Estáticas SRAM ("Static RAM") y dinámicas DRAM ("Dynamic RAM").  Ambas comparten la característica de perder su contenido cuando se apaga el sistema, pero las DRAM tienen además la necesidad de que su contenido sea constantemente actualizado.

En la imagen, un módulo DIMM de 168

contactos con 16 MB de SDRAM junto con un

antiguo chip de 16 contactos con 2 KB de

DRAM.

Page 36: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA ROM

Hemos utilizado el masculino y no el femenino porque nos referirnos al "Sistema" (el BIOS), no a la memoria física en que está grabado (la BIOS).

Page 37: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA ROM

BIOS es acrónimo de "Basic Input Output System"; literalmente:

Sistema básico de Entradas/Salidas.

Se refiere a una pieza de software muy específico grabada en una

memoria no volátil que está presente en todos los PC's y

compatibles.  Aunque naturalmente existen antecedentes, en su forma actual es una invención del equipo

de IBM encargado de diseñar el primer PC.

Page 38: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA ROM - Tipos de BIOS

Normalmente este software viene grabado en un chip de memoria no volátil

de solo lectura ROM (Read Only Memory), situado en la placa base,

de ahí el nombre ROM BIOS. Esto garantiza que no se perderá al apagar el

Sistema y que no dependerá para su actuación de la existencia o buen

funcionamiento de ningún disco, por lo que estará siempre disponible (esto es

importante porque, posibilita el arranque inicial del equipo sin necesitar de ningún

recurso externo).

Page 39: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA ROM - Tipos de BIOS

Desde los primeros días de vida del PC, el ROM-BIOS dio problemas en los equipos existentes, dado que los avances técnicos eran constantes, lo que suponía aumentar las capacidades de disco y de los dispositivos conectados a los equipos.  Esto exigía nuevas BIOSes, con lo que había que cambiar la placa base, o cuando mínimo, en los modelos posteriores, cambiar el integrado que contenía la ROM BIOS.  Para resolver el problema se comenzó a utilizar memorias regrabables tipo:

EPROM ("Erasable programmable read-only memory") y EEPROM ("Electrically erasable programmable read-only memory").

Page 40: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA ROM - Funciones de BIOS

Funciones del BIOS

El sistema BIOS de un PC estándar desempeña en realidad cuatro funciones independientes:

•Proceso de carga inicial del software .

•Programa de inventario y comprobación del hardware .

•Inicialización de determinados dispositivos hardware, carga de cierto software básico e inicio del Sistema Operativo .

•Servicios de soporte software para determinados dispositivos hardware del sistema .

Page 41: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA CACHE

Memoria temporal; generalmente de existencia oculta y automática para el usuario (datos frecuentes).

datos en memoria, accedidos de forma inmediata.

•Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente.

•La información necesitada se encuentra almacenada de forma adyacente, o cuando menos muy cercana, en memoria o disco.

Page 42: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA CACHE – Tipos De Cache

Desde el punto de vista del hardware, existen dos tipos de memoria cache;

1.- CACHÉ INTERNA

en realidad son dos, cada una con una misión específica:  Una para datos y otra para instrucciones. 

Está incluida en el procesador, lo que significa tres cosas: Comparativamente es muy cara; extremadamente rápida y limitada en tamaño. 

Como puede suponerse, su velocidad de acceso es comparable a la de los registros, es decir, centenares de veces más rápida que la RAM.

Page 43: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA CACHE – Tipos De Cache

2.- CACHÉ EXTERNA

Es más antigua que la interna. 

Es una memoria de acceso rápido incluida en la placa base que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM

Page 44: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIAMEMORIA CACHE

Desde el punto de vista funcional, (dispositivos - caché de lectura y de escritura).

se aloja en memoria RAM estándar, destinada a contener los datos de disco que probablemente sean necesitados. 

Si la información requerida está en chaché, se ahorra un acceso a disco, lo que es centenares de veces más rápido (recuerde que los tiempos de acceso a RAM se miden en nanosegundos y los de disco en milisegundos

nanosegundos (0.000000001 parte de un segundo),

Page 45: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIA

Extendida

Es la memoria RAM que supera 1 MB, es decir, hoy en día la mayor parte de los PCs. Extender la memoria es un truco para superar la barrera de los 640 KB mediante determinada técnica (Ver: Swapping). En la actualidad, la introducción de interfaces gráficos de usuario y entornos como Windows y OS/2 requieren para un correcto funcionamiento una gran cantidad de memoria RAM.

Page 46: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIA

Expandida - Virtual

Simulación de más memoria que la que realmente existe, lo que permite al computador ejecutar programas más grandes o más programas en forma simultánea. El sistema de memoria virtual divide el programa en segmentos pequeños llamados "páginas"

Page 47: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

TIPOS DE MEMORIA

Flash

chip de memoria no volátil, que se puede reescribir. En cierto sentido se considera una variante de la EEPROM (Electrically Erasable Programmable Read-OnlyMemory, memoria de lectura solamente borrable y programable eléctricamente)

En ocasiones se utiliza la memoria flash como un dispositivo interno de la computadora, por ejemplo, para almacenar su BIOS. Otras veces, se emplea en forma de tarjetas de memoria externa para guardar información de las cámaras digitales, dispositivos de mano (tipo PDA), teléfonos celulares...

Page 48: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Memoria interna de almacenamiento / entrada

RAM

Lectura / escritura

ROM

Sólo lectura

Chip de CPU o microprocesad

or

Registros (almacenamient

o temporal)

A.L.U

Sección

de control

Comunicaciones internas

Sistema de bus

Dispositivos de entrada

Dispositivos de salida

Interfaz de entrada

Interfaz de salida

Memoria de almacenamiento / entradaUnidades de disco

flexible, de disco duro

CD-ROM Cinta magnética

Page 50: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICA

CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TAMAÑO Y MICROPROCESADOR

extraído de http://www.pc.ibm.com/la/index.shtml

MINI

COMPUTADORAS

MICRO

COMPUTADORASMAINFRAME

Multiusuario Monousuario

Page 51: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICA

CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TAMAÑO Y MICROPROCESADOR

•Mayor capacidad de procesamiento.

•Mayor tamaño y costo.

•Gran capacidad de almacenamiento.

•Instalación y ambientes especiales, Orientadas a la gran empresa.

•Atiende a varios usuarios y procesos.

MAINFRAME

(Multiusuario )

Page 52: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA

Page 53: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICA

CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TAMAÑO Y MICROPROCESADOR

•Computadoras de tamaño mediano.

•Procesan datos a mediana escala.

•Menor costo que las Mainframes.

•Atiende a varios usuarios y tareas a la vez en forma similar a las Mainframes pero en mediana escala.

•No necesita de instalaciones especiales.

•Se utilizan con fines comerciales, científicos, educativos, etc.

MINI

COMPUTADORAS

(Multiusuario )

Page 54: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

El 22 de Marzo de 1965 Digital Equipment Corporation presenta la

PDP-8, la primera

minicomputadora, que es reconocida como la más importante en la década de 1960. Era la computadora

paralela para uso general más económica del mercado costando

únicamente US$20,000.00, y también fue la primera computadora vendida al

menudeo y la primera computadora digital paralela de uso general vendida

en configuración de sobremesa.

Page 55: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICA

CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TAMAÑO Y MICROPROCESADOR

•Tamaño pequeño.

•Mínimo costo.

•Menor capacidad de procesamiento y almacenamiento que las minicomputadoras.

•Atendían a un usuario a la vez.

•Para superar este problema, surgido la tecnología de redes y servidores que permiten a varias computadoras compartir recursos.

MICRO

COMPUTADORAS

(Monousuario)

Page 56: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA

Page 57: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

CLASES DE COMPUTADOR

RS/6000Los sistemas IBM RS/6000 SP pertenecen a la familia de productos RISC System/6000 de IBM y se caracterizan entre otros aspectos por: 

su escalabilidad: el sistema puede ampliarse en potencia incorporando más nodos conforme aumenten las necesidades.

su compatibilidad con las aplicaciones existentes para AIX en sistemas inferiores de la familia RS/6000.

soportar la computación paralela: el sistema permite el desarrollo y la ejecución de aplicaciones paralelas.

Page 58: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

CLASES DE COMPUTADOR

AS/400AS/400 tiene el OS/400, el primer sistema operativo orientado a objetos.

Características del AS/400El AS/400 es una máquina propietario. Este es un concepto filosófico por el que se diferencia de un “sistema” abierto en lo siguiente:

Page 59: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Memoria interna de almacenamiento / entrada

RAM

Lectura / escritura

ROM

Sólo lectura

Chip de CPU o microprocesad

or

Registros (almacenamient

o temporal)

A.L.U

Sección

de control

Comunicaciones internas

Sistema de bus

Dispositivos de entrada

Dispositivos de salida

Interfaz de entrada

Interfaz de salida

Memoria de almacenamiento / entradaUnidades de disco

flexible, de disco duro

CD-ROM Cinta magnética

Page 60: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFERICOS: DISPOSITIVOS DE ENTRADA Y SALIDA

PERIFERICOS: DISPOSITIVOS DE ENTRADA Y SALIDA

Unidad 2:

Semana 02

Introducción a la Computación

Page 61: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 02

Objetivos:

• Dispositivos de entrada y salida

Introducción a la Computación

Page 62: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

Vídeo juegos

Cajeros de Banco

Máquinas expendedoras

Comuni-caciones

Page 63: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

• Los dispositivos periféricos permiten que las personas podamos comunicarnos con un sistema de computación

• estos dispositivos son la interfase entre nosotros y las computadoras.

• Conocidos también como Dispositivos I/O (Input/Output) ó Dispositivos de Entrada y Salida.

Page 64: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

CLASIFICACION:

Por su Función

Dispositivos de Entrada (Input)

Dispositivos de Salida (Output)

Por su Localización

Dispositivos Locales

Dispositivos Remotos

Page 65: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

POR SU FUNCIÓN

Datos InformaciónPROCESO

Almacenamiento

Page 69: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Internet

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

Page 70: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

POR SU LOCALIZACIÓN

LOCALES,

Son aquellos que están acoplados directamente al

Computador Central a través de las prolongaciones de los buses

Page 72: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

Esto dio lugar al nacimiento de una nueva ciencia llamada:

Telemática = Telecomunicación + Informática

El uso de esta ciencia para procesar datos a distancia se llama : Teleproceso

Terminal

Señalesdigitales

Modem

Señalesanalógicas

Líneatelefónica

Modem

Señalesdigitales

Page 73: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

Terminal

Señalesdigitales

Modem

Señalesanalógicas

Líneatelefónica

Modem

Señalesdigitales

Módem.- Modulador,

demodulador, se encarga de cambiar de una señal a otra

SeñalesDiscretas

SeñalesContinua ó

sinusoidales

SeñalesDiscretas

SeñalesContinua ó

sinusoidales

Page 74: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA

Módem.- Modulador,

demodulador, se encarga de cambiar de una señal a otra

SeñalesDiscretas

SeñalesContinua ó

sinusoidales

SeñalesDiscretas

SeñalesContinua ó

sinusoidales

Voltaje

Tiempo+ 5V 0 0 11

Tiempo- 5V

+ 5V

Un Ciclo

Baudio = 1 bit/seg.Hertz = 1 ciclo x segundo

Page 79: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

EL SOFTWARE Y SU EVOLUCION. NIVELESEL SOFTWARE Y SU EVOLUCION. NIVELES

Unidad 3:

Semana 03

Introducción a la Computación

Page 80: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 03

Objetivos:

• El software y su evolución. Niveles

Introducción a la Computación

Page 81: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Los computadores actuales tienen un laberinto microscópicos transistores que reaccionan ante los impulsos eléctricos que pasan por sus circuitos y que tienen solo dos posiciones, que corresponden a las cifras empleadas por el sistema binario, ceros y unos.

Hardware o soporte fisco y Software o soporte lógico

Page 82: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0

Voltaje

Tiempo+ 5V 0 0 11

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0

Comprende la parte lógica e inteligente de la computadora que dota al equipo físico de

capacidad para realizar cualquier tipo de trabajo.

Page 83: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Las instrucciones de un Las instrucciones de un programa se ensamblan según programa se ensamblan según una secuencia lógica a través una secuencia lógica a través

de la programación.de la programación.

Los programadores son las Los programadores son las personas que se encargan de personas que se encargan de

escribir los programas.escribir los programas.

Para escribir programas se Para escribir programas se usan una gran variedad de usan una gran variedad de lenguajes de programaciónlenguajes de programación

Page 84: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Es así como se le indica a la computadora lo que se desea que ella realice.

Page 85: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

Sw. de Sw. de AplicaciónAplicación

•Módulos del S.O.Módulos del S.O.•TraductoresTraductores•EnlazadoresEnlazadores•CargadoresCargadores•Prog. de Diagnostico yProg. de Diagnostico y mantenimientomantenimiento

Paquetes de SwPaquetes de Sw

• Prog. de FacturaciónProg. de Facturación• Programas de DiseñoProgramas de Diseño• Programas Programas desarrolladodesarrollado por el usuariopor el usuario

AplicacionesAplicacionesEspecíficasEspecíficas

S O

F T

W A

R E

S O

F T

W A

R E

Page 86: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico ó de Sistemaó de Sistema

Conjunto de programas que se encargan de controlar el Conjunto de programas que se encargan de controlar el funcionamiento de los programas que se ejecutan y de la funcionamiento de los programas que se ejecutan y de la gestión interna de los recursos físicos de la computadora.gestión interna de los recursos físicos de la computadora.

•Sistema Operativo.Sistema Operativo.

•Software de Programación.Software de Programación.

•Software de diagnóstico y mantenimientoSoftware de diagnóstico y mantenimiento

Page 87: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

•MóduloMódulos del s del S.O.S.O.

Un Un Sistema OperativoSistema Operativo es un programa o conjunto de es un programa o conjunto de programas que permiten la administración eficiente de los programas que permiten la administración eficiente de los

recursos de la computadorarecursos de la computadora

Page 88: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sistema Sistema OperativOperativ

oo

Numero de Numero de UsuariosUsuarios

Numero Numero de de

TareasTareas

Numero de Numero de ProcesadoreProcesadore

ss

MonousuariMonousuarioo

MultiusuariMultiusuarioo

MonotareMonotareaa

MultitareMultitareaa

UniprocesoUniprocesoMultiproceMultiproce

soso

SimetricoSimetricoAsimetricAsimetric

oo

Page 89: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

•MóduloMódulos del s del S.O.S.O.

Funciones:Funciones:

•Facilitar la tarea del usuario.Facilitar la tarea del usuario.•Administrar los dispositivos.Administrar los dispositivos.•Administra y mantiene los sistemas de archivo.Administra y mantiene los sistemas de archivo.•Apoyar a otros programas.Apoyar a otros programas.•Proteger los datos y los programas.Proteger los datos y los programas.

Page 90: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

•MóduloMódulos del s del S.O.S.O.

Objetivos:Objetivos:

Facilita la comunicación entre el sistema de computación y las Facilita la comunicación entre el sistema de computación y las personas.personas.

Facilita la comunicación entre los componentes del sistema Facilita la comunicación entre los componentes del sistema de computación.de computación.

Maximizar el rendimiento Maximizar el rendimiento

Minimiza el tiempo necesario para ejecutar un comando del Minimiza el tiempo necesario para ejecutar un comando del usuario.usuario.

Page 91: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

•MóduloMódulos del s del S.O.S.O.

Objetivos:Objetivos:

Optimizar el uso de los recursos del sistema de computación.Optimizar el uso de los recursos del sistema de computación.

Llevar el control de los archivos en el almacenamiento de Llevar el control de los archivos en el almacenamiento de disco.disco.

Proporcionar una cubierta de seguridad al sistema de Proporcionar una cubierta de seguridad al sistema de computación.computación.

Monitorear todas las capacidades del sistema y alertar al Monitorear todas las capacidades del sistema y alertar al usuario de fallas o de posibles problemas.usuario de fallas o de posibles problemas.

Page 93: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

MS-DOSMS-DOS

(MicroSoft Disk Operating System (MicroSoft Disk Operating System – Sistema operativo de Disco).– Sistema operativo de Disco).

Creado para controlar todas las Creado para controlar todas las operaciones del computador como: operaciones del computador como: transferencia de información a transferencia de información a periféricos y ejecución de periféricos y ejecución de programas.programas.

Es el SO mas popular.Es el SO mas popular.

Es el mas vendido.Es el mas vendido.

Monotarea.Monotarea.

Monousuario.Monousuario.

Page 94: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

WINDOWSWINDOWS

Interfaz Gráfica de Interfaz Gráfica de usuario.usuario.

Ejecuta programas de Ejecuta programas de DOS.DOS.

Fácil aprendizaje y uso.Fácil aprendizaje y uso.

Multitarea.Multitarea.

Intercambio dinámico Intercambio dinámico de datos entre de datos entre

programas.programas.

SeguridadSeguridad

Buen uso para redBuen uso para red

Page 95: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Page 96: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

OS/2OS/2

Producto de IBM.Producto de IBM.

SO multitarea y SO multitarea y monousuariomonousuario

Ejecuta aplicaciones Ejecuta aplicaciones DOS y WINDOWS.DOS y WINDOWS.

No existen aplicaciones No existen aplicaciones que aprovechen las que aprovechen las

ventajas de este SO.ventajas de este SO.

Page 97: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

UNIXUNIX

SO de propósito general, SO de propósito general, multiusuario e interactivo.multiusuario e interactivo.

Escrito en lenguaje de Escrito en lenguaje de alto nivel Calto nivel C

SO sólido y capaz con SO sólido y capaz con líneas de ordenes líneas de ordenes difíciles de usar.difíciles de usar.

Page 99: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. Básico Sw. Básico o de Sistemao de Sistema

Sw. de Sw. de AplicaciónAplicación

•Módulos del S.O.Módulos del S.O.•TraductoresTraductores•EnlazadoresEnlazadores•CargadoresCargadores•Prog. de Diagnostico yProg. de Diagnostico y mantenimientomantenimiento

Paquetes de SwPaquetes de Sw

• Prog. de FacturaciónProg. de Facturación• Programas de DiseñoProgramas de Diseño• Programas Programas desarrolladodesarrollado por el usuariopor el usuario

AplicacionesAplicacionesEspecíficasEspecíficas

S O

F T

W A

R E

S O

F T

W A

R E

Page 100: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. de Sw. de AplicaciónAplicaciónS

O F

T W

A R

ES

O F

T W

A R

E

Formado por Formado por programas y programas y

utilidades que utilidades que facilitan la facilitan la

construcción de construcción de aplicaciones de aplicaciones de

usuarios.usuarios.

Page 101: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Sw. de Sw. de AplicaciónAplicaciónS

O F

T W

A R

ES

O F

T W

A R

E

InterpretesInterpretes, traducción de lenguaje, , traducción de lenguaje, se ejecuta sentencia por sentencia.se ejecuta sentencia por sentencia.

Compiladores, lenguaje de alto , lenguaje de alto nivel a ensamblador.nivel a ensamblador.

Ensambladores, lenguaje , lenguaje ensamblador a lenguaje maquina.ensamblador a lenguaje maquina.

MontadoresMontadores, unión de módulos, , unión de módulos, generación de ejecutable.generación de ejecutable.

CargadoresCargadores, ejecutable a memoria , ejecutable a memoria y prepara ejecución.y prepara ejecución.

Depuración de erroresDepuración de errores, , seguimientoseguimiento de variables y encontrar errores.de variables y encontrar errores.

Page 102: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

SOFTWARE DE SOFTWARE DE DIAGNÓSTICO Y DIAGNÓSTICO Y MANTENIMIENTOMANTENIMIENTO

Utilizado por el personal de Utilizado por el personal de soporte técnico, encargado soporte técnico, encargado de la puesta a punto de los de la puesta a punto de los

equipos.equipos.

Localiza averías de un Localiza averías de un periférico o encuentra el mal periférico o encuentra el mal

funcionamiento de un funcionamiento de un paquete software.paquete software.

Page 103: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

SOFTWARE ESTÁNDAR SOFTWARE ESTÁNDAR O HERRAMIENTAS O HERRAMIENTAS

INFORMÁTICAS.INFORMÁTICAS.

Aplicaciones de uso Aplicaciones de uso general diseñadas para su general diseñadas para su lanzamiento al mercado.lanzamiento al mercado.

Ej.:Procesadores de Ej.:Procesadores de texto, hoja de calculo, texto, hoja de calculo,

graficadores, etc.graficadores, etc.

Page 104: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

SOFTWARE A MEDIDASOFTWARE A MEDIDA

Es aquel que ha sido Es aquel que ha sido desarrollado para desarrollado para

apoyar la gestión y la apoyar la gestión y la toma de decisiones. toma de decisiones. Ej.: sistema Ej.: sistema

de planillas, de planillas, contabilidad, contabilidad,

facturación, etc.facturación, etc.

Page 105: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Otros tiposOtros tipos

Software propietarioSoftware propietario, copia y , copia y distribución es delito.distribución es delito.

SharewareShareware, Limite de periodo , Limite de periodo de prueba.de prueba.

FreewareFreeware, permite copias y , permite copias y distribución.distribución.

Software LibreSoftware Libre, copia, , copia, distribución, modificación y distribución, modificación y redistribución del Software.redistribución del Software.

Page 106: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Lenguaje de programación

Conjunto de normas «lingüísticas» que permiten escribir un programa y que éste sea entendido por el ordenador y

pueda ser trasladado a ordenadores similares para su funcionamiento en otros sistemas.

Page 107: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Page 109: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Es un lenguaje de especificación de algoritmos, de uso fácil y sintaxis similar al lenguaje de programación

a utilizar, que permite al programador concentrarse

en las estructuras de control, y olvidarse de la sintaxis del

lenguaje a utilizar.

Algoritmo.

Pseudocódigo.

Lenguaje de Programación.

Page 110: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Conjunto de instrucciones, bajo una

sintaxis que son entendidas por el

ordenador.

Algoritmo.

Pseudocódigo.

Lenguaje de Programación.

Page 111: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Programa

Conjunto de instrucciones

ordenadas correctamente que permiten realizar una

tarea o trabajo específico.

Page 112: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Page 113: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Instrucciones de un Programa

• De entrada/salida Leer (X) - Mostrar (Y)

• De calculo Raíz (Z)

• De control Si X != Y Salir

• De transferencia de Asignar (Z) = 7 datos y asignación

Page 114: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Naturaleza del Lenguaje

Desarrollo Histórico

Estructura Programas

•Lenguaje de bajo nivel•Lenguaje de nivel medio•Lenguaje de alto nivel

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

•Lenguajes Lineales.•Lenguajes Estructurados.•Lenguajes Orientados a Objetos.

Page 115: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Naturaleza del Lenguaje

•Lenguaje de bajo nivel•Lenguaje de nivel medio•Lenguaje de alto nivel

Lenguaje de programación que el ordenador puede entender a la hora de

ejecutar programas, lo que aumenta su velocidad de

ejecución, pues no necesita un intérprete que traduzca

cada línea de instrucciones.

1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0

Page 116: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Naturaleza del Lenguaje

•Lenguaje de bajo nivel•Lenguaje de nivel medio•Lenguaje de alto nivel

Ensamblador Lenguaje de programación que está a un paso del lenguaje de máquina. El ensamblador traduce cada sentencia del lenguaje ensamblador a una instrucción de máquina.

Macroensamblador Lenguaje ensamblador que utiliza macros para su utilización (Ver Macro).

Page 117: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Naturaleza del Lenguaje

•Lenguaje de bajo nivel•Lenguaje de nivel medio•Lenguaje de alto nivel

Lenguaje de programación en el que las instrucciones enviadas para que el

ordenador ejecute ciertas órdenes son similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer

estas órdenes, es necesario el uso de un intérprete que traduzca el lenguaje de

alto nivel a un lenguaje de bajo nivel que el sistema pueda entender

Page 118: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Desarrollo Histórico

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

Conocidos como lenguajes maquina, son en los que se

utiliza el código binario (unos y ceros) para comunicarse

con la computadora, los únicos que lo hacen son los

diseñadores de los "chips" de los procesadores.

1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 1 0

1 1 0 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0

Page 119: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Desarrollo Histórico

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

conocidos también como ensambladores, se basan en lo que es la comprensión de varias palabras en una sola, por ejemplo: ADC significara "sumar con reserva"(en ingles: ADd with Carry)

Haciendo notoria la aclaración, de que esta serie de instrucciones serán traducidas al lenguaje maquina por el compilador del lenguaje.

Page 120: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Desarrollo Histórico

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

o de alto nivel son los lenguajes más comunes (C, Pascal, Algol, Cobol, Fortran, BASIC). Estos

lenguajes se asemejan ya un poco más al lenguaje humano, al utilizar palabras completas (en ingles) para

la codificación de los programas

Page 121: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Desarrollo Histórico

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

Estos lenguajes se han diseñado para facilitar la realización de muy variadas tareas, como lo son la simulación de

fenómenos físicos, manipulación de datos estadísticos, etc. Lenguajes: Visual Basic,

INFORMIX 4GL, Visual J++, Visual C, algunos autores consideran las planillas de calculo dentro de esta generación.

Page 122: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Desarrollo Histórico

•Primera Generación.•Segunda Generación.•Tercera Generación.•Cuarte Generación.•Quinta Generación.

En esta generación, el programador solo ingresa hechos y hace consultas, no se preocupa de cómo hacer los algoritmos

que entregan la respuesta, algunos autores la consideraban como un sueño, pero gracias al avance de la tecnología,

hoy en día es toda una realidad.

Page 123: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Estructura Programas

•Lenguajes Lineales.•Lenguajes Estructurados.•Lenguajes Orientados a Objetos.

Hace mucho tiempo atrás el término programación se refería a una codificación lineal absolutamente críptica y misteriosa

Page 124: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Estructura Programas

•Lenguajes Lineales.•Lenguajes Estructurados.•Lenguajes Orientados a Objetos.

Sus partes se realizan claramente, mediante el uso de tres estructuras lógicas de control:• Secuencia: Sucesión simple de

dos o mas operaciones. • Selección: bifurcación

condicional de una o mas operaciones.

• Interacción: Repetición de una operación mientras se cumple una condición.

Page 125: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Clasificación de los Lenguajes de Programación

Estructura Programas

•Lenguajes Lineales.•Lenguajes Estructurados.•Lenguajes Orientados a Objetos.

Introdujeron al lenguaje diario de los profesionales del área,

conceptos tales como herencia, polimorfismo, etc., que hicieron que

el modo de pensar y concebir el desarrollo de una aplicación fuera muy diferente a lo que había sido

hasta ese momento con la programación lineal o estructurada.

Page 126: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Compilador Programa capaz de traducir un código fuente, escrito en el lenguaje de alto nivel que sea, a un código_objeto escrito en lenguaje de maquina.

Intérprete Programa que realiza un análisis de una aplicación escrita en un lenguaje no-máquina (fácil de entender y trabajar con él) y lo convierte en lenguaje máquina entendible por el ordenador.

código fuente

Compilador Intérprete

Código objeto

Traducción y ejecución sentencia a sentencia

Page 127: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Código Fuente texto que contiene las instrucciones

del programa, escritas en el lenguaje de

programación.

Código Objeto Código generado por un compilador o un ensamblador traducido por un código fuente de

un programa.

código fuente

Compilador Intérprete

Código objeto

Traducción y ejecución sentencia a sentencia

Page 128: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Java

Pero Java no es nuevo. Nació al final de los años 70, cuando Bill Joy quiso crear un lenguaje que reuniera lo mejor de los lenguajes MESA y C. Eligió el C++ como

entorno de desarrollo pero se dio cuenta de que el C++ era - y es - demasiado complicado. La idea pasó de

empresa en empresa, hasta que el 5 de Diciembre de 1990, en la empresa Sun, se comenzó el proyecto,

llamado Oak, esta vez en C. Pasaron los años, y en 1994 el proyecto tomó forma como lo que hoy

conocemos como el lenguaje Java

Page 129: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Java

lenguaje de programación orientado a objetos desarrollado por la empresa Sun Microsystems en 1995 y que se ha extendido ampliamente en World Wide Web.

Es un lenguaje de alto nivel y propósito general similar a C++, con características de seguridad y transportabilidad.

Este lenguaje define una máquina virtual independiente de la plataforma donde se ejecuta, que procesa programas, llamados Applets, descargados desde el servidor Web.

Además, debido al modo de ejecución de los Applets, este lenguaje es muy seguro frente a la presencia y ataque de virus informáticos.

Page 130: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

SOFTWARE Y SU EVOLUCIÓN

Software de Productividad

Page 131: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.

Unidad 4:

Semana 04

Introducción a la Computación

Page 132: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 04

Objetivos:

• Introducción al concepto de archivos.

INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.

Introducción a la Computación

Page 133: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de ArchivosBase de Datos

Conjunto de registros (unidades de información relevante) ordenados y

clasificados para su posterior consulta, actualización o cualquier tarea de mantenimiento mediante

aplicaciones específicas

Colección o recopilación de datos relacionados y organizados en forma

electrónica.

Una guía telefónica es un ejemplo.

Page 134: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

ArchivoInformación que puede almacenarse en una computadora. Los archivos están constituidos por el software y los datos.

conjunto de registros referidos a objetos del mismo tipo.

Es un conjunto de datos relacionados de manera lógica, como puede ser el conjunto de los nombres, direcciones y teléfonos de los empleados de una empresa determinada.

Page 135: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

Registroconjunto de datos

elementales referidos a un mismo objeto y por tanto constituyen una

unidad para su proceso.

En el mundo de las bases de datos, cada una de las fichas que componen una tabla.

Page 136: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

CampoMínima unidad de información a la que se puede acceder

cada uno de los datos que forman un registro (o ficha). Por ejemplo, en la ficha de cada proveedor tendríamos campos como su nombre, su dirección, su teléfono, etc.

Page 137: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

Los Campos pueden ser:

NUMERICO (N)

CARÁCTER (C)

FECHA O DATE (D)

LOGICO (L)

ETC.

La longitud de un campo se determina en bytes.

Page 138: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

Tabla:un conjunto de

registros que tienen una cierta

homogeneidad (los datos de nuestros

proveedores).

un conjunto de filas (Registros) y

columnas (campos)

Page 139: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

Base de

Datos:un

conjunto de tablas

relacionadas entre

si.

Page 140: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción a los conceptos de Archivos

Código:Apellido:Nombre:Dirección:Teléfono:Sueldo:

Base de Datos

REGISTROS

CAMPOS

EMPLEADOS

Empleado C Empleado BEmpleado A

TABLA

Page 141: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Archivo

Conjunto de Registros referidos a objetos del mismo tipo.

Page 142: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Digitalización Señal que utiliza valores discretos en lugar de un

espectro continuo de valores

Video

Audio

Imagen

Page 143: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Page 144: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

TIPOS DE ARCHIVOS:

•ARCHIVOS DE DATOS.

•ARCHIVOS DE PROGRAMAS.

•ARCHIVOS DE TEXTO.

•ARCHIVOS DE IMÁGENES.

•ARCHIVOS DE AUDIO.

•ARCHIVOS DE VIDEO.

Page 145: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Page 146: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Page 147: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Page 148: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Código:Apellido:Nombre:Dirección:Teléfono:Sueldo:

Base de Datos

REGISTROS

CAMPOS

EMPLEADOS

Empleado C Empleado BEmpleado A

TABLA

Page 149: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Page 150: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Servidor de Archivos, dispositivo de

almacenamiento de archivos en una red de área local, o en Internet, al que los distintos Usuarios de la Red pueden Acceder, en función de los privilegios que les hayan sido dados

por parte del administrador.

Page 151: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

un Servidor de Archivos es un dispositivo más complejo que no sólo

almacena archivos sino que También los Administra y los

mantiene en orden a medida que los usuarios

de la red los solicitan y los modifican.

Page 152: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Introducción al concepto de archivo

Servidor de Archivos, suele ser un ordenador o computadora de altas prestaciones, con gran

capacidad de almacenamiento, que

está dedicado exclusivamente a las

funciones de administración de

archivos compartidos.

Page 153: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Administración y Procesamiento de Archivos

para explotar la

información que estos

datos representan.

Aplicación sistemática de una serie

de operaciones

sobre un conjunto de

datos.

generalmente por medio de

máquinas.

Page 154: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMOSALGORITMOS

Unidad 5:

Semana 05 – Senama 15

Introducción a la Computación

Page 155: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 05

Objetivos:

• Algoritmos Soluciones básicas

Introducción a la Computación

Page 156: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMO

DesarrolloSolución

CODIFICACION

PSEUDOCODIGO

DIAGRAMAS DE FLUJO

JAVA

LENGUANJE C

ALGORITMO - CONCEPTOS BÁSICOS

Page 157: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Definición:

El algoritmo constituye una lista completa de pasos secuenciales y una descripción de datos necesarios para resolver un determinado problema.

• Una lista de pasos secuenciales que deben ser ejecutados.

• Una descripción de los datos que son manipulados por estos pasos.

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo

Page 158: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Características:

• Una descripción de acciones que deben ser ejecutadas (Pasos Secuenciales). 

• Una descripción de los datos que son manipulados por estas acciones (Estructuras de Datos). 

• Un algoritmo debe ser preciso indicando el orden de realización de cada paso. 

• Todo algoritmo debe ser finito. Si se sigue un algoritmo este debe terminar en algún momento. 

• Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces se debe obtener el mismo resultado. 

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo

Page 159: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

• Un algoritmo puede tener o no datos de entrada. 

• Un algoritmo producirá uno o mas datos de salida. 

• Los datos de entrada y salida deben almacenarse en variables. 

• El resultado que se obtenga debe satisfacer los requerimientos de la persona interesada (efectividad). 

• Debe ser estructurado. Es decir, debe ser fácil de leer, entender, usar y cambiar si es preciso.

ALGORITMO - CONCEPTOS BÁSICOS

Características:

Algoritmo

Page 160: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Se dispone de diversas herramientas para ayudar a los programadores a desarrollar los algoritmos.

Herramientas:

Algoritmos

Pseudocódigo

Diagrama de flujo

ALGORITMO - CONCEPTOS BÁSICOS

Herramientas:

Algoritmo

Page 161: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Un pseudocódigo permite expresar un algoritmo con palabras en castellano que son semejantes a las instrucciones de un lenguaje de programación.

Algoritmo Mensaje

ENTRADA: sueldoSALIDA: sueldo

INICIONUMERO sueldosueldo = 0LEER sueldosueldo = sueldo * 0.85ESCRIBIR sueldo

FIN

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo - Pseudocódigo

Definición:

Page 162: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo – Diagrama de Flujo

Definición:

Es una herramienta que mediante el empleo de símbolos especializados y líneas de flujo, nos permite ilustrar el flujo lógico de pasos y datos de un algoritmo.

INICIO

LEER i

i<100

IMPRIMIR i

i = i*1.20

FIN

Page 163: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Símbolos básicosINICIO / FIN

Este símbolo permite marcar el inicio y el final del algoritmo

ENTRADA / SALIDA

Este símbolo es empleado para el ingreso de datos y la visualización de la información que resulta del procesamiento

DECISION

Permite seleccionar entre dos posibles alternativas de solución

PROCESO

Empleado para signar valores a variables y resultado de operaciones matemáticas

FLUJOS (LINEAS)

Permiten unir los diagramas y mostrar la secuencia lógica de la solución del problema

CONECTOR

Permiten unir los diagramas y mostrar la secuencia lógica de la solución del problema

ESTRUCTURAS DE DATOS

Page 164: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Símbolos adicionales

SALIDA

símbolo utilizado para representar la impresión de un resultado. Expresa escritura. Permite comunicar al exterior los resultados

ESTRUCTURAS DE DATOS

Símbolo utilizado para expresar un modulo de un problema. En realidad expresa que para continuar con el flujo normal del diagrama debemos primero resolver el subproblema que enuncia en su interior

Símbolo Utilizado para representar un decisión múltiple. En su interior se almacena un selector, y dependiendo del valor de dicho selector se sigue por una de las ramas o caminos alternativos

Símbolo utilizado para expresar conexión entre paginas diferentes

Page 165: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMO - CONCEPTOS BÁSICOS

Codificación – Java

Definición:

Java es un lenguaje de Programación Orientado a Objetos desarrollado por Sun Microsystems.

Es un lenguaje de propósito general que puede ser utilizado para el desarrollar cualquier tipo de aplicaciones.

package dominioDeLaAplicacion ;

class PrgBienvenida {

public static void main (String arg [] ) {

}}

Page 166: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMO - CONCEPTOS BÁSICOS

Codificación – C

Definición:

“C” es un lenguaje de Programación Orientado a Objetos desarrollado en los laboratorios de Bell en 1983

C++ es una versión ampliada y mejorada del enguaje C.

main {

}

Page 167: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

La visualización de datos nos permite mostrar los datos a través de la pantalla de la computadora.

Visualización de datos

Definición:

Page 168: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Visualización de datos

System.out.print (nombreVariable) ;

System.out.print (x + 2);

System.out.print ( “Hola” ) ;

ESCRIBIR nombreVariable

ESCRIBIR x + 2

ESCRIBIR “Hola”

En Pseudocódigo

En Java – Clase System En “C” –

ESCRIBIR nombreVariable

ESCRIBIR x + 2

ESCRIBIR “Hola”

En DF

cout << nombreVariable ;

cout << (x + 2);

cout << “Hola” ;

Previamente antes de la declaración de main() debe colocarse # include <iostream.h>

Page 169: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Visualización de datos

Ejemplo: Desarrollo una solución que permita mostrar el saludo “Bienvenidos al desarrollo de algoritmos”

Algoritmo Saludo

ENTRADA: SALIDA:

INICIOESCRIIBIR “Bienvenidos al desarrollo de algoritmos”

FIN

INICIO

ESCRIBIR “Bienvenidos al desarrollo de algoritmos”

FIN

Page 170: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

package dominioDeLaAplicacion ;class PrgSaludo {

public static void main (String arg [] ) { System.out.print (“Bienvenidos al desarrollo de algoritmos”); }}

“C”

#include <iostream.h>

main () { cout << “Bienvenidos al desarrollo de algoritmos” ;

}

Page 171: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Ejemplo: Desarrollo una solución que permita mostrar el saludo: “Bienvenidos al desarrollo de algoritmos estamos creando una segunda línea”

JAVA

package dominioDeLaAplicacion ;class PrgSaludo2 {

public static void main (String arg [] ) { System.out.println ( “Bienvenidos al desarrollo de algoritmos”); System.out.print ( “estamos creando una segunda línea”);

}}

Page 172: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Visualización de datos / Modificadores \n \t

JAVA

package dominioDeLaAplicacion ;class PrgSaludo2 {

public static void main (String arg [] ) { System.out.print (“Bienvenidos al desarrollo de algoritmos \n estamos creando

una segunda línea”); }}

“C”

#include <iostream.h>

main () { cout << “Bienvenidos al desarrollo de algoritmos \n estamos creando una segunda

línea” ;}

\n : Permite crear una línea adicional, similar al System.out.println

Page 173: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

package dominioDeLaAplicacion ;class PrgSaludos { public static void main (String arg [] ) { System.out.println ( “nombre: \ t Danae Flores”); System.out.print (“Edad: \ t 11 años”); }}

\t : Permite crear un espacio de tabulación antes de iniciar el párrafo que esta a continuaciónNombre: Danae FloresEdad: 11 años

Visualización de datos / Modificadores \n \t

C

#include <iostream.h>

main ( ) { cout << “nombre: \ t Danae Flores \ n ” >>; cout << “Edad: \ t 11 años”; }

Page 174: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

\t : Permite crear un espacio de tabulación antes de iniciar el párrafo que esta a continuaciónNombre: Danae FloresEdad: 11 años

public static void main (String arg [] ) { System.out.print (“nombre: \ t Danae Flores \n Edad: \ t 11 años”); }

main (] ) { cout << “nombre: \ t Danae Flores \n Edad: \ t 11 años” ; }

Page 175: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

COMENTARIOS

// Este es un comentario de una línea

/ * Este es un comentario para multiples líneas */

En Pseudocódigo

En Java – Clase System En “C”

En DF

// Este es un comentario de una línea

/ * Este es un comentario para multiples líneas */

COMENTARIO Este es un comentario

Page 176: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

En Java/* Este programa, permitira mostra un mensaje empleandolos modificadores \n y \t */

public static void main (String arg [] ) {

// Visuaización de datosSystem.out.print (“nombre: \ t Danae Flores \n Edad: \ t 11 años”);

}

En C/* Este programa, permitira mostra un mensaje empleandolos modificadores \n y \t */

#include <iostream.h> main ( ) {

// Visuaización de datoscout << “nombre: \ t Danae Flores \n Edad: \ t 11 años” ;

}

Page 177: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 06

Objetivos:

• Algoritmos Soluciones básicas

Introducción a la Computación

Page 178: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ALGORITMO - CONCEPTOS BÁSICOS

• Tipos de Datos

• Operadores Matemáticos

• Operadores relacionales y lógicos • Estructuras de Datos: Variables y constantes

• Ingreso de Datos

Page 179: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

En Pseudocódigo / DF se reconocen los siguiente tipos de datos :

• ENTERO Para representar a un numero entero

• REAL Para representar a un numero real (Con decimales)

• TEXTO Para representar a una cadena de caracteres

• CARÁCTER Para representar un solo caracter

• LOGICO Para representar a un valor verdadero o falso

Tenga presente que las palabras ENTERO, REAL, TEXTO, CARACTER y LOGICO son reglas o pautas utilizadas en el pseudocódigo por lo que no podrán ser usadas como nombre de variable o constante.

Tipos de datos:

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo – Pseudocódigo / DF

Page 180: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Tenga presente que char, String, int, long, float, double, boolean, wchar_t y bool, son palabras reservadas utilizadas en Java y C respectivamente por lo que no podrán ser usadas como nombre de variable o constante.

CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN

Java C

char char Almacena el valor de un caracter

String wchar_t Almacena caracteres anchos

Int / long int Almacena valores enteros

float float Almacena valores de coma flotante

double double Almacena valores de coma flotante dobles

boolean bool Almacena valores verdadero o falso

Page 181: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

• Los operadores que están encerrados entre paréntesis se evalúan primero. Si existen paréntesis anidados las expresiones mas internas se evalúan primero.

• Orden de prioridad:

1. POTENCIA

2. * , /

3. DIVIDIR , RESTO

4. + , -

• En caso de coincidencia de operadores de igual prioridad en una expresión, el orden de prioridad será de izquierda a derecha.

Pautas - Operadores aritméticos:

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo – Pseudocódigo / DF

+ Suma

- Resta.

* Multiplicación

/ División

DIVIDIR División Entera

RESTO Módulo o resto

RAIZ Raíz de un número.

POTENCIA Potencia de número

Page 182: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Pautas - Operadores relacionales y lógicos:

ALGORITMO - CONCEPTOS BÁSICOS

Algoritmo – Pseudocódigo / DF

< Menor que

> Mayor que

= Igual que

<= Menor o igual que.

>= Mayor o igual que

<> Distinto de.

NO (Not) Negación.

Y (And) Conjunción.

O (Or) Disyunción.

Page 183: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

+ - * / % ++ --Aritméticos

Comparación= = ! = < < = > > =

Lógicos&& || !

Asignación

= + = - = * = / = % =

CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN

Operadores:Java y C

Page 184: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Variables y constantes

Variables :

Declaración

Inicialización

Una variable es una estructura de datos que permite reservar un espacio con la finalidad de almacenar temporalmente los datos. Una variable sólo puede almacenar un solo dato a la vez y del mismo tipo.

Almacenamiento de datos

ConstantesUna constate es una estructura de datos que permite almacenar un valor fijo, el cual va a ser empleado sin lugar a modificación durante el desarrollo del Pseudocòdigo / DF

Java : final pi = 3.1416C : final pi = 3.1416

Page 185: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

VariablesDeclaración: Significa definir el nombre de la variable y el tipo de dato que podrá almacena: tipoDato NombreDeVariable

Inicialización : Significa asignar un valor inicial a la variable, el cual luego puede ser modificado mediante el almacenamiento de datos

Asignación : Significa dar un valor a la variable durante el desarrollo del pseudocódico / DF: NombreDeVariable = valor

Pseudocódigo : ENTERO nota1Java : int nota1C : int nota1

Pseudocódigo : nota1 = 10Java : nota1 = 10C : nota1 = 10

ESTRUCTURAS DE DATOS

Pseudocódigo : nota1 = 0 nombre = “ “Java : nota1 = 0 nombre = “ “C : nota1 = 0 nombre = “ “

Page 186: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Prob. : Desarrollo una solución que permita sumar los números 10 y 15 y mostrar el resultado

Algoritmo Suma

ENTRADA: SALIDA: suma

INICIOENTERO num1, num2, sumanum1 = 10num2 = 15suma = num1 + num2ESCRIIBIR suma

FIN

INICIO

ESCRIBIR suma

FIN

num1 = 10num2 = 15

ENTERO num1, num2, suma

suma = num1 + num2

Page 187: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

package dominioDeLaAplicacion ;class PrgSuma {

public static void main (String arg [] ) {

// declaraciónint num1, num2, suma;

// asignaciónnum1=10; num2=15;

// operaciónsuma = num1 + num2;

// Visualización de resultadosSystem.out.print (suma);

}}

“C”

#include <iostream.h>

main ( ) {

// declaraciónint num1, num2, suma;

// asignaciónnum1=10; num2=15;

// operaciónsuma = num1 + num2;

// Visualización de resultadoscout <<suma ;

}

Page 188: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Prob. : Desarrollo una solución que permita calcular el área de un cuadrado sabiendo que tiene lado = 10

Algoritmo AreaCuadrado

ENTRADA: SALIDA: area

INICIOENTERO lado, arealado = 10area = lado * ladoESCRIIBIR area

FIN

INICIO

ESCRIBIR area

FIN

Lado = 10

ENTERO lado, area

area = lado * lado

Page 189: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

package dominioDeLaAplicacion ;class PrgAreaCuadrado {

public static void main (String arg [] ) {

// declaraciónint lado, area;

// asignaciónlado = 10;

// operaciónarea = lado * lado;

// Visualización de resultadosSystem.out.print (“El area es: ” + area);

}}

“C”

#include <iostream.h>

main ( ) {

// declaraciónint lado, area;

// asignaciónlado = 10;

// operaciónarea = lado * lado;

// Visualización de resultadoscout << “El area es: ” << area ;

}

Page 190: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Este permite ingresar datos de diferente tipo a través de un dispositivo de entrada de una computadora (el teclado).

ESTRUCTURAS LÓGICAS

Ingreso de datos

Definición:

Page 191: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Ingreso de datos

nombreVariable = Lectura.leerInt () ;nombreVariable = Lectura.leerlong (); nombreVariable = Lectura.leerfloat () ;nombreVariable = Lectura.leerDouble () ;nombreVariable = Lectura.leerChar () ;nombreVariable = Lectura.leerString () ;

LEER nombreVariable

En Pseudocódigo

En Java – Clase Lectura

LEER nombreVariable

En DF

En “C”

cin >> nombreVariable ;

Previamente antes de la declaración de main() debe colocarse #include <iostream.h>

Page 192: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Ejemplo: Desarrollo una solución que permita ingresar y mostrar el nombre de un alumno

Algoritmo MostrarNombre

ENTRADA: nombreSALIDA: nombre

INICIOTEXTO nombreLEER nombreESCRIIBIR nombre

FIN

INICIO

LEER nombre

FIN

TEXTO nombre

ESCRIBIR nombre

Page 193: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

package dominioDeLaAplicacion ;

import biblioteca.Lectura ;

class PrgMostrarNombre {

public static void main (String arg [] ) {

String nombre; //Ingreso de datos

System.out.print (“Ingrese el nombre: “); nombre = Lectura.leerString();

System.out.print (“El nombre es: ” + nombre);

}}

“C”

#includet <iostream.h>

main ( ) {

wchar_t nombre; //Ingreso de datos

cout <<“Ingrese el nombre: “; cin >> nombre;

cout << “El nombre es: ” << nombre ;

}

Page 194: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

Ejemplo: Desarrollo una solución que ingresar el nombre y dos notas de un alumno y mostrar su nombre y promedio obtenido

Algoritmo NombrePromedio

ENTRADA: nombre, nota1, nota2SALIDA: nombre, promedio

INICIOTEXTO nombreENTERO nota1, nota2REAL promedioLEER nombre, nota1, nota2promedio = (nota1 + nota2) / 2ESCRIIBIR nombre, promedio

FIN

INICIO

LEER nombre, nota1, nota2

FIN

TEXTO nombre REAL promedioENTERO nota1, nota2

ESCRIBIR nombre, promedio

Promedio = (nota1 + nota2) / 2

Page 195: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

JAVA

import biblioteca.Lectura;class PrgNombrePromedio { public static void main (String arg [] ) {

String nombre; int nota1, nota2; double promedio;

//Ingreso de datos System.out.print (“Ingrese el nombre: “); nombre = Lectura.leerString(); System.out.print (“Ingrese la nota1: “); nota1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2: “); nota2 = Lectura.leerInt();

promedio= (nota1 + nota2) / 2;

System.out.print (“El nombre es: ” + nombre + “ y su promedio es: “ + promedio);

}}

“C”

#include <iostream.h>public main () {

wchar_t nombre; int nota1, nota2; double promedio;

//Ingreso de datos cout << “Ingrese el nombre: “; cin >> nombre; cout <<“Ingrese la nota1: “; cin >> nota1 ; cou <<“Ingrese la nota2: “; cin >> nota2 ;

promedio= (nota1 + nota2) / 2;

cout <<“El nombre es: ” << nombre << “ y su promedio es: “ << promedio;

}

Page 196: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 07

Objetivos:

• Estructuras de Decisión SI – FINSI • Estructuras de Decisión SI – SINO – FINSI

Introducción a la Computación

Page 197: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Simple (SI.. FINSI)

ESTRUCTURAS LÓGICAS

Una estructura de decisión simple “SI... FINSI” permite alterar el flujo secuencial (o pasos secuenciales) de una solución ejecutando un conjunto de pasos adicionales si el resultado de una condición lógica es verdadera.

PSEUDOCODIGO

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las instrucciones que se encuentran entre las reglas ENTONCES y FINSI.

Si la condición resulta falsa, no se ejecutan las instrucciones que se encuentran entre las reglas ENTONCES y FINSI

SI (condición)ENTONCES instrucciones...FINSI

Definición:

Page 198: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Simple (SI… FINSI)

ESTRUCTURAS LÓGICAS

Page 199: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Simple (SI… FINSI)

ESTRUCTURAS LÓGICAS DE DECISION

JAVA y C

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las sentencias que se encuentra entre las llaves { }.

Si la condición resulta falsa, no se ejecutan las sentencias que se encuentran entre las llaves { }.

if (condición) { sentencias... }

Page 200: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 1: Calcular y mostrar el área de un cuadrado. Si el área del cuadrado resulta menor que 100, se deberá visualizar el mensaje “este cuadrado es pequeño”.

Algoritmo AreaCuadrado

ENTRADA: ladoSALIDA: area, mensaje

INICIOENTERO lado, areaTEXTO mensaje = “ “LEER lado

area = lado * lado

SI ( area < 100)ENTONCES mensaje = “Este cuadrado es pequeño”FINSI

ESCRIIBIR area, mensajeFIN

INICIO

ESCRIBIR mensaje

ENTERO lado, areaTEXTO mensaje

area = lado * lado

LEER lado

area < 100

FIN

mensaje = “este cuadrado es pequeño”

F

V

Page 201: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVA

package dominioDeLaAplicacion ;import biblioteca.Lectura;class PrgAreaCuadrado2 { public static void main (String arg [] ) {

String mensaje= “ “; int lado, area; System.out.print (“Ingrese el lado: “); lado = Lectura.leerInt(); area = lado * lado;

//Estructura de Decisión if (area<100) {

mensaje = “Este cuadrado es pequeño”; }

System.out.print (mensaje);

}}

“C”

#include <iostream.h> main ( ) {

wchar_t mensaje=“ “; int lado, area; cout <<“Ingrese el lado: “; cin >> lado; area = lado * lado;

//Estructura de Decisión

if (area<100) { mensaje = “Este cuadrado es pequeño”; }

cout <<mensaje;

}

Page 202: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 2: Calcular la nota final (nf) de un alumno, sabiendo que tiene sólo dos notas. Si el alumno obtiene una nota final mayor a 13 se deberá visualizar un mensaje de felicitaciones

Algoritmo NotaFinal

ENTRADA: nota1, nota2SALIDA: nf, mensaje=“ “

INICIOENTERO nota1, nota2REAL nfTEXTO mensajeLEER nota1, nota2nf = (nota1 + nota2) / 2

SI ( nf > 13 )ENTONCES

mensaje = “Felicitaciones”FINSI

ESCRIBIR mensajeFIN

INICIO

ENTERO nota1, nota2 REAL nfTEXTO mensaje= “ “

nf = (nota1 + nota2) / 2

LEER nota1, nota2

nota > 13

ESCRIBIR mensaje

FIN

mensaje = “Felicitaciones”

Page 203: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVA

class PrgAreaCuadrado2 { public static void main (String arg [] ) {

String mensaje=“ ”; int nota1, nota2, nf; System.out.print (“Ingrese la nota1: “); nota1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2: “); nota2 = Lectura.leerInt();

nf = (nota1 + nota2) / 2; //Estructura de Decisión Simple if (nf > 13){

Mensaje = “Felicitaciones”; }

System.out.print (“Su promedio es: “ + nf + mensaje);

}}

“C” #include <iostream.h> main ( ) {

wchar_t mensaje=“ ”; int nota1, nota2, nf;

cout <<“Ingrese la nota1: “; cin >> nota1; cout <<“Ingrese la nota2: “; cin >> nota2;

nf = (nota1 + nota2) / 2; //Estructura de Decisión Simple if (nf > 13){

mensaje = “Felicitaciones”; }

cout <<“Su promedio es: “ + nf + mensaje);

}

Page 204: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

1.- Calcular y mostrar el sueldo de un trabajador conociendo el número de horas trabajadas y su tarifa horaria, sabiendo que se debe descontar un 10% del sueldo por concepto de impuestos si éste es mayor de S/. 3000.

INTENTALO…!!!

Page 205: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Doble (SI/SINO)

Una estructura de decisión doble “SI... SINO... FINSI” permite alterar el flujo secuencial (o pasos secuenciales) de una solución, ejecutando un conjunto de pasos dependiendo del resultado de una condición lógica. Si la condición resulta verdadera, se ejecuta un conjunto de pasos, y si la condición resulta falsa, se ejecuta otro conjunto de pasos. En ningún caso se podrá ejecutar ambos conjuntos de pasos a la vez.

PSEUDOCODIGO

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las instrucciones que se encuentran entre las reglas ENTONCES y SINO.Si la condición resulta falsa se ejecutan las instrucciones que se encuentran entre las reglas SINO y FINSI.Sólo se ejecuta uno de los grupos de instrucción, en ningún caso se podrá ejecutar ambos grupos.

SI (condición)ENTONCES instrucciones...SINO instrucciones...FINSI

ESTRUCTURAS LÓGICAS DE DECISION

Definición:

Page 206: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Doble (SI/SINO)

ESTRUCTURAS LÓGICAS DE DECISION

Page 207: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

JAVA y C

EXPLICACIÓN:

Si la condición resulta verdadera, se ejecutan las sentencias que se encuentran entre las llaves { } ubicadas después de la palabra reservada if.Si la condición resulta falsa, se ejecutan las sentencias que se encuentran entre las llaves { } ubicadas después de la palabra reservada else.

if (condición) { sentencias... } else { sentencias... }

Estructura Lógica de Decisión Doble (SI/SINO)

ESTRUCTURAS LÓGICA DE DECISION

Page 208: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 1: Calcular y mostrar la nota final de un alumno. Si la nota final (nf) es menor a 14 se deberá mostrar el mensaje “Desaprobado”, caso contrario se mostrará el mensaje “Aprobado”. Fórmula: nf = (n1+n2+n3) / 3.

Algoritmo NotaFinal2

ENTRADA: nota1, nota2, nota3SALIDA: nf, mensaje

INICIOENTERO nota1, nota2,nota3REAL nfTEXTO mensaje LEER nota1, nota2, nota3nf = (nota1 + nota2 + nota3 ) / 3

SI ( nf < 14 )ENTONCES

mensaje = “Desaprobado”SINO

mensaje = “Aprobado”FINSI

ESCRIIBIR nf, mensajeFIN

INICIO

ENTERO nota1, nota2,nota3REAL nf TEXTO mensaje

nf = (nota1 + nota2 + nota3) / 3

nota1, nota2,nota3

nota < 14

FIN

V F

mensaje=“Desaprobado” mensaje=“Aprobado”

ESCRIBIR mensaje

Page 209: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVAclass PrgNotaFinal2 { public static void main (String arg [] ) {

String mensaje; int nota1, nota2, nota3 double nf ; System.out.print (“Ingrese la nota1: “); nota1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2: “); nota2 = Lectura.leerInt(); System.out.print (“Ingrese la nota3: “); nota3 = Lectura.leerInt();

nf = (nota1+nota2+nota3) / 3; if (nf <14) {

mensaje = “Desaprobado”; } else {

mensaje = “Aprobado”; }

System.out.print (“su nota final es: “ + nf + “, usted está “ + mensaje);

}}

“C”#include <iostream> ; main ( ) {

wchar_t mensaje; int nota1, nota2, nota3; double nf;

cout <<“Ingrese la nota1: “>>; cin >> nota1; cout << “Ingrese la nota2: “>>; cin >> nota2; cout <<Ingrese la nota3: “>>; cin >> nota3;

nf = (nota1+nota2+nota3) / 3; if (nf <14) {

Mensaje = “Desaprobado”; } else {

Mensaje = “Aprobado”; }

cout <<“su nota final es: “ + nf + “, usted está “ + mensaje;

}

Page 210: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DESICION

Problema 2: Ingrese un número y determine si el número ingresado es un número par o un número impar.

ENTRADA: numSALIDA: mensaje

INICIOENTERO numTEXTO mensaje LEER num

SI ( num RESTO 2 = 0 )ENTONCES

mensaje = “Es un numero par”SINO

mensaje = “Es un numero impar”FINSI

ESCRIIBIR mensajeFIN

INICIO

ENTERO numTEXTO mensaje

LEER num

num RESTO 2 = 0

FIN

V F

mensaje=“Numero par” mensaje=“Numero impar”

ESCRIBIR mensaje

Algoritmo NumPar

Page 211: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVA

class PrgNumPar { public static void main (String arg [] ) {

String mensaje; int numero; System.out.print (“Ingrese un numero: “); numero = Lectura.leerInt();

if (numero % 2 == 0) {mensaje = “Numero par”;

} else {mensaje = “Numero impar”;

}

System.out.print (“Usted ingreso el numero: “ + numero + “ ,es un ” + mensaje”);

}}

“C”

#include <iostram.h> main ( ) {

wchar_t mensaje; int numero; cout <<“Ingrese un numero: “; cin >> numero;

if (numero % 2 == 0) {Mensaje = “Es un numero par”;

} else {Mensaje = “Es un numero impar”;

}

cout <<“Usted ingreso el numero: “ + numero + “ ,es un ” + mensaje;

}

Page 212: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

1.- Calcular y mostrar el monto total a pagar por la compra de un artículo si se tiene que agregar el IGV. En caso que el monto total a pagar incluido IGV sea mayor a S/.500 nuevos soles se aplica un descuento de 8%, caso contrario el descuento será de 2%.

INTENTALO…!!!

Page 213: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 08

Objetivos:

• Estructuras de Decisión Múltiple CUANDO

Introducción a la Computación

Page 214: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Una estructura de decisión múltiple “CUANDO... FINCUANDO” permite alterar el flujo secuencial de una solución ejecutando un conjunto de pasos dependiendo del valor de una variable. Generalmente, para cada posible valor que pueda tener la variable se define un conjunto de pasos a ejecutar. También se define un conjunto de pasos a ejecutar en caso que uno de los valores de la variable no tenga asociado un conjunto de pasos a ejecutar.

PSEUDOCODIGO

EXPLICACIÓN:

Si el valor de la variable es igual a uno de los valores colocados después de una de las reglas CASO, se ejecutan las instrucciones que están dentro del mismo.

Si el valor de la variable no es igual a ninguno de los valores colocados después de una de las reglas CASO, se ejecutan las instrucciones que están dentro de la regla OTROS. La regla OTROS es opcional (es decir, puede aparecer como no).

CUANDO (variable) SEA CASO (valor 1) : instrucciones... TERMINAR CASO (valor n) : instrucciones... TERMINAR OTROS instrucciones... FINCUANDO

Estructura Lógica de Decisión Múltiple (CUANDO)

ESTRUCTURAS LÓGICAS DE DECISION

Definición:

Page 215: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Múltiple (CUANDO)

ESTRUCTURAS LÓGICAS DE DESICION

Page 216: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Múltiple (CUANDO)

ESTRUCTURAS LÓGICAS DE DECISION

CASO (VALOR 1) Instrucciones TERMINARV

F

CASO (VALOR 2) Instrucciones TERMINARV

F

CASO (VALOR 3) Instrucciones TERMINARV

F

CASO (VALOR “n”) Instrucciones TERMINARV

F

Instrucciones POR DEFECTO

Page 217: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Múltiple (CUANDO)

JAVA y C

EXPLICACIÓN:

Si el valor de la variable es igual a uno de los valores colocados después de la palabra reservada case (valor 1, valor 2, etc), se ejecutan las sentencias que están dentro del mismo hasta llegar al final (es decir hasta la llave) a no ser que encuentre una palabra reservada break entre las sentencias que se ejecutan.

Si el valor de la variable no es igual a ninguno de los valores colocados después de una de las palabras reservadas case, se ejecutan las sentencias que están dentro de la palabra reservada default. La palabra reservada default es opcional (es decir puede aparecer como no).

switch (variable) {

case valor 1 : sentencias... break

case valor 2 : sentencias... break

case valor n : sentencias... break

default : sentencias...

}

ESTRUCTURAS LÓGICAS DE DESICION

Page 218: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 1: Ingresar la categoría (categoria) y el sueldo (sueldo) de un trabajador, y calcular su aumento de sueldo teniendo en cuenta la siguiente mostrada. Mostrar el nuevo sueldo del trabajador (sueldo).

Categoría Aumento

1 38 %

2 21 %

3 12 %

4 08 %

Page 219: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Algoritmo PrgSueldo – main()

ENTRADA: categoria, sueldoSALIDA: sueldoINICIO

ENTERO categoriaREAL sueldoLEER categoria, sueldoCUANDO (categoria) SEA CASO (categoria = 1) sueldo = sueldo * 1.38 TERMINAR CASO (categoria = 2) sueldo = sueldo * 1.21 TERMINAR CASO (categoria = 3) sueldo = sueldo * 1.12 TERMINAR CASO (categoria = 4) sueldo = sueldo * 1.08 TERMINAR OTROS Sueldo = sueldoFIN CUANDO

ESCRIIBIR sueldoFIN

Page 220: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

INICIO

NUMERO categoria, REAL sueldo

Sueldo = sueldo * 1.38

LEER categoria, sueldo

categoria

FIN

Sueldo = sueldo * 1.21 Sueldo = sueldo * 1.12 Sueldo = sueldo * 1.08

ESCRIBIR sueldo

Page 221: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVAclass PrgSueldo { public static void main (String arg [] ) {

int categoria; double sueldo=0; System.out.print (“Ingrese la categoria”); categoria = Lectura.leerInt(); System.out.print (“Ingrese el sueldo”); sueldo = Lectura.leerInt(); switch (categoria) {

case 1: sueldo = sueldo * 1.38;break;case 2: sueldo = sueldo * 1.21;break;case 3: sueldo = sueldo * 1.12;break;case 4: sueldo = sueldo * 1.08;break;default: sueldo = sueldo

} System.out.print (Su sueldo es: “ + sueldo); }}

“C”#include <iostream.h>main () {

int categoria doublesueldo; cout <<“Ingrese la categoria”; cin >> categoria cout <<“Ingrese el sueldo”; cin >> sueldo; switch (categoria) {

case 1: sueldo = sueldo * 1.38;break;case 2: sueldo = sueldo * 1.21;break;case 3: sueldo = sueldo * 1.12;break;case 4: sueldo = sueldo * 1.08;break;default: sueldo = sueldo

} cout << “Su sueldo es: “ + sueldo>>;}

Page 222: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

1.- En una dulcería se venden 4 tipos de sándwich, de acuerdo a la siguiente tabla:

2.- Desarrollar una solución que permita realizar operaciones de suma, resta o multiplicación. Se deberá ingresar dos números y el tipo de operación que se desea realizar

Categoría Aumento

A 4.5

B 5.0

C 7.5

D 13.5

INTENTALO…!!!

símbolo operación

+ Suma

- Resta

* Multiplicación

/ División

Page 223: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 10

Objetivos:

• Estructuras de Decisión Múltiples Si ANIDADOS

Introducción a la Computación

Page 224: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Múltiple (SI Anidados)

Una estructura de decisión múltiple “SI Anidados” permite alterar el flujo secuencial de una solución ejecutando un conjunto de pasos que dependen del resultado de evaluar diferentes condiciones lógicas dentro de estructuras de decisión simple o doble.

PSEUDOCODIGO

EXPLICACIÓN:

En el pseudocódigo mostrado, se puede apreciar un ejemplo de una estructura múltiple “SI Anidados”.

Observe como se combinan estructuras de decisión simple y estructuras de decisión doble. Tenga presente que para formar una estructura múltiple “SI Anidados” puede utilizar cualquier combinación de estructuras de decisión simple y doble.

SI (condición1) ENTONCES instrucciones1… SINO SI (condición2) ENTONCES instrucciones2… SINO SI (condición3) ENTONCES instrucciones3… FINSI FINSI FINSI

ESTRUCTURAS LÓGICAS DE DECISION

Definición:

Page 225: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Decisión Múltiple (SI Anidados)

ESTRUCTURAS LÓGICAS DE DECISION

INICIO

condición

Instrucciones condición

Instrucciones condición

Instrucciones

F

F

F

V

V

V

Instrucciones

FIN

Page 226: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

JAVA y C

OBSERVACIÓN:

El presente código desarrollado en Java es la traducción del pseudocódigo de la diapositiva anterior.

El profesor desarrollará en clase otras formas de utilizar las estructuras de decisión múltiple “SI Anidados”.

if (condición1) { sentencias1... } else { if (condición2) { sentencias2... } else { if (condición3) { sentencias3… } } }

Estructura Lógica de Decisión Múltiple (SI Anidados)

ESTRUCTURAS LÓGICAS DE DECISION

Page 227: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 1: Desarrolle una solución que permita ingresar la nota final de un alumno e identificar a que categoría pertenece, de acuerdo a la siguiente tabla

Rango Categoria

Desde 16 a 20 A

Desde 11 a 15 B

Desde 00 a 10 C

Page 228: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Algoritmo PrgCategoriaNota – main()

ENTRADA: nfSALIDA: categoriaINICIO

ENTERO nfCARACTER categoria LEER nf

SI ( nf > 15 Y nf < 21) ENTONCEScategoria = “A”SINO SI ( nf > 10 Y nf < 16) ENTONCES categoria = “B” SINO categoria = “C” FINSI

FINSI

ESCRIIBIR categoria

FIN

Page 229: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

INICIO

nf

nf >15 Y nf >21

FV

F

FIN

ENTERO nfinalCARÁCTER categoria

nf >10 Y nf >16

categoria = “A”

categoria = “B”

categoria = “C”

ESCRIBIR categoria

V

Page 230: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

JAVA

class PrgCategoriaNota { public static void main (String arg [] ) {

int nf;char categoria;

System.out.print(“Ingrese la nota final”) nf = Lectura.leerInt(); //If anidados if (nf >15 && nf < 21) { categoria = ‘A’; } else { if (nf >10 && nf < 16) {

categoria = ‘B’; }else { Categoria = ‘C’;

} }

System.out.print (categoria); }}

“C”

#include <iostream.h> main () {

int nf; char categoria; cout <<“Ingrese la nota final”); cin >> nf ; //If anidados if (nf >15 && nf < 21) { categoria = ‘A’; } else {

if (nf >10 && nf < 16) { categoria = ‘B’;

} else { Categoria = ‘C’;

} }

cout <<categoria; }

Page 231: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

Problema 2: Calcular el área de un rectángulo conociendo su base y altura. Si el área es menor que 100, se deberá visualizar el mensaje “rectángulo pequeño”; si el área es mayor o igual a 100 y menor que 1000, se visualizará el mensaje “rectángulo mediano”; y si el área es mayor o igual que 1000, el mensaje será “rectángulo grande”.

ENTRADA: base, alturaSALIDA: area, mensaje

INICIOREAL base, altura, areaTEXTO mensajeLEER base, alturaarea = base * altura

SI (area<100)ENTONCES mensaje = “rectangulo pequeño”SINO SI (area >= 1000) ENTONCES mensaje = “rectangulo grande” SINO mensaje = “rectangulo mediano” FINSIFINSI ESCRIBIR area, mensaje

FIN

Algoritmo AreaTriangulo

Page 232: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE DECISION

public static void main ( String arg[] ) {

double base, altura, area; System.out.println ( “Ingrese la base del rectángulo: ” );base = Lectura.leerDouble();System.out.println ( “Ingrese la altura del rectángulo: ” );altura = Lectuura.leerDouble();area = base * altura;

if (area < 100) { mensaje = “ rectángulo pequeño ”;} else { if ( (area >= 1000) { mensaje = “ rectángulo grande ”; } else { mensaje = “ rectángulo mediano ”; }}

System.out.println ( “El área es: ” + area );System.out.println ( “y es un ” + mensaje );

}

main (] ) {

double base, altura, area; Cout << “Ingrese la base del rectángulo: ” ;Cin >> base;Cout << “Ingrese la altura del rectángulo: ” ;Cin >> altura area = base * altura;

if (area < 100) { mensaje = “ rectángulo pequeño ”;} else { if ( (area >= 1000) { mensaje = “ rectángulo grande ”; } else { mensaje = “ rectángulo mediano ”; }}

Cout << “El área es: ” + area ;Cout << “y es un ” + mensaje ;

}

Page 233: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS

INTENTALO…!!!

Page 234: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 11

Objetivos:

• Estructuras lógicas de control “MIENTRAS”• Estructuras lógicas de control “HACER-MIENTRAS”

Introducción a la Computación

Page 235: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

contador = contador + cantidadConstante

Ejemplos: En Pseudocódigo En Java y C

- Incremento de 1 en 1 c = c + 1 C++

- Incremento de 2 en 2 contar = contar + 2 contar += 2 ;

ESTRUCTURAS DE DATOS

VariablesUso de contadores

Un contador es una variable entera que toma un valor inicial y cuyo valor se incrementa o decrementa en una cantidad fija cada vez que se ejecutan los pasos que forman parte de una estructura de repetición. Un contador puede ser creciente o decreciente.

Definición:

Page 236: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Definición:

PSEUDOCODIGO

MIENTRAS (condición) instrucción 1 . . . instrucción n FINMIENTRAS

Una estructura lógica de repetición “MIENTRAS… FINMIENTRAS”, permite repetir una instrucción o un bloque de instrucciones mientras que una condición se cumpla o sea verdadera. Esta estructura de repetición prueba la condición antes de ejecutar la instrucción o instrucción.

Page 237: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Page 238: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

JAVA y C

while (condición) { sentencia 1 . . . sentencia n }

Page 239: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Problema 1: Calcular la nota final de todos los alumnos del curso utilizando la siguiente fórmula: nf = ( n1 + (n2 *2 ) ) / 3

Algoritmo Nfinales

ENTRADA: numalu, n1, n2SALIDA: nf

INICIOENTERO numalu, n1, n2, cont=1REAL nfLEER numalu

MIENTRAS (cont <= numalu) LEER n1, n2

nf = ( n1 + (n2 *2 ) ) / 3 ESCRIIBIR nf cont = con +1

FINMIENTRAS

FIN

INICIO

ESCRIBIR nf

ENTERO numalu, n1, n2, cont=1 REAL nf

nf = ( n1 + (n2 *2 ) ) / 3

LEER numalu

cont <= numalu

FIN

cont = cont + 1

Page 240: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

JAVA

package dominioDeLaAplicacion ;Import biblioteca.Lectura;class PrgAPrgNfinales { public static void main (String arg [] ) {

int numalu=0, n1=0,n2=0, cont=1; double nf=0;

while (cont <= numalu){

System.out,.print(“Ingrese la nota1”) n1 = Lectura.leerInt();System.out,.print(“Ingrese la nota2”)

n2 = Lectura.leerInt(); nf = ( n1 + (n2 *2 ) ) / 3; System.out.print (“La nota final del alumno“

+ (i + 1) + “ es ” + nf);

cont = cont +1; }

}}

“C”

#include <iostream,h> main ( ) {

int numalu=0, n1=0,n2=0, cont=1; double nf=0;

while (cont <= numalu){

cout <<“Ingrese la nota1”; cin >> n1;cout <<“Ingrese la nota2”;

cin >> n2; nf = ( n1 + (n2 *2 ) ) / 3; cout << “La nota final del alumno“ +

(i + 1) + “ es ” + nf >>;

cont = cont +1; }

}

Page 241: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

INTENTALO…!!!

Page 242: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (HACER-MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Definición:

Una estructura lógica de repetición “HACER... MIENTRAS”, permite repetir una instrucción o un bloque de instrucciones mientras que una condición se cumpla o sea verdadera. Esta estructura de repetición permite que se ejecuten al menos una vez las instrucciones o instrucción antes de probar la condición.Esta estructura es utilizada para el desarrollo de menú y para la consistencia de los datos.

PSEUDOCODIGO

HACER instrucción 1 . . . instrucción n MIENTRAS (condición)

Page 243: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (HACER - MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Page 244: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (HACER - MIENTRAS)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

JAVA y C

do { sentencia 1 . . . sentencia n } while (condición) ;

Page 245: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Problema 1: Calcular la nota final de los alumnos del curso, siempre que se desee continuar. Utilizar la siguiente fórmula prom = (n1 + n2) / 2

ENTRADA: n1, n2SALIDA: nf

INICIOENTERO n1, n2, cont=1REAL nfCARACTER continua

HACER LEER n1, n2

nf = ( n1 + (n2 *2 ) ) / 3 ESCRIIBIR nf

cont = cont + 1 LEER continuaMIENTRAS (continua = ‘S’ O continua=‘s’)

FIN

Algoritmo NFinales2INICIO

ESCRIBIR nf

ENTERO n1, n2, cont REAL nf

nf = ( n1 + (n2 *2 ) ) / 3

continua=‘S’ O continua=‘s’

FIN

cont = cont + 1

LEER n1, n2

LEER continua

V

F

Page 246: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL – REPETICION

JAVA

package dominioDeLaAplicacion ;Import biblioteca.Lectura:class PrgAPrgAreaNfinales2 { public static void main (String arg [] ) {

int n1=0,n2=0; double nf=0; char continua;

do { System.out.print (“Ingrese la nota1”): n1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2”): n2 = Lectura.leerInt(); nf = ( n1 + n2 ) / 2; System.out.print (“Nota final = “ + nf); System.out.print (“Desea continuar S/N”?: ); } while (continua = ‘S’ || continua=‘s’)

}}

“C”

#include <iostream.h> main ( ) {

int n1=0,n2=0; double nf=0; char continua;

do { cout <<“Ingrese la nota1”: cin >> n1; cout << “Ingrese la nota2” cin >> n2; nf = ( n1 + n2 ) / 2; cout <<Nota final = “ + nf ; cout <<Desea continuar S/N?: “ ; } while (continua = ‘S’ || continua=‘s’)

}

Page 247: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

INTENTALO…!!!

Page 248: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 12

Objetivos:

Estructuras lógicas de control “DESDE”

Introducción a la Computación

Page 249: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (DESDE)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Definición:

Una estructura de repetición “DESDE... FINDESDE” permite repetir una instrucción, o un bloque de instrucciones, un número determinado de veces o hasta que una condición se cumpla. Una estructura lógica de repetición “DESDE... FINDESDE” con frecuencia se utiliza para iteraciones sencillas en donde se repite un bloque de instrucciones un cierto número de veces y después se detiene.

PSEUDOCODIGO

DESDE i = valorInicial HASTA valorFinal INCREMENTA valorinstrucción 1 . . .instrucción n

FINDESDE

Page 250: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (DESDE)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Page 251: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Estructura Lógica de Repetición (DESDE)

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

JAVA y C

for ( i = valorInicial ; i < valorFinal ; i++ ) {sentencia 1 . . .sentencia n

}

Page 252: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

Problema 1: Calcular y mostrar la nota final de 10 alumnos utilizando la siguiente fórmula:nf = (n1+n2))/2. Ingrese las notas a través del teclado.

ENTRADA: n1, n2SALIDA: nf

INICIOENTERO n1, n2, iREAL nf

DESDE i=1 , HASTA i<=10, INCREMENTA 1LEER n1, n2

nf = ( n1 + n2 ) / 2 ESCRIIBIR nf

FIN DESDE

FIN

Algoritmo Nfinales3)

INICIO

ESCRIBIR nf

ENTERO n1, n2, i REAL nf

nf = ( n1 + n2 ) / 2

FIN

LEER n1, n2

DESDE i=1 HASTA i<=10

INCREMENTA 1

Page 253: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

JAVA

package dominioDeLaAplicacion ;class PrgAPrgNfinales3 { public static void main (String arg [] ) {

int n1=0,n2=0; double nf=0;

for (i=1; 1<=10; i++) { System.out.print (“Ingrese la nota1”):

n1 = Lectura.leerInt(); System.out.print (“Ingrese la nota2”):

n2 = Lectura.leerInt(); nf = ( n1 + n2 ) / 2; System.out.print (“Nota final = “ + nf);

}

}}

“C”

#include <iostream.h> main ( ) {

int n1=0,n2=0; double nf=0;

for (i=1; 1<=10; i++) { cout <<“Ingrese la nota1”:

cin >> n1; cout <<“Ingrese la nota2”:

cin >> n2; nf = ( n1 + n2 ) / 2; cout << “Nota final = “ + nf ; }

}

Page 254: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 13

Objetivos:

Estructuras lógicas de decisión y de control “COMBINACIONES”

Introducción a la Computación DE CONTROL - REPETICION

Page 255: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION

INTENTALO…!!!

Page 256: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 14

Objetivos:

Estructuras de datos tipo arregloVECTORES

Introducción a la Computación

Page 257: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Los arreglos son estructuras de datos que consisten en elementos del mismo tipo. Los arreglos son entidades estáticas en cuanto a que su tamaño no cambia una vez que han sido creadas.

Se debe tener en cuenta que antes de usar los elementos de un arreglo, se debe declarar, crear e inicializar el arreglo.

ESTRUCTURAS DE DATOS

Arreglos

Definición:

Page 258: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Arreglos

Tipos:

32 -2 0 174

0 1 2 3

numeros

tamaño=4

• Arreglos unidimensionales o vectores

Representación:

• Arreglos bidimensionales o matrices

Representación:

32 -2 0 174

0 1 2 3

numeros

filas=2, columnas=4

14 12 -5 129

0

1

Page 259: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Declaración:

tipoDato nombreVector [ ]

En Pseudocódigo

Arreglos tipo VECTOR

Ejemplos;

- TEXTO nombres [ ]

- NUMERO sueldos [ ] - CARACTER letras [ ]

tipoDato nombreVector [ ] ;

En Java

tipoDato [ ] nombreVector ;

Ejemplos;

- String nombres [ ] ;

- double sueldos [ ] ; - char letras [ ] ;

En C

Page 260: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Creación:

CREAR nombreVector [tamaño]

En Pseudocódigo

Arreglos tipo VECTOR

Ejemplos;

- CREAR nombres [10 ]

- CREAR sueldos [numNot] - CREAR letras [LONGITUD texto]

nombreVector = new tipoDato [tamaño] ;

En Java

Ejemplos;

- nombres = new String [10] ;

- sueldos = new double [numNot] ; - letras = new char [texto.length()] ;

En C

Page 261: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Ingreso de datos:

identificador [índice] = valor ;nombreVector [índice] = valor

En Pseudocódigo En Java

Arreglos tipo VECTOR

Ejemplos; Ejemplos;

Cuando utilizamos vectores podemos utilizar las estructuras lógicas de repetición para optimizar de manera significativa el proceso de ingreso de datos especialmente utilizando la estructura DESDE.

- nombres [0 ] = “Danae”

- sueldos [1] = 100.5 - letras [x] = ‘J’

- nombres [0 ] = “Danae” ;

- sueldos [1] = 100.5 ; - letras [x] = ‘J’ ;

En C

Page 262: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Tamaño:

variable = LONGITUD nombreVector [ ]

En Pseudocódigo

Arreglos tipo VECTOR

Ejemplos;

- tamaño = LONGITUD nombres [ ]

- tamaño = LONGITUD sueldos [ ] - tamaño = LONGITUD letras [ ]

variable = nombreVector.length ;

En Java

Ejemplos;

- tamaño = nombres.length ;

- tamaño = sueldos.length ; - tamaño = letras.length ;

En C

Page 263: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Declaración y creación:

En Java

Arreglos tipo VECTOR

Declaración, creación e inicialización:

tipoDato nombreVector [ ] = { valor1, valor2, valor3, valor4, … , valorN } ;

En Java

tipoDato nombreVector [ ] = new tipoDato [tamaño] ;

Page 264: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ejercicio

Desarrollar una solución que permita ingresar y almacenar las notas de todas las prácticas de un alumno. Determinar el promedio de las prácticas sabiendo que se elimina la práctica con la nota mas baja.

Utilice vectores.

ESTRUCTURAS DE DATOS

Page 265: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ENTRADA: numPra, notas[ ] / SALIDA: promAlu

INICIOENTERO i, numPraREAL sumaNotas = 0, notaMenor = 20REAL notas[ ], promAlu

COMENTARIO “Creación del arreglo”CREAR notas [numPra]

COMENTARIO “Ingreso de datos al arreglo notas[ ].”DESDE i = 0 HASTA i = numPra - 1 INCREMENTA 1 LEER notas[i]FINDESDE

COMENTARIO “Cálculo del promedio de notas de las prácticas”DESDE i = 0 HASTA i = numPra - 1 INCREMENTA 1 sumaNotas = sumaNotas + notas[i] FINDESDE

DESDE i = 0 HASTA i = numPra - 1 INCREMENTA 1 SI ( notaMenor > notas[i] )ENTONCESnotaMenor = notas[i] FINSIFINDESDE

promAlu = ( sumaNotas - notaMenor ) / ( numPra - 1 )promAlu = promAlu REDONDEA 0

ESCRIBIR promAlu

Algoritmo VectorNotas

Page 266: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

JAVA

public static void main(String[] args) {

// Declaración de variables.int i, numPra ;double sumaNotas = 0, notaMenor = 20, promAlu ;

// Determinación del tamaño del arregloSystem.out.print ( “ Ingrese el número de prácticas del alumno : ” ) ;numPra = Lectura.leerInt( ) ;

// Declaración y creación del arreglo.double notas[ ] = new double [numPra] ;

// Ingreso de datos al arreglo notas[ ]for ( i = 0 ; i < numPra ; i++ ) { System.out.print ( “ Ingrese la nota de la práctica [ ” + ( i + 1) + “]: ” ) ; notas[i] = Lectura.leerDouble( ) ;}

ESTRUCTURAS DE DATOS

C# <iostream.h>main( ) {

// Declaración de variables.int i, numPra ;double sumaNotas = 0, notaMenor = 20, promAlu ;

// Determinación del tamaño del arreglocout << “ Ingrese el número de prácticas del alumno : ” ;cin >> numPra;

// Declaración y creación del arreglo.double notas[ ] = new double [numPra] ;

// Ingreso de datos al arreglo notas[ ]for ( i = 0 ; i < numPra ; i++ ) { cout << “ Ingrese la nota de la práctica [ ” << ( i + 1) << “]: ” ) ; cin >> notas[i] ;}

Page 267: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

// Cálculo del promedio de notas de las prácticas.for ( i = 0 ; i < numPra ; i++ ) {sumaNotas = sumaNotas + notas[i] ;}for ( i = 0 ; i < numPra ; i++ ) {if ( notaMenor > notas [i] )notaMenor = notas[i] ;}

promAlu = sumaNotas / numAlu ; promAlu = Math.round (promAlu) ;System.out.println ( “ El promedio es : ” + promAlu ) ;

}}

ESTRUCTURAS DE DATOS

Page 268: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

1.- Desarrollar una solución que permita ingresar y almacenar el sueldo (sueldos[]) de todos los trabajadores de una empresa. Calcular y mostrar el sueldo neto (sueldoNeto) de cada trabajador, sabiendo que se tienen que descontar el 12% por impuestos y el 3% por seguro. Consistenciar el ingreso de datos.

Utilice vectores.

ESTRUCTURAS DE DATOS

INTENTALO…!!!

Page 269: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Semana 15

Objetivos:

Estructuras de datos tipo arregloMATRICES

Introducción a la Computación

Page 270: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Arreglos

Tipos:

32 -2 0 174

0 1 2 3

numeros

tamaño=4

• Arreglos unidimensionales o vectores

Representación:

• Arreglos bidimensionales o MATRICES

Representación:

32 -2 0 174

0 1 2 3

numeros

filas=2, columnas=4

14 12 -5 129

0

1

Page 271: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Declaración:

tipoDato identificador [ ][ ]

En Pseudocódigo

Arreglos tipo MATRIZ

Ejemplos;

- TEXTO nombres [ ][ ]

- NUMERO sueldos [ ][ ] - CARACTER letras [ ][ ]

tipoDato identificador [ ][ ] ;

En Java

tipoDato [ ][ ] identificador ;ó

Ejemplos;

- String nombres [ ][ ] ;

- double sueldos [ ][ ] ; - char letras [ ][ ] ;

En C

Page 272: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Creación:

identificador = new tipoDato [filas][columnas] ;CREAR identificador [filas][columnas]

En Pseudocódigo En Java

Ejemplos; Ejemplos;

- CREAR nombres [2 ][4]

- CREAR sueldos [numAlu][numNot] - CREAR letras [4][total]

- nombres = new String [2][10] ;

- sueldos = new double [numAlu][numNot] ; - letras = new char [4][total] ;

Arreglos tipo MATRIZ

En C

Page 273: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

ESTRUCTURAS DE DATOS

Ingreso de datos:

identificador [índice] = valor ;identificador [índice] = valor

En Pseudocódigo En Java

Ejemplos; Ejemplos;

Cuando utilizamos matrices podemos utilizar las estructuras lógicas de repetición para optimizar de manera significativa el proceso de ingreso de datos especialmente utilizando la estructura DESDE dos veces.

- nombres [0 ][0] = “Danae”

- sueldos [1][x] = 100.5 - letras [y][x] = ‘J’

- nombres [0 ][0] = “Danae” ;

- sueldos [1][x] = 100.5 ; - letras [y][x] = ‘J’ ;

Arreglos tipo MATRIZ

En C

Page 274: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

Ejercicio

Desarrollar una solución que permita ingresar y almacenar números enteros en una matriz de 3 por 3 (a[][]) y permita calcular la suma (suma) de los números ubicados en la diagonal principal. Consistenciar la entrada de datos.

Utilice matrices.

ESTRUCTURAS DE DATOS

Page 275: Introducción a la Computación (IC) 2006 - I Facultad de Ingeniería y Arquitectura Manual de Referencia Rápida, desarrollada por : Ing. Jefferson López

1.- Desarrollar una solución que permita ingresar y almacenar el precio de compra y el precio de venta de todos los artículos de una bodega (precios[][]). Calcular y mostrar la utilidad que se obtiene por la venta de cada artículo.

Utilice matrices.

2.- Desarrollar una solución que permita ingresar y almacenar el código y el nombre de los empleados de una compañía (empleados[][]).. Adicionalmente determine cual es el código alfabéticamente menor.

Utilice matrices.

3.- Desarrollar una solución que permita ingresar y almacenar el promedio de prácticas, la nota del examen parcial y la nota del examen final de todos los alumnos de MBIII de la FIA (notas[][]). Calcular y mostrar el promedio que obtuvo cada alumno redondeado. Adicionalmente indicar el porcentaje de alumnos que aprobaron el curso..

ESTRUCTURAS DE DATOS

INTENTALO…!!!