Descargar

Programación

Enviado por Pablo Turmero


    edu.red

    1. INTRODUCCIÓN A LA PROGRAMACIÓN

    edu.red

    1.1 ALGORITMOS, PROGRAMAS Y PROGRAMACIÓN

    edu.red

    Un ALGORITMO es una secuencia ordenada, finita e inequívoca de pasos a seguir para resolver un determinado problema. Paso 1 Paso 2 Paso 3 Fin Inicio

    edu.red

    Inicio numOculto?10 Escribir(“Adivina Numero: ”) Leer(numUsuario) Si numUsuario=numOculto entonces Escribir(“Ganaste !!”) sino Escribir(“Perdiste!”) fin_si Fin

    edu.red

    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

    edu.red

    #include int numOculto=10;

    main() { int numUsuario;

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

    edu.red

    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.

    edu.red

    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

    edu.red

    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.

    edu.red

    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

    edu.red

    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

    edu.red

    1.2 COMPONENTES DE UNA COMPUTADORA TIPICA

    edu.red

    Unidad de Control Unidad Aritmética Lógica (ALU) Procesador Central (CPU Central Processor Unit) Ejemplo: Intel, Motorola

    edu.red

    Dispositivos de E/S ROM (Read Only Memory), PROM (Programmable Read Only Memory), RAM (Random Access Memory) Memoria Memoria interna (Memoria principal)

    edu.red

    Memoria secundaria (Memoria externa)

    edu.red

    1.3 Lenguajes de Programación y Traductores

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    1001010100011011 1111000111000100

    edu.red

    Ventajas: Programas muy eficientes en cuanto a tiempo de ejecución y uso de memoria

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

    edu.red

    Clasificación de los lenguajes de programación

    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.

    edu.red

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

    edu.red

    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.

    edu.red

    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

    edu.red

    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.

    edu.red

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

    edu.red

    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++).

    edu.red

    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.

    edu.red

    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.

    edu.red

    ENSAMBLADOR programa que traduce las instrucciones en lenguaje ensamblador a lenguaje de máquina. Ensamblador programa fuente programa objeto

    edu.red

    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.

    edu.red

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

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    edu.red

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

    edu.red

    1.4 Sistemas Operativos

    edu.red

    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

    edu.red

    Un sistema operativo debe ser:

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

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

    Deben ser de tamaño pequeño.

    edu.red

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

    a) Editar b) Transferir información c) Ejecutar programas

    edu.red

    Categorías de sistemas operativos: Sistemas operativos monousuario y monotarea Sistemas operativos multitarea Sistemas operativos multiusuario Sistemas operativos para multiprocesador (multiproceso).