La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Computación (IC)

Presentaciones similares


Presentación del tema: "Introducción a la Computación (IC)"— Transcripción de la presentación:

1 Introducción a la Computación (IC)
Facultad de Ingeniería y Arquitectura Introducción a la Computación (IC) I Guía Teórica desarrollada por los profesores del curso

2 Introducción a la Computación

3 Introducción a la Computación
Plan de Estudios IC AEDI AEDII BD SWI SWII DI II FDWeb Prog I Prog II Electivos Prácticas en FIA-DATA Prácticas en EMPRESA I II III IV V VI VII VIII 4 Años

4 Introducción a la Computación
Sílabo Objetivos generales: HOY 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 II 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.

5 Introducción a la Computación
Sílabo Unidades: 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 HOY IC II

6 Introducción a la Computación
Sílabo Evaluació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

7 Trabajos de Investigación
Introducción a la Computación Trabajos de Investigación Presentación impresa (2 ptos). Calidad, limpieza y orden (1.5 ptos). Incluir disquete o CD (0.5 ptos). Estructura (6 ptos). Nombre de la universidad, facultad y escuela. Curso. Titulo del trabajo. Nombre y código del alumno. Fecha de entrega. Carátula (0.5 ptos). Índice (0.5 ptos). Introducción (1.0 ptos). Contenido. Conclusiones (3.0 ptos). Bibliografía (1.0 ptos). Contenido (12 ptos). Los trabajos se desarrollarán utilizando letra Arial tamaño 12 y espaciado 1.5

8 Introducción a la Computación
Sílabo Bibliografía: 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 Como programar en Java. Quinta Edición. Prentice Hall, 2004. Deitel & Deitel.

9 EL COMPUTADOR Y SUS COMPONENTES
Introducción a la Computación Unidad 1: HARDWARE: EL COMPUTADOR Y SUS COMPONENTES Semana 01

10 Introducción a la Computación
Semana 01 Objetivos: El computador y sus componentes

11 Ingeniería de Computación y Sistemas
Computadora Maquina electrónica universal diseñada por el hombre para el tratamiento racional y sistemático de la información. 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.

12 Ingeniería de Computación y Sistemas
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 .

13 Informática y cibernética
Es la ciencia que se encarga del tratamiento de la información haciendo uso de la computadora

14 Informática y cibernética cibernética
Norbert Wiener (1948) teoría de los mecanismos de control 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.

15 Ingeniería de Computación y Sistemas Ingeniero
Resuelve problemas con Ingenio.

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

17 Ingeniería de Computación y Sistemas
“Conjunto de elementos que interactúan para alcanzar un objetivo en común”

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

19 HARDWARE - EVOLUCIÓN TECNOLÓGICA
Comprende todos los componentes físicos de la computadora tales como: monitor, disco duro, teclado, tarjeta de la CPU, mouse, etc.

20 HARDWARE - EVOLUCIÓN TECNOLÓGICA

21 HARDWARE - EVOLUCIÓN TECNOLÓGICA
TIPO PROC. M.RAM DISCO DURO PC-XT K.B M.B. PC-AT M.B M.B. PC-AT SX, DX M.B M.B. PC-AT SX,DX, M.B M.B. DX2,DX4 PENTIUM I, II, III, IV M.B G.B.

22 HARDWARE - EVOLUCIÓN TECNOLÓGICA
VELOCIDAD CONFIABILIDAD EFICIENCIA FACILIDAD DE USO COSTO TAMAÑO 1940’s PRESENTE

23 COMPONENTES ESTRUCTURALES DEL HARDWARE
Case

24 COMPONENTES ESTRUCTURALES DEL HARDWARE
Mainboard Es el centro de operaciones de cualquier computadora. Realiza las tareas fundamentales de la computadora.

25 COMPONENTES ESTRUCTURALES DEL HARDWARE
Mainboard 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 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

26 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

27 COMPONENTES ESTRUCTURALES DEL HARDWARE
Unidad Central del Sistema Bus de Direcciones B u s d e C o n t r l Unidad de Control Unidad Aritmética Lógica Registros C.P.U. Bus de Datos

28 UNIDAD DE ALMACENAMIENTO
Son todos aquellos en los cuales podemos guardar Información: archivos, textos, documentos, etc.

29 UNIDAD DE ALMACENAMIENTO
Unidad Zip: Guarda la información en unos disquetes, que tiene mas capacidad que los tradicionales. 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

30 UNIDAD DE ALMACENAMIENTO
Grabadora de CD: Este dispositivo te permite grabar la Información en un CD 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.

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

32 TIPOS DE MEMORIA MEMORIA 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.

33 TIPOS DE MEMORIA Componentes: MEMORIA INTERNA
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.

34 TIPOS DE MEMORIA MEMORIA 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

35 TIPOS DE MEMORIA MEMORIA 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.

36 MEMORIA RAM - Tipos de RAM
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.

37 TIPOS DE MEMORIA MEMORIA 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).

38 TIPOS DE MEMORIA MEMORIA 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.

39 MEMORIA ROM - Tipos de BIOS
TIPOS DE MEMORIA MEMORIA 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).

40 MEMORIA ROM - Tipos de BIOS
TIPOS DE MEMORIA MEMORIA 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").

41 MEMORIA ROM - Funciones de BIOS
TIPOS DE MEMORIA MEMORIA 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 .

42 TIPOS DE MEMORIA MEMORIA 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.

43 MEMORIA CACHE – Tipos De Cache
TIPOS DE MEMORIA MEMORIA 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.

44 MEMORIA CACHE – Tipos De Cache
TIPOS DE MEMORIA MEMORIA 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

45 TIPOS DE MEMORIA MEMORIA 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 ( parte de un segundo),

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

47 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"

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

49 Sistema de bus Memoria de almacenamiento / entrada
Chip de CPU o microprocesador Registros (almacenamiento temporal) A.L.U Sección de control Comunicaciones internas Sistema de bus Memoria interna de almacenamiento / entrada RAM Lectura / escritura ROM Sólo lectura Dispositivos de entrada Dispositivos de salida Interfaz de entrada Interfaz de salida Memoria de almacenamiento / entrada Unidades de disco flexible, de disco duro CD-ROM Cinta magnética

50 HARDWARE - EVOLUCIÓN TECNOLÓGICA
CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TIPO DE DATO QUE PROCESAN Hibridas Analógicas Digitales

51 HARDWARE - EVOLUCIÓN TECNOLÓGICA
CLASIFICACIÓN DE LAS COMPUTADORAS SEGÚN EL TAMAÑO Y MICROPROCESADOR MINI COMPUTADORAS MICRO COMPUTADORAS MAINFRAME Multiusuario Monousuario extraído de

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

53 HARDWARE - EVOLUCIÓN TECNOLÓGICA

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

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

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

57 HARDWARE - EVOLUCIÓN TECNOLÓGICA

58 RS/6000 CLASES DE COMPUTADOR
Los 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.

59 AS/400 CLASES DE COMPUTADOR
AS/400 tiene el OS/400, el primer sistema operativo orientado a objetos. Características del AS/400 El 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:

60 Sistema de bus Memoria de almacenamiento / entrada
Chip de CPU o microprocesador Registros (almacenamiento temporal) A.L.U Sección de control Comunicaciones internas Sistema de bus Memoria interna de almacenamiento / entrada RAM Lectura / escritura ROM Sólo lectura Dispositivos de entrada Dispositivos de salida Interfaz de entrada Interfaz de salida Memoria de almacenamiento / entrada Unidades de disco flexible, de disco duro CD-ROM Cinta magnética

61 DISPOSITIVOS DE ENTRADA Y SALIDA
Introducción a la Computación Unidad 2: PERIFERICOS: DISPOSITIVOS DE ENTRADA Y SALIDA Semana 02

62 Introducción a la Computación
Semana 02 Objetivos: Dispositivos de entrada y salida

63 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA Vídeo juegos Cajeros de Banco Máquinas expendedoras Comuni-caciones

64 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS 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.

65 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS 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

66 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA POR SU FUNCIÓN PROCESO Datos Información Almacenamiento

67 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA PROCESO Datos Información Input Output Input/Output Almacenamiento

68 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA Los datos deben traducirse de tal forma que puedan ser interpretados por una computadora. Datos Para realizar esto hacemos uso de los dispositivos de entrada. Input Input Almacenamiento

69 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA 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. Información Output Input/Output Para poder realizar esto, necesitamos los dispositivos de salida. Almacenamiento

70 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA Internet

71 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS 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

72 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS 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

73 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS 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 Señales analógicas Señales digitales Señales digitales Línea telefónica Modem Modem Terminal

74 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA Señales analógicas Señales digitales Señales digitales Línea telefónica Modem Modem Terminal Módem.- Modulador, demodulador, se encarga de cambiar de una señal a otra Señales Continua ó sinusoidales Señales Discretas Señales Continua ó sinusoidales Señales Discretas

75 DISPOSITIVOS DE ENTRADA Y SALIDA
PERIFÉRICOS DISPOSITIVOS DE ENTRADA Y SALIDA Módem.- Modulador, demodulador, se encarga de cambiar de una señal a otra Señales Continua ó sinusoidales Señales Discretas Señales Continua ó sinusoidales Señales Discretas Hertz = 1 ciclo x segundo Baudio = 1 bit/seg. + 5V Voltaje 1 1 + 5V - 5V Tiempo Tiempo Un Ciclo

76 Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información Unidad Zip Cinta tape backup Súper disk

77 Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información Grabadora de CD DVD Player Memoria USB

78 Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información Disco rígido

79 Introducción a los conceptos de Archivos
Medios de Almacenamiento de la Información Disco rígido

80 EL SOFTWARE Y SU EVOLUCION. NIVELES
Introducción a la Computación Unidad 3: EL SOFTWARE Y SU EVOLUCION. NIVELES Semana 03

81 Introducción a la Computación
Semana 03 Objetivos: El software y su evolución. Niveles

82 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

83 SOFTWARE Y SU EVOLUCIÓN
Comprende la parte lógica e inteligente de la computadora que dota al equipo físico de capacidad para realizar cualquier tipo de trabajo. Voltaje 1 1 + 5V Tiempo

84 SOFTWARE Y SU EVOLUCIÓN
Las instrucciones de un programa se ensamblan según una secuencia lógica a través de la programación. Los programadores son las personas que se encargan de escribir los programas. Para escribir programas se usan una gran variedad de lenguajes de programación

85 SOFTWARE Y SU EVOLUCIÓN
Es así como se le indica a la computadora lo que se desea que ella realice.

86 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Traductores Enlazadores Cargadores Prog. de Diagnostico y mantenimiento Sw. Básico o de Sistema S O F T W A R E Paquetes de Sw Sw. de Aplicación Prog. de Facturación Programas de Diseño Programas desarrollado por el usuario Aplicaciones Específicas

87 SOFTWARE Y SU EVOLUCIÓN
Sw. Básico ó de Sistema Conjunto de programas que se encargan de controlar el funcionamiento de los programas que se ejecutan y de la gestión interna de los recursos físicos de la computadora. Sistema Operativo. Software de Programación. Software de diagnóstico y mantenimiento

88 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Sw. Básico o de Sistema Un Sistema Operativo es un programa o conjunto de programas que permiten la administración eficiente de los recursos de la computadora

89 SOFTWARE Y SU EVOLUCIÓN Numero de Procesadores
Numero de Usuarios Monousuario Multiusuario Sistema Operativo Numero de Tareas Monotarea Multitarea Uniproceso Multiproceso Numero de Procesadores Simetrico Asimetrico

90 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Sw. Básico o de Sistema Funciones: Facilitar la tarea del usuario. Administrar los dispositivos. Administra y mantiene los sistemas de archivo. Apoyar a otros programas. Proteger los datos y los programas.

91 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Sw. Básico o de Sistema Objetivos: Facilita la comunicación entre el sistema de computación y las personas. Facilita la comunicación entre los componentes del sistema de computación. Maximizar el rendimiento Minimiza el tiempo necesario para ejecutar un comando del usuario.

92 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Sw. Básico o de Sistema Objetivos: Optimizar el uso de los recursos del sistema de computación. Llevar el control de los archivos en el almacenamiento de disco. Proporcionar una cubierta de seguridad al sistema de computación. Monitorear todas las capacidades del sistema y alertar al usuario de fallas o de posibles problemas.

93 SOFTWARE Y SU EVOLUCIÓN

94 SOFTWARE Y SU EVOLUCIÓN
MS-DOS (MicroSoft Disk Operating System – Sistema operativo de Disco). Creado para controlar todas las operaciones del computador como: transferencia de información a periféricos y ejecución de programas. Es el SO mas popular. Es el mas vendido. Monotarea. Monousuario.

95 SOFTWARE Y SU EVOLUCIÓN
WINDOWS Interfaz Gráfica de usuario. Ejecuta programas de DOS. Fácil aprendizaje y uso. Multitarea. Intercambio dinámico de datos entre programas. Seguridad Buen uso para red

96 SOFTWARE Y SU EVOLUCIÓN

97 SOFTWARE Y SU EVOLUCIÓN
OS/2 Producto de IBM. SO multitarea y monousuario Ejecuta aplicaciones DOS y WINDOWS. No existen aplicaciones que aprovechen las ventajas de este SO.

98 SOFTWARE Y SU EVOLUCIÓN
UNIX SO de propósito general, multiusuario e interactivo. Escrito en lenguaje de alto nivel C SO sólido y capaz con líneas de ordenes difíciles de usar.

99 SOFTWARE Y SU EVOLUCIÓN

100 SOFTWARE Y SU EVOLUCIÓN
Módulos del S.O. Traductores Enlazadores Cargadores Prog. de Diagnostico y mantenimiento Sw. Básico o de Sistema S O F T W A R E Paquetes de Sw Sw. de Aplicación Prog. de Facturación Programas de Diseño Programas desarrollado por el usuario Aplicaciones Específicas

101 SOFTWARE Y SU EVOLUCIÓN
Formado por programas y utilidades que facilitan la construcción de aplicaciones de usuarios. S O F T W A R E Sw. de Aplicación

102 SOFTWARE Y SU EVOLUCIÓN
Interpretes, traducción de lenguaje, se ejecuta sentencia por sentencia. Compiladores, lenguaje de alto nivel a ensamblador. Ensambladores, lenguaje ensamblador a lenguaje maquina. Montadores, unión de módulos, generación de ejecutable. Cargadores, ejecutable a memoria y prepara ejecución. Depuración de errores, seguimiento de variables y encontrar errores. S O F T W A R E Sw. de Aplicación

103 SOFTWARE Y SU EVOLUCIÓN
SOFTWARE DE DIAGNÓSTICO Y MANTENIMIENTO Utilizado por el personal de soporte técnico, encargado de la puesta a punto de los equipos. Localiza averías de un periférico o encuentra el mal funcionamiento de un paquete software.

104 SOFTWARE Y SU EVOLUCIÓN
SOFTWARE ESTÁNDAR O HERRAMIENTAS INFORMÁTICAS. Aplicaciones de uso general diseñadas para su lanzamiento al mercado. Ej.:Procesadores de texto, hoja de calculo, graficadores, etc.

105 SOFTWARE Y SU EVOLUCIÓN
SOFTWARE A MEDIDA Es aquel que ha sido desarrollado para apoyar la gestión y la toma de decisiones Ej.: sistema de planillas, contabilidad, facturación, etc.

106 SOFTWARE Y SU EVOLUCIÓN
Otros tipos Software propietario, copia y distribución es delito. Shareware, Limite de periodo de prueba. Freeware, permite copias y distribución. Software Libre, copia, distribución, modificación y redistribución del Software.

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

108 SOFTWARE Y SU EVOLUCIÓN

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

110 SOFTWARE Y SU EVOLUCIÓN
Algoritmo. Pseudocódigo. Lenguaje de Programació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.

111 SOFTWARE Y SU EVOLUCIÓN
Algoritmo. Pseudocódigo. Lenguaje de Programación. Conjunto de instrucciones, bajo una sintaxis que son entendidas por el ordenador.

112 SOFTWARE Y SU EVOLUCIÓN
Programa Conjunto de instrucciones ordenadas correctamente que permiten realizar una tarea o trabajo específico.

113 SOFTWARE Y SU EVOLUCIÓN

114 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) = datos y asignación

115 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación 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. Naturaleza del Lenguaje Desarrollo Histórico Estructura Programas

116 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguaje de bajo nivel Lenguaje de nivel medio Lenguaje de alto nivel Naturaleza del Lenguaje 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.

117 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguaje de bajo nivel Lenguaje de nivel medio Lenguaje de alto nivel Naturaleza del Lenguaje 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).

118 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguaje de bajo nivel Lenguaje de nivel medio Lenguaje de alto nivel Naturaleza del Lenguaje 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

119 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Primera Generación. Segunda Generación. Tercera Generación. Cuarte Generación. Quinta Generación. Desarrollo Histórico 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.

120 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Primera Generación. Segunda Generación. Tercera Generación. Cuarte Generación. Quinta Generación. Desarrollo Histórico 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.

121 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Primera Generación. Segunda Generación. Tercera Generación. Cuarte Generación. Quinta Generación. Desarrollo Histórico 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

122 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Primera Generación. Segunda Generación. Tercera Generación. Cuarte Generación. Quinta Generación. Desarrollo Histórico 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.

123 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Primera Generación. Segunda Generación. Tercera Generación. Cuarte Generación. Quinta Generación. Desarrollo Histórico 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.

124 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguajes Lineales. Lenguajes Estructurados. Lenguajes Orientados a Objetos. Estructura Programas Hace mucho tiempo atrás el término programación se refería a una codificación lineal absolutamente críptica y misteriosa

125 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguajes Lineales. Lenguajes Estructurados. Lenguajes Orientados a Objetos. Estructura Programas 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.

126 SOFTWARE Y SU EVOLUCIÓN
Clasificación de los Lenguajes de Programación Lenguajes Lineales. Lenguajes Estructurados. Lenguajes Orientados a Objetos. Estructura Programas 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.

127 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

128 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

129 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

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

131 SOFTWARE Y SU EVOLUCIÓN
Software de Productividad

132 INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.
Introducción a la Computación Unidad 4: INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS. Semana 04

133 Introducción a la Computación
Semana 04 Objetivos: Introducción al concepto de archivos. INTRODUCCIÓN AL CONCEPTO DE ARCHIVOS.

134 Introducción a los conceptos de Archivos
Base 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.

135 Introducción a los conceptos de Archivos
Informació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.

136 Introducción a los conceptos de Archivos
Registro conjunto 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.

137 Introducción a los conceptos de Archivos
Campo Mí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.

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

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

140 Introducción a los conceptos de Archivos
Base de Datos: un conjunto de tablas relacionadas entre si.

141 Introducción a los conceptos de Archivos
Base de Datos TABLA EMPLEADOS Empleado C Empleado B Empleado A REGISTROS Código: Apellido: Nombre: Dirección: Teléfono: Sueldo: CAMPOS

142 Introducción al concepto de archivo
Conjunto de Registros referidos a objetos del mismo tipo.

143 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

144 Introducción al concepto de archivo

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

146 Introducción al concepto de archivo

147 Introducción al concepto de archivo

148 Introducción al concepto de archivo

149 Introducción al concepto de archivo
Base de Datos TABLA EMPLEADOS Empleado C Empleado B Empleado A REGISTROS Código: Apellido: Nombre: Dirección: Teléfono: Sueldo: CAMPOS

150 Introducción al concepto de archivo

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

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

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

154 Administración y Procesamiento de Archivos
Aplicación sistemática de una serie de operaciones sobre un conjunto de datos. generalmente por medio de máquinas. para explotar la información que estos datos representan.

155 Introducción a la Computación
Unidad 5: ALGORITMOS Semana 05 – Senama 15

156 Introducción a la Computación
Semana 05 Objetivos: Algoritmos Soluciones básicas

157 Desarrollo Solución ALGORITMO CODIFICACION
ALGORITMO - CONCEPTOS BÁSICOS Desarrollo Solución ALGORITMO CODIFICACION PSEUDOCODIGO JAVA DIAGRAMAS DE FLUJO LENGUANJE C

158 Algoritmo Definición:
ALGORITMO - CONCEPTOS BÁSICOS Algoritmo 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.

159 Algoritmo Características:
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. 

160 Algoritmo Características:
ALGORITMO - CONCEPTOS BÁSICOS Algoritmo Características: 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.

161 Algoritmo Herramientas: Algoritmos
ALGORITMO - CONCEPTOS BÁSICOS Algoritmo Herramientas: Se dispone de diversas herramientas para ayudar a los programadores a desarrollar los algoritmos. Algoritmos Herramientas: Pseudocódigo Diagrama de flujo

162 Algoritmo - Pseudocódigo
ALGORITMO - CONCEPTOS BÁSICOS Algoritmo - Pseudocódigo Definición: 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: sueldo SALIDA: sueldo INICIO NUMERO sueldo sueldo = 0 LEER sueldo sueldo = sueldo * 0.85 ESCRIBIR sueldo FIN

163 Algoritmo – Diagrama de Flujo
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

164 Elementos básicos ESTRUCTURAS DE DATOS INICIO / 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

165 Codificación – Java Definición:
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 [] ) { }

166 Codificación – C Definición:
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 { }

167 Visualización de datos
ESTRUCTURAS LÓGICAS Visualización de datos Definición: La visualización de datos nos permite mostrar los datos a través de la pantalla de la computadora.

168 Visualización de datos
ESTRUCTURAS LÓGICAS Visualización de datos En Pseudocódigo En DF ESCRIBIR nombreVariable ESCRIBIR x + 2 ESCRIBIR “Hola” ESCRIBIR nombreVariable ESCRIBIR x + 2 ESCRIBIR “Hola” En Java – Clase System En “C” – System.out.print (nombreVariable) ; System.out.print (x + 2); System.out.print ( “Hola” ) ; cout << nombreVariable ; cout << (x + 2); cout << “Hola” ; Previamente antes de la declaración de main() debe colocarse # include <iostream.h>

169 Visualización de datos
ESTRUCTURAS LÓGICAS Visualización de datos Ejemplo: Desarrollo una solución que permita mostrar el saludo “Bienvenidos al desarrollo de algoritmos” INICIO ESCRIBIR “Bienvenidos al desarrollo de algoritmos” FIN Algoritmo Saludo ENTRADA: SALIDA: INICIO ESCRIIBIR “Bienvenidos al desarrollo de algoritmos” FIN

170 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” ; }

171 package dominioDeLaAplicacion ; class PrgSaludo2 {
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”); }

172 Visualización de datos / Modificadores \n \t
ESTRUCTURAS LÓGICAS Visualización de datos / Modificadores \n \t \n : Permite crear una línea adicional, similar al System.out.println 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” ; }

173 Visualización de datos / Modificadores \n \t
ESTRUCTURAS LÓGICAS Visualización de datos / Modificadores \n \t \t : Permite crear un espacio de tabulación antes de iniciar el párrafo que esta a continuación Nombre: Danae Flores Edad: 11 años 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”); } C #include <iostream.h> main ( ) { cout << “nombre: \ t Danae Flores \ n ” >>; cout << “Edad: \ t 11 años”; }

174 ESTRUCTURAS LÓGICAS \t : Permite crear un espacio de tabulación antes de iniciar el párrafo que esta a continuación Nombre: Danae Flores Edad: 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” ; }

175 COMENTARIOS ESTRUCTURAS LÓGICAS En Pseudocódigo En DF
COMENTARIO Este es un comentario En Java – Clase System En “C” // Este es un comentario de una línea / * Este es un comentario para multiples líneas */ // Este es un comentario de una línea / * Este es un comentario para multiples líneas */

176 ESTRUCTURAS LÓGICAS En Java /* Este programa, permitira mostra un mensaje empleando los modificadores \n y \t */ public static void main (String arg [] ) { // Visuaización de datos System.out.print (“nombre: \ t Danae Flores \n Edad: \ t 11 años”); } En C /* Este programa, permitira mostra un mensaje empleando los modificadores \n y \t */ #include <iostream.h> main ( ) { // Visuaización de datos cout << “nombre: \ t Danae Flores \n Edad: \ t 11 años” ; }

177 Introducción a la Computación
Semana 06 Objetivos: Algoritmos Soluciones básicas

178 Operadores Matemáticos Operadores relacionales y lógicos
ALGORITMO - CONCEPTOS BÁSICOS Tipos de Datos Operadores Matemáticos Operadores relacionales y lógicos Estructuras de Datos: Variables y constantes Ingreso de Datos

179 Algoritmo – Pseudocódigo / DF
ALGORITMO - CONCEPTOS BÁSICOS Tipos de datos: Algoritmo – Pseudocódigo / DF 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.

180 CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN
Java C char Almacena el valor de un caracter String wchar_t Almacena caracteres anchos Int / long int Almacena valores enteros float Almacena valores de coma flotante double Almacena valores de coma flotante dobles boolean bool Almacena valores verdadero o falso 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.

181 Algoritmo – Pseudocódigo / DF
ALGORITMO - CONCEPTOS BÁSICOS Pautas - Operadores aritméticos: Algoritmo – Pseudocódigo / DF 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. + 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

182 Algoritmo – Pseudocódigo / DF
ALGORITMO - CONCEPTOS BÁSICOS Pautas - Operadores relacionales y lógicos: 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.

183 Java y C Operadores: Aritméticos Comparación Lógicos Asignación
CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN Java y C Operadores: Aritméticos * / % Comparación = = ! = < < = > > = Lógicos Los operadores especifican una operación o evaluación sobre uno o mas objetos (datos u objetos) para generar un resultado. +, -, *, / Suma, resta, multiplicación, división. % Módulo. ++ Incremento en 1. -- Decremento en 1. ~ Cambio de signo. & Y binario (AND al bit). | O inclusivo binario (OR al bit). ^ O exclusivo binario (XOR al bit). << Desplazamiento de bits a la izquierda. >> Desplazamiento de bits a la derecha. >>> Desplazamiento de bits a la derecha (sin considerar signo). == Igual. != Diferente. < Menor. <= Menor o igual. > Mayor. >= Mayor o igual. & Y lógico (AND) de evaluación completa. | O lógico inclusivo (OR) de evaluación completa. ^ O lógico exclusivo (XOR). && Y lógico (AND) de evaluación “suficiente”. | | O lógico inclusivo (OR) de evaluación “suficiente”. ! Negación lógica. ?= Condicional ternario (sintaxis ExpBooleana ?ExpSiTrue:ExpSiFalse). = Asignación. += Suma y asignación. -= Resta y asignación. *= Multiplica y asigna. /= Divide y asigna. %= Módulo y asigna. &= Y lógico (AND) y asigna. |= O lógico inclusivo (OR) y asigna. ^= O lógico exclusivo (XOR) y asigna. && || ! Asignación = + = - = * = / = % =

184 Variables y constantes
ESTRUCTURAS DE DATOS Variables y constantes Variables : 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. Declaración Almacenamiento de datos Inicialización Constantes Una 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 = C : final pi =

185 ESTRUCTURAS DE DATOS ESTRUCTURAS DE DATOS Variables Declaración: Significa definir el nombre de la variable y el tipo de dato que podrá almacena: tipoDato NombreDeVariable Pseudocódigo : ENTERO nota1 Java : int nota1 C : int nota1 Inicialización : Significa asignar un valor inicial a la variable, el cual luego puede ser modificado mediante el almacenamiento de datos Pseudocódigo : nota1 = nombre = “ “ Java : nota1 = nombre = “ “ C : nota1 = nombre = “ “ Asignación : Significa dar un valor a la variable durante el desarrollo del pseudocódico / DF: NombreDeVariable = valor Pseudocódigo : nota1 = 10 Java : nota1 = 10 C : nota1 = 10

186 ESTRUCTURAS DE DATOS Prob. : Desarrollo una solución que permita sumar los números 10 y 15 y mostrar el resultado INICIO ENTERO num1, num2, suma Algoritmo Suma ENTRADA: SALIDA: suma INICIO ENTERO num1, num2, suma num1 = 10 num2 = 15 suma = num1 + num2 ESCRIIBIR suma FIN num1 = 10 num2 = 15 suma = num1 + num2 ESCRIBIR suma FIN

187 ESTRUCTURAS LÓGICAS “C” #include <iostream.h>
main ( ) { // declaración int num1, num2, suma; // asignación num1=10; num2=15; // operación suma = num1 + num2; // Visualización de resultados cout <<suma ; } JAVA package dominioDeLaAplicacion ; class PrgSuma { public static void main (String arg [] ) { // declaración int num1, num2, suma; // asignación num1=10; num2=15; // operación suma = num1 + num2; // Visualización de resultados System.out.print (suma); }

188 Algoritmo AreaCuadrado
ESTRUCTURAS DE DATOS Prob. : Desarrollo una solución que permita calcular el área de un cuadrado sabiendo que tiene lado = 10 INICIO ENTERO lado, area Algoritmo AreaCuadrado ENTRADA: SALIDA: area INICIO ENTERO lado, area lado = 10 area = lado * lado ESCRIIBIR area FIN Lado = 10 area = lado * lado ESCRIBIR area FIN

189 package dominioDeLaAplicacion ; class PrgAreaCuadrado {
ESTRUCTURAS LÓGICAS JAVA package dominioDeLaAplicacion ; class PrgAreaCuadrado { public static void main (String arg [] ) { // declaración int lado, area; // asignación lado = 10; // operación area = lado * lado; // Visualización de resultados System.out.print (“El area es: ” + area); } “C” #include <iostream.h> main ( ) { // declaración int lado, area; // asignación lado = 10; // operación area = lado * lado; // Visualización de resultados cout << “El area es: ” << area ; }

190 Ingreso de datos Definición:
ESTRUCTURAS LÓGICAS Ingreso de datos Definición: Este permite ingresar datos de diferente tipo a través de un dispositivo de entrada de una computadora (el teclado).

191 Ingreso de datos ESTRUCTURAS LÓGICAS En Pseudocódigo En DF
LEER nombreVariable LEER nombreVariable En Java – Clase Lectura En “C” cin >> nombreVariable ; nombreVariable = Lectura.leerInt () ; nombreVariable = Lectura.leerlong (); nombreVariable = Lectura.leerfloat () ; nombreVariable = Lectura.leerDouble () ; nombreVariable = Lectura.leerChar () ; nombreVariable = Lectura.leerString () ; Previamente antes de la declaración de main() debe colocarse #include <iostream.h>

192 Algoritmo MostrarNombre
ESTRUCTURAS LÓGICAS Ejemplo: Desarrollo una solución que permita ingresar y mostrar el nombre de un alumno INICIO LEER nombre FIN TEXTO nombre ESCRIBIR nombre Algoritmo MostrarNombre ENTRADA: nombre SALIDA: nombre INICIO TEXTO nombre LEER nombre ESCRIIBIR nombre FIN

193 ESTRUCTURAS LÓGICAS JAVA “C” 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 ; }

194 Algoritmo NombrePromedio
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 INICIO LEER nombre, nota1, nota2 FIN TEXTO nombre REAL promedio ENTERO nota1, nota2 ESCRIBIR nombre, promedio Promedio = (nota1 + nota2) / 2 Algoritmo NombrePromedio ENTRADA: nombre, nota1, nota2 SALIDA: nombre, promedio INICIO TEXTO nombre ENTERO nota1, nota2 REAL promedio LEER nombre, nota1, nota2 promedio = (nota1 + nota2) / 2 ESCRIIBIR nombre, promedio FIN

195 ESTRUCTURAS LÓGICAS “C” JAVA class PrgNombrePromedio {
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; }

196 Introducción a la Computación
Semana 07 Objetivos: Estructuras de Decisión SI – FINSI Estructuras de Decisión SI – SINO – FINSI

197 Estructura Lógica de Decisión Simple (SI.. FINSI)
ESTRUCTURAS LÓGICAS Estructura Lógica de Decisión Simple (SI.. FINSI) Definición: 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

198 Estructura Lógica de Decisión Simple (SI… FINSI)
ESTRUCTURAS LÓGICAS Estructura Lógica de Decisión Simple (SI… FINSI)

199 Estructura Lógica de Decisión Simple (SI… FINSI)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Simple (SI… FINSI) 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... }

200 mensaje = “este cuadrado es pequeño”
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”. INICIO ESCRIBIR mensaje ENTERO lado, area TEXTO mensaje area = lado * lado LEER lado area < 100 FIN mensaje = “este cuadrado es pequeño” F V Algoritmo AreaCuadrado ENTRADA: lado SALIDA: area, mensaje INICIO ENTERO lado, area TEXTO mensaje = “ “ LEER lado area = lado * lado SI ( area < 100) ENTONCES mensaje = “Este cuadrado es pequeño” FINSI ESCRIIBIR area, mensaje FIN

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

202 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 INICIO ENTERO nota1, nota2 REAL nf TEXTO mensaje= “ “ nf = (nota1 + nota2) / 2 LEER nota1, nota2 nota > 13 ESCRIBIR mensaje FIN mensaje = “Felicitaciones” Algoritmo NotaFinal ENTRADA: nota1, nota2 SALIDA: nf, mensaje=“ “ INICIO ENTERO nota1, nota2 REAL nf TEXTO mensaje LEER nota1, nota2 nf = (nota1 + nota2) / 2 SI ( nf > 13 ) ENTONCES mensaje = “Felicitaciones” FINSI ESCRIBIR mensaje FIN

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

204 INTENTALO…!!! 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/

205 Estructura Lógica de Decisión Doble (SI/SINO)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Doble (SI/SINO) Definición: 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 FINSI

206 Estructura Lógica de Decisión Doble (SI/SINO)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Doble (SI/SINO)

207 Estructura Lógica de Decisión Doble (SI/SINO)
ESTRUCTURAS LÓGICA DE DECISION Estructura Lógica de Decisión Doble (SI/SINO) 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 {

208 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 INICIO ENTERO nota1, nota2,nota3 REAL nf TEXTO mensaje nf = (nota1 + nota2 + nota3) / 3 nota1, nota2,nota3 nota < 14 FIN V F mensaje=“Desaprobado” mensaje=“Aprobado” ESCRIBIR mensaje ENTRADA: nota1, nota2, nota3 SALIDA: nf, mensaje INICIO ENTERO nota1, nota2,nota3 REAL nf TEXTO mensaje LEER nota1, nota2, nota3 nf = (nota1 + nota2 + nota3 ) / 3 SI ( nf < 14 ) ENTONCES mensaje = “Desaprobado” SINO mensaje = “Aprobado” FINSI ESCRIIBIR nf, mensaje FIN

209 ESTRUCTURAS LÓGICAS DE DECISION
JAVA class 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;

210 mensaje=“Numero impar”
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. Algoritmo NumPar INICIO ENTRADA: num SALIDA: mensaje INICIO ENTERO num TEXTO mensaje LEER num SI ( num RESTO 2 = 0 ) ENTONCES mensaje = “Es un numero par” SINO mensaje = “Es un numero impar” FINSI ESCRIIBIR mensaje FIN ENTERO num TEXTO mensaje LEER num V num RESTO 2 = 0 F mensaje=“Numero par” mensaje=“Numero impar” ESCRIBIR mensaje FIN

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

212 INTENTALO…!!! 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%.

213 Introducción a la Computación
Semana 08 Objetivos: Estructuras de Decisión Múltiple CUANDO

214 Estructura Lógica de Decisión Múltiple (CUANDO)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Múltiple (CUANDO) Definició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) : OTROS FINCUANDO

215 Estructura Lógica de Decisión Múltiple (CUANDO)
ESTRUCTURAS LÓGICAS DE DESICION Estructura Lógica de Decisión Múltiple (CUANDO)

216 Estructura Lógica de Decisión Múltiple (CUANDO)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Múltiple (CUANDO) CASO (VALOR 1) Instrucciones TERMINAR V F CASO (VALOR 2) CASO (VALOR 3) CASO (VALOR “n”) Instrucciones POR DEFECTO

217 Estructura Lógica de Decisión Múltiple (CUANDO)
ESTRUCTURAS LÓGICAS DE DESICION 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 : case valor n : default : }

218 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 %

219 ESTRUCTURAS LÓGICAS DE DECISION
Algoritmo PrgSueldo – main() ENTRADA: categoria, sueldo SALIDA: sueldo INICIO ENTERO categoria REAL sueldo LEER categoria, sueldo CUANDO (categoria) SEA CASO (categoria = 1) sueldo = sueldo * 1.38 TERMINAR CASO (categoria = 2) sueldo = sueldo * 1.21 CASO (categoria = 3) sueldo = sueldo * 1.12 CASO (categoria = 4) sueldo = sueldo * 1.08 OTROS Sueldo = sueldo FIN CUANDO ESCRIIBIR sueldo FIN

220 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

221 ESTRUCTURAS LÓGICAS DE DECISION
JAVA class 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; case 3: sueldo = sueldo * 1.12; case 4: sueldo = sueldo * 1.08; 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; case 3: sueldo = sueldo * 1.12; case 4: sueldo = sueldo * 1.08; default: sueldo = sueldo } cout << “Su sueldo es: “ + sueldo>>;

222 INTENTALO…!!! 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 símbolo operación + Suma - Resta * Multiplicación / División

223 Introducción a la Computación
Semana 10 Objetivos: Estructuras de Decisión Múltiples Si ANIDADOS

224 Estructura Lógica de Decisión Múltiple (SI Anidados)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Múltiple (SI Anidados) Definición: 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… SI (condición3) ENTONCES instrucciones3… FINSI

225 Estructura Lógica de Decisión Múltiple (SI Anidados)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Múltiple (SI Anidados) INICIO condición Instrucciones F V FIN

226 Estructura Lógica de Decisión Múltiple (SI Anidados)
ESTRUCTURAS LÓGICAS DE DECISION Estructura Lógica de Decisión Múltiple (SI Anidados) 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... if (condición3) { sentencias3… }

227 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

228 ESTRUCTURAS LÓGICAS DE DECISION
Algoritmo PrgCategoriaNota – main() ENTRADA: nf SALIDA: categoria INICIO ENTERO nf CARACTER categoria LEER nf SI ( nf > 15 Y nf < 21) ENTONCES categoria = “A” SINO SI ( nf > 10 Y nf < 16) ENTONCES categoria = “B” categoria = “C” FINSI ESCRIIBIR categoria FIN

229 ESTRUCTURAS LÓGICAS DE DECISION
INICIO nf nf >15 Y nf >21 F V FIN ENTERO nfinal CARÁCTER categoria nf >10 Y nf >16 categoria = “A” categoria = “B” categoria = “C” ESCRIBIR categoria

230 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’; Categoria = ‘C’; } cout <<categoria;

231 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, altura SALIDA: area, mensaje INICIO REAL base, altura, area TEXTO mensaje LEER base, altura area = base * altura SI (area<100) ENTONCES mensaje = “rectangulo pequeño” SINO SI (area >= 1000) mensaje = “rectangulo grande” mensaje = “rectangulo mediano” FINSI ESCRIBIR area, mensaje FIN Algoritmo AreaTriangulo

232 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 ”; 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 ”; mensaje = “ rectángulo mediano ”; } Cout << “El área es: ” + area ; Cout << “y es un ” + mensaje ;

233 ESTRUCTURAS LÓGICAS INTENTALO…!!!

234 Introducción a la Computación
Semana 11 Objetivos: Estructuras lógicas de control “MIENTRAS” Estructuras lógicas de control “HACER-MIENTRAS”

235 contador = contador + cantidadConstante
ESTRUCTURAS DE DATOS Variables Uso de contadores Definición: 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. contador = contador + cantidadConstante Ejemplos: En Pseudocódigo En Java y C - Incremento de 1 en  c = c C++ - Incremento de 2 en  contar = contar contar += 2 ;

236 Estructura Lógica de Repetición (MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (MIENTRAS) Definición: 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. PSEUDOCODIGO MIENTRAS (condición) instrucción 1 . instrucción n FINMIENTRAS

237 Estructura Lógica de Repetición (MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (MIENTRAS)

238 Estructura Lógica de Repetición (MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (MIENTRAS) JAVA y C while (condición) { sentencia 1 . sentencia n }

239 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 INICIO ESCRIBIR nf ENTERO numalu, n1, n2, cont=1 REAL nf nf = ( n1 + (n2 *2 ) ) / 3 LEER numalu cont <= numalu FIN cont = cont + 1 Algoritmo Nfinales ENTRADA: numalu, n1, n2 SALIDA: nf INICIO ENTERO numalu, n1, n2, cont=1 REAL nf LEER numalu MIENTRAS (cont <= numalu) LEER n1, n2 nf = ( n1 + (n2 *2 ) ) / 3 ESCRIIBIR nf cont = con +1 FINMIENTRAS FIN

240 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; }

241 ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!

242 Estructura Lógica de Repetición (HACER-MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (HACER-MIENTRAS) 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)

243 Estructura Lógica de Repetición (HACER - MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (HACER - MIENTRAS)

244 Estructura Lógica de Repetición (HACER - MIENTRAS)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (HACER - MIENTRAS) JAVA y C do { sentencia 1 . sentencia n } while (condición) ;

245 continua=‘S’ O continua=‘s’
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 INICIO 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 Algoritmo NFinales2 ENTRADA: n1, n2 SALIDA: nf INICIO ENTERO n1, n2, cont=1 REAL nf CARACTER continua HACER LEER n1, n2 nf = ( n1 + (n2 *2 ) ) / 3 ESCRIIBIR nf cont = cont + 1 LEER continua MIENTRAS (continua = ‘S’ O continua=‘s’) FIN

246 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’) }

247 ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!

248 Introducción a la Computación
Semana 12 Objetivos: Estructuras lógicas de control “DESDE”

249 Estructura Lógica de Repetición (DESDE)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (DESDE) 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 valor instrucción 1 . instrucción n FINDESDE

250 Estructura Lógica de Repetición (DESDE)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (DESDE)

251 Estructura Lógica de Repetición (DESDE)
ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION Estructura Lógica de Repetición (DESDE) JAVA y C for ( i = valorInicial ; i < valorFinal ; i++ ) { sentencia 1 . sentencia n }

252 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. INICIO Algoritmo Nfinales3) ENTERO n1, n2, i REAL nf ENTRADA: n1, n2 SALIDA: nf INICIO ENTERO n1, n2, i REAL nf DESDE i=1 , HASTA i<=10, INCREMENTA 1 LEER n1, n2 nf = ( n1 + n2 ) / 2 ESCRIIBIR nf FIN DESDE FIN DESDE i=1 HASTA i<=10 INCREMENTA 1 LEER n1, n2 nf = ( n1 + n2 ) / 2 ESCRIBIR nf FIN

253 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 ; }

254 Estructuras lógicas de decisión y de control “COMBINACIONES”
Introducción a la Computación DE CONTROL - REPETICION Semana 13 Objetivos: Estructuras lógicas de decisión y de control “COMBINACIONES”

255 ESTRUCTURAS LÓGICAS DE CONTROL - REPETICION
INTENTALO…!!!

256 Estructuras de datos tipo arreglo
Introducción a la Computación Semana 14 Objetivos: Estructuras de datos tipo arreglo VECTORES

257 ESTRUCTURAS DE DATOS Arreglos Definició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.

258 Arreglos Tipos: Arreglos unidimensionales o vectores
ESTRUCTURAS DE DATOS Arreglos Tipos: Arreglos unidimensionales o vectores Representación: 32 -2 174 1 2 3 numeros tamaño=4 Arreglos bidimensionales o matrices Representación: 32 -2 174 1 2 3 numeros filas=2, columnas=4 14 12 -5 129

259 Arreglos tipo VECTOR Declaración: ESTRUCTURAS DE DATOS En Pseudocódigo
En Java En C tipoDato nombreVector [ ] ; tipoDato nombreVector [ ] tipoDato [ ] nombreVector ; Ejemplos; Ejemplos; TEXTO nombres [ ] NUMERO sueldos [ ] - CARACTER letras [ ] String nombres [ ] ; double sueldos [ ] ; - char letras [ ] ;

260 Arreglos tipo VECTOR Creación: ESTRUCTURAS DE DATOS En Pseudocódigo
En Java En C CREAR nombreVector [tamaño] nombreVector = new tipoDato [tamaño] ; Ejemplos; Ejemplos; CREAR nombres [10 ] CREAR sueldos [numNot] - CREAR letras [LONGITUD texto] nombres = new String [10] ; sueldos = new double [numNot] ; - letras = new char [texto.length()] ;

261 Arreglos tipo VECTOR Ingreso de datos: ESTRUCTURAS DE DATOS
En Pseudocódigo En Java En C nombreVector [índice] = valor identificador [índice] = valor ; Ejemplos; Ejemplos; nombres [0 ] = “Danae” sueldos [1] = 100.5 - letras [x] = ‘J’ nombres [0 ] = “Danae” ; sueldos [1] = ; - letras [x] = ‘J’ ; 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.

262 Arreglos tipo VECTOR Tamaño: ESTRUCTURAS DE DATOS En Pseudocódigo
En Java En C variable = LONGITUD nombreVector [ ] variable = nombreVector.length ; Ejemplos; Ejemplos; tamaño = LONGITUD nombres [ ] tamaño = LONGITUD sueldos [ ] - tamaño = LONGITUD letras [ ] tamaño = nombres.length ; tamaño = sueldos.length ; - tamaño = letras.length ;

263 Declaración y creación:
ESTRUCTURAS DE DATOS Arreglos tipo VECTOR Declaración y creación: En Java tipoDato nombreVector [ ] = new tipoDato [tamaño] ; Declaración, creación e inicialización: En Java tipoDato nombreVector [ ] = { valor1, valor2, valor3, valor4, … , valorN } ;

264 ESTRUCTURAS DE DATOS 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.

265 ENTRADA: numPra, notas[ ] / SALIDA: promAlu
INICIO ENTERO i, numPra REAL sumaNotas = 0, notaMenor = 20 REAL 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” sumaNotas = sumaNotas + notas[i] SI ( notaMenor > notas[i] ) ENTONCES notaMenor = notas[i] FINSI promAlu = ( sumaNotas - notaMenor ) / ( numPra - 1 ) promAlu = promAlu REDONDEA 0 ESCRIBIR promAlu Algoritmo VectorNotas

266 ESTRUCTURAS DE DATOS JAVA C # <iostream.h>
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 arreglo System.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( ) ; } C # <iostream.h> main( ) { // Declaración de variables. int i, numPra ; double sumaNotas = 0, notaMenor = 20, promAlu ; // Determinación del tamaño del arreglo cout << “ 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] ; }

267 ESTRUCTURAS DE DATOS // Cálculo del promedio de notas de las prácticas. for ( i = 0 ; i < numPra ; i++ ) { sumaNotas = sumaNotas + notas[i] ; } if ( notaMenor > notas [i] ) notaMenor = notas[i] ; promAlu = sumaNotas / numAlu ; promAlu = Math.round (promAlu) ; System.out.println ( “ El promedio es : ” + promAlu ) ;

268 INTENTALO…!!! 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.

269 Estructuras de datos tipo arreglo
Introducción a la Computación Semana 15 Objetivos: Estructuras de datos tipo arreglo MATRICES

270 Arreglos Tipos: Arreglos unidimensionales o vectores
ESTRUCTURAS DE DATOS Arreglos Tipos: Arreglos unidimensionales o vectores Representación: 32 -2 174 1 2 3 numeros tamaño=4 Arreglos bidimensionales o MATRICES Representación: 32 -2 174 1 2 3 numeros filas=2, columnas=4 14 12 -5 129

271 Arreglos tipo MATRIZ Declaración: ó ESTRUCTURAS DE DATOS
En Pseudocódigo En Java En C tipoDato identificador [ ][ ] tipoDato identificador [ ][ ] ; ó tipoDato [ ][ ] identificador ; Ejemplos; Ejemplos; TEXTO nombres [ ][ ] NUMERO sueldos [ ][ ] - CARACTER letras [ ][ ] String nombres [ ][ ] ; double sueldos [ ][ ] ; - char letras [ ][ ] ;

272 Arreglos tipo MATRIZ Creación: ESTRUCTURAS DE DATOS En Pseudocódigo
En Java En C CREAR identificador [filas][columnas] identificador = new tipoDato [filas][columnas] ; 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] ;

273 Arreglos tipo MATRIZ Ingreso de datos: ESTRUCTURAS DE DATOS
En Pseudocódigo En Java En C identificador [índice] = valor identificador [índice] = valor ; Ejemplos; Ejemplos; nombres [0 ][0] = “Danae” sueldos [1][x] = 100.5 - letras [y][x] = ‘J’ nombres [0 ][0] = “Danae” ; sueldos [1][x] = ; - letras [y][x] = ‘J’ ; 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.

274 ESTRUCTURAS DE DATOS 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.

275 INTENTALO…!!! 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. 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..


Descargar ppt "Introducción a la Computación (IC)"

Presentaciones similares


Anuncios Google