SlideShare une entreprise Scribd logo
1  sur  24
REPÚBLICA BOLIVARIANA DE VENEZUELA
UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR
INSTITUTO DE MEJORAMIENTO PROFESIONAL DEL MAGISTERIO
NUCLEO ACADÉMICO PORTUGUESA
Materia: Estructura de Datos y programación I
ALGORITMOS DE PROGRAMACIÓN
Febrero 2017
ALGORITMOS DE PROGRAMACIÓN
Un Algoritmo, se puede definir como una
secuencia de instrucciones que representan un
modelo de solución para determinado tipo de
problemas. O bien como un conjunto de
instrucciones que realizadas en orden conducen a
obtener la solución de un problema. Por lo tanto
podemos decir que es un conjunto ordenado y
finito de pasos que nos permite solucionar 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. El
algoritmo es la infraestructura de cualquier
solución, escrita luego en cualquier lenguaje de
programación.
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.
PARTES DE UN ALGORITMO:
Contenido
Características.
• Variables constantes y expresiones de los
Algoritmos.
• Tipos de Lenguajes Algorítmicos: gráficos y no
gráficos.
• Variable:
– Representa a un dato en particular alojado en la
memoria que es identificado mediante un nombre
(identificador de la variable)
– Las variables pueden ser de tipo:
• Numérico
• Carácter
• Lógico
• Reglas para los nombres (identificadores) de las
variables:
– Debe iniciar con una letra del alfabeto, mayúscula o
minúscula.
– No debe tener espacios en blanco. En su lugar puede usar
el símbolo guión bajo ( _ ) para separar nombres largos.
– Puede incluir números, siempre que no se presenten al
principio del nombre.
– Los nombres de variables son sensibles a mayúsculas o
minúsculas. Es decir, aunque un identificador tenga el
mismo nombre que otro, el orden y uso de mayúsculas los
haría diferentes.
Variables, constantes y expresiones … (7)
• Algoritmo para el primer ejemplo:
1. Iniciar
2. Escribir en pantalla un mensaje solicitando al usuario que
introduzca su nombre
3. Asignar el dato leído en la variable nombre_usuario
4. Escribir en pantalla el mensaje “hola, bienvenido ”
seguido de lo almacenado en nombre_usuario
5. Finalizar
• Constantes:
– Al valor que se le asigna al inicio del algoritmo a
un identificador y permanece sin cambios en todo
el cuerpo del algoritmo se le denomina constante.
– Por ejemplo: el valor de pi, el número de días de la
semana, etc.
– Las reglas que aplican para los nombres de las
variables son los mismos que aplican para los
nombres de las constantes.
• La manipulación de variables y constantes nos conduce a un
nuevo concepto: expresiones. Las expresiones son una forma
de describir las siguientes acciones:
– Operaciones de cálculo aritmético
• Son instrucciones que implican el uso de operadores
aritméticos (suma, resta, multiplicación, división, etc.)
para realizar operaciones matemáticas y cuyo resultado
se puede o no asignar a una variable
– Operaciones lógicas
• Corresponden a instrucciones donde comparamos
valores, variables, constantes o resultados de
operaciones de cálculo para saber si son iguales,
diferentes, si uno es mayor a otro, etc.
– Operaciones de asignación
• Corresponde a instrucciones en donde una variable o
constante: 1) recibe un valor directamente, 2) recibe
datos almacenados en otro identificador, 3) recibe el
resultado de una operación de cálculo, o 4) recibe el
resultado de una operación lógica
• Las expresiones u operaciones de asignación, establecen el
valor que toma una variable o constante.
• Ejemplos:
– nombre_usuario = “Roberto”
– edad = 25
– estatura_metros = 1.70
– pi = 3.1416
– edad_nueva = edad
• En los ejemplos anteriores debemos advertir dos cosas:
1. La asignación siempre se realiza de derecha (dato) a
izquierda (nombre de la variable).
2. Una vez asignado un valor a una variable por primera vez,
dicha variable solo aceptará datos del mismo tipo
• Las siguientes expresiones u operaciones de asignación NO SON
CORRECTAS:
– “Roberto” = nombre_usuario NO ES CORRECTO
– 25 = edad NO ES CORRECTO
y
– edad = edad_nueva NO SIGNIFICA LO MISMO QUE edad_nueva = edad
• Si una variable se inicializa con un dato de tipo carácter, sería un ERROR
asignarle posteriormente un dato de tipo numérico y viceversa. Sin
embargo, hay que tomar en cuenta que una variable a la que se le
asignó un valor numérico se comportará de la siguiente manera:
– Si se asignó por primera vez un valor de tipo numérico entero, entonces:
• edad = 23.5 ES CORRECTO, PERO EL VALOR ALMACENADO SERÁ 23
– Si se asigno por primera vez un valor de tipo numérico real, entonces:
• estatura_metros = 2 ES CORRECTO, PERO EL VALOR ALMACENADO SERÁ 2.0
• Las operaciones de cálculo aritmético que solo
involucran enteros dan como resultado un entero:
– Suma = 1 + 1
– Res_prod = 2 * 4
– Res_division = 9 / 2 (aquí el resultado es 4)
• Las operaciones de cálculo aritmético que
involucren al menos un dato real darán como
resultado un real:
– Suma_r = 1.0 + 2 + 1
– Res_prod_r = 2.5 * 2
– Res_div_r = 9.0 / 2 (aquí el resultado es 4.5)
• Operadores aritméticos y sus reglas de
prioridad:
cantidad = 2 + 1 * 3 ¿el resultado es 9 o 5 ?
• Cuál es el resultado de las siguientes
expresiones de cálculo aritmético?:
– cantidad2 = -3 * 1 + 7
– cantidad3 = 12 - 2 / 2 + 3
– cantidad4 = 2 + 2 * 4 / 2
– cantidad3_A = (12 - 2)/(2 + 3)
– cantidad3_B = 12 - ((2/2)+ 3)
• Las operaciones de cálculo aritmético generalmente están expresadas
en los libros usando una notación algebraica, debemos reescribir estas
operaciones de forma algorítmica para poder utilizarlas.
Tipos de Algoritmos
GRÁFICOS: son la representación gráfica de las operaciones que
realiza un algoritmo (diagrama de flujo).
El diagrama de flujo se caracteriza por la forma detallada como representa
de forma gráfica los pasos a seguir para encontrar la solución del problema
propuesto.
La representación gráfica se da por medio de varios símbolos(cada uno con
su propósito establecido ), que unidos entre si, indican el orden en el que se
debe dar el proceso.
NO GRÁFICOS: representan en forma descriptiva las operaciones que
debe realizar un algoritmo(pseudocòdigo).
INICIO
Edad:Entero
ESCRIBA"cual es tu edad?"
lea Edad
SI Edad>=18 entonces
ESCRIBA "Eres mayor de Edad"
FINSI
ESCRIBA "fin del algoritmo "
FIN
El pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el
lenguaje de programación, su característica principal es el de representar
la solución de forma mas detallada y lo mas parecida al lenguaje, para que
posteriormente se pueda codificar.
otras características son:
Se puede ejecutar en un ordenador.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje del programación que se vaya a utilizar.
Método que facilita la programación y solución al algoritmo del programa.
Técnicas de diseño de algoritmos de
programación, el Top Down y el Bottom Up.
Top Down
También conocida como de arriba-abajo y consiste en establecer una
serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al
problema. Consiste en efectuar una relación entre las etapas de la estructuración
de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante
entradas y salidas de información. Este diseño consiste en una serie de
descomposiciones sucesivas del problema inicial, que recibe el refinamiento
progresivo del repertorio de instrucciones que van a formar parte del programa.
La utilización de la técnica de diseño Top-Down tiene los siguientes
objetivos básicos:
Simplificación del problema y de los subprogramas de cada descomposición.
Las diferentes partes del problema pueden ser programadas de modo
independiente e incluso por diferentes personas.
El programa final queda estructurado en forma de bloque o módulos lo que hace
mas sencilla su lectura y mantenimiento.
Bottom Up
El diseño ascendente se refiere a la identificación de aquellos procesos
que necesitan computarizarse con forme vayan apareciendo, su análisis como
sistema y su codificación, o bien, la adquisición de paquetes de software para
satisfacer el problema inmediato.
Cuando la programación se realiza internamente y haciendo un enfoque
ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el
desempeño global, sea fluido. Los problemas de integración entre los subsistemas
son sumamente costosos y muchos de ellos no se solucionan hasta que la
programación alcanza la fecha limite para la integración total del sistema. En esta
fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los
usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se
ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se
contempla al sistema como una entidad global, adolece de ciertas limitaciones por
haber tomado un enfoque ascendente.
Uno de ellos es la duplicación de esfuerzos para acceder el software y
mas aún al introducir los datos.
Otro es, que se introducen al sistema muchos datos carentes de valor.
Un tercero y tal vez el mas serio inconveniente delenfoque ascendente, es que los
objetivos globales de la organización no fueron considerados y en consecuencia no
se satisfacen.

Contenu connexe

Tendances

3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y ExpresionesYenny Salazar
 
Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorROBINSON AUGUSTO AVILA OLIVEROS
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractascodigosyalgomas
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Metodos de desarrollo de software educativo
Metodos de desarrollo de software educativoMetodos de desarrollo de software educativo
Metodos de desarrollo de software educativoSaturnino Delgado
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiraljuanksi28
 
Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Enmanuel Cubillan León
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos TiffanyMartinez
 
IEEE 610 and IEEE 1002
IEEE 610 and IEEE 1002IEEE 610 and IEEE 1002
IEEE 610 and IEEE 1002Luis Pastén
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficaAnel Sosa
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POOgueritamala
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Joseluis Cruz Ramirez
 
Diseño algorítmico
Diseño algorítmicoDiseño algorítmico
Diseño algorítmicooviedospablo
 
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
 

Tendances (20)

3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones3.3.- Operadores y Expresiones
3.3.- Operadores y Expresiones
 
Pasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computadorPasos para la solucion de problemas en programas del computador
Pasos para la solucion de problemas en programas del computador
 
Polimorfismo y Clases Abstractas
Polimorfismo y Clases AbstractasPolimorfismo y Clases Abstractas
Polimorfismo y Clases Abstractas
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Diseño y elaboración de algoritmos
Diseño y elaboración de algoritmosDiseño y elaboración de algoritmos
Diseño y elaboración de algoritmos
 
Conociendo a BlueJ
Conociendo a BlueJConociendo a BlueJ
Conociendo a BlueJ
 
Presentación poo
Presentación pooPresentación poo
Presentación poo
 
Metodos de desarrollo de software educativo
Metodos de desarrollo de software educativoMetodos de desarrollo de software educativo
Metodos de desarrollo de software educativo
 
Modelo Cascada y Espiral
Modelo Cascada y EspiralModelo Cascada y Espiral
Modelo Cascada y Espiral
 
Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).Metodología J. Llorens Fabregas - Version Final (Corta).
Metodología J. Llorens Fabregas - Version Final (Corta).
 
diapositivas algoritmos
diapositivas algoritmos diapositivas algoritmos
diapositivas algoritmos
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
IEEE 610 and IEEE 1002
IEEE 610 and IEEE 1002IEEE 610 and IEEE 1002
IEEE 610 and IEEE 1002
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Principios del RUP
Principios del RUPPrincipios del RUP
Principios del RUP
 
Fundamentos de POO
Fundamentos de POOFundamentos de POO
Fundamentos de POO
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
 
Diseño algorítmico
Diseño algorítmicoDiseño algorítmico
Diseño algorítmico
 
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
 

En vedette

metodología de solución de problemas
metodología de solución de problemasmetodología de solución de problemas
metodología de solución de problemasdany3112lopez
 
Ejercicios algoritmos
Ejercicios algoritmosEjercicios algoritmos
Ejercicios algoritmosvikyiz
 
Ejercicios Algoritmos
Ejercicios AlgoritmosEjercicios Algoritmos
Ejercicios AlgoritmosAgus Marquez
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmosnunez0150
 
programacion lineal con analisis de sensibilidad
programacion lineal con analisis de sensibilidadprogramacion lineal con analisis de sensibilidad
programacion lineal con analisis de sensibilidadsmalicett
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion Linealmarthyn1989
 
Logaritmos
LogaritmosLogaritmos
LogaritmosEPFAA
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y SolucionesVideoconferencias UTPL
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Operaciones con logaritmos
Operaciones con logaritmosOperaciones con logaritmos
Operaciones con logaritmosjcremiro
 

En vedette (11)

metodología de solución de problemas
metodología de solución de problemasmetodología de solución de problemas
metodología de solución de problemas
 
Ejercicios algoritmos
Ejercicios algoritmosEjercicios algoritmos
Ejercicios algoritmos
 
Ejercicios Algoritmos
Ejercicios AlgoritmosEjercicios Algoritmos
Ejercicios Algoritmos
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
programacion lineal con analisis de sensibilidad
programacion lineal con analisis de sensibilidadprogramacion lineal con analisis de sensibilidad
programacion lineal con analisis de sensibilidad
 
Programacion Lineal
Programacion LinealProgramacion Lineal
Programacion Lineal
 
Metodo De Transporte & Transbordo
Metodo De Transporte & TransbordoMetodo De Transporte & Transbordo
Metodo De Transporte & Transbordo
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Operaciones con logaritmos
Operaciones con logaritmosOperaciones con logaritmos
Operaciones con logaritmos
 

Similaire à Algoritmos (20)

Estructuras de un Algoritmo
Estructuras de un AlgoritmoEstructuras de un Algoritmo
Estructuras de un Algoritmo
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
algortimos
algortimosalgortimos
algortimos
 
Etapas del desarrolo de un programa
Etapas del desarrolo de un programaEtapas del desarrolo de un programa
Etapas del desarrolo de un programa
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
ALGORITMOS DE PROGRAMACION (1).pdf
ALGORITMOS DE PROGRAMACION (1).pdfALGORITMOS DE PROGRAMACION (1).pdf
ALGORITMOS DE PROGRAMACION (1).pdf
 
Video Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia AbiertaVideo Primer Bimestre Metodologia Abierta
Video Primer Bimestre Metodologia Abierta
 
Algoritmos2daparte
Algoritmos2daparteAlgoritmos2daparte
Algoritmos2daparte
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.pptUnidad 1 Introducción a los Algoritmos.ppt
Unidad 1 Introducción a los Algoritmos.ppt
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmos
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
ESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICASESTRUCTURAS BÁSICAS
ESTRUCTURAS BÁSICAS
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
Mod 2 algoritmos
Mod 2 algoritmosMod 2 algoritmos
Mod 2 algoritmos
 
Tecno
TecnoTecno
Tecno
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 

Dernier

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 

Dernier (15)

CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Algoritmos

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA UNIVERSIDAD PEDAGÓGICA EXPERIMENTAL LIBERTADOR INSTITUTO DE MEJORAMIENTO PROFESIONAL DEL MAGISTERIO NUCLEO ACADÉMICO PORTUGUESA Materia: Estructura de Datos y programación I ALGORITMOS DE PROGRAMACIÓN Febrero 2017
  • 3. Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar 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. El algoritmo es la infraestructura de cualquier solución, escrita luego en cualquier lenguaje de programación.
  • 4. 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. PARTES DE UN ALGORITMO:
  • 5. Contenido Características. • Variables constantes y expresiones de los Algoritmos. • Tipos de Lenguajes Algorítmicos: gráficos y no gráficos.
  • 6. • Variable: – Representa a un dato en particular alojado en la memoria que es identificado mediante un nombre (identificador de la variable) – Las variables pueden ser de tipo: • Numérico • Carácter • Lógico
  • 7. • Reglas para los nombres (identificadores) de las variables: – Debe iniciar con una letra del alfabeto, mayúscula o minúscula. – No debe tener espacios en blanco. En su lugar puede usar el símbolo guión bajo ( _ ) para separar nombres largos. – Puede incluir números, siempre que no se presenten al principio del nombre. – Los nombres de variables son sensibles a mayúsculas o minúsculas. Es decir, aunque un identificador tenga el mismo nombre que otro, el orden y uso de mayúsculas los haría diferentes.
  • 8. Variables, constantes y expresiones … (7) • Algoritmo para el primer ejemplo: 1. Iniciar 2. Escribir en pantalla un mensaje solicitando al usuario que introduzca su nombre 3. Asignar el dato leído en la variable nombre_usuario 4. Escribir en pantalla el mensaje “hola, bienvenido ” seguido de lo almacenado en nombre_usuario 5. Finalizar
  • 9. • Constantes: – Al valor que se le asigna al inicio del algoritmo a un identificador y permanece sin cambios en todo el cuerpo del algoritmo se le denomina constante. – Por ejemplo: el valor de pi, el número de días de la semana, etc. – Las reglas que aplican para los nombres de las variables son los mismos que aplican para los nombres de las constantes.
  • 10. • La manipulación de variables y constantes nos conduce a un nuevo concepto: expresiones. Las expresiones son una forma de describir las siguientes acciones: – Operaciones de cálculo aritmético • Son instrucciones que implican el uso de operadores aritméticos (suma, resta, multiplicación, división, etc.) para realizar operaciones matemáticas y cuyo resultado se puede o no asignar a una variable – Operaciones lógicas • Corresponden a instrucciones donde comparamos valores, variables, constantes o resultados de operaciones de cálculo para saber si son iguales, diferentes, si uno es mayor a otro, etc. – Operaciones de asignación • Corresponde a instrucciones en donde una variable o constante: 1) recibe un valor directamente, 2) recibe datos almacenados en otro identificador, 3) recibe el resultado de una operación de cálculo, o 4) recibe el resultado de una operación lógica
  • 11. • Las expresiones u operaciones de asignación, establecen el valor que toma una variable o constante. • Ejemplos: – nombre_usuario = “Roberto” – edad = 25 – estatura_metros = 1.70 – pi = 3.1416 – edad_nueva = edad • En los ejemplos anteriores debemos advertir dos cosas: 1. La asignación siempre se realiza de derecha (dato) a izquierda (nombre de la variable). 2. Una vez asignado un valor a una variable por primera vez, dicha variable solo aceptará datos del mismo tipo
  • 12. • Las siguientes expresiones u operaciones de asignación NO SON CORRECTAS: – “Roberto” = nombre_usuario NO ES CORRECTO – 25 = edad NO ES CORRECTO y – edad = edad_nueva NO SIGNIFICA LO MISMO QUE edad_nueva = edad • Si una variable se inicializa con un dato de tipo carácter, sería un ERROR asignarle posteriormente un dato de tipo numérico y viceversa. Sin embargo, hay que tomar en cuenta que una variable a la que se le asignó un valor numérico se comportará de la siguiente manera: – Si se asignó por primera vez un valor de tipo numérico entero, entonces: • edad = 23.5 ES CORRECTO, PERO EL VALOR ALMACENADO SERÁ 23 – Si se asigno por primera vez un valor de tipo numérico real, entonces: • estatura_metros = 2 ES CORRECTO, PERO EL VALOR ALMACENADO SERÁ 2.0
  • 13. • Las operaciones de cálculo aritmético que solo involucran enteros dan como resultado un entero: – Suma = 1 + 1 – Res_prod = 2 * 4 – Res_division = 9 / 2 (aquí el resultado es 4) • Las operaciones de cálculo aritmético que involucren al menos un dato real darán como resultado un real: – Suma_r = 1.0 + 2 + 1 – Res_prod_r = 2.5 * 2 – Res_div_r = 9.0 / 2 (aquí el resultado es 4.5)
  • 14. • Operadores aritméticos y sus reglas de prioridad: cantidad = 2 + 1 * 3 ¿el resultado es 9 o 5 ?
  • 15. • Cuál es el resultado de las siguientes expresiones de cálculo aritmético?: – cantidad2 = -3 * 1 + 7 – cantidad3 = 12 - 2 / 2 + 3 – cantidad4 = 2 + 2 * 4 / 2 – cantidad3_A = (12 - 2)/(2 + 3) – cantidad3_B = 12 - ((2/2)+ 3)
  • 16. • Las operaciones de cálculo aritmético generalmente están expresadas en los libros usando una notación algebraica, debemos reescribir estas operaciones de forma algorítmica para poder utilizarlas.
  • 17.
  • 18.
  • 19. Tipos de Algoritmos GRÁFICOS: son la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo). El diagrama de flujo se caracteriza por la forma detallada como representa de forma gráfica los pasos a seguir para encontrar la solución del problema propuesto. La representación gráfica se da por medio de varios símbolos(cada uno con su propósito establecido ), que unidos entre si, indican el orden en el que se debe dar el proceso.
  • 20.
  • 21. NO GRÁFICOS: representan en forma descriptiva las operaciones que debe realizar un algoritmo(pseudocòdigo). INICIO Edad:Entero ESCRIBA"cual es tu edad?" lea Edad SI Edad>=18 entonces ESCRIBA "Eres mayor de Edad" FINSI ESCRIBA "fin del algoritmo " FIN El pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el lenguaje de programación, su característica principal es el de representar la solución de forma mas detallada y lo mas parecida al lenguaje, para que posteriormente se pueda codificar. otras características son: Se puede ejecutar en un ordenador. Facilita el paso del programa al lenguaje de programación. Es independiente del lenguaje del programación que se vaya a utilizar. Método que facilita la programación y solución al algoritmo del programa.
  • 22. Técnicas de diseño de algoritmos de programación, el Top Down y el Bottom Up.
  • 23. Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos: Simplificación del problema y de los subprogramas de cada descomposición. Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas. El programa final queda estructurado en forma de bloque o módulos lo que hace mas sencilla su lectura y mantenimiento.
  • 24. Bottom Up El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha limite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aún al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el mas serio inconveniente delenfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen.