Beruflich Dokumente
Kultur Dokumente
NCLEO DE ANZOTEGUI
ESCUELA DE ESTUDIOS BSICOS
CARRERA PROFESIONAL DE INGENIERA EN MECNICA
INTRODUCCIN A LA PROGRAMACIN
ALUMNOS:
Maria Cedeo 26.146.848
FEBRERO; 2016
NDICE
INTRODUCCIN 1
1. Diagrama de flujo 2
1.1.
Caractersticas 2
1.2.
Ventajas de los diagramas de flujo 2
1.3.
Tipos de diagramas de flujo 2
1.4.
Simbologa y significado 2
2. Algoritmo 3
2.1.
Medios de expresin de un algoritmo 3
2.2.
Algoritmos como funciones 4
2.3.
Anlisis de algoritmos 5
2.4.
Ejemplo de algoritmo 5
3. Pseudocdigo 6
3.1.
Caractersticas 6
3.2.
Partes 6
3.3.
Definicin de datos del pseudocdigo 7
3.4.
Funciones y operaciones 7
3.5.
Estructura de control 7
3.6.
Desarrollo de algoritmos 8
3.7.
Funciones y procedimientos 9
3.8.
Ventajas del pseudocdigo sobre los diagrama de flujo 9
4. Programacin estructurada 9
4.1.
Orgenes 9
4.2.
Ventajas de la programacin estructurada 10
4.3.
Inconvenientes de la programacin estructurada 10
5. Resolucin de problemas de programacin 11
5.1.
Anlisis del problema 11
5.2.
Diseo del algoritmo 11
6. Programacin 13
6.1.
Historia 13
6.2.
Lxico y programacin 13
6.3.
Programas y algoritmos 14
6.4.
Compilacin 14
6.5.
Programacin e ingeniera del software 15
6.6.
Referencias histricas 15
6.7.
Objetivos de la programacin 16
CONCLUSIN 17
INTRODUCCIN
La programacin es una tcnica que utiliza el hombre para comunicarse con una
mquina y hacerla pensar. Pues bien, esa potencialidad est a la espera de que una persona
(nosotros) le saque partido y para ello lo nico que hace es proporcionarle instrucciones a la
mquina, diremos por tanto que programar es definir instrucciones para ser ejecutadas por un
ordenador.
La computadora fue inventada para facilitar el trabajo intelectual, si el hombre tiene
algn problema, el diseador define el algoritmo que resuelve el problema. Una vez diseado el
algoritmo este se pasa a un lenguaje de programacin que el computador pueda leer este caso
ser el pseudocdigo. Debido a lo importante que ha sido hoy en da editar algoritmos, con el
desarrollo de las nuevas tecnologas, el ser humano se ve en la necesidad de desarrollar
sistemas computarizados para realizar sus tareas de manera ms eficiente y para ello se utiliza
lo se conoce como programacin.
Caractersticas
1.2.
1.3.
1.4.
Simbologa y significado
Lneas de flujo: Es una lnea con una flecha (y solo una flecha) que permite conectar los
bloques del diagrama. La flecha indica la secuencia en la que se van a ejecutar las
acciones.
Principio y Fin: Todo algoritmo y por lo tanto, todo diagrama de flujo tiene un principio
y un fin (y son nicos). Dentro de este bloque se coloca la palabra INICIO o FIN
segn corresponda.
Proceso: Aqu dentro se escribe la accin que debe realizar el programa. Si son varias,
se escriben una debajo de la otra, sin olvidarse que se ejecutan una a una en forma
nombre a, entonces dicha accin se describe dentro de este bloque como leer a.
Conectores: Permiten unir diagramas de flujo cuando stos no caben en una misma
columna de la hoja por completo. Es decir, cuando debemos, por cuestiones de espacio
en la hoja, fragmentar el programa entonces utilizamos estos bloques para indicar los
puntos de unin. Cada par de puntos que se deben unir llevarn dentro de este bloque
el mismo nmero.
Comentarios: Es una aclaracin para comprender mejor el cdigo del programa, pero no
procedimientos).
Rombo: Decisin (Formula una pregunta o cuestin).
Crculo: Conector (Representa el enlace de actividades con otra dentro de un
procedimiento).
Tringulo boca abajo: Archivo definitivo (Guarda un documento en forma permanente).
Tringulo boca arriba: Archivo temporal (Proporciona un tiempo para el
almacenamiento del documento).
2. ALGORITMOS
Es cualquier cosa que funcione paso a paso, donde cada paso se pueda describir sin
ambigedad y sin hacer referencia a una computadora en particular, y adems tiene un lmite
fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia
definicin abarca tanto a algoritmos prcticos como aquellos que solo funcionan en teora.
Un algoritmo es un procedimiento para resolver un problema. ste describe un
conjunto finito y ordenado de pasos, reglas o instrucciones para producir la solucin a un
problema dado. Un algoritmo puede ser definido como una secuencia de instrucciones bien
definidas y efectivas, y finaliza con la produccin del resultado esperado a partir de las
entradas dadas.
2.1.
++Por pseudocdigo
Es utilizado para describir algoritmos en libros y publicaciones cientficas, y como producto
intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque
presentan una ventaja importante sobre estos, y es que los algoritmos descritos en
pseudocdigo requieren menos espacio para representar instrucciones complejas.
++Por sistemas formales
La teora de autmatas y la teora de funciones recursivas proveen modelos matemticos
que formalizan el concepto de algoritmo. Los modelos ms comunes son la mquina de
Turing, mquina de registro y funciones -recursivas. Estos modelos son tan precisos como
un lenguaje mquina, careciendo de expresiones coloquiales o ambigedad, sin embargo se
mantienen independientes de cualquier computadora y de cualquier implementacin.
++Implementacin
Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los
algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito
elctrico o un aparato mecnico y elctrico. Algunos algoritmos inclusive se disean
especialmente para implementarse usando lpiz y papel. El algoritmo de multiplicacin
tradicional, el algoritmo de Euclides, la criba de Eratstenes y muchas formas de resolver la
raz cuadrada son slo algunos ejemplos.
++Variables
Son elementos que toman valores especficos de un tipo de datos concreto. La declaracin
de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de
otorgar valores iniciales a variables:
Mediante una sentencia de asignacin.
2.2.
Un algoritmo se puede concebir como una funcin que transforma los datos de
un problema (entrada) en los datos de una solucin (salida). Ms aun, los datos se pueden
representar a su vez como secuencias de bits, y en general, de smbolos cualesquiera. Como
cada secuencia de bits representa a un nmero natural, entonces los algoritmos son en
esencia funciones de los nmeros naturales en los nmeros naturales que s se pueden
calcular. Es decir que todo algoritmo calcula una funcin
Anlisis de algoritmos
2.4.
Ejemplo de algoritmo
grande. Sin prdida de generalidad se puede asumir que dicho conjunto no es vaco y que sus
elementos estn numerados como
se pide encontrar
tal que
) es el mximo;
luego, se recorre el conjunto y se compara cada valor con el valor del mximo nmero
encontrado hasta ese momento. En el caso que un elemento sea mayor que el mximo, se
asigna su valor al mximo. Cuando se termina de recorrer la lista, el mximo nmero que se
ha encontrado es el mximo de todo el conjunto.
++Descripcin formal
El algoritmo puede ser escrito de una manera ms formal en el siguiente pseudocdigo:
funcin max(
//
//
es el nmero de elementos de
//
para
hasta
si
hacer
entonces
devolver
Sobre la notacin:
toma el valor de
).
++Implementacin
En lenguaje C++:
int max(int c[], int n)
{
int i, m = c[0];
for (i = 1; i < n; i++)
if (c[i] > m) m = c[i];
return m;
}
3. PSEUDOCDIGO
Es una descripcin de alto nivel compacta e informal del principio operativo de
un programa informtico u otro algoritmo.
3.1.
Caractersticas
Se puede ejecutar en un ordenador
Es una forma de representacin sencilla de utilizar y de manipular.
Facilita el paso del programa al lenguaje de programacin.
Es independiente del lenguaje de programacin que se vaya a utilizar.
Es un mtodo que facilita la programacin y solucin al algoritmo del programa.
3.2.
Partes
Instrucciones primitivas.
2. Instrucciones de proceso.
3. Instrucciones de control.
4. Instrucciones compuestas.
5. Instrucciones de descripcin.
Estructura a seguir en su realizacin:
1. Cabecera.
1. Programa.
2. Modulo.
3. Tipos de datos.
4. Constantes.
5. Variables.
2. Cuerpo.
6. Inicio.
7. Instrucciones.
8. Fin.
3.3.
Funciones y operaciones
Cada autor usa su propio pseudocdigo con sus respectivas convenciones. Por ejemplo,
la instruccin "reemplace el valor de la variable x por el valor de la variable y" puede ser
representado como:
* asigne a el valor de
Las operaciones aritmticas se representan de la forma usual en matemticas.
++Estructuras selectivas
Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, segn
el cumplimiento de una condicin. La condicin es una expresin booleana. Instrucciones es
ejecutada slo si la condicin es verdadera.
A. Selectiva doble (alternativa)
La instruccin alternativa realiza una instruccin de dos posibles, segn el cumplimiento
de una condicin. La condicin es una variable booleana o una funcin reducible a booleana
(lgica, Verdadero/Falso). Si esta condicin es cierta se ejecuta Instrucciones1, si no es as,
entonces se ejecuta Instrucciones.
B. Selectiva mltiple
Tambin es comn el uso de una seleccin mltiple que equivaldra a anidar varias
funciones de seleccin. En este caso hay una serie de condiciones que tienen que ser
mutuamente excluyentes, si una de ellas se cumple las dems tienen que ser falsas
necesariamente, hay un caso si no que ser cierto cuando las dems condiciones sean falsas.
C. Selectiva mltiple-Casos
Una construccin similar a la anterior (equivalente en algunos casos) es la que se muestra
a continuacin.
++Estructuras iterativas
Las instrucciones iterativas representan la ejecucin de instrucciones en ms de una
vez.
A. Bucle mientras
El bucle se repite mientras la condicin sea cierta, si al llegar por primera vez al bucle mientras
la condicin es falsa, el cuerpo del bucle no se ejecuta ninguna vez.
B. Bucle repetir
Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se
utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que
se cumpla la condicin.
C. Bucle hacer
El Bucle hacer se utiliza para repetir un bloque de cdigo mientras se cumpla cierta condicin.
D. Bucle para
Una estructura de control muy comn es el ciclo para, la cual se usa cuando se desea iterar un
nmero conocido de veces, empleando como ndice una variable que se incrementa (o
decrementa).
E. Bucle para cada
Por ltimo, tambin es comn usar la estructura de control para cada. Esta sentencia se usa
cuando se tiene una lista o un conjunto
F. El anidamiento
Cualquier instruccin puede ser sustituida por una estructura de control, es decir, est
relacionado a la inclusin de estructuras de control dentro de otras, usualmente indicado
mediante la inclusin de distintos niveles de sangra dentro del cdigo fuente. En general, las
estructuras anidadas se muestran indentadas, para hacer ms sencilla su identificacin a
simple vista.
3.5.
Desarrollo de algoritmos
Con este pseudocdigo se puede desarrollar cualquier algoritmo que:
* Tenga un nico punto de inicio.
* Tenga un nmero finito de posibles puntos de trmino.
* Haya un nmero finito de caminos, entre el punto de inicio y los posibles puntos de
trmino.
3.6.
Funciones y procedimientos
Es necesario dejar en claro cules son las entradas para el algoritmo, esto se hace
PROGRAMACIN ESTRUCTURADA
4.1. Orgenes
A finales de los aos 1970 surgi una nueva forma de programar que no solamente
daba lugar a programas fiables y eficientes, sino que adems estaban escritos de manera que
facilitaba su mejor comprensin, no slo proveyendo ventajas durante la fase de desarrollo,
sino tambin posibilitando una ms sencilla modificacin posterior.
El teorema del programa estructurado, propuesto por Bhm-Jacopini, demuestra que
todo programa puede escribirse utilizando nicamente las tres instrucciones de control
siguientes:
Secuencia
Instruccin condicional.
10
accionN
FIN
++Estructuras selectivas
Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que se
suelan denominar tambin estructuras de decisin o alternativas.
En las estructuras selectivas se evalan una condicin y en funcin del resultado de la
misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas.
La representacin de una estructura selectiva se hace con palabras en pseudocdigo (if, then,
elseo bien en espaol si, entonces, si_no), con una figura geomtrica en forma de rombo o bien
con un triangulo en el interior de una caja rectangular.
++Estructuras iterativas
Las estructuras iterativas de control de flujo se ocupan de repetir una serie de lneas de
cdigo tantas veces como el programador indique o bien hasta que se de una cierta condicin.
A estas estructuras tambin se les llama bucles.
4.2. Ventajas de la programacin estructurada
11
Los programas son ms fciles de entender, pueden ser ledos de forma secuencial y no
hay necesidad de hacer engorrosos seguimientos en saltos de lneas (GOTO) dentro de los
bloques de cdigo para intentar entender la lgica.
La estructura de los programas es clara, puesto que las instrucciones estn ms ligadas
o relacionadas entre s.
12
Las especificaciones de las entradas y salidas del problema, deben ser descritas
tambin en detalle:
Qu datos son necesarios para resolver el problema?
Qu informacin debe proporcionar la resolucin del problema?
5.2. Diseo del algoritmo
Para poder describir cualquier tipo de accin de las que intervienen en un algoritmo, diversos
autores proponen el uso de un conjunto de construcciones lgicas (secuencia, decisin e
iteracin) con las que es posible escribir cualquier programa. Lo que sigue a continuacin es la
descripcin de las diferentes construcciones disponibles para el diseo de algoritmos.
++Acciones elementales
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que
sern de dos tipos:
++Composicin condicional
13
Cuando en un algoritmo se quiere indicar que cierta accin solo se debe ejecutar bajo
cierta condicin se indica del siguiente modo:
Si Condicin Entonces
Accin;
FinSi
Si Condicin Entonces
Accin A;
SiNo
Accin B;
FinSi
14
Caso Valor n:
Accin n;
[De Otro Modo:
Accin X;]
FinSegun
6.
PROGRAMACIN
6.1. Historia
En sus inicios las computadoras interpretaban solo instrucciones en un lenguaje
especfico, del ms bajo nivel, conocido como cdigo mquina, siendo ste excesivamente
complicado para programar. De hecho solo consiste en cadenas de nmeros 1 y 0 (sistema
binario). Para facilitar el trabajo de programacin, los primeros cientficos, que trabajaban en el
rea, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o
abreviaturas provenientes del ingls; las codificaron y crearon as un lenguaje de mayor nivel,
que se conoce como Asembly o lenguaje ensamblador.
A medida que la complejidad de las tareas que realizaban las computadoras
aumentaba, se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se
crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos
nmeros puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un
lenguaje de alto nivel bastar con solo una.
15
extremo, el lenguaje ms potente existente es el binario, con ambigedad nula (lo cual lleva a
pensar as del lenguaje ensamblador).
En los lenguajes de programacin de alto nivel se distinguen diversos elementos entre
los que se incluyen el lxico propio del lenguaje y las reglas semnticas y sintcticas.
Programacin declarativa
Programacin estructurada
Programacin modular
6.4. Compilacin
El cdigo fuente del programa se debe someter a un proceso de traduccin para
convertirlo a lenguaje mquina o bien a un cdigo intermedio, generando as un mdulo
denominado "objeto". A este proceso se le llama compilacin.
Habitualmente la creacin de un programa conlleva dos pasos. El primer paso se llama
compilacin y traduce el cdigo fuente escrito en un lenguaje de programacin almacenado en
un archivo de texto a cdigo en bajo nivel. El segundo paso se llama enlazado en el cual se
enlaza el cdigo de bajo nivel generado de todos los ficheros y subprogramas que se han
16
mandado compilar y se aade el cdigo de las funciones que hay en las bibliotecas del
compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo,
traduciendo as finalmente el cdigo objeto a cdigo mquina, y generando un mdulo
ejecutable.
Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase de
compilacin en archivos objetos; para enlazarlos en fases posteriores, o crear directamente el
ejecutable; con lo que la fase de compilacin puede almacenarse solo de forma temporal. Un
programa podra tener partes escritas en varios lenguajes, por ejemplo, Java, C, C+
+ y ensamblador, que se podran compilar de forma independiente y luego enlazar juntas para
formar un nico mdulo ejecutable.
17
18
CONCLUSIN
Luego de realizar este trabajo hemos visto como los algoritmos son una de las
herramientas ms complejas y aplicables en el rea de la informtica y el mundo de los
computadores: Pudimos comprobar que mientras ms potente, completo y eficiente es el
computador o la aplicacin que corre sobre el mismo, ms grande, complejo y exacto es el
algoritmo que utiliza.
Con la finalidad de resolver operaciones matemticas o cualquier problema, afirmamos
que los algoritmos son de carcter general y puede aplicarse a cualquier operacin, la
formulacin de algoritmos fue unos de los ms grandes adelantos dentro de la ciencia
matemtica ya que a partir de ellos se pudieron resolver infinidad de problemas. Disear los
algoritmos sera el paso ms fcil, luego vendra lo que es traducir ese algoritmo diseado a un
lenguaje de computacin que se legible para l mismo, y una vez traducido crear un archivo
ejecutable el cual ser utilizado por ordenadores o similares para resolver o realizar lo
requerido para el cual fue hecho el algoritmo.
19