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)