Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MANAB
PROFESOR:
Ing. Edwin Mero Lino
CARRERA:
Ing. Computacin y Redes
AULA:
B
PRIMER SEMESTRE
JIPIJAPA-MANAB-ECUADOR
2015 2016
Contenido
UNIDAD 01: FUNDAMENTO DE PROGRAMACION.............................................1
1.1 Transcripcin de Conceptos Bsicos de Fundamentos de Programacin...2
1.2 Introduccin:.......................................................................................... 2
1.3 CONCEPTO DE ALGORITMO....................................................................2
1.4 DIAGRAMA DE FLUJO................................................................................. 4
IMPORTANCIA DE LOS DIAGRAMAS DE FLUJO..............................................4
SMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE FLUJO................................5
PROBLEMAS RESUELTOS CON DIAGRAMAS DE FLUJO.................................7
VENTAJAS Y DESVENTAJAS DEL MTODO DE ORDENACIN POR BURBUJA10
MTODOS DE BSQUEDA..........................................................................10
DIFERENCIAS FUNDAMENTALES ENTRE LOS MTODOS DE BSQUEDA
SECUENCIAL Y BINARIO............................................................................. 12
CONCLUSIN............................................................................................. 12
RECOMENDACIONES................................................................................. 13
1.5 LOS LENGUAJES DE PROGRAMACIN.................................................14
1.6 Interpretacin y compilacin..................................................................16
Lenguaje compilado................................................................................ 16
Algunos ejemplos de lenguajes ampliamente usados...................................16
UNIDAD 02: ALGORITMOS............................................................................. 18
2.1. Tipos de algoritmos.............................................................................. 18
Significado de algoritmo............................................................................. 18
Clasificacin y Tipos de algoritmos.............................................................18
2.2 Anlisis del Problema............................................................................ 19
2.3 REPRESENTACION DE UN ALGORITMO.................................................20
2.4 INTRODUCCIN AL DISEO DE ALGORITMOS EN
PROGRAMACIN....................................................................................... 25
2.5 Ejercicios de Aplicaciones.....................................................................32
Bibliografa.................................................................................................... 35
1.2 Introduccin:
(Angel Garca-Beltrn, s.f.)
Este primer tema se dedica a los conceptos computacionales bsicos ms
relacionados con la arquitectura de los ordenadores, como su estructura fsica
y funcional, la representacin de datos, la aritmtica del ordenador y los
principios algebraicos fundamentales del diseo de circuitos. Se hace especial
hincapi en las caractersticas especficas de los ordenadores personales al ser
stos la herramienta fundamental de la mayora de los futuros ingenieros.
Adems se analizan las herramientas lgicas que permiten la comunicacin
con los elementos fsicos del ordenador, como son: los programas, los
lenguajes de programacin de bajo y alto nivel y los sistemas operativos.
se
almacenan
en
la
memoria
central.
Dispositivos
de
Este es utilizado para indicar la secuencia del diagrama de flujo, es decir, para
indicar el sentido de las operaciones dentro del mismo.
1.
2.
Eficaz.
Desventajas:
MTODOS DE BSQUEDA
La bsqueda es una operacin que tiene por objeto la localizacin de un
elemento dentro de la estructura de datos. A menudo un programador estar
trabajando con grandes cantidades de datos almacenados en arreglos y
pudiera resultar necesario determinar si un arreglo contiene un valor que
coincide con algn valor clave o buscado.
Siendo el array de una dimensin o lista una estructura de acceso directo y a
su vez de acceso secuencial, encontramos dos tcnicas que utilizan estos dos
mtodos de acceso, para encontrar elementos dentro de un array: bsqueda
secuencial y bsqueda binaria.
Bsqueda Secuencial:
La bsqueda secuencial es la tcnica ms simple para buscar un elemento en
un arreglo. Consiste en recorrer el arreglo elemento a elemento e ir
comparando con el valor buscado (clave). Se empieza con la primera casilla del
arreglo y se observa una casilla tras otra hasta que se encuentra el elemento
buscado o se han visto todas las casillas. El resultado de la bsqueda es un
solo valor, y ser la posicin del elemento buscado o cero. Dado que el arreglo
no est en ningn orden en particular, existe la misma probabilidad de que el
valor se encuentra ya sea en el primer elemento, como en el ltimo. Por lo
tanto, en promedio, el programa tendr que comparar el valor buscado con la
mitad de los elementos del arreglo.
El mtodo de bsqueda secuencial funciona bien con arreglos pequeos o para
arreglos no ordenados. Si el arreglo est ordenado, se puede utilizar la tcnica
de alta velocidad de bsqueda binaria, donde se reduce sucesivamente la
operacin eliminando repetidas veces la mitad de la lista restante.
Ventajas.
1.
Desventajas.
1.
Es muy lento.
2.
Bsqueda Binaria
La bsqueda binaria es el mtodo ms eficiente para encontrar elementos en
un arreglo ordenado. El proceso comienza comparando el elemento central del
arreglo con el valor buscado. Si ambos coinciden finaliza la bsqueda. Si no
ocurre as, el elemento buscado ser mayor o menor en sentido estricto que el
central del arreglo. Si el elemento buscado es mayor se procede a hacer
bsqueda binaria en el subarray superior, si el elemento buscado es menor que
el contenido de la casilla central, se debe cambiar el segmento a considerar al
segmento que est a la izquierda de tal sitio central.
Ventajas.
1.
1.
puedan ser precedidos de una o varias flechas, pero solo pueden ser seguidos
por una. Las flechas de flujo no deben cruzarse.
en
condicionales;
funcin
de
los
resultados
de
diferentes
expresiones
Instrucciones repetitivas:
Instrucciones que
permiten
la
repeticin
de
lenguaje
de
programacin
funcional(a
menudo
llamado
lenguaje
Lenguaje compilado
Un programa escrito en un lenguaje "compilado" se traduce a travs de un
programa anexo llamado compilador que, a su vez, crea un nuevo archivo
independiente que no necesita ningn otro programa para ejecutarse a s
mismo. Este archivo se llama ejecutable.
Algunos ejemplos de lenguajes ampliamente usados
A continuacin, encontrar una breve lista de los lenguajes de programacin
actuales:
Lenguaje
Compilado/interpretado
ADA
Tiempo real
Lenguaje compilado
BASIC
Lenguaje interpretado
Programacin de sistema
Lenguaje compilado
C++
Cobol
Administracin
Lenguaje compilado
Fortran
Clculo
Lenguaje compilado
Java
Lenguaje intermediario
MATLAB
Clculos matemticos
Lenguaje interpretado
Clculos
Clculos matemticos
Lenguaje interpretado
LISP
Inteligencia artificial
Lenguaje intermediario
Pascal
Educacin
Lenguaje compilado
PHP
Lenguaje interpretado
Inteligencia artificial
Inteligencia artificial
Lenguaje interpretado
Perl
Procesamiento
matemticos
de
cadenas
de Lenguaje interpretado
caracteres
(benchmark, s.f.)
Salida: El objetivo es definir las salidas que tendr el problema referente a las
necesidades detectadas.
Crear el Identificador:
En este paso se crearan las variables, identificar el tipo de variables o
constante y aplicarn las frmulas que se vieron en el tema Expresiones.
Supongamos que tenemos un sistema para una empresa que utiliza una
interfaz grfica en Visual Basic, algunas aplicaciones especficas en C, y
pginas PHP para trabajo va Internet. Seguramente que crear un diagrama
especfico para cada lenguaje sera una tarea tediosa.Gracias a esta
herramienta, podemos reunir a todos los programadores, dar las pautas de
trabajo, y mediante el pseudo cdigo, cada programador sabr lo que hace el
sistema, y podr escribir el cdigo correspondiente.
Incluso dos programadores que dominen el mismo lenguaje pueden tener
metodologas de trabajo distintas. Un problema puede ser resuelto de muchas
maneras, cada una ms o menos eficiente que la otra, pero todas cumplen con
el objetivo.
DIAGRAMA DE FLUJO
Es un esquema para representar grficamente un algoritmo. Se basan en la
utilizacin de diversos smbolos para representar operaciones especficas, es
decir, es la representacin grafica de las distintas operaciones que se tienen
que realizar para resolver un problema, con indicacin expresa el orden lgico
en que deben realizarse.
Se les llama diagramas de flujo porque los smbolos utilizados se conectan por
medio de flechas para indicar la secuencia de operacin. Para hacer
comprensibles los diagramas a todas las personas, los smbolos se someten a
una normalizacin; es decir, se hicieron smbolos casi universales, ya que, en
un principio cada usuario podra tener sus propios smbolos para representar
sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia
que slo aquel que conoca sus smbolos, los poda interpretar. La simbologa
utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse
a un patrn definido previamente.
2.4
INTRODUCCIN
PROGRAMACIN
(htt7)
AL
DISEO
DE
ALGORITMOS
EN
Si invertimos la figura para poner como base los pasos iniciales (el sombreado
indica el nivel de desarrollo en que nos encontraramos si venimos siguiendo
los cursos de bases de la programacin de aprenderaprogramar.com):
PROGRAMAR,
RESOLVER
PROBLEMAS.
RESOLVER
PROBLEMAS,
PROGRAMAR.
No es casualidad el que dediquemos tiempo en nuestros cursos a Conocer el
problema a resolver. Una de las identidades que en muchas ocasiones
podemos establecer es:
Programar = Resolver problemas
Dice en la regla IV: Los mortales estn posedos por una curiosidad tan ciega
que con frecuencia conducen sus espritus por vas desconocidas, sin motivo
alguno de esperanza, sino tan slo para tantear si se encuentra all lo que
buscan: como alguien que ardiese en tan estpido deseo de encontrar un
tesoro, que vagase continuamente por las calles, tratando de encontrar por
casualidad alguno [...] No niego que algunas veces vagan tan felizmente que
encuentran algo de verdad [...]
As pues entiendo por mtodo reglas ciertas y fciles, mediante las cuales el
que las observe exactamente no tomar nunca nada falso por verdadero.
por quien ha de entrar en el laberinto [...] Muchos [...] con frecuencia examinan
las cuestiones ms difciles tan desordenadamente, que me parecen obrar del
mismo modo que si intentaran llegar de un solo salto desde la parte ms baja
de un edificio hasta la ms alta [...]
Regla X: Para que el espritu se vuelva sagaz debe ejercitarse en buscar las
mismas cosas que ya han sido descubiertas por otros, y en recorrer con
mtodo incluso los ms insignificantes artificios de los hombres, pero sobre
todo aquellos que explican el orden o lo suponen.
Dice la regla XIII: [...] Dada una cuestin cualquiera, es preciso esforzarse ante
todo por comprender [...] lo que se busca.
Son tan ineptos como un criado que, enviado a algn sitio por su amo [...] se
apresurase a correr sin haber recibido an las rdenes y no sabiendo adnde
se le mandaba ir.
[...] Una vez que la hemos buscado expresada en trminos generales, conviene
someterla a los nmeros dados [...] Todo esto lo distinguimos nosotros, que
buscamos un conocimiento evidente y distinto de las cosas, pero no los
calculistas, que se quedan satisfechos con tal que se les presente la suma
buscada, aun cuando no se den cuenta de qu modo sta dependa de los
datos, en lo cual slo, sin embargo, consiste propiamente la ciencia.
(virtuto, s.f.)
Bibliografa
(s.f.). Obtenido de http://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=247:diseno-de-algoritmos-enprogramacion-del-pseudocodigo-al-programa-resolucion-deproblemas-cu00224a&catid=36:curso-qbases-de-la-programacionnivel-iiq&Itemid=60
Alex. (04 de 05 de 2014). claseinfo. Obtenido de
http://claseinfo.blogia.com/2007/032701-analisis-del-problema.php
Angel Garca-Beltrn, R. M. (s.f.). Open Course Ware. Recuperado el 28 de
octubre de 2015, de Open Course Ware: http://ocw.upm.es/ciencia-dela-computacion-e-inteligencia-artificial/fundamentosprogramacion/contenidosteoricos/ocwfundamentosprogramaciontema
1.pdf/view
Arturo Gonzlez, F. (22 de Septiembre de 2012). prezi. Recuperado el 28 de
octubre de 2015, de prezi: https://prezi.com/dkstnjtqh5sc/conceptosbasicos-de-fundamentos-de-programacion/
benchmark, c. (s.f.). ccmbenchmark. Obtenido de ccmbenchmark:
http://es.ccm.net/contents/304-lenguajes-de-programacion
cibercrazy5000. (s.f.). monografias.com. Obtenido de
http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml
Mendez, J. (s.f.). monografias.com. Obtenido de monografias.com:
http://www.monografias.com/trabajos/lengprog/lengprog.shtml
Mercado, W. (s.f.). monografias. Obtenido de
http://www.monografias.com/trabajos59/diagrama-flujo/diagramaflujo2.shtml