Download Tema 1
Document related concepts
no text concepts found
Transcript
Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés S CONCEPTOS BÁSICOS INGENIERÍA S PROVIENE DE LA PALABRA INGENIO, FACULTAD DEL SER HUMANO PARA INVENTAR CON PRONTITUD Y FACILIDAD S LA INGENIERÍA ES LA ACTIVIDAD PROFESIONAL ENCAUSADA A RESOLVER LOS PROBLEMAS QUE AQUEJAN A LA SOCIEDAD QUE HACE USO DE LOS CONOCIMIENTOS MATEMÁTICOS, CIENTÍFICOS Y TECNOLÓGICOS CONCEPTOS BÁSICOS COMPUTACIÓN S PROVIENE DEL LATÍN COMPUTARE QUE SIGNIFICA CÁLCULO S REALIZACIÓN DE CÁLCULOS A GRAN VELOCIDAD EN FORMA AUTOMÁTICA CONCEPTOS BÁSICOS COMPUTADORA S Es una máquina capaz de procesar o tratar automáticamente gran cantidad de información a gran velocidad realizando cálculos y procesos complicados que requieren una toma rápida de decisiones CONCEPTOS BÁSICOS PROGRAMAR S ORGANIZAR DE MANERA CONGRUENTE LOS PASOS A SEGUIR PARA RESOLVER UN PROBLEMA BASADO EN LA INFORMACIÓN QUE SE NOS PROPORCIONA CONCEPTOS BÁSICOS PROGRAMA S CÓDIGO O CONJUNTO DE INSTRUCCIONES QUE LE INDICA A LA COMPUTADORA LOS PASOS A SEGUIR PARA RESOLVER UN PROBLEMA CON BASE EN LA INFORMACIÓN PROPORCIONADA CONCEPTOS BÁSICOS S HARDWARE: LA PARTE FÍSICA DE LA COMPUTADORA. TODO LO QUE PODEMOS VER Y TOCAR DE ELLA, COMO MONITOR, TECLADO, CABLES, ETC. S SOFTWARE: LA PARTE LÓGICA DE LA COMPUTADORA. LO INTANGIBLE. COMPRENDE TANTO SISTEMAS Y PROGRAMAS E INSTRUCCIONES ASÍ COMO MANUALES Y OTRA DOCUMENTACIÓN S FIRMWARE: ES UN BLOQUE DE INSTRUCCIONES DE PROGRAMA PARA PROPÓSITOS ESPECÍFICOS, GRABADO EN UNA CHIP QUE ESTABLECE LA LÓGICA DE MÁS BAJO NIVEL QUE CONTROLA LOS CIRCUITOS ELECTRÓNICOS DE UN DISPOSITIVO. ES EN PARTE HARDWARE Y EN PARTE SOFTWARE SW DE ACUERDO A SU FUNCIÓN S SE REFIERE A LA FORMA EN COMO SE DIVIDE DESDE EL PUNTO DE VISTA OPERACIONAL Usuario Sistema Bancario Compiladores / intérpretes Sistema de reservaciones Editores Navegador Shell o intérprete de comandos SW de aplicación SW de sistemas Sistema operativo Lenguaje máquina Firmware Microarquitectura (microprogramación) Dispositivos físicos Hardware SW DE APLICACIÓN (Paquetes) S Es aquel SW que dirige las distintas tareas para las que se utilizan las computadoras, es decir, facilita al usuario la realización de un determinado tipo de trabajo S Lleva a cabo tareas de tratamiento de textos, gestión de bases de datos, contabilidad, reservaciones de viajes y similares SW DE SISTEMA O DE BASE S Es aquel SW que controlan el funcionamiento interno de la computadora (los trabajos que desempeña la computadora) S SISTEMA OPERATIVO: Es el intermediario entre el usuario y la máquina. Controla los procesos de la computadora y administra sus recursos. Tiene 3 funciones principales: S coordina y manipula el hardware de la computadora (ej. la administración de la pantalla) S organiza los archivos en diversos dispositivos de almacenamiento S gestiona los errores de hardware y la pérdida de datos SW DE SISTEMA S EDITORES: SW para crear y/o editar texto plano (texto sin formato) S UTILERÍAS O BIBLIOTECAS: SW auxiliar que es utilizado por otros SW para resolver sus tareas. Necesita ser invocado por otro SW para trabajar. Generalmente realiza tareas de mantenimiento o de uso general S SHELL O INTÉRPRETE DE COMANDOS: la interfaz de usuario provista por el sistema para permitir al usuario llevar a cabo tareas comunes tales como acceder al sistema de archivos, ejecutar programas, cambiar la configuración del sistema, etc. Es un intermediario entre el usuario y el sistema operativo (SO). Su función es la de proporcionar al usuario una forma de acceder a los recursos de la computadora SW DE SISTEMA S LENGUAJE DE PROGRAMACIÓN: cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por una computadora S Clasificación de acuerdo a su nivel S Nivel bajo: Es aquel lenguaje que sólo entiende la computadora, es decir, el lenguaje que maneja el procesador y es dependiente de él S S Lenguaje máquina: Aquel cuyas instrucciones y datos están dadas en términos de unos y ceros (lenguaje binario) Lenguaje ensamblador: Aquel cuyas instrucciones están dadas en términos de mnemotécnicos S Nivel alto: Aquel lenguaje cuyas instrucciones se asemejan al lenguaje natural, es decir está dada como enunciados que nosotros podemos entender. Es independiente de la máquina. Ej. Lenguaje C, Pascal, Fortran, C++ SW DE SISTEMA S LENGUAJES DE PROGRAMACIÓN S Clasificación de acuerdo al tipo de traductor S Traductor: es un SW que toma un código denominado fuente y lo transforma en otro código equivalente denominado objeto Código fuente TRADUCTOR Código objeto SW DE SISTEMA S Tipos de traductores S Intérpretes: Traducen una instrucción a la vez y la ejecutan. No genera código objeto y sólo genera un resultado o un error 1 instrucción INTÉRPRETE 1 error 1 resultado SW DE SISTEMA S Tipos de traductores S Compiladores: Aquellos traductores que cuyo código fuente está en lenguaje de alto nivel y lo transforman a lenguaje de bajo nivel. Ej. C, Pascal, Fortran, C++ S El Ensamblador es un caso particular de un compilador, ya que traduce el lenguaje ensamblador a lenguaje máquina datos Código fuente Código Compilador objeto errores de sintaxis y semántica ligador Código máquina utilerías errores de memoria resul tado s SW DE SISTEMA S Tipos de traductores S Híbridos: Aquellos traductores que actúan tanto como intérpretes y como compiladores. Ejemplo: Java, C# SW DE SISTEMA Compilar vs. Interpretar Interpretar vs. Compilar Se compila 1 vez se ejecuta n veces VENTAJAS Intérprete ocupa menos memoria Cuando se repiten las mismas Permite mayor interactividad en tiempo instrucciones varias veces (ciclos): de desarrollo. A medida que escribes te compilador genera todo el bloque muestra los errores de sintaxis equivalente. Intérprete realiza las m potenciales traducciones una por una Compilador tiene visión global del programa. Presenta todos (la mayoría) de errores en forma más detallada. Intérprete se detiene cuando encuentra un error El ejecutable que se crea es independiente de la máquina. Es necesario tener el intérprete para ejecutar el programa SW DE SISTEMA S LENGUAJES DE PROGRAMACIÓN S Clasificación de acuerdo a su orientación S Procedurales: Aquellos orientados a resolver tareas en específico, llevando a cabo una serie de pasos. Se refiere a la forma en que sabemos hacer algo. Hacen uso de funciones S Algoritmos + estructuras de datos = programas S Orientados a Objetos (OO): Aquellos que trabajan con objetos que representan entidades del mundo real; les asocian propiedades (atributos) y tienen procedimientos que permiten trabajar con ellos (métodos o funciones)