Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

18
S Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés

Transcript of Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

Page 1: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

S

Panorama GeneralFundamentos de ProgramaciónM.I. Jaime Alfonso Reyes Cortés

Page 2: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

INGENIERÍA

PROVIENE DE LA PALABRA INGENIO, FACULTAD DEL SER HUMANO PARA INVENTAR CON PRONTITUD Y FACILIDAD

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

Page 3: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

COMPUTACIÓN

PROVIENE DEL LATÍN COMPUTARE QUE SIGNIFICA CÁLCULO

REALIZACIÓN DE CÁLCULOS A GRAN VELOCIDAD EN FORMA AUTOMÁTICA

Page 4: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

COMPUTADORA

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

Page 5: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

PROGRAMAR ORGANIZAR DE MANERA CONGRUENTE LOS PASOS

A SEGUIR PARA RESOLVER UN PROBLEMA BASADO EN LA INFORMACIÓN QUE SE NOS PROPORCIONA

Page 6: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

PROGRAMA 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

Page 7: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

CONCEPTOS BÁSICOS

HARDWARE: LA PARTE FÍSICA DE LA COMPUTADORA. TODO LO QUE PODEMOS VER Y TOCAR DE ELLA, COMO MONITOR, TECLADO, CABLES, ETC.

SOFTWARE: LA PARTE LÓGICA DE LA COMPUTADORA. LO INTANGIBLE. COMPRENDE TANTO SISTEMAS Y PROGRAMAS E INSTRUCCIONES ASÍ COMO MANUALES Y OTRA DOCUMENTACIÓN

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

Page 8: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE ACUERDO A SU FUNCIÓN

SE REFIERE A LA FORMA EN COMO SE DIVIDE DESDE EL PUNTO DE VISTA OPERACIONAL

Sistema Bancario

Sistema dereservaciones

Navegador SW de aplicación

Compiladores/

intérpretesEditores

Shell o intérprete de comandos

SW de sistemas

Sistema operativo

Lenguaje máquina

HardwareMicroarquitectura (microprogramación)

Dispositivos físicos

Firmware

Usuario

Page 9: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE APLICACIÓN (Paquetes)

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

Lleva a cabo tareas de tratamiento de textos, gestión de bases de datos, contabilidad, reservaciones de viajes y similares

Page 10: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE SISTEMA O DE BASE

Es aquel SW que controlan el funcionamiento interno de la computadora (los trabajos que desempeña la computadora)

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: coordina y manipula el hardware de la computadora (ej. la

administración de la pantalla) organiza los archivos en diversos dispositivos de

almacenamiento gestiona los errores de hardware y la pérdida de datos

Page 11: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE SISTEMA

EDITORES: SW para crear y/o editar texto plano (texto sin formato)

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

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

Page 12: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE SISTEMA

LENGUAJE DE PROGRAMACIÓN: cualquier lenguaje artificial que puede utilizarse para definir una secuencia de instrucciones para su procesamiento por una computadora

Clasificación de acuerdo a su nivel Nivel bajo: Es aquel lenguaje que sólo entiende la computadora, es

decir, el lenguaje que maneja el procesador y es dependiente de él 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 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++

Page 13: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

LENGUAJES DE PROGRAMACIÓN

Clasificación de acuerdo al tipo de traductor

Traductor: es un SW que toma un código denominado fuente y lo transforma en otro código equivalente denominado objeto

SW DE SISTEMA

TRADUCTORTRADUCTORCódigo

fuenteCódigo

objeto

Page 14: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

Tipos de traductores

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

SW DE SISTEMA

INTÉRPRETEINTÉRPRETE1 instrucción 1 resultado

1 error

Page 15: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

Tipos de traductores 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++ El Ensamblador es un caso particular de un compilador, ya que

traduce el lenguaje ensamblador a lenguaje máquina

SW DE SISTEMA

CompiladorCompiladorCódigo

fuente

Código

objeto

errores de sintaxis y semántica

ligadorligadorCódigo

máquina

utileríaserrores de memoria

datos

resultado

s

Page 16: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

Tipos de traductores

Híbridos: Aquellos traductores que actúan tanto como intérpretes y como compiladores. Ejemplo: Java, C#

SW DE SISTEMA

Page 17: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE SISTEMACompilar vs. Interpretar Interpretar vs. Compilar

Se compila 1 vez se ejecuta n veces Intérprete ocupa menos memoria

Cuando se repiten las mismas instrucciones varias veces (ciclos): compilador genera todo el bloque equivalente. Intérprete realiza las m traducciones una por una

Permite mayor interactividad en tiempo de desarrollo. A medida que escribes te muestra los errores de sintaxis potenciales

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

VENTAJAS

Page 18: Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.

SW DE SISTEMA

LENGUAJES DE PROGRAMACIÓN

Clasificación de acuerdo a su orientación 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 Algoritmos + estructuras de datos = programas

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)