SlideShare una empresa de Scribd logo
1 de 32
Facilitadora Académica:
Irma Verónica Orduño Borquez
Grupo 3
Armenta Acosta Miguel Angel
ALGORITMOS Y FUNDAMENTOS DE
PROGRAMACIÓN
SOLUCIONES POR COMPUTADORA
CONTENIDO
Conceptos Fundamentales
* Tipos de Datos
* Identificadores, constantes y variables
* Operaciones aritméticas
* Expresiones Lógicas
• Bloque de asignación
Estructuras algorítmicas selectivas e iterativas
• Estructura selectiva simple “Si entonces”
• * Estructura selectiva doble “Si entonces/sino”
• * Estructura de selección múltiple “Si múltiple”
• * Estructuras selectivas en cascada (anidadas)
• * Estructura Iterativa “For”
• * Estructura Iterativa “While”
• * Estructura Iterativa “Repeat-Until”
• * Anidación de ciclos
Desarrollando soluciones a través de algoritmos
• * Pasos para resolver un problema por computadora
• * Resolución de ejercicios propuestos
La historia del algoritmo nace
por necesidad de hacer
cálculos matemáticos atravez
de ella se fundamenta el
paso inicial de entender
acabadamente cualquier
problema planteada.
Estos bienes surgieron a
mediados del siglo IX
por el matemático
distinguido y astrónomo
Mohammed Ibn Musa –
aljarizm.
1. Algoritmo (del latín,
dixit algurithmus): es
una lista bien definida,
ordenada y finita de
operaciones que
permite hallar la
solución a un problema.
2. Antiguamente algoritmo
significaba descripción de un
cálculo, como por ejemplo de la
nueva división después de
introducir las fracciones decimales,
en la a dualidad es todo
descripción de un cálculo en
general con un esquema de
procesos que se repite.
3. Se define también como el
conjunto de procesos finito que
deben seguir para realizar una
tarea :
Proceso 1. Debe ser el mismo
conjunto de datos para que siempre
se llegue a un mismo conjunto de
resultados.
Proceso 2. Las instrucciones han
de ser precisos, sin ambigüedad.
Proceso 3. El conjunto debe ser
finito.
Un Algoritmo, se puede
definir como una
secuencia de instrucciones
que representan un
modelo de solución para
determinado tipo de
problemas.
un conjunto de instrucciones
que realizadas en orden
conducen a obtener la
solución de un problema.
Los algoritmos son
independientes de los
lenguajes de
programación. En cada
problema el algoritmo
puede escribirse y luego
ejecutarse en un lenguaje
de diferente programación.
En la vida cotidiana, se emplean
algoritmos frecuentemente para
resolver problemas. Algunos
ejemplos son los manuales de
usuario, que muestran algoritmos
para usar un aparato, o las
instrucciones que recibe un
trabajador por parte de su patrón.
Muchos autores los
señalan como listas
de instrucciones para
resolver un cálculo o
un problema
abstracto.
Algoritmo computacional
Es un algoritmo que puede ser
ejecutado en una computadora.
Ejemplo: Fórmula aplicada para
un cálculo de la raíz cuadrada de
un valor x.
Es un algoritmo que no
requiere de una computadora
para ser ejecutado. Ejemplo:
Instalación de un equipo de
sonido.
Algoritmo no computacional
Algoritmo cualitativo
Un algoritmo es cualitativo cuando en
sus pasos o instrucciones no están
involucrados cálculos numéricos.
Ejemplos: Las instrucciones para
desarrollar una actividad física,
encontrar un tesoro.
Algoritmo cuantitativo
Una algoritmo es cuantitativo
cuando en sus pasos o
instrucciones involucran cálculos
numéricos. Ejemplo: Solución de
una ecuación de segundo grado.
Todo algoritmo debe tener las siguientes características.
Debe ser Preciso, porque
cada uno de sus pasos
debe indicar de manera
precisa e inequívoca que
se debe hacer.
Debe ser Finito,
porque un algoritmo
debe tener un
número limitado de
pasos.
Debe ser Definido, porque
debe producir los mismos
resultados para las mismas
condiciones de entrada.
Puede tener cero o
más elementos de
entrada.
Debe producir un resultado.
Los datos de salida serán los
resultados de efectuar las
instrucciones.
Todo Algoritmo debe tener las siguientes partes.
Entrada de datos, son
los datos necesarios
que el algoritmo
necesita para ser
ejecutado.
Proceso, es la secuencia
de pasos para ejecutar el
algoritmo.
Salida de resultados,
son los datos obtenidos
después de la ejecución
del algoritmo.
Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se
utilizan algunos métodos de representación escrita, gráfica o matemática.
Diagramación libre
(Diagramas de flujo).
Diagramas
Nassi-
Shneiderman.
Pseudocódigo.
Fórmulas matemáticas.
Lenguaje natural
(español, inglés, etc.).
Son aquellos en
los que se
describen los
pasos utilizando
palabras.
Cualitativos Cuantitativos
Son aquellos en los
que se utilizan
cálculos numéricos
para definir los pasos
del proceso.
Algoritmos Estáticos
son los que
funcionan siempre
igual,
independientemente
del tipo de problema
tratado.
Algoritmos Adaptativos
algoritmos con
cierta capacidad
de aprendizaje.
Algoritmos
Probabilísticos
son algoritmos que
no utilizan valores
de verdad
booleanos sino
continuos.
Algoritmo
Cotidiano
es la serie de
pasos que
realizamos en
nuestra vida
diaria .
Algoritmo
Determinista
es un algoritmo
que, en términos
informales, es
completamente
predictivo si se
conocen sus
entradas.
Algoritmo de escalada
la idea básica consiste
en comenzar con una
mala solución a un
determinado problema
y, repetidamente,
aplicar optimizaciones a
la misma hasta que
esta sea óptima o
satisfaga algún otro
requisito.
El pseudocódigo (falso lenguaje)
es una descripción de alto nivel de
un algoritmo que emplea una
mezcla de lenguaje natural con
algunas convenciones sintácticas
propias de lenguajes de
programación, como asignaciones,
ciclos y condicionales.
El pseudocódigo está pensado para
facilitar a las personas el
entendimiento de un algoritmo.
¿Para que sirve el Pseudocódigo?
Sirve para escribir programas
de computadora en lenguaje
natural de tal manera que se
facilite la comprensión, prueba
y posterior codificación en un
lenguaje de programación
específico.
Emplea palabras
normales de un
idioma por ejemplo:
inicio, solicitar,
escribir, imprimir,
calcular, fin.
No existe un
vocabulario obligado,
aunque por el uso
frecuente y la
comodidad se han
establecido
estándares.
Las instrucciones deben
ser escritas con precisión,
sin ambigüedades como
podría suceder con el
método de texto narrativo.
Las instrucciones
aunque escritas con
precisión no requieren
la rigurosidad de la
empleadas en un
lenguaje de
programación.
Un algoritmo
representado en
pseudocódigo puede
convertirse con facilidad
en el código de
cualquier lenguaje de
programación.
Un diagrama de flujo es la
representación grafica de
un proceso.
Un diagrama de flujo tiene
como objetivo facilitarnos la
comprensión de un
algoritmo o simplificar el
análisis de un proceso.
El diagrama de flujo consta
de símbolos como rombos,
rectángulos, óvalos, etc.
Estos símbolos están
conectados por
flechas de un solo
sentido y nos indican
la secuencia en que
se van desarrollando
las distintas tareas.
Los diagramas facilitan la
compresión de métodos de
solución para problemas
matemáticos y lógicos, permitiendo
a los estudiantes abstraerse de un
lenguaje determinado y enfocarse
en el procedimiento de solución.
Es un esquema
para representar
gráficamente un
algoritmo.
Se les llama diagramas de flujo
porque los símbolos utilizados se
conectan por medio de flechas
para indicar la secuencia de
operación.
http://www.monografias.com/trabajos60/diagrama-flujo-datos/diagrama-flujo-datos2.shtml
Un identificador es un
conjunto de caracteres
alfanuméricos de cualquier
longitud que sirve para
identificar las entidades del
programa (clases, funciones,
variables, tipos compuestos)
Los identificadores pueden
ser combinaciones de letras
y números.
Una Constante es aquélla
que no cambia de valor
durante la ejecución de
un programa (o
comprobación de un
algoritmo en
este caso). Se
representa en la forma
descrita para cada
categoría.
Las Variables son aquéllas
que pueden modificar su
valor durante la ejecución
de un programa (idem).
Su representación se da a
través de letras y símbolos
generalmente numéricos a
los que se les asigna un
valor.
El operador +
Este operador se utiliza
para ordenarle a la
computadora que sume
dos números.
25 + 3 devuelve 28
9 + 13 devuelve 22
El operador -
Este operador se utiliza para
ordenarle a la computadora que
reste dos números.
Ejemplos:
25 - 3 devuelve 22
9 - 13 devuelve -4
El operador *
Este operador se utiliza
para ordenarle a la
computadora que
multiplique dos números.
Ejemplos:
25 * 3 devuelve 75
9 * 13 devuelve 117
El operador /
Este operador se utiliza
para ordenarle a la
computadora que divida
dos números.
Ejemplos:
25 / 5 devuelve 5
39 / 13 devuelve 3
El operador %
Este operador se utiliza
para ordenarle a la
computadora que reste
dos números.
Ejemplos:
25 % 3 devuelve 1
37 % 5 devuelve 2
En computación, la unidad aritmético
lógica, también conocida como ALU
(siglas en inglés de arithmetic logic
unit), es un circuito digital que calcula
operaciones aritméticas (como suma,
resta, multiplicación, etc.) y
operaciones lógicas (si, y, o, no), entre
dos números.
Sirven para plantear condiciones o comparaciones y dan como resultado un valor
booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se pueden
clasificar en simples y complejas. Las simples son las que usan operadores relacionales y
las complejas las que usan operadores lógicos.
Operadores Significado
< Menor que
> Mayor que
= Igual a
>= Mayor o igual que
<= Menor o igual que
<> Distinto o diferente a
La instrucción de
asignación consiste en
dar valor a una
variable
Los operadores de asignación, son
aquellos que nos permiten
modificar el valor de una variable,
el operador de asignación básico
es el 'es igual a' (=), que da el
valor que lo sigue a la variable que
lo precede: Veamos un ejemplo de
una instrucción tonta, que en
realidad no hace nada. Algo =
algo;
Un bloque de asignación se
compone de asignaciones, que se
encuentran dentro de una asignación
superior. De esta forma los bloques
de asignación pueden estar por
ejemplo dentro de asignaciones de
condiciones o dentro de bucles.
También todas las asignaciones que
están dentro de un subprograma
forman un bloque de asignación.
Se identifican porque están compuestos
únicamente de una condición.
La estructura si - entonces evalúa la
condición y en tal caso:
Si la condición es verdadera, entonces
ejecuta la acción Si (o acciones si son
varias).
Si la condición es falsa, entonces no se
hace nada.
Español Inglés
Si <condición> If
<condición>
Entonces then
<acción
Si> <acción Si>
fin_si endif
Ejemplo
• Construir un algoritmo tal, que dado como dato la calificación de un alumno
en un examen, escriba "Aprobado" en caso que esa calificación fuese
mayor que 8.
• Salidas: mensaje de aprobado si se cumple la condición.
• Entradas: calificación
• Datos adicionales: un alumno aprueba si la calificación es mayor que 8
• Variables:
• Cal = calificación
• Algoritmo:
• Inicio
• Leer (cal)
• Si cal > 8 entonces
• Escribir ("aprobado")
• Fin_si
• Fin
Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se
utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe
ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes.
Español Inglés
Si <condición> entonces If <condición> then
<acción S1> <acción S1>
sino else
<acción S2> <acción S2>
Fin_Si End_if
Ejemplo
• Dado como dato la calificación de un alumno en un examen,
escriba "aprobado" si su calificación es mayor que 8 y
"Reprobado" en caso contrario.
• Algoritmo:
• Inicio
• Leer (cal)
• Si cal > 8 entonces
• Escribir ("aprobado")
• Sino
• Escribir ("reprobado")
• Fin_si
• Fin
Con frecuencia es necesario que
existan más de dos elecciones
posibles. Este problema se podría
resolver por estructuras selectivas
simples o dobles, anidadas o en
cascada, pero si el número de
alternativas es grande puede plantear
serios problemas de escritura y de
legibilidad.
bibliografía
• Concepto de algritmo
• http://es.wikipedia.org/wiki/Algoritmo
• mas sobre algoritmos
• http://informaticafrida.blogspot.mx/2009/03/algoritmo.html
• definición de algoritmo
• http://lilianarosa-lidia.blogspot.mx/2009/08/definicion-e-historia-de-algoritmo.html
• análisis de algoritmos
• http://es.wikipedia.org/wiki/An%C3%A1lisis_de_algoritmos
• tipos de algoritmos
• http://www.buenastareas.com/ensayos/Algoritmo-y-Sus-Caracteristicas/1401491.html
• mas tipos
• http://informatica-umg-vn.blogspot.mx/2011/07/tipos-de-algoritmos-cualitativos-son_22.html
• que es el pseudocodigo
• http://es.scribd.com/doc/69611351/Que-es-el-Pseudocodigo
• características del pseudocodigo
• http://informaticadostaxco.blogspot.mx/2011/02/estructuras-de-control-y-pseudocodigo.html
• definición pseudo código
• http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtml
• representaciones de algoritmos.
• http://www.slideshare.net/CarlosBez/tutorial-p-seint-15734467
• diagrama de flujo
• http://diagramas-de-flujo.wikispaces.com/Diagrama+de+flujo
• símbolos del diagrama de flujo
• http://www.monografias.com/trabajos59/diagrama-flujo/diagrama-flujo.shtml
• http://www.monografias.com/trabajos60/diagrama-flujo-datos/diagrama-flujo-datos2.shtml
tipos de datos
http://www.slideshare.net/SuperFonso/tipos-de-datos-en-programacion
identificadores,constantes y variables
http://andresmtzg.wordpress.com/2012/09/27/identificadores-variables-y-constantes/
http://aurea.es/assets/2-tiposdatoslenguajec.pdf
operaciones aritméticas
http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica
http://inginformatica-unprg.blogspot.mx/2008/05/los-operadores-aritmticos.html
operaciones aritmético lógicas en pascal
https://cursos.aiu.edu/Programacion%20de%20Computadoras/PDF/Tema%203b.pdf
expresiones lógicas
http://www.oocities.org/ar/luis_pirir/cursos/expresion.htm
http://www.carlospes.com/curso_de_algoritmos/05_01_02_expresiones_logicas.php
estructuras algorítmicas
http://www.mailxmail.com/curso-aprende-programar/tipos-estructuras-selectivas-estructura-simple
estructura iterativa
http://www.estructurayprogramacion.com/materias/fundamentos-de-programacion/estructuras-iterativas/
bloques de asignación
http://es.scribd.com/doc/4750382/PROGRAMACION-CON-ASIGNACIONES
asignación
http://www.ctr.unican.es/asignaturas/programacion1/cap3-Bloque1-alg-basicos-2en1.pdf
pasos para resolver un problema por computadora
http://www.slideshare.net/irmacris/tarea-4pasos-para-soluicionar-problemas-por-computador
http://kodrs.com/pasos-para-resolver-un-problema-con-la-computadora/
estructuras de for while y repeat
http://www.frsn.utn.edu.ar/informatica00/Apuntes/Info_1/cap3_tp.HTM

Más contenido relacionado

La actualidad más candente

Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de ContextoBrayhan Acosta
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y ConstantesYenny Salazar
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Yaskelly Yedra
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Sarai Gotopo
 
1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad RelacionJuGGaLoFX
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidadrezzaca
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?Software Guru
 

La actualidad más candente (20)

Listas doblemente enlazadas
Listas doblemente enlazadasListas doblemente enlazadas
Listas doblemente enlazadas
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Gramática Libre de Contexto
Gramática Libre de ContextoGramática Libre de Contexto
Gramática Libre de Contexto
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)Ingenieria de software (conceptos básicos)
Ingenieria de software (conceptos básicos)
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Sistemas numericos
Sistemas numericosSistemas numericos
Sistemas numericos
 
Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)Método de Ordenamiento Directa (Burbuja)
Método de Ordenamiento Directa (Burbuja)
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion1 - Modelo Entidad Relacion
1 - Modelo Entidad Relacion
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
¿Cómo realizar entrevistas eficaces para obtener requisitos de software?
 

Destacado

Algoritmo cualitativos
Algoritmo cualitativosAlgoritmo cualitativos
Algoritmo cualitativosjdazas
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de AlgoritmosPepe Xdsasda
 
Metodologia Heuristica para Algoritmos
Metodologia Heuristica para AlgoritmosMetodologia Heuristica para Algoritmos
Metodologia Heuristica para AlgoritmosJesús Rojas
 
Tarea de algoritmo y logica (1)
Tarea de algoritmo y logica (1)Tarea de algoritmo y logica (1)
Tarea de algoritmo y logica (1)waltercoque21
 
Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.gabyfr19
 
Descripción de un Algoritmo
Descripción de un AlgoritmoDescripción de un Algoritmo
Descripción de un AlgoritmoOGEA UPS
 
Ejemplos de algoritmos
Ejemplos de algoritmos Ejemplos de algoritmos
Ejemplos de algoritmos Angelica Rada
 
Ejemplos de algoritmos
Ejemplos de algoritmosEjemplos de algoritmos
Ejemplos de algoritmosGabriel Diaz
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujoLuisMiguelVO
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)Ayda Ramirez Montalvo
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicoscbertolotti
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmosFany Duque
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion EnteraCris Tenorio
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticasguest21cdf17
 

Destacado (20)

Algoritmo cualitativos
Algoritmo cualitativosAlgoritmo cualitativos
Algoritmo cualitativos
 
Algoritmos ejemplos
Algoritmos ejemplosAlgoritmos ejemplos
Algoritmos ejemplos
 
Ejemplos de Algoritmos
Ejemplos de AlgoritmosEjemplos de Algoritmos
Ejemplos de Algoritmos
 
Metodologia Heuristica para Algoritmos
Metodologia Heuristica para AlgoritmosMetodologia Heuristica para Algoritmos
Metodologia Heuristica para Algoritmos
 
Tarea de algoritmo y logica (1)
Tarea de algoritmo y logica (1)Tarea de algoritmo y logica (1)
Tarea de algoritmo y logica (1)
 
Los algoritmos
Los algoritmosLos algoritmos
Los algoritmos
 
Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.Gaby (algoritmo y diagrama de flujo) iupsm.
Gaby (algoritmo y diagrama de flujo) iupsm.
 
Ejemplos de algoritmos
Ejemplos de algoritmosEjemplos de algoritmos
Ejemplos de algoritmos
 
Descripción de un Algoritmo
Descripción de un AlgoritmoDescripción de un Algoritmo
Descripción de un Algoritmo
 
Ejemplos de algoritmos
Ejemplos de algoritmos Ejemplos de algoritmos
Ejemplos de algoritmos
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Ejemplos de algoritmos
Ejemplos de algoritmosEjemplos de algoritmos
Ejemplos de algoritmos
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Expo 7 programación entera (algoritmo de gomory)
Expo 7   programación entera (algoritmo de gomory)Expo 7   programación entera (algoritmo de gomory)
Expo 7 programación entera (algoritmo de gomory)
 
Algorítmos - Conceptos básicos
Algorítmos - Conceptos básicosAlgorítmos - Conceptos básicos
Algorítmos - Conceptos básicos
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmos
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Modelos De Programacion Entera
Modelos De Programacion EnteraModelos De Programacion Entera
Modelos De Programacion Entera
 
Los Algoritmos En La Enseñanza De La Matemáticas
Los   Algoritmos  En La  Enseñanza  De La  MatemáticasLos   Algoritmos  En La  Enseñanza  De La  Matemáticas
Los Algoritmos En La Enseñanza De La Matemáticas
 

Similar a algoritmos y fundamentos de programacion

Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfEberCV1
 
Unidad algoritmos y df
Unidad algoritmos y dfUnidad algoritmos y df
Unidad algoritmos y dfernestdo1
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoClariza
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoLeidiCaro1
 

Similar a algoritmos y fundamentos de programacion (20)

Examen Remedial
Examen RemedialExamen Remedial
Examen Remedial
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdfU1-1_UPC_ Algoritmos Conceptos Básicos.pdf
U1-1_UPC_ Algoritmos Conceptos Básicos.pdf
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad algoritmos y df
Unidad algoritmos y dfUnidad algoritmos y df
Unidad algoritmos y df
 
Apartes De Algoritmos
Apartes De AlgoritmosApartes De Algoritmos
Apartes De Algoritmos
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
Unidad i-guia1
Unidad i-guia1Unidad i-guia1
Unidad i-guia1
 
algortimos
algortimosalgortimos
algortimos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Revista Algoritmos
Revista AlgoritmosRevista Algoritmos
Revista Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Revista Algoritmos
Revista AlgoritmosRevista Algoritmos
Revista Algoritmos
 
Algoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujoAlgoritmos y diagramas_de_flujo
Algoritmos y diagramas_de_flujo
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

algoritmos y fundamentos de programacion

  • 1. Facilitadora Académica: Irma Verónica Orduño Borquez Grupo 3 Armenta Acosta Miguel Angel ALGORITMOS Y FUNDAMENTOS DE PROGRAMACIÓN SOLUCIONES POR COMPUTADORA
  • 2. CONTENIDO Conceptos Fundamentales * Tipos de Datos * Identificadores, constantes y variables * Operaciones aritméticas * Expresiones Lógicas • Bloque de asignación Estructuras algorítmicas selectivas e iterativas • Estructura selectiva simple “Si entonces” • * Estructura selectiva doble “Si entonces/sino” • * Estructura de selección múltiple “Si múltiple” • * Estructuras selectivas en cascada (anidadas) • * Estructura Iterativa “For” • * Estructura Iterativa “While” • * Estructura Iterativa “Repeat-Until” • * Anidación de ciclos Desarrollando soluciones a través de algoritmos • * Pasos para resolver un problema por computadora • * Resolución de ejercicios propuestos
  • 3. La historia del algoritmo nace por necesidad de hacer cálculos matemáticos atravez de ella se fundamenta el paso inicial de entender acabadamente cualquier problema planteada. Estos bienes surgieron a mediados del siglo IX por el matemático distinguido y astrónomo Mohammed Ibn Musa – aljarizm. 1. Algoritmo (del latín, dixit algurithmus): es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. 2. Antiguamente algoritmo significaba descripción de un cálculo, como por ejemplo de la nueva división después de introducir las fracciones decimales, en la a dualidad es todo descripción de un cálculo en general con un esquema de procesos que se repite. 3. Se define también como el conjunto de procesos finito que deben seguir para realizar una tarea : Proceso 1. Debe ser el mismo conjunto de datos para que siempre se llegue a un mismo conjunto de resultados. Proceso 2. Las instrucciones han de ser precisos, sin ambigüedad. Proceso 3. El conjunto debe ser finito.
  • 4. Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Los algoritmos son independientes de los lenguajes de programación. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programación. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Muchos autores los señalan como listas de instrucciones para resolver un cálculo o un problema abstracto.
  • 5. Algoritmo computacional Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x. Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido. Algoritmo no computacional Algoritmo cualitativo Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro. Algoritmo cuantitativo Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos. Ejemplo: Solución de una ecuación de segundo grado.
  • 6. Todo algoritmo debe tener las siguientes características. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequívoca que se debe hacer. Debe ser Finito, porque un algoritmo debe tener un número limitado de pasos. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada. Puede tener cero o más elementos de entrada. Debe producir un resultado. Los datos de salida serán los resultados de efectuar las instrucciones.
  • 7. Todo Algoritmo debe tener las siguientes partes. Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado. Proceso, es la secuencia de pasos para ejecutar el algoritmo. Salida de resultados, son los datos obtenidos después de la ejecución del algoritmo.
  • 8. Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Diagramación libre (Diagramas de flujo). Diagramas Nassi- Shneiderman. Pseudocódigo. Fórmulas matemáticas. Lenguaje natural (español, inglés, etc.).
  • 9. Son aquellos en los que se describen los pasos utilizando palabras. Cualitativos Cuantitativos Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Algoritmos Estáticos son los que funcionan siempre igual, independientemente del tipo de problema tratado. Algoritmos Adaptativos algoritmos con cierta capacidad de aprendizaje. Algoritmos Probabilísticos son algoritmos que no utilizan valores de verdad booleanos sino continuos. Algoritmo Cotidiano es la serie de pasos que realizamos en nuestra vida diaria . Algoritmo Determinista es un algoritmo que, en términos informales, es completamente predictivo si se conocen sus entradas. Algoritmo de escalada la idea básica consiste en comenzar con una mala solución a un determinado problema y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito.
  • 10. El pseudocódigo (falso lenguaje) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo. ¿Para que sirve el Pseudocódigo? Sirve para escribir programas de computadora en lenguaje natural de tal manera que se facilite la comprensión, prueba y posterior codificación en un lenguaje de programación específico.
  • 11. Emplea palabras normales de un idioma por ejemplo: inicio, solicitar, escribir, imprimir, calcular, fin. No existe un vocabulario obligado, aunque por el uso frecuente y la comodidad se han establecido estándares. Las instrucciones deben ser escritas con precisión, sin ambigüedades como podría suceder con el método de texto narrativo. Las instrucciones aunque escritas con precisión no requieren la rigurosidad de la empleadas en un lenguaje de programación. Un algoritmo representado en pseudocódigo puede convertirse con facilidad en el código de cualquier lenguaje de programación.
  • 12. Un diagrama de flujo es la representación grafica de un proceso. Un diagrama de flujo tiene como objetivo facilitarnos la comprensión de un algoritmo o simplificar el análisis de un proceso. El diagrama de flujo consta de símbolos como rombos, rectángulos, óvalos, etc. Estos símbolos están conectados por flechas de un solo sentido y nos indican la secuencia en que se van desarrollando las distintas tareas. Los diagramas facilitan la compresión de métodos de solución para problemas matemáticos y lógicos, permitiendo a los estudiantes abstraerse de un lenguaje determinado y enfocarse en el procedimiento de solución. Es un esquema para representar gráficamente un algoritmo. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos) Los identificadores pueden ser combinaciones de letras y números. Una Constante es aquélla que no cambia de valor durante la ejecución de un programa (o comprobación de un algoritmo en este caso). Se representa en la forma descrita para cada categoría. Las Variables son aquéllas que pueden modificar su valor durante la ejecución de un programa (idem). Su representación se da a través de letras y símbolos generalmente numéricos a los que se les asigna un valor.
  • 19. El operador + Este operador se utiliza para ordenarle a la computadora que sume dos números. 25 + 3 devuelve 28 9 + 13 devuelve 22 El operador - Este operador se utiliza para ordenarle a la computadora que reste dos números. Ejemplos: 25 - 3 devuelve 22 9 - 13 devuelve -4 El operador * Este operador se utiliza para ordenarle a la computadora que multiplique dos números. Ejemplos: 25 * 3 devuelve 75 9 * 13 devuelve 117 El operador / Este operador se utiliza para ordenarle a la computadora que divida dos números. Ejemplos: 25 / 5 devuelve 5 39 / 13 devuelve 3 El operador % Este operador se utiliza para ordenarle a la computadora que reste dos números. Ejemplos: 25 % 3 devuelve 1 37 % 5 devuelve 2 En computación, la unidad aritmético lógica, también conocida como ALU (siglas en inglés de arithmetic logic unit), es un circuito digital que calcula operaciones aritméticas (como suma, resta, multiplicación, etc.) y operaciones lógicas (si, y, o, no), entre dos números.
  • 20. Sirven para plantear condiciones o comparaciones y dan como resultado un valor booleano verdadero o falso, es decir, se cumple o no se cumple la condición. Se pueden clasificar en simples y complejas. Las simples son las que usan operadores relacionales y las complejas las que usan operadores lógicos. Operadores Significado < Menor que > Mayor que = Igual a >= Mayor o igual que <= Menor o igual que <> Distinto o diferente a
  • 21. La instrucción de asignación consiste en dar valor a una variable Los operadores de asignación, son aquellos que nos permiten modificar el valor de una variable, el operador de asignación básico es el 'es igual a' (=), que da el valor que lo sigue a la variable que lo precede: Veamos un ejemplo de una instrucción tonta, que en realidad no hace nada. Algo = algo; Un bloque de asignación se compone de asignaciones, que se encuentran dentro de una asignación superior. De esta forma los bloques de asignación pueden estar por ejemplo dentro de asignaciones de condiciones o dentro de bucles. También todas las asignaciones que están dentro de un subprograma forman un bloque de asignación.
  • 22. Se identifican porque están compuestos únicamente de una condición. La estructura si - entonces evalúa la condición y en tal caso: Si la condición es verdadera, entonces ejecuta la acción Si (o acciones si son varias). Si la condición es falsa, entonces no se hace nada. Español Inglés Si <condición> If <condición> Entonces then <acción Si> <acción Si> fin_si endif
  • 23. Ejemplo • Construir un algoritmo tal, que dado como dato la calificación de un alumno en un examen, escriba "Aprobado" en caso que esa calificación fuese mayor que 8. • Salidas: mensaje de aprobado si se cumple la condición. • Entradas: calificación • Datos adicionales: un alumno aprueba si la calificación es mayor que 8 • Variables: • Cal = calificación • Algoritmo: • Inicio • Leer (cal) • Si cal > 8 entonces • Escribir ("aprobado") • Fin_si • Fin
  • 24. Son estructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. Español Inglés Si <condición> entonces If <condición> then <acción S1> <acción S1> sino else <acción S2> <acción S2> Fin_Si End_if
  • 25. Ejemplo • Dado como dato la calificación de un alumno en un examen, escriba "aprobado" si su calificación es mayor que 8 y "Reprobado" en caso contrario. • Algoritmo: • Inicio • Leer (cal) • Si cal > 8 entonces • Escribir ("aprobado") • Sino • Escribir ("reprobado") • Fin_si • Fin
  • 26. Con frecuencia es necesario que existan más de dos elecciones posibles. Este problema se podría resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el número de alternativas es grande puede plantear serios problemas de escritura y de legibilidad.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. bibliografía • Concepto de algritmo • http://es.wikipedia.org/wiki/Algoritmo • mas sobre algoritmos • http://informaticafrida.blogspot.mx/2009/03/algoritmo.html • definición de algoritmo • http://lilianarosa-lidia.blogspot.mx/2009/08/definicion-e-historia-de-algoritmo.html • análisis de algoritmos • http://es.wikipedia.org/wiki/An%C3%A1lisis_de_algoritmos • tipos de algoritmos • http://www.buenastareas.com/ensayos/Algoritmo-y-Sus-Caracteristicas/1401491.html • mas tipos • http://informatica-umg-vn.blogspot.mx/2011/07/tipos-de-algoritmos-cualitativos-son_22.html • que es el pseudocodigo • http://es.scribd.com/doc/69611351/Que-es-el-Pseudocodigo • características del pseudocodigo • http://informaticadostaxco.blogspot.mx/2011/02/estructuras-de-control-y-pseudocodigo.html • definición pseudo código • http://www.monografias.com/trabajos40/pseudo-codigo/pseudo-codigo.shtml • representaciones de algoritmos. • http://www.slideshare.net/CarlosBez/tutorial-p-seint-15734467 • diagrama de flujo • http://diagramas-de-flujo.wikispaces.com/Diagrama+de+flujo • símbolos del diagrama de flujo • http://www.monografias.com/trabajos59/diagrama-flujo/diagrama-flujo.shtml • http://www.monografias.com/trabajos60/diagrama-flujo-datos/diagrama-flujo-datos2.shtml
  • 32. tipos de datos http://www.slideshare.net/SuperFonso/tipos-de-datos-en-programacion identificadores,constantes y variables http://andresmtzg.wordpress.com/2012/09/27/identificadores-variables-y-constantes/ http://aurea.es/assets/2-tiposdatoslenguajec.pdf operaciones aritméticas http://es.wikipedia.org/wiki/Unidad_aritm%C3%A9tico_l%C3%B3gica http://inginformatica-unprg.blogspot.mx/2008/05/los-operadores-aritmticos.html operaciones aritmético lógicas en pascal https://cursos.aiu.edu/Programacion%20de%20Computadoras/PDF/Tema%203b.pdf expresiones lógicas http://www.oocities.org/ar/luis_pirir/cursos/expresion.htm http://www.carlospes.com/curso_de_algoritmos/05_01_02_expresiones_logicas.php estructuras algorítmicas http://www.mailxmail.com/curso-aprende-programar/tipos-estructuras-selectivas-estructura-simple estructura iterativa http://www.estructurayprogramacion.com/materias/fundamentos-de-programacion/estructuras-iterativas/ bloques de asignación http://es.scribd.com/doc/4750382/PROGRAMACION-CON-ASIGNACIONES asignación http://www.ctr.unican.es/asignaturas/programacion1/cap3-Bloque1-alg-basicos-2en1.pdf pasos para resolver un problema por computadora http://www.slideshare.net/irmacris/tarea-4pasos-para-soluicionar-problemas-por-computador http://kodrs.com/pasos-para-resolver-un-problema-con-la-computadora/ estructuras de for while y repeat http://www.frsn.utn.edu.ar/informatica00/Apuntes/Info_1/cap3_tp.HTM