SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
República Bolivariana de Venezuela
       Ministerio del Poder Popular para la Educación
      Unidad Educativa de Talentos Deportivos Táchira
               San Cristóbal – Estado Táchira




DESARROLLO DE ALGORITMOS
     UNIDAD I – COMPUTACIÓN
   Conceptos Básicos de Algoritmos




                                  Docente: Pablo Contramaestre




                          Octubre 2012
Introducción

La principal razón para que las personas aprendan lenguajes y
técnicas de
programación es utilizar el computador como una herramienta para
resolver problemas.

La resolución de un problema exige al menos los siguientes pasos:

1.- Definición o análisis del problema.
2.- Diseño del algoritmo.
3.- Transformación del algoritmo en un programa.
4.- Ejecución y validación del programa
Definición de problema
Los problemas son una serie de inquietudes que se plantean para
ser resueltas. La naturaleza de los problemas varía con el contexto
en que se presenta: problemas matemáticos, químicos, filosóficos,
etc.

Es importante que al tratar un problema se tenga una descripción
simple y precisa del mismo, de lo contrario resultaría complejo
tratar de simular, o programar su solución en un computador.

Un programador es una persona que resuelve problemas, y para
llegar a ser un programador eficaz se necesita aprender a resolver
problemas de un modo riguroso y sistemático.



                                       Diseño
 Problema            Análisis                             Programa
                                      algoritmo
Algoritmo y sus caracteristicas
Serie de pasos lógicos y ordenados con los cuales le damos solución a un
problema determinado o a un objetivo específico. Sin algoritmos no puede
existir un programa. Los algoritmos son independientes tanto del lenguaje de
programación como del computador que los ejecuta.

La palabra “Algoritmo” viene de un matemático persa que vivió en el siglo IX
llamado Mohammed Al-Khowârizî, cuyo apellido traducido al latín es
Algorismus.

                        Características de un algoritmo:
• Preciso: indicar el orden de realización de las instrucciones.
• Definido: si se sigue el algoritmo dos veces, se debe obtener el mismo resultado.
• Finito: siempre debe terminar despues de un número finito de pasos.

Ejemplo: Obtener el área de un rectángulo.
1. Obtener la medida de la base del rectángulo
2. Obtener la medida de la altura del rectángulo
3. Multiplicar la medida de la base por la medida de la altura.
Ejemplo de Algoritmo
Ejemplo tradicional de un algoritmo: Cambiar la llanta pinchada de un carro   .
INICIO
1. Buscar herramientas, llanta de repuesto y triángulo de señalización
2. Ubicar el triángulo en el lugar adecuado
3. Ir al lugar de la llanta averiada
4. Sacar las tuercas
5. Colocar el gato
6. Levantar el carro
7. Sacar la llanta
8. Colocar la llanta de Repuesto
9. Colocar las tuercas
10. Apretar las tuercas
11. Guardar las herramientas
FIN
Fases de un algoritmo
Fase de Análisis: consiste en el estudio detallado del problema con el fin
de obtener una serie de documentos (especificación) en los cuales quedan
totalmente definido el proceso a seguir en la automatización

Diseño: consiste en la realización del algoritmo que resuelve el problema
de acuerdo a la especificación dada en la fase anterior. El algoritmo se
representa mediante pseudocódigo.

Codificación: consiste en la traducción del algoritmo a un programa escrito
en un lenguaje de programación

Compilación/Interpretación: consiste en obtener el programa ejecutable u
objeto a partir del programa fuente

Prueba: consiste en determinar si el programa funciona correctamente y
realiza las operaciones que esperamos de él.
Clasificación de los Algoritmos
Algoritmos para ser ejecutados por personas:
Para que un algoritmo sea ejecutado por una persona, debe estar escrito
de tal manera que esta persona lo entienda claramente

Normas:
• Debe escribirse en el idioma de la persona que realizará el algoritmo
• Debe enumerar cada uno de los pasos a realizar en un orden lógico.
• Debe utilizar palabras que comprenda claramente la persona que realizará
el algoritmo.

Ejemplos:
Las recetas de cocina, los manuales de funcionamiento, itinerarios, guía de
matricula etc.
Clasificación de los Algoritmos
Algoritmos para ser ejecutados por computadores:

Los pasos para la solución de un problema utilizando como herramienta la
computadora son:

1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que
conducen a la solución de un problema dado(análisis del problema y
desarrollo del algoritmo).

2. Expresar el algoritmo como un programa en un lenguaje de
programación adecuado( fase de codificación). La actividad de expresar un
algoritmo en forma de programa se denomina programación.

3. Ejecución y validación de programa por la computadora.
Definición de pseudocódigo
Serie de instrucciones abstractas que resuelven un problema. Es una
herramienta útil para el seguimiento de la lógica de un algoritmo, facilita la
transcripción a un lenguaje de programación. Con el pseudocódigo
representamos los pasos de un algoritmo a través de palabras, utilizando
una nomenclatura estandarizada para el significado de cada paso.

Ej. Obtener el área de un rectángulo.

1. Inicio
2. Leer BASE
3. Leer ALTURA
4. AREA = BASE * ALTURA
5. Escribir AREA
6. Fin
Lenguajes de programación

Lenguaje: conjunto de reglas y convenciones que se utilizan para
comunicar información.

Lenguaje de Programación: es un lenguaje que permite la traducción de
un algoritmo para que sea entendible por el computador. Son los lenguajes
utilizados para escribir programas de computadores.

Tipos de Lenguaje de Programación:

* Lenguaje de Máquina
* Lenguaje de Bajo Nivel (Ensamblador)
* Lenguaje de Alto Nivel
Lenguaje de máquina
Son aquellos que están escritos en lenguaje directamente inteligibles por la
máquina, ya que sus instrucciones son cadenas binarias (0’s ,1’s) que
especifican una operación.

 - Las instrucciones en lenguaje máquina dependen del Hardware de la
computadora, difiere de una PC a otra.

- La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de
ejecución.

 - Existen algunas desventajas: dificultad y lentitud en la codificación, poca
fiabilidad, los programas no son portables.

                 11001010 00010111 11110101 00101011
                 00010111 11110101 00101011 00101011
                 11001010 00010111 11110101 00101011
                 11001010 11110101 00101011 00101011
Lenguaje de bajo nivel
Son lenguajes que permiten escribir programas con instrucciones similares
al lenguaje humano.

Son más fáciles de utilizar que los lenguajes de máquina, pero éstos
también dependen de la máquina en particular.

El mejor ejemplo es el lenguaje ensamblador

Un programa escrito en lenguaje ensamblador requiere una fase de
traducción

Entre las desventajas tenemos: que este lenguaje depende de la máquina
y demanda una mayor exigencia para los programadores, ya que deben
conocer tanto las técnicas de programación así como el interior de la
máquina.
Ejemplo lenguaje de bajo nivel
Lenguaje de Alto Nivel
- Son los más utilizados por los programadores
- Son independientes de la máquina
- Los programas escritos en estos lenguajes son portables
- Aumento de la ocupación de la memoria
- Las estructuras de los programas se basan en reglas sintácticas

 Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi,
Java,...

Ejemplo de lenguaje de alto nivel
#include <stdio.h>
int main(void)
{
printf("Hola, Mundon");
}
Ejemplos de Algoritmos
       ALGORITMO PARA CAMBIAR UNA BOMBILLA QUEMADA

INICIO
1. Buscar una bombilla nueva
2. Buscar una escalera o similar
3. Ir al lugar de la bombilla quemada
4. Instalar la escalera
5. Subir a la escalera
6. Sacar la bombilla quemada
7. Colocar la nueva bombilla
8. Ajustar la bombilla
9. Bajarse de la escalera
10. Probar la bombilla instalada
11. Retirar la escalera
12. Votar la bombilla quemada
13. Guardar la escalera
FIN
Ejemplos de Algoritmos
                ALGORITMO PASOS PARA IR AL CINE

INICIO
1. Revisar la cartelera de cine
2. Seleccionar la película de mi interés
3. Seleccionar el horario de mi interés
4. A la hora adecuada, desplazarme hasta el cine
5. Hacer la fila para comprar boletos
6. Comprar los boletos
7. Hacer la fila para entrada a la sala
8. Entrar a la sala
9. Buscar mi puesto asignado
10. Ubicarme en el puesto asignado
11. Disfrutar de la película
FIN
Gracias por su atención



Correo: pcontramaestre@gmail.com

Twitter: @pcontramaestre

Más contenido relacionado

La actualidad más candente

Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigomatteo_ibarguen
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaOmar B.
 
Mapa conceptual - Arquitectura de Computadoras
Mapa conceptual -  Arquitectura de ComputadorasMapa conceptual -  Arquitectura de Computadoras
Mapa conceptual - Arquitectura de ComputadorasLely
 
Importancia de la utilización de métricas en la gestión de servicios de TI
Importancia de la utilización de métricas en la gestión de servicios de TIImportancia de la utilización de métricas en la gestión de servicios de TI
Importancia de la utilización de métricas en la gestión de servicios de TIJoshua Rreal
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSeliaaaramos
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++Idalia Tristan
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolíticaurumisama
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaJosé Antonio Sandoval Acosta
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasMichele André
 
03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuarioManuel Mujica
 

La actualidad más candente (20)

Diseño de sistemas
Diseño de sistemasDiseño de sistemas
Diseño de sistemas
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
Mapa conceptual - Arquitectura de Computadoras
Mapa conceptual -  Arquitectura de ComputadorasMapa conceptual -  Arquitectura de Computadoras
Mapa conceptual - Arquitectura de Computadoras
 
Importancia de la utilización de métricas en la gestión de servicios de TI
Importancia de la utilización de métricas en la gestión de servicios de TIImportancia de la utilización de métricas en la gestión de servicios de TI
Importancia de la utilización de métricas en la gestión de servicios de TI
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
ALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOSALGORITMOS Y PSEUDOCODIGOS
ALGORITMOS Y PSEUDOCODIGOS
 
Expresiones logicas
Expresiones logicasExpresiones logicas
Expresiones logicas
 
Modelos de red
Modelos de redModelos de red
Modelos de red
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 
Modelos de dominio
Modelos de dominioModelos de dominio
Modelos de dominio
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Arquitectura Monolítica
Arquitectura MonolíticaArquitectura Monolítica
Arquitectura Monolítica
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOS
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Tutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicasTutorial algoritmo estructuras ciclicas
Tutorial algoritmo estructuras ciclicas
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario03 7n2is trabajo-interfaz usuario
03 7n2is trabajo-interfaz usuario
 

Destacado

Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicoscbertolotti
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionJose Rojas
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacioncarlos
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de ProgramaciónSandra Esposito
 
Energía procedente del sol
Energía procedente del solEnergía procedente del sol
Energía procedente del solcristian17crua
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de'Felipe Lozada
 
Generaciòn de la robotica y lenguajes de programacion
Generaciòn de la robotica y lenguajes de programacionGeneraciòn de la robotica y lenguajes de programacion
Generaciòn de la robotica y lenguajes de programacionMil La
 
Lenguaje alto y bajo_Huber Nava
Lenguaje alto y bajo_Huber NavaLenguaje alto y bajo_Huber Nava
Lenguaje alto y bajo_Huber NavaHuber2907
 
Lenguajes de bajo nivel
Lenguajes de bajo nivelLenguajes de bajo nivel
Lenguajes de bajo nivelfelipehhg
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacionAnaisMar22
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacionfcolauravel
 
Lenguajes de Programacion
Lenguajes de  ProgramacionLenguajes de  Programacion
Lenguajes de Programacionoscarfr56
 
Los lenguajes de programación jose
Los lenguajes de programación joseLos lenguajes de programación jose
Los lenguajes de programación joseleiderserna
 
Formulas y funciones basicas vl
Formulas y funciones basicas vlFormulas y funciones basicas vl
Formulas y funciones basicas vlVaneLopez93
 
taller para practicar de word
taller para practicar de wordtaller para practicar de word
taller para practicar de wordCristian Leal
 

Destacado (20)

Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Tema1 Lenguajes De Programacion
Tema1 Lenguajes De ProgramacionTema1 Lenguajes De Programacion
Tema1 Lenguajes De Programacion
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Lenguajes de Programación
Lenguajes de ProgramaciónLenguajes de Programación
Lenguajes de Programación
 
Energía procedente del sol
Energía procedente del solEnergía procedente del sol
Energía procedente del sol
 
Conceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje deConceptos de algoritmo, programa y lenguaje de
Conceptos de algoritmo, programa y lenguaje de
 
Generaciòn de la robotica y lenguajes de programacion
Generaciòn de la robotica y lenguajes de programacionGeneraciòn de la robotica y lenguajes de programacion
Generaciòn de la robotica y lenguajes de programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje alto y bajo_Huber Nava
Lenguaje alto y bajo_Huber NavaLenguaje alto y bajo_Huber Nava
Lenguaje alto y bajo_Huber Nava
 
Lenguajes de bajo nivel
Lenguajes de bajo nivelLenguajes de bajo nivel
Lenguajes de bajo nivel
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Fórmulas en excel
Fórmulas en excelFórmulas en excel
Fórmulas en excel
 
Lenguajes de Programacion
Lenguajes de  ProgramacionLenguajes de  Programacion
Lenguajes de Programacion
 
Los lenguajes de programación jose
Los lenguajes de programación joseLos lenguajes de programación jose
Los lenguajes de programación jose
 
Formulas y funciones basicas vl
Formulas y funciones basicas vlFormulas y funciones basicas vl
Formulas y funciones basicas vl
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
taller para practicar de word
taller para practicar de wordtaller para practicar de word
taller para practicar de word
 

Similar a Conceptos basicos algoritmos (20)

Unidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre AlgoritmosUnidad Iii Generalidades Sobre Algoritmos
Unidad Iii Generalidades Sobre Algoritmos
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Presentacion info
Presentacion infoPresentacion info
Presentacion info
 
Programación
ProgramaciónProgramación
Programación
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
GuiaAlgoritmosyProgramacionI.pdf
GuiaAlgoritmosyProgramacionI.pdfGuiaAlgoritmosyProgramacionI.pdf
GuiaAlgoritmosyProgramacionI.pdf
 
Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02Unidad1 130504121721-phpapp02
Unidad1 130504121721-phpapp02
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
Programación tic
Programación ticProgramación tic
Programación tic
 
Programación tic
Programación ticProgramación tic
Programación tic
 
Laura Michell♥
Laura Michell♥Laura Michell♥
Laura Michell♥
 
Diap 01
Diap 01Diap 01
Diap 01
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Más de Pablo Contramaestre

Plan de acción peic uetdt 2012 2013
Plan de acción peic uetdt 2012 2013Plan de acción peic uetdt 2012 2013
Plan de acción peic uetdt 2012 2013Pablo Contramaestre
 
Peic uetdt fases ii y iii 2012 2013
Peic uetdt fases ii y iii 2012 2013Peic uetdt fases ii y iii 2012 2013
Peic uetdt fases ii y iii 2012 2013Pablo Contramaestre
 
Comisiones cierre de proyecto uetdt
Comisiones cierre de proyecto uetdtComisiones cierre de proyecto uetdt
Comisiones cierre de proyecto uetdtPablo Contramaestre
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intPablo Contramaestre
 
Influencia de la radio y la televisión en la comuniación oral
Influencia de la radio y la televisión en la comuniación oralInfluencia de la radio y la televisión en la comuniación oral
Influencia de la radio y la televisión en la comuniación oralPablo Contramaestre
 
Instalación y Configuración de Moodle
Instalación y Configuración de MoodleInstalación y Configuración de Moodle
Instalación y Configuración de MoodlePablo Contramaestre
 
Curso de Propiedades de las Frutas Tropicales
Curso de Propiedades de las Frutas TropicalesCurso de Propiedades de las Frutas Tropicales
Curso de Propiedades de las Frutas TropicalesPablo Contramaestre
 
Curso de Emergencias Medico Naturistas en el Hogar (2)
Curso de Emergencias Medico Naturistas en el Hogar (2) Curso de Emergencias Medico Naturistas en el Hogar (2)
Curso de Emergencias Medico Naturistas en el Hogar (2) Pablo Contramaestre
 
Curso de Emergencias Medico Naturistas en el Hogar (1)
Curso de Emergencias Medico Naturistas en el Hogar (1) Curso de Emergencias Medico Naturistas en el Hogar (1)
Curso de Emergencias Medico Naturistas en el Hogar (1) Pablo Contramaestre
 

Más de Pablo Contramaestre (20)

Armonía y salud mayo
Armonía y salud mayoArmonía y salud mayo
Armonía y salud mayo
 
Plan de acción peic uetdt 2012 2013
Plan de acción peic uetdt 2012 2013Plan de acción peic uetdt 2012 2013
Plan de acción peic uetdt 2012 2013
 
Peic uetdt fases ii y iii 2012 2013
Peic uetdt fases ii y iii 2012 2013Peic uetdt fases ii y iii 2012 2013
Peic uetdt fases ii y iii 2012 2013
 
Mision saber y trabajo
Mision saber y trabajoMision saber y trabajo
Mision saber y trabajo
 
Comisiones cierre de proyecto uetdt
Comisiones cierre de proyecto uetdtComisiones cierre de proyecto uetdt
Comisiones cierre de proyecto uetdt
 
Consejos estudiantiles
Consejos estudiantilesConsejos estudiantiles
Consejos estudiantiles
 
Ejemplos de algoritmos
Ejemplos de algoritmosEjemplos de algoritmos
Ejemplos de algoritmos
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 
Manual pseint
Manual pseintManual pseint
Manual pseint
 
Clase04 tutorial p-seint
Clase04 tutorial p-seintClase04 tutorial p-seint
Clase04 tutorial p-seint
 
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_intM altamirano ejercicios+practicos+con+el+uso+de+pse_int
M altamirano ejercicios+practicos+con+el+uso+de+pse_int
 
Influencia de la radio y la televisión en la comuniación oral
Influencia de la radio y la televisión en la comuniación oralInfluencia de la radio y la televisión en la comuniación oral
Influencia de la radio y la televisión en la comuniación oral
 
Poster oratoria
Poster oratoriaPoster oratoria
Poster oratoria
 
Instalación y Configuración de Moodle
Instalación y Configuración de MoodleInstalación y Configuración de Moodle
Instalación y Configuración de Moodle
 
Capitulo V
Capitulo VCapitulo V
Capitulo V
 
Proyecto de fase_lucia_3
Proyecto de fase_lucia_3Proyecto de fase_lucia_3
Proyecto de fase_lucia_3
 
Curso de Propiedades de las Frutas Tropicales
Curso de Propiedades de las Frutas TropicalesCurso de Propiedades de las Frutas Tropicales
Curso de Propiedades de las Frutas Tropicales
 
Curso de Emergencias Medico Naturistas en el Hogar (2)
Curso de Emergencias Medico Naturistas en el Hogar (2) Curso de Emergencias Medico Naturistas en el Hogar (2)
Curso de Emergencias Medico Naturistas en el Hogar (2)
 
Curso de Emergencias Medico Naturistas en el Hogar (1)
Curso de Emergencias Medico Naturistas en el Hogar (1) Curso de Emergencias Medico Naturistas en el Hogar (1)
Curso de Emergencias Medico Naturistas en el Hogar (1)
 
Trabajo Proyecto Roma
Trabajo Proyecto RomaTrabajo Proyecto Roma
Trabajo Proyecto Roma
 

Conceptos basicos algoritmos

  • 1. República Bolivariana de Venezuela Ministerio del Poder Popular para la Educación Unidad Educativa de Talentos Deportivos Táchira San Cristóbal – Estado Táchira DESARROLLO DE ALGORITMOS UNIDAD I – COMPUTACIÓN Conceptos Básicos de Algoritmos Docente: Pablo Contramaestre Octubre 2012
  • 2. Introducción La principal razón para que las personas aprendan lenguajes y técnicas de programación es utilizar el computador como una herramienta para resolver problemas. La resolución de un problema exige al menos los siguientes pasos: 1.- Definición o análisis del problema. 2.- Diseño del algoritmo. 3.- Transformación del algoritmo en un programa. 4.- Ejecución y validación del programa
  • 3. Definición de problema Los problemas son una serie de inquietudes que se plantean para ser resueltas. La naturaleza de los problemas varía con el contexto en que se presenta: problemas matemáticos, químicos, filosóficos, etc. Es importante que al tratar un problema se tenga una descripción simple y precisa del mismo, de lo contrario resultaría complejo tratar de simular, o programar su solución en un computador. Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. Diseño Problema Análisis Programa algoritmo
  • 4. Algoritmo y sus caracteristicas Serie de pasos lógicos y ordenados con los cuales le damos solución a un problema determinado o a un objetivo específico. Sin algoritmos no puede existir un programa. Los algoritmos son independientes tanto del lenguaje de programación como del computador que los ejecuta. La palabra “Algoritmo” viene de un matemático persa que vivió en el siglo IX llamado Mohammed Al-Khowârizî, cuyo apellido traducido al latín es Algorismus. Características de un algoritmo: • Preciso: indicar el orden de realización de las instrucciones. • Definido: si se sigue el algoritmo dos veces, se debe obtener el mismo resultado. • Finito: siempre debe terminar despues de un número finito de pasos. Ejemplo: Obtener el área de un rectángulo. 1. Obtener la medida de la base del rectángulo 2. Obtener la medida de la altura del rectángulo 3. Multiplicar la medida de la base por la medida de la altura.
  • 5. Ejemplo de Algoritmo Ejemplo tradicional de un algoritmo: Cambiar la llanta pinchada de un carro . INICIO 1. Buscar herramientas, llanta de repuesto y triángulo de señalización 2. Ubicar el triángulo en el lugar adecuado 3. Ir al lugar de la llanta averiada 4. Sacar las tuercas 5. Colocar el gato 6. Levantar el carro 7. Sacar la llanta 8. Colocar la llanta de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN
  • 6. Fases de un algoritmo Fase de Análisis: consiste en el estudio detallado del problema con el fin de obtener una serie de documentos (especificación) en los cuales quedan totalmente definido el proceso a seguir en la automatización Diseño: consiste en la realización del algoritmo que resuelve el problema de acuerdo a la especificación dada en la fase anterior. El algoritmo se representa mediante pseudocódigo. Codificación: consiste en la traducción del algoritmo a un programa escrito en un lenguaje de programación Compilación/Interpretación: consiste en obtener el programa ejecutable u objeto a partir del programa fuente Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de él.
  • 7. Clasificación de los Algoritmos Algoritmos para ser ejecutados por personas: Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera que esta persona lo entienda claramente Normas: • Debe escribirse en el idioma de la persona que realizará el algoritmo • Debe enumerar cada uno de los pasos a realizar en un orden lógico. • Debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo. Ejemplos: Las recetas de cocina, los manuales de funcionamiento, itinerarios, guía de matricula etc.
  • 8. Clasificación de los Algoritmos Algoritmos para ser ejecutados por computadores: Los pasos para la solución de un problema utilizando como herramienta la computadora son: 1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen a la solución de un problema dado(análisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado( fase de codificación). La actividad de expresar un algoritmo en forma de programa se denomina programación. 3. Ejecución y validación de programa por la computadora.
  • 9. Definición de pseudocódigo Serie de instrucciones abstractas que resuelven un problema. Es una herramienta útil para el seguimiento de la lógica de un algoritmo, facilita la transcripción a un lenguaje de programación. Con el pseudocódigo representamos los pasos de un algoritmo a través de palabras, utilizando una nomenclatura estandarizada para el significado de cada paso. Ej. Obtener el área de un rectángulo. 1. Inicio 2. Leer BASE 3. Leer ALTURA 4. AREA = BASE * ALTURA 5. Escribir AREA 6. Fin
  • 10. Lenguajes de programación Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar información. Lenguaje de Programación: es un lenguaje que permite la traducción de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de computadores. Tipos de Lenguaje de Programación: * Lenguaje de Máquina * Lenguaje de Bajo Nivel (Ensamblador) * Lenguaje de Alto Nivel
  • 11. Lenguaje de máquina Son aquellos que están escritos en lenguaje directamente inteligibles por la máquina, ya que sus instrucciones son cadenas binarias (0’s ,1’s) que especifican una operación. - Las instrucciones en lenguaje máquina dependen del Hardware de la computadora, difiere de una PC a otra. - La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de ejecución. - Existen algunas desventajas: dificultad y lentitud en la codificación, poca fiabilidad, los programas no son portables. 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 11001010 11110101 00101011 00101011
  • 12. Lenguaje de bajo nivel Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. Son más fáciles de utilizar que los lenguajes de máquina, pero éstos también dependen de la máquina en particular. El mejor ejemplo es el lenguaje ensamblador Un programa escrito en lenguaje ensamblador requiere una fase de traducción Entre las desventajas tenemos: que este lenguaje depende de la máquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las técnicas de programación así como el interior de la máquina.
  • 13. Ejemplo lenguaje de bajo nivel
  • 14. Lenguaje de Alto Nivel - Son los más utilizados por los programadores - Son independientes de la máquina - Los programas escritos en estos lenguajes son portables - Aumento de la ocupación de la memoria - Las estructuras de los programas se basan en reglas sintácticas Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java,... Ejemplo de lenguaje de alto nivel #include <stdio.h> int main(void) { printf("Hola, Mundon"); }
  • 15. Ejemplos de Algoritmos ALGORITMO PARA CAMBIAR UNA BOMBILLA QUEMADA INICIO 1. Buscar una bombilla nueva 2. Buscar una escalera o similar 3. Ir al lugar de la bombilla quemada 4. Instalar la escalera 5. Subir a la escalera 6. Sacar la bombilla quemada 7. Colocar la nueva bombilla 8. Ajustar la bombilla 9. Bajarse de la escalera 10. Probar la bombilla instalada 11. Retirar la escalera 12. Votar la bombilla quemada 13. Guardar la escalera FIN
  • 16. Ejemplos de Algoritmos ALGORITMO PASOS PARA IR AL CINE INICIO 1. Revisar la cartelera de cine 2. Seleccionar la película de mi interés 3. Seleccionar el horario de mi interés 4. A la hora adecuada, desplazarme hasta el cine 5. Hacer la fila para comprar boletos 6. Comprar los boletos 7. Hacer la fila para entrada a la sala 8. Entrar a la sala 9. Buscar mi puesto asignado 10. Ubicarme en el puesto asignado 11. Disfrutar de la película FIN
  • 17. Gracias por su atención Correo: pcontramaestre@gmail.com Twitter: @pcontramaestre