• No se han encontrado resultados

Introducción Algoritmos y Programación 1516-3

N/A
N/A
Protected

Academic year: 2020

Share "Introducción Algoritmos y Programación 1516-3"

Copied!
22
0
0

Texto completo

(1)

Algoritmos y

(2)

a) Preparaduria  5% ( 2 Quizzes de 2% c/u + 1 % participación)

b) Proyectos  Dos (2)  20% del promedio de las notas obtenidas en ambos proyectos.

c) Parciales  Tres (3)  70%  1er. Parcial 15% , 2do. Parcial 20%, y 3er. Parcial 35%.

d) Participación  5% (2 Quizzes de 2% c/u + 1 % participación)

Práctica  20% Teoría  70%

Se tienen que aprobar los dos (2) componentes principales de la materia con carácter de obligatoriedad, es decir: Componente Teórico (70% 14 ptos) mínimo siete (7) puntos (>=7) ; Componente Práctico (20% 4 ptos) mínimo dos (2) puntos (>=2). Para ambos casos no aplica redondeo.

Algoritmos y Programación

(3)

Un algoritmo es un método para resolver

problemas

(4)

La programación de computadoras es el arte

de hacer que una computadora haga lo que

nosotros queramos, mediante la escritura de

un programa de computación.

(5)

Un programa de computación es simplemente un

conjunto de instrucciones que le dicen a la

computadora cómo realizar una tarea en

particular. Es parecido a una receta: un grupo de

instrucciones que le dicen al cocinero cómo

preparar un determinado plato. Describe los

ingredientes (los datos) y la secuencia de pasos

(la funcionalidad) necesarios para convertir los

ingredientes en una rica torta, un programa tiene

un concepto muy similar.

(6)

Es el lenguaje que nos permite escribir

instrucciones al computador y que este la

entienda.

Es una notación para describir programas y

estructuras de datos.

(7)

.

 de máquina

 ensamblador Lenguajes de bajo nivel

 interpretados

 compilados Lenguajes de alto nivel

(8)

De máquina

Es el lenguaje nativo de la computadora, contiene sólo unos y ceros (1 y 0), los cuales forman las instrucciones.

Ensamblador

Es un lenguaje de etiquetas, donde cada instrucción se corresponde con una instrucción en lenguaje de máquina.

(9)

Lenguajes de alto nivel

Son aquellos lenguajes semejantes al lenguaje natural, donde cada instrucción es una o más instrucciones en lenguaje ensamblador o de máquina.

(10)

Ejemplos de lenguajes

Lenguaje C Lenguaje Ensamblador Lenguaje máquina

main MiPrograma {

printf("Hola"); }

ADD ACUM, i CAR AUX, i

STZ CONTINUA RES ACUM, j MOVE X, Y

(11)

Programación imperativa o procedimental

El programador le debe indicar al computador a cada momento lo que debe hacer. Ejemplos: C, Pascal, Fortran, Cobol, PLI. El programa se debe estructurar así:

Encabezamiento del programa

Declaraciones: variables y tipos.

Cuerpo: serie de instrucciones que el computador ha de seguir para la resolución del problema.

Son lenguajes orientados a instrucciones. El diseño de estos lenguajes está influido en gran parte por la máquina de Von Neumann.

(12)

Programación estructurada

Los problemas se dividen en subproblemas más sencillos y estos son resueltos por separado para lograr en conjunto una simplificación de la tarea a programar.

(13)

Programación orientada a objetos (POO)

Forma especial de programar mas cercana a como expresaríamos las cosas en la vida real, se basa en objetos que no son mas que cosas. (Métodos, propiedades, objetos).

Las clases son implementaciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.

(14)

Programación orientada a objetos (POO)

Ejemplo

Carro tiene una serie de características: color, tamaño, modelo, marca. Además tiene una serie de funcionalidades: arrancar, retroceder, parar, etc. En un esquema de POO: carro es el objeto, características son las propiedades y los métodos serian las funcionalidades. Ejemplos: C++, Java.

(15)

Programación lógica (Prolog, Lisp)

Forma de programar basado en hechos y reglas, estas se pueden almacenar o no en una base de datos.

Ejemplos: Sistemas Expertos, Inteligencia artificial, juegos.

Programación funcional (Haskell)

Basado en estructuras de listas. Ejemplos: demostración de teoremas matemáticos, IA, planes de acción para robots, etc.

(16)

Los

traductores

de

lenguaje

son

programas que traducen a código de

máquina (1 y 0) los programas escritos en

lenguaje de alto nivel.

Interpretadotes

Compiladores

(17)

Interpretador

Es un programa que convierte sentencia por sentencia de un programa o código fuente, lo comprueba y lo

ejecuta.

Interprete Datos

Programa

fuente Resultados

(18)

Compilador

Programa que se encarga de traducir el programa o código fuente a a programa o código de máquina o ejecutable. Para poder utilizar un programa escrito en lenguaje compilado hay que seguir como mínimo dos fases:

Fase o tiempo de compilación: aquí se corrigen los fallos de la gramática del código fuente y se pasa en un bloque a código máquina. Esta operación se realiza una vez y se guarda en memoria para luego ejecutarlo directamente.

Fase o tiempo de ejecución: se ejecuta el programa previamente corregido y compilado desde la memoria.

(19)

Edición del programa fuente

Programa fuente

Compilador

Errores Programa objeto Encuadernador Librerías

Programa ejecutable no

si

Traductores

(20)

Diferencias entre interpretador y Compilador

 El compilador traduce y ejecuta todo el programa en un bloque, mientras que el intérprete realiza esta función sentencia por

sentencia.

 El compilador es más eficaz al obtener el código máquina, pero por el contrario, este código ocupa mucha más memoria que el interpretado

 En un principio el intérprete era el método de compilación más utilizado, ya que la memoria era escasa, pero gracias a que los

ordenadores de hoy en día poseen mucha más memoria, podemos utilizar el compilador para obtener un código más eficaz.

(21)

La sintáxis nos dice cuál es la forma correcta de escribir los programas en un lenguaje determinado. Es lo primero que tenemos que conocer de un lenguaje antes de empezar a usarlo.

La semántica especifica el significado de lo que podemos construir con este lenguaje.

(22)

- Fundamentos de Programación Piensa en C

Osvaldo Cairó / Prentice Hall / 1era. Edición 2006

- C / C++ Cómo Programar y Java

Harvey M. Deitel / Paul J. Deitel / Prentice Hall / 4ta. Edición 2004

- Programación en C

Byron Gottfried / Schaum / 2da. Edición 1997

Nota: Se puede utilizar cualquier texto de Programación en C …

Referencias

Documento similar

• Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles y/o

gital de zonas forestales, a partir de un estudio piloto en una zona de marcado carácter fores- tal, atendiendo a las distintas categorías de cu- bierta del suelo

Aparte de los posibles problemas técnicos que presenta un análisis de correlaciones (RePass 1976), lo que en ningún momento se plantea Converse es que la ausencia de

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Esas adaptaciones requerirán conciliar la regulación de actividades abiertas a una competencia plena o acotada con los llamados servicios uni- versales sin alterar el modelo de

Estos algoritmos se encuentran programados en Matlab, por lo que el primer objetivo de este trabajo es migrar estos algoritmos a un lenguaje en el cual puedan

Las técnicas, algoritmos y modelos utilizados para el preprocesamiento y comprensión del lenguaje natural serán descritos en el capítulo 4 de diseño del proceso de comprensión

(c) Consejo Superior de Investigaciones Científicas Licencia Creative Commons 3.0 España