PROGRAMACIN 1 INTRODUCCIN A LA PROGRAMACIN 1 1

  • Slides: 42
Download presentation
PROGRAMACIÓN

PROGRAMACIÓN

1. INTRODUCCIÓN A LA PROGRAMACIÓN

1. INTRODUCCIÓN A LA PROGRAMACIÓN

1. 1 ALGORITMOS, PROGRAMAS Y PROGRAMACIÓN

1. 1 ALGORITMOS, PROGRAMAS Y PROGRAMACIÓN

�Un ALGORITMO es una secuencia ordenada, finita e inequívoca de pasos a seguir para

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

Inicio num. Oculto 10 Escribir(“Adivina Numero: ”) Leer(num. Usuario) Si num. Usuario=num. Oculto entonces

Inicio num. Oculto 10 Escribir(“Adivina Numero: ”) Leer(num. Usuario) Si num. Usuario=num. Oculto entonces Escribir(“Ganaste !!”) sino Escribir(“Perdiste!”) fin_si Fin

�Un algoritmo debe ser expresado en forma de un PROGRAMA de computadora, el cual

�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

#include <stdio. h> int num. Oculto=10; main() { int num. Usuario; } printf(“n. Adivina

#include <stdio. h> int num. Oculto=10; main() { int num. Usuario; } printf(“n. Adivina numero: ”); scanf(“%d”, num. Usuario); if (num. Usuario==num. Oculto) printf(“Ganaste!!”); else printf(“Perdiste!”);

�Un LENGUAJE DE PROGRAMACION es el medio nos permite escribir un programa Ejemplos: Ensamblador,

�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.

�A los programas se les denomina empleando el término de SOFTWARE � y al

�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

�En el caso de programas que están destinados a alguna aplicación específica se les

�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.

�SOFTWARE DEL SISTEMA son los programas encargados de proporcionar servicios vitales para que un

�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

�El SISTEMA OPERATIVO es un conjunto de programas que nos facilitan el uso de

�El SISTEMA OPERATIVO es un conjunto de programas que nos facilitan el uso de los recursos de la máquina. Por ejemplo: �Windows. XP Condor �Unix Novell Netware �Linux Amoeba �QNX Sprite

1. 2 COMPONENTES DE UNA COMPUTADORA TIPICA

1. 2 COMPONENTES DE UNA COMPUTADORA TIPICA

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

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

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

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

Memoria secundaria (Memoria externa)

Memoria secundaria (Memoria externa)

1. 3 Lenguajes de Programación y Traductores

1. 3 Lenguajes de Programación y Traductores

LENGUAJE DE PROGRAMACIÓN es un conjunto de símbolos, junto con un conjunto de reglas

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.

Se componen de: �léxico. P/E Alfabeto={a, b, c, d, . , “, ”, +,

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.

Para que una computadora pueda ejecutar un programa escrito en un determinado lenguaje de

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 1111000100

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

Ventajas: Programas muy eficientes en cuanto a tiempo de ejecución y uso de memoria Desventajas: Resulta muy difícil programar en él.

Clasificación de los lenguajes de programación a) De acuerdo a la proximidad del lenguaje

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.

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

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

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

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.

�Tratamiento de textos como C. �Inteligencia artificial, como aplicaciones en sistemas expertos, juegos y

�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

c) Por el estilo de programación que fomentan: �Lenguajes imperativos o procedurales. Establecen cómo

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.

�Declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lógicas que indican

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

�Lenguajes orientados a Objetos. Se centran más en los datos y su estructura. Un

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

�Lenguajes orientados al problema. Diseñados para problemas específicos. Son generadores de aplicaciones que permitan

�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.

Cuando se asocia un mnemónico a una instrucción de máquina, tenemos lo que se

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.

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

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

Características: �Conjunto de instrucciones reducido y rígido. �No hay portabilidad ya que hay una

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.

Se llaman MACROINSTRUCCIONES ( o MACROS) a las abreviaturas para un grupo de instrucciones.

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

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

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.

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

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.

INTERPRETE es un programa que traduce programas escritos en un lenguaje de alto nivel

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.

CARGADOR es un programa que carga un programa objeto a memoria principal y lo

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

1. 4 Sistemas Operativos

1. 4 Sistemas Operativos

SISTEMA OPERATIVO es un conjunto de programas que permiten utilizar los recursos de la

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

Un sistema operativo debe ser: 1. Eficiente, debe realizar sus funciones de forma rápida.

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.

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

Un sistema operativo debe contar con programas de apoyo que permitan realizar operaciones como: a) Editar b) Transferir información c) Ejecutar programas

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

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