Upload
cayetano-lama
View
7
Download
0
Embed Size (px)
Citation preview
Introducción 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.
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
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
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
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
• 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
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
HARDWARE: EL COMPUTADOR Y SUS COMPONENTES
HARDWARE: EL COMPUTADOR Y SUS COMPONENTES
Unidad 1:
Semana 01
Introducción a la Computación
Semana 01
Objetivos:
• El computador y sus componentes
Introducción a la Computación
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.
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 .
Informática y cibernética
Informática
Es la ciencia que se encarga del tratamiento de la información haciendo uso de la
computadora
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
Ingeniería de Computación y Sistemas
Ingeniero
•Resuelve problemas con Ingenio.
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.
Ingeniería de Computación y Sistemas
Sistemas
•“Conjunto de elementos que
interactúan para alcanzar un objetivo
en común”
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.
HARDWARE - EVOLUCIÓN TECNOLÓGICA
HARDWARE
Comprende todos los componentes físicos de la computadora tales como: monitor, disco duro, teclado,
tarjeta de la CPU, mouse, etc.
HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA
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
HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA
1940’s PRESENTE
COSTO
TAMAÑO
VELOCIDAD
CONFIABILIDAD
EFICIENCIA
FACILIDAD DE USO
COMPONENTES ESTRUCTURALES DEL HARDWARE
Case
COMPONENTES ESTRUCTURALES DEL HARDWARE
Mainboard
Es el centro de operaciones de cualquier computadora. Realiza las tareas fundamentales de la computadora.
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
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
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
UNIDAD DE ALMACENAMIENTO
Son todos aquellos en los cuales podemos guardar Información:
archivos, textos, documentos, etc.
Unidad Zip:
Guarda la información en unos disquetes, que tiene mas capacidad que
los tradicionales.
UNIDAD DE ALMACENAMIENTO
Cinta tape backup:
su diseño es parecido a un
casette, con una cinta magnética que es capaz de grabar hasta unos 20 Gb.
Súper disk:
Es tipo un disquete que guarda hasta
250MB de información
Grabadora de CD:
Este dispositivo te permite grabar la Información en
un CD
UNIDAD DE ALMACENAMIENTO
Disco rígido
Este dispositivo guarda la información de la PC, instalaciones, programas, archivos,
documentos, etc.; los guarda en unos discos magnéticos que lleva en su
interior, los cuales son leídos por un cabezal interno.
UNIDAD DE ALMACENAMIENTO
DVD Player:
Dispositivo encargado de
reproducir el formato DVD, se utiliza mas
para ver películas en la PC.
Memoria USB:
Dispositivo encargado de grabar
información, van desde los 64Mb, 128Mb, 256Mb,
512Mb, 1Gb.
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.
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.
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
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.
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.
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).
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.
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).
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").
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 .
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.
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.
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
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),
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.
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"
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...
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
HARDWARE - EVOLUCIÓN TECNOLÓGICACLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TIPO DE DATO QUE PROCESAN
Analógicas Digitales
Hibridas
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
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 )
HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA
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 )
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.
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)
HARDWARE - EVOLUCIÓN TECNOLÓGICAEVOLUCIÓN TECNOLÓGICA
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.
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:
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
PERIFERICOS: DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFERICOS: DISPOSITIVOS DE ENTRADA Y SALIDA
Unidad 2:
Semana 02
Introducción a la Computación
Semana 02
Objetivos:
• Dispositivos de entrada y salida
Introducción a la Computación
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
Vídeo juegos
Cajeros de Banco
Máquinas expendedoras
Comuni-caciones
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.
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
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
POR SU FUNCIÓN
Datos InformaciónPROCESO
Almacenamiento
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
Datos InformaciónPROCESO
Almacenamiento
Input Output
Input/Output
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
Datos
Almacenamiento
Input
Input
Los datos deben traducirse de tal forma que puedan ser interpretados
por una computadora.
Para realizar esto hacemos uso de los
dispositivos de entrada.
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
Información
Almacenamiento
Output
Input/Output
Para proporcionarnos información para la toma de decisiones la computadora debe traducir el
resultado del procesamiento de datos de tal forma que nosotros
podamos comprenderlo.
Para poder realizar esto, necesitamos los dispositivos de
salida.
Internet
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
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
PERIFÉRICOSDISPOSITIVOS DE ENTRADA Y SALIDA
POR SU LOCALIZACIÓN
REMOTOS,
Son aquellos que utilizan las vías de comunicación a
distancia para poder acceder al computador central
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
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
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
Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información
Unidad Zip Cinta tape backup Súper disk
Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información
Grabadora de CD
DVD PlayerMemoria USB
Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información
Disco rígido
Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información
Disco rígido
EL SOFTWARE Y SU EVOLUCION. NIVELESEL SOFTWARE Y SU EVOLUCION. NIVELES
Unidad 3:
Semana 03
Introducción a la Computación
Semana 03
Objetivos:
• El software y su evolución. Niveles
Introducción a la Computación
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
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.
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
SOFTWARE Y SU EVOLUCIÓN
Es así como se le indica a la computadora lo que se desea que ella realice.
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
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
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
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
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.
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.
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.
SOFTWARE Y SU EVOLUCIÓN
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.
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
SOFTWARE Y SU EVOLUCIÓN
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
SOFTWARE Y SU EVOLUCIÓN
SOFTWARE Y SU EVOLUCIÓN
Algoritmo.
Pseudocódigo.
Lenguaje de Programación.
Conjunto de Instrucciones que
especifican la secuencia de operaciones a
realizar, en orden, para resolver un problema.
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.
SOFTWARE Y SU EVOLUCIÓN
Conjunto de instrucciones, bajo una
sintaxis que son entendidas por el
ordenador.
Algoritmo.
Pseudocódigo.
Lenguaje de Programación.
SOFTWARE Y SU EVOLUCIÓN
Programa
Conjunto de instrucciones
ordenadas correctamente que permiten realizar una
tarea o trabajo específico.
SOFTWARE Y SU EVOLUCIÓN
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
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.
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
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).
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
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
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.
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
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.
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.
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
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.
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.
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
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
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
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.
SOFTWARE Y SU EVOLUCIÓN
Software de Productividad
INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.
Unidad 4:
Semana 04
Introducción a la Computación
Semana 04
Objetivos:
• Introducción al concepto de archivos.
INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.
Introducción a la Computación
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.
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.
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.
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.
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.
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)
Introducción a los conceptos de Archivos
Base de
Datos:un
conjunto de tablas
relacionadas entre
si.
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
Introducción al concepto de archivo
Archivo
Conjunto de Registros referidos a objetos del mismo tipo.
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
Introducción al concepto de archivo
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.
Introducción al concepto de archivo
Introducción al concepto de archivo
Introducción al concepto de archivo
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
Introducción al concepto de archivo
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.
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.
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.
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.
ALGORITMOSALGORITMOS
Unidad 5:
Semana 05 – Senama 15
Introducción a la Computación
Semana 05
Objetivos:
• Algoritmos Soluciones básicas
Introducción a la Computación
ALGORITMO
DesarrolloSolución
CODIFICACION
PSEUDOCODIGO
DIAGRAMAS DE FLUJO
JAVA
LENGUANJE C
ALGORITMO - CONCEPTOS BÁSICOS
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
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
• 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
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
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:
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
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
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
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 [] ) {
}}
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 {
}
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:
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>
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
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” ;
}
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”);
}}
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
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”; }
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” ; }
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
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” ;
}
Semana 06
Objetivos:
• Algoritmos Soluciones básicas
Introducción a la Computación
ALGORITMO - CONCEPTOS BÁSICOS
• Tipos de Datos
• Operadores Matemáticos
• Operadores relacionales y lógicos • Estructuras de Datos: Variables y constantes
• Ingreso de Datos
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
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
• 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
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.
+ - * / % ++ --Aritméticos
Comparación= = ! = < < = > > =
Lógicos&& || !
Asignación
= + = - = * = / = % =
CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN
Operadores:Java y C
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
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 = “ “
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
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 ;
}
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
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 ;
}
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:
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>
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
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 ;
}
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
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;
}
Semana 07
Objetivos:
• Estructuras de Decisión SI – FINSI • Estructuras de Decisión SI – SINO – FINSI
Introducción a la Computación
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:
Estructura Lógica de Decisión Simple (SI… FINSI)
ESTRUCTURAS LÓGICAS
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... }
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
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;
}
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”
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);
}
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…!!!
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:
Estructura Lógica de Decisión Doble (SI/SINO)
ESTRUCTURAS LÓGICAS DE DECISION
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
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
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;
}
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
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;
}
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…!!!
Semana 08
Objetivos:
• Estructuras de Decisión Múltiple CUANDO
Introducción a la Computación
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:
Estructura Lógica de Decisión Múltiple (CUANDO)
ESTRUCTURAS LÓGICAS DE DESICION
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
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
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 %
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
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
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>>;}
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
Semana 10
Objetivos:
• Estructuras de Decisión Múltiples Si ANIDADOS
Introducción a la Computación
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:
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
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
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
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
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
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; }
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
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 ;
}
ESTRUCTURAS LÓGICAS
INTENTALO…!!!
Semana 11
Objetivos:
• Estructuras lógicas de control “MIENTRAS”• Estructuras lógicas de control “HACER-MIENTRAS”
Introducción a la Computación
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:
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.
Estructura Lógica de Repetición (MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
Estructura Lógica de Repetición (MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
JAVA y C
while (condición) { sentencia 1 . . . sentencia n }
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
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; }
}
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!
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)
Estructura Lógica de Repetición (HACER - MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
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) ;
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
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’)
}
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!
Semana 12
Objetivos:
Estructuras lógicas de control “DESDE”
Introducción a la Computación
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
Estructura Lógica de Repetición (DESDE)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
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
}
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
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 ; }
}
Semana 13
Objetivos:
Estructuras lógicas de decisión y de control “COMBINACIONES”
Introducción a la Computación DE CONTROL - REPETICION
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!
Semana 14
Objetivos:
Estructuras de datos tipo arregloVECTORES
Introducción a la Computación
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:
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
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
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
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
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
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] ;
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
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
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] ;}
// 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
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…!!!
Semana 15
Objetivos:
Estructuras de datos tipo arregloMATRICES
Introducción a la Computación
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
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
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
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
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
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…!!!