Welcome to Scribd. Sign in or start your free trial to enjoy unlimited e-books, audiobooks & documents.Find out more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
Seden 2 - Sesión 1

Seden 2 - Sesión 1

Ratings:

4.5

(1)
|Views: 193|Likes:
Published by api-26323109
Material que debe ser leído para el miércoles 13 de frebrero, realizar el análisis de los ejercicios secuenciales y presentar dudas en clase.
Material que debe ser leído para el miércoles 13 de frebrero, realizar el análisis de los ejercicios secuenciales y presentar dudas en clase.

More info:

Published by: api-26323109 on Oct 15, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/18/2014

pdf

text

original

Polit\u00e9cnico Colombiano Jaime Isaza Cadavid\u2013 Fundamentos de Programaci\u00f3n
CONCEPTO DE ALGORITMO

El objetivo fundamental de este curso es ense\u00f1ar a resolver problemas mediante un computador. El programador de computadores es antes que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistem\u00e1tico. A lo largo de todo el curso nos referiremos a lametodolog\u00eda

necesaria para resolver problemas mediante programas, concepto que se denomina metodolog\u00eda
de la programaci\u00f3n. El eje central de esta metodolog\u00eda es el concepto de algoritmo.
Un algoritmo es un m\u00e9todo para resolver un problema. Aunque la popularizaci\u00f3n del termino ha
llegado con el advenimiento de la era inform\u00e1tica, algoritmo proviene de Mohammed al-
KhoW\u00e2rizmi, matem\u00e1tico persa que vivi\u00f3 durante el siglo IX y alcanz\u00f3 gran reputaci\u00f3n por el

enunciado de las reglas paso a paso para sumar, restar, multiplicar y dividir n\u00fameros decimales; la traducci\u00f3n al lat\u00edn del apellido en la palabraalgorismus deriv\u00f3 posteriormente en algoritmo. Euclides, el gran matem\u00e1tico griego (del siglo IV a.C.) que invent\u00f3 un m\u00e9todo para encontrar el m\u00e1ximo com\u00fan divisor de dos n\u00fameros, se considera con Al-Khowarizmi el otro gran padre de la algoritmia (ciencia que trata de los algoritmos).

El profesor Niklaus Wirth \u2014inventor de Pascal, Modula-2 y Oberon\u2014 titul\u00f3 uno de sus mas famosos libros, Algoritmos + Estructuras de datos = Programas, indicando que solo se puede llegar a realizar un buen programa con el dise\u00f1oo de un algoritmo y una correcta estructura de datos. Esta ecuaci\u00f3n ser\u00e1 una de las hip\u00f3tesis fundamentales consideradas en este curso.

Para llegar a la realizaci\u00f3n de un programa es necesario el dise\u00f1o previo de un algoritmo, de
modo que sin algoritmo no puede existir un programa.

Los algoritmos son independientes tanto del lenguaje de programaci\u00f3n en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programaci\u00f3n y ejecutarse en una computadora distinta; sin embargo, el algoritmo ser\u00e1 siempre el mismo. As\u00ed, por ejemplo, en una analog\u00eda con la vida diaria, una receta de un plato de cocina se puede expresar en espa\u00f1ol, ingles o franc\u00e9s, pero cualquiera que sea el lenguaje, los pasos para la elaboraci\u00f3n del plato se realizaran sin importar el idioma del cocinero.

En la ciencia de la computaci\u00f3n y en la programaci\u00f3n, los algoritmos son m\u00e1s importantes que los lenguajes de programaci\u00f3n o las computadoras. Un lenguaje de programaci\u00f3n es tan solo un medio para expresar un algoritmo y una computadora es solo un procesador para ejecutarlo. Tanto el lenguaje de programaci\u00f3n como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se efectu\u00e9 el proceso correspondiente.

Dada la importancia del algoritmo en la ciencia de la computaci\u00f3n, un aspecto muy importante
ser\u00e1 el dise\u00f1o de algoritmos.
El dise\u00f1o de la mayor\u00eda de los algoritmos requiere creatividad y conocimientos de las t\u00e9cnicas de
programaci\u00f3n. En esencia, la soluci\u00f3n de un problema se puede expresar mediante un algoritmo.
Algoritmo: Formalmente se define un algoritmo como un conjunto de pasos, procedimientos o
acciones que nos permiten alcanzar un resultado o resolver un problema.
1
Polit\u00e9cnico Colombiano Jaime Isaza Cadavid\u2013 Fundamentos de Programaci\u00f3n

Muchas veces se aplican algoritmos de manera inadvertida, inconsciente o autom\u00e1ticamente. Esto generalmente se produce cuando el problema al que nos enfrentamos se ha resuelto con anterioridad varias veces.

Caracter\u00edsticas de los algoritmos.
Las caracter\u00edsticas fundamentales que debe cumplir todo algoritmo son:
\u2022
Un algoritmo debe serpreciso e indicar el orden de realizaci\u00f3n de cada paso.
\u2022
Un algoritmo debe estardefinido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
\u2022
Un algoritmo debe serfinito. Si se sigue un algoritmo, se debe terminar en alg\u00fan momento;
o sea, debe tener un n\u00famero finito de pasos.
La definici\u00f3n de un algoritmo debe incluir tres partes : Entrada, Proceso ySalida. En el ejemplo
de una receta de cocina:
Entrada :
Ingredientes y utensilios empleados.
Proceso:
elaboraci\u00f3n de la receta en la cocina.
Salida :
Terminaci\u00f3n del plato (por ejemplo, "Pato a la Naranja")
La resoluci\u00f3n de un problema exige el dise\u00f1o de un algoritmo que resuelva el problema propuesto.
METODOLOG\u00cdA PARA LA SOLUCI\u00d3N DE PROBLEMAS POR MEDIO DE COMPUTADORA
DEFINICI\u00d3N DEL PROBLEMA

Esta fase est\u00e1 dada por el enunciado del problema, el cual requiere una definici\u00f3n clara y precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

AN\u00c1LISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
Modelamiento. Esta compuesto por los diferentes datos que se pueden presentar y sus
respectivas variables ejemplo:
Datos de entrada.
Datos Auxiliares
Datos de Salida. Corresponde a la informaci\u00f3n que se desea producir
Precondiciones. Corresponde a las especificaciones de las variables de entrada y auxiliare
Postcondiciones.Corresponde las especificaciones de las variables de salida, Los m\u00e9todos y
f\u00f3rmulas que se necesitan para procesar los datos.
2
Polit\u00e9cnico Colombiano Jaime Isaza Cadavid\u2013 Fundamentos de Programaci\u00f3n

Una recomendaci\u00f3n muy practica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados.

Dise\u00f1o del Algoritmo
Las caracter\u00edsticas de un buen algoritmo son:
Debe tener un punto particular de inicio.
Debe ser definido, no debe permitir dobles interpretaciones.
Debe ser general, es decir, soportar la mayor\u00eda de las variantes que se puedan presentar en la

definici\u00f3n del problema.
Debe ser finito en tama\u00f1o y tiempo de ejecuci\u00f3n.
Tipos De Datos

Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple car\u00e1cter, tal como \u2018b\u2019, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.

Pseudoc\u00f3digo

Es la herramienta de programaci\u00f3n para la representaci\u00f3n no gr\u00e1fica de algoritmos donde las instrucciones se escriben en palabras similares al lenguaje natural, facilitando as\u00ed la escritura como la lectura de programas. Aunque no existen reglas para la escritura de un pseudoc\u00f3digo en espa\u00f1ol hay una serie de notaci\u00f3n est\u00e1ndar que utilizaremos durante el curso y que ya est\u00e1 muy empleada por algunos libros. Las palabras reservadas b\u00e1sicas se representar\u00e1n en letra negrita.

Sintaxis General
algoritmo_<nombre>
var.
Entero : <lista de variables enteras>
Real

:<lista de variables enteras> Cadena : <lista de variables enteras> Car\u00e1cter: <lista de variables enteras> Logica: <lista de variables enteras>

Inicio
Diferentes estructuras
Fin
\u2022
Donde <nombre> corresponde al nombre que se le asigna a la soluci\u00f3n (lo escoge el
usuario).
\u2022
En va r solo se enumeran los tipos de variables que hayan resultado en el an\u00e1lisis
3

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->