programaciÓnprogramaciÓn fcc-buap. 1. introducciÓn a la programaciÓn

42
PROGRAMACIÓN PROGRAMACIÓN FCC-BUAP FCC-BUAP

Upload: hictor-alejo

Post on 29-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

PROGRAMACIÓNPROGRAMACIÓNPROGRAMACIÓNPROGRAMACIÓN

FCC-BUAPFCC-BUAP

Page 2: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

1. INTRODUCCIÓN A LA PROGRAMACIÓN

Page 3: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

1.1 ALGORITMOS, PROGRAMAS Y PROGRAMACIÓN

Page 4: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Un ALGORITMO es una secuencia ordenada, finita e inequívoca de pasos a seguir para resolver un determinado problema.

Paso 1Paso 1 Paso 2Paso 2Paso 3Paso 3

FinFinInicioInicio

Page 5: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Inicio numOculto10 Escribir(“Adivina Numero: ”) Leer(numUsuario) Si numUsuario=numOculto entonces Escribir(“Ganaste !!”) sino Escribir(“Perdiste!”) fin_siFin

Page 6: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Un algoritmo debe ser expresado en forma de un PROGRAMA de computadora, el cual consiste de un conjunto de instrucciones que la computadora pueda entender y posteriormente ejecutar

Page 7: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

#include <stdio.h>int numOculto=10;

main() { int numUsuario; printf(“\nAdivina numero:”); scanf(“%d”, numUsuario); if (numUsuario==numOculto) printf(“Ganaste!!”); else printf(“Perdiste!”);}

Page 8: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Un LENGUAJE DE PROGRAMACION es el medio nos permite escribir un programa

Ejemplos: Ensamblador, Ada, Modula, Pascal, Smalltalk, C, Java, Haskell, ML, Lisp

• A la actividad de expresar un algoritmo en forma de programa se le denomina PROGRAMACION.

Page 9: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• A los programas se les denomina empleando el término de SOFTWARE

• y al equipo físico se le denomina usando el término de HARDWARE

Page 10: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• En el caso de programas que están destinados a alguna aplicación específica se les conoce como PAQUETES DE APLICACIONES como Excel, Word, Mathematica, Matlab, etc. Sin embargo, cuando se desea hacer algo para lo cual no existe un paquete, uno tiene que escribir sus propios programas para resolver su problema.

Page 11: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• SOFTWARE DEL SISTEMA son los programas encargados de proporcionar servicios vitales para que un usuario pueda interactuar con un sistema de cómputo; de los cuales uno de más importantes es el SISTEMA OPERATIVO

Page 12: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• El SISTEMA OPERATIVO es un conjunto de programas que nos facilitan el uso de los recursos de la máquina. Por ejemplo:

• WindowsXP Condor• Unix Novell Netware• Linux Amoeba• QNX Sprite

Page 13: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

1.2 COMPONENTES DE UNA COMPUTADORA TIPICA

Page 14: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Unidad de Control

Unidad Aritmética Lógica (ALU)

Procesador Central (CPU Central Processor Unit)

Ejemplo: Intel, Motorola

Page 15: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Dispositivos de E/S

ROM (Read Only Memory),

PROM (Programmable Read Only Memory),

RAM (Random Access Memory)

Memoria

Memoria interna (Memoria principal)

Page 16: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Memoria secundaria (Memoria externa)

Page 17: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

1.3 Lenguajes de Programación y

Traductores

Page 18: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

LENGUAJE DE PROGRAMACIÓN es un conjunto de símbolos, junto con un conjunto de reglas para combinar dichos símbolos que se usan para expresar programas.

Page 19: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Se componen de:

• léxico. P/E Alfabeto={a,b,c,d, . , “,”, +, -}

• sintaxis. P/E Después de una a siempre va una b.

• Semántica. P/E ‘+’ significa unir dos cadenas.

Page 20: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Para que una computadora pueda ejecutar un programa escrito en un determinado lenguaje de programación, éste debe ser traducido a un lenguaje que la computadora entienda, el LENGUAJE DE MAQUINA.

10010101000110111111000111000100

Page 21: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Ventajas:Programas muy eficientes en cuanto a

tiempo de ejecución y uso de memoria

Desventajas:Resulta muy difícil programar en él.

Page 22: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Clasificación de los lenguajes de programación

a) De acuerdo a la proximidad del lenguaje con la máquina o con el lenguaje natural:

• Lenguajes de bajo nivel: Lenguajes de máquina.

• Lenguajes de nivel medio: Ensambladores y Macroensambladores.

Page 23: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Lenguajes de alto nivel, como Pascal, Fortran, C, C++, Lisp, Basic, Prolog, etc.

Page 24: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

b) Por el tipo de problemas que nos permiten resolver con más facilidad:

• Aplicaciones científicas, en donde predominan operaciones numéricas propias de algoritmos numéricos. P/E Fortran y Pascal.

• Procesamiento de datos, como COBOL y SQL.

Page 25: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Tratamiento de textos como C.

• Inteligencia artificial, como aplicaciones en sistemas expertos, juegos y visión artificial. P/E LISP y PROLOG.

• Programación de Sistemas: Software que permite la interfaz entre el hardware y el usuario. P/E ADA, MODULA-2 y C

Page 26: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

c) Por el estilo de programación que fomentan:

• Lenguajes imperativos o procedurales. Establecen cómo debe ejecutarse una tarea, dividiéndola en partes y especificando las subtareas asociadas. La mayoría de los lenguajes de alto nivel son de este tipo: Fortran, Pascal, Basic, etc.

Page 27: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lógicas que indican las relaciones entre determinadas estructuras de datos (PROLOG).

Page 28: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Lenguajes orientados a Objetos. Se centran más en los datos y su estructura. Un programa consiste de descripciones de unidades denominadas objetos que encapsulan a los datos y las operaciones que actúan sobre ellos (C++).

Page 29: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• Lenguajes orientados al problema. Diseñados para problemas específicos. Son generadores de aplicaciones que permitan automatizar la tarea de desarrollo de software de aplicaciones.

Page 30: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Cuando se asocia un mnemónico a una instrucción de máquina, tenemos lo que se conoce como LENGUAJE ENSAMBLADOR.

Además se permite el uso de comentarios y direccionamiento simbólico.

Page 31: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

• ENSAMBLADOR programa que traduce las instrucciones en lenguaje ensamblador a lenguaje de máquina.

Ensambladorprograma fuente programa objeto

Page 32: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Características:• Conjunto de instrucciones reducido y

rígido. • No hay portabilidad ya que hay una

fuerte dependencia con el hardware de la computadora.

• Permite el uso óptimo de los recursos de la máquina.

Page 33: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Se llaman MACROINSTRUCCIONES ( o MACROS) a las abreviaturas para un grupo de instrucciones. Una sola instrucción representa un bloque de código.

Page 34: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

MACROENSAMBLADOR es un programa que traduce un lenguaje de macroinstrucciones a lenguaje de máquina.

COMPILADORES es un programa que acepta un programa fuente en un lenguaje de alto nivel y produce su correspondiente programa objeto.

Page 35: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Algunos compiladores traducen sólo programas completos, mientras que otros traducen partes de un programa (MODULOS ).

LIGADOR programa que une los módulos traducidos, en un sólo programa.

Page 36: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

INTERPRETE es un programa que traduce programas escritos en un lenguaje de alto nivel a lenguaje de máquina; sin embargo, en este caso no existe independencia entre la fase de traducción y la de ejecución.

Page 37: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

CARGADOR es un programa que carga un programa objeto a memoria principal y lo prepara para su ejecución.

Page 38: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

1.4 Sistemas Operativos

Page 39: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

SISTEMA OPERATIVO es un conjunto de programas que permiten utilizar los recursos de la máquina. Esto es, sirve como un enlace entre el hardware y el usuario.

• Sistemas operativos de red

• Sistemas operativos distribuidos

Page 40: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Un sistema operativo debe ser:

1.Eficiente, debe realizar sus funciones de forma rápida.

2.Fiable, ya que un fallo de él, puede causar que el sistema se ''caiga''.

3.Deben ser de tamaño pequeño.

Page 41: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Un sistema operativo debe contar con programas de apoyo que permitan realizar operaciones como:

a) Editarb) Transferir informaciónc) Ejecutar programas

Page 42: PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN

Categorías de sistemas operativos:1.Sistemas operativos monousuario y

monotarea2.Sistemas operativos multitarea 3.Sistemas operativos multiusuario4.Sistemas operativos para

multiprocesador (multiproceso).