SlideShare una empresa de Scribd logo
1 de 121
Estimados alumnos, el material que se presenta a continuación
está diseñado para apoyar la asignatura de Fundamentos de
Programación que tienen como objetivo el lograr resolver
problemas simples mediante un programa escrito en algún
lenguaje de programación.
El objetivo general es resolver problemas básicos a través de la
construcción de programas basados en algoritmos.
INTRODUCCION
Presentamos los siguientes ejemplos: Si
alguna vez dimos a una persona
Instrucciones para:
Supongamos que queremos enseñar a una persona a elaborar un sándwich de jamón con queso que
tendríamos que hacer:
Instrucciones para hacer un sándwich
RECETA PARA PREPARAR UNA SANDWICH
Podemos observar que el proceso de elaborar un sándwich es una secuencia de pasos que
se siguen en orden uno tras de otro
CAMBIAR EL FOCO QUEMADO DE UNA LAMPARA
El proceso lo podemos hacer de forma segura de la siguiente manera:
INSTRUCCIONES PARA CAMBIAR EL FOCO QUEMADO DE UNA LAMPARA
CON LAS ESTRUCTURAS DE CONTROL
CONSTRUIMOS LOS PROGRAMAS
Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad, ¿Qué debe
hacer el estudiante?
1. Dormir
2. Hacer 1 hasta que suene el despertador
3. Mirar la hora
4. Hay tiempo suficiente
4.1 Si hay entonces
4.1.1 Bañarse
4.1.2 Vestirse
4.1.3 Desayunar
4.2 Sino
4.2.1 Vestirse
5. Cepillarse los dientes
6. Despedirse de la familia
7. Hay tiempo suficiente?
7.1 Si hay entonces
7.1.1 Caminar al paradero
7.2 Sino
7.2.1 Correr al paradero
8. Hasta que pase un bus para la universidad hacer:
8.1 Esperar el bus
8.2 Ver a las demás personas que esperan un bus
9. Tomar el bus
10. Mientras no llegue a la universidad hacer
10.1 Seguir en el bus
10.2 Leer mis cuadernos
10.3 Utilizar el celular
11. Timbrar
12. Bajarse
13. Entrar a la universidad
INTRODUCCION
ALGORITMOS
Diariamente el ser humano trata de dar solución a cada problema que se le presenta;
algunas veces la solución de éstos se obtiene de seguir una serie de acciones de
manera ordenada, otras veces la solución depende del estado de ánimo de la persona
o de las condiciones de su entorno, mientras que en otras ocasiones no se puede
llegar a solución alguna.
Resolución De Problemas
• Resolver un problemas muchas veces no es trivial, ya que es
necesario comprender qué se quiere resolver, encontrar las
herramientas adecuadas para resolver el problema, y luego
implementar la solución con las herramientas disponibles.
Problema Solución Problema
Resuelto+ =
Muchas veces existe mas de un algoritmo para resolver un problema,
veamos el siguiente ejemplo
EJEMPLO
Deseamos dar al turista las instrucciones para
llegar a la estación del tren: Proponga 2 algoritmos
para el turista
Solucion No 1
EJEMPLO
Deseamos dar al turista las instrucciones para
llegar a la estación del tren: Proponga 2 algoritmos
para el turista
Solucion No 2
Los algoritmos anteriores pueden adopter varias formas, o de hecho algunos pueden o no ser
representados en un programa. El algoritmo del mapa puede ser representado por:
Ejemplos de algoritmos
En cada problema planteado debemos
tomar en cuenta suposiciones.
Las instrucciones del algoritmo deben ser
claras.
Realice la siguiente actividad
Clasificación de los problemas
Tipos de Problemas
Tipos de Problemas
Tipos de Problemas
Un algoritmo lo podemos definir como un conjunto de pasos lógicamente ordenados,
escritos a través de símbolos o en lenguaje natural. Lo podemos comparar con una
receta de cocina, o con las instrucciones para armar un mueble, las instrucciones que
vienen en un manual de un grabador de CD, por mencionar algunos ejemplos. La
diferencia está en la precisión que deben tener cada una de las instrucciones de un
algoritmo. Por ejemplo, no podemos indicar en un algoritmo, agregue sal a gusto, o
apreté esta tuerca pues son indicaciones poco precisas, que no pueden ser traducidas a
una instrucción escrita en un lenguaje de programación.
En el diseño e implementación de los algoritmos debemos indicar agregue 10 grs. de sal,
o apreté esta tuerca dando diez giros a la derecha. Es decir las instrucciones dadas en un
algoritmo deben de ser precisas y no ambiguas
GENERALIDADES
ALGORITMOS
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la
computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de
programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo.
Así, por ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en
español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se
realizarán sin importar el idioma del cocinero.
En la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes
de programación o las computadoras. Un lenguaje de programación es tan sólo un medio para expresar un
algoritmo y una computadora es sólo un procesador para ejecutarlo.
Tanto el lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el
algoritmo se ejecute y se efectúe el proceso correspondiente.
El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la técnica de la
programación. En esencia, la solución de un problema se puede expresar mediante un algoritmo.
CONSIDERACIONES A SEGUIR EN LA ESCRITURA
DE UN ALGORITMO
El sistema para escribir un algoritmo consiste en realizar una descripción paso a paso con un lenguaje
natural del citado algoritmo.
Recordemos que Algoritmo es un método o conjunto de reglas para solucionar un problema, las mismas que
tienen las siguientes propiedades:
 Deben estar seguidas de alguna secuencia definida de pasos hasta que se obtenga un resultado
coherente.
 Solo puede ejecutarse una operación a la vez..
1 2 3
ANALOGIA CON EL COMPUTADOR
ESTRUCTURA BASICA DE UN ALGORITMO
DATOS INSTRUCCIONES ESTRUCTURAS DE CONTROL
Lo que el algoritmo recibe, procesa y
entrega como resultado
Las acciones o procesos que el
algoritmo realiza sobre los datos
Las que determinan el orden en que
se ejecutarán las instrucciones del
algoritmo
Herramientas Algorítmicas
HERRAMIENTAS ALGORITMICAS
Diagramas de
Flujo en FreeDFD
Pseudocódigo
Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el
paso de codificación final relativamente fácil.
El Pseudocódigo nació como un lenguaje similar al lenguaje natural y era un
medio para presentar básicamente las estructuras de control de programación
estructurada.
Se considera un primer borrador, dado que el pseudocódigo tiene que
traducirse posteriormente a un lenguaje de programación.
La ventaja del pseudocódigo es que en su uso en la planificación de un
programa, el programador se puede concentrar en su lógica y en las estructuras
de control y no preocuparse de las reglas de un lenguaje específico.
El pseudocódigo utiliza para representar las acciones sucesivas palabras
reservadas a sus homónimos en los lenguajes de programación, tales como
inicio, fin, si-entonces, mientras…..,etc.
PSEUDOCÓDIGO
• Es una forma de representar un algoritmo, que se acerca a los lenguajes de
programación y con elementos del lenguaje natural.
• El pseudocódigo se compone de:
- Cabecera
- Declaraciones
- Cuerpo
• La cabecera es la parte del algoritmo que posee el nombre de éste.
• Las declaraciones son las variables y constantes que utilizará el algoritmo
para resolver el problema.
• El cuerpo son el conjunto de instrucciones o acciones que están entre el
Inicio y el Fin.
PSEUDOCODIGO
LENGUAJE NATURAL
Problema: Sumar 2 números.
Representación mediante Lenguaje natural:
- Inicio Suma
- Ingresar primer número
- Guardar número en variable a
- Ingresar segundo número
- Guardar número en variable b
- Sumar a y b
- Guardar resultado en R
- Mostrar R
- Fin
• Desventajas:
-Ambiguo
-Extenso
PSEUDOCÓDIGO
• La estructura del pseudocódigo es la siguiente:
• La sección “Proceso SinTitulo” es la cabecera del algoritmo
• La sección “acción 1, acción 1,…” es el cuerpo del algoritmo
• En este caso como utilizaremos el Pseint la sección de declaraciones del
algoritmo no se toma en cuenta, ya que el software se encarga de asignarle
el tipo de dato a cada variable dependiendo del uso que se le dé.
PSEUDOCÓDIGO
• Representación mediante Pseudocódigo:
TIPOS DE
DATOS
NUMÉRICOS
NO NUMÉRICOS
ENTEROS
REALES
ALFANUMÉRICOS
LÓGICO
Tipos de Datos
PSEINT – EXPRESIONES
• Operadores:
PSEINT – EXPRESIONES
• Funciones:
PSEINT – ACCIONES SECUENCIALES
• Asignación: nos permite guardar un valor en una variable.
• c <- 2; por lo tanto c=2.
• Leer: nos permite recibir valores por teclado y guardarlos en variables.
• Leer a; recibe el valor y lo almacena en a.
• Leer a, b, c; recibe 3 valores y los guarda en la variable que
corresponda.
PSEINT – ACCIONES SECUENCIALES
• Escribir: nos permite mostrar en pantalla algún tipo de dato, o varios
separados por ‘,’.
• Escribir ‘hola mundo’;
• Escribir ‘hola mundo’, ‘hola’, 2, c;
EXPRESIONES
EXPRESIONES ARITMETICAS
EJERCICIOS
REGLAS DE PRIORIDAD
EJEMPLOS
EJEMPLOS
EJEMPLOS
EJEMPLOS
X = 5 Y = 9 K = 2 N = 7
Y = ( X + N mod 6 / 3 ) - ( Y * 7 mod K mod ( Y + 8 / 2 + X mod 5)) * X + N
EJEMPLOS
EJEMPLOS
1. Calcular el doble de un número ingresado, a ese resultado calcularle el 10% y mostrar
ese valor
2. Informar en pantalla el promedio de cinco números
3. Resuelva un algoritmo que solucione el problema de calcular el área de un triangulo
con la fórmula: AREA = BASE x ALTURA / 2.
4. Conociendo el valor de la entrada al cine, calcule el monto a pagar para una
delegación de personas. Recuerde que deberá hacer un descuento del 3% por
cantidad.
5. Ingresando la cantidad de un producto y su precio unitario, obtener como resultado el
precio final que debe pagar el cliente.
6. Realizar una aplicación que calcule las cuatro operaciones básicas, suma, resta,
división, multiplicación, con dos números.
7. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deberá pagar finalmente por su compra.
8. Un alumno desea saber cual será su calificación final en la materia de Algoritmos.
Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
9. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres
hay en un grupo de estudiantes.
EJERCICIOS
PROGRAMACION ESTRUCTURADA
1. Realizar una aplicación que calcule las cuatro operaciones básicas, suma, resta,
división, multiplicación, con dos números.
2. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente
desea saber cuanto deberá pagar finalmente por su compra.
3. Un alumno desea saber cual será su calificación final en la materia de
Algoritmos. Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
4. Un maestro desea saber que porcentaje de hombres y que porcentaje de
mujeres hay en un grupo de estudiantes.
Ejercicios
EJERCICIO
Algoritmo que lee dos valores numéricos ‘X’ e ‘Y’, determina si son iguales y,
en caso de no serlo, indica cuál de ellos es el mayor.
Definición del problema
1. Escribir un algoritmo que acepte tres números enteros e imprima el mayor
de ellos
Definición del problema
Identificar menor de dos números o si son iguales
Definición del problema
Suponga que dados cuatros números (a, b, c y d), se desea determinar cual de ellos es el número menor
y mostrar dicho número en pantalla.
Elabore el Algoritmo.
Definición del problema
Ingresar 2 números y verificar si son pares e impares
Definición del problema
Ingresar un numero A y verificar si es divisible para N
Alternativas Multiples
• Cuando existen más de dos alternativas posibles, es cuando se
presenta el caso de alternativas múltiples.
Muchas decisiones deben tomarse, no solo entre dos alternativas, sino de un
conjunto mayor. Estos casos bien pueden solucionarse utilizando condicionales
dobles anidados; sin embargo, en favor de la claridad del algoritmo y la facilidad
para el programador, es mejor utilizar una estructura de decisión múltiple, la cual es
fácil de llevar a un lenguaje de programación, ya que éstos incluyen alguna
instrucción con este fin.
La decisión múltiple determina el valor de una variable y dependiendo de éste sigue
un curso de acción.
Representación
PSEINT – ESTRUCTURAS DE CONTROL
• Segun: es una estructura de control que depende del valor de una variable
de tipo numérica o caracter para ejecutar una secuencia de instrucciones
asociada a ese valor.
• Puede suceder que una secuencia de instrucciones sea común para más de
un valor de la variable numérica, es el caso que se ve en la imagen
siguiente, donde el valor 2 y 3 de la variable numérica lleva a ejecutar una
misma secuencia de instrucciones.
• Cada valor de la variable numérica es una opción que ejecuta una serie de
instrucciones, es por esto que esta instrucción es recomendable para
manejar Menú muy complejos.
PSEINT – ESTRUCTURAS DE CONTROL
• La opción “De otro modo” significa que si la variable numérica toma un
valor que no está en ninguna de las opciones anteriores ejecuta las
instrucciones de esa opción.
• Esta opción es ocupada generalmente para capturar(Catch) errores al
ingresar una opción no disponible y así avisarle al usuario.
• Ej:
Ejercicios
Ejercicios
una distribuidora de motocicletas tiene una promoción de fin de año que consiste en los siguiente. Las
motos marca HONDA tienen un descuento del 5%, las de marca Yamaha del 8% y las Suzuki el 10%, las
de otras marcas el 2%
Definición del problema
Calcular el valor del descuento y el valor a pagar por la motocicleta.
Análisis del problema
Porcentaje descuento = 5% para motos Honda
Porcentaje descuento = 8% para motos Yamaha
Porcentaje descuento = 10% para motos Suzuki
Porcentaje descuento = 2% para motos otras marcas
Datos de entrada: marca, valor
Datos de salida: descuento, valor a pagar
Proceso:
descuento = valor * porcentaje
CASOS GENERALES DE LAS ESTRUCTURAS
REPETITIVAS
CASOS GENERALES DE LAS ESTRUCTURAS
REPETITIVAS
Repetitivas Mientras (WHILE)
Representación
PSEINT – ESTRUCTURAS DE CONTROL
• REPETITIVA:
• Mientras: permite ejecutar una secuencia de instrucciones repetidamente
hasta que la condición no se cumpla.
EJECUCION DE BUCLES 0 VECES
BUCLES INFINITOS
REGLA PRACTICA
TERMINACION DE BUCLES CON DATOS DE ENTRADA
TERMINACION DE BUCLES CON DATOS DE ENTRADA
ESTRUCTURA HACER MIENTRAS DO WHILE
REGLA
ESTRUCTURA HACER MIENTRAS DO WHILE
Repetir Hasta (Until)
Representación
Repetir Hasta (Until)
Repetir Hasta (Until)
CASOS GENERALES DE LAS ESTRUCTURAS
REPETITIVAS
CICLO PARA
Este ciclo, al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a diferencia de
otras instrucciones de repetición, ésta maneja el valor inicial, el valor de incremento o decremento y el valor final de la
variable de control como parte de la instrucción.
Cuando al ejecutarse un algoritmo se encuentra una instrucción para la variable de control (contador) toma el valor inicial, se
verifica que el valor inicial no sobrepase el valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción
fin para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el límite admitido, y se
vuelven a ejecutar las instrucciones que están dentro del ciclo, y así sucesivamente tantas veces como sea necesario hasta
que se supere el valor final establecido.
El ciclo para termina en el momento en que la variable de control (contador) sobrepasa el valor final; es decir, que la igualdad
está permitida y las instrucciones se ejecutan cuando el contador es igual al valor final.
Este ciclo puede presentarse de tres maneras: la primera es la más común, cuando se produce un incremento de 1 en cada
iteración, en cuyo caso no es necesario escribir explícitamente.
ESCRIBIR LOS NUMEROS
DEL1 AL10
ESCRIBIR LOS NUMEROS
DE 5 EN 5
DADO UN NUMERO N, MOSTRAR LOS
MENORES A ESTE EN FORMA
DESCENDENTE
CICLO PARA
EL SOFTWARE (PROGRAMAS)
Las operaciones que debe realizar el hardware son específicas por una lista de instrucciones,
llamadas programas o software. El software se divide en dos grandes grupos: software del
sistema y de aplicaciones
Software de sistema Es el conjunto de programas indispensable para que la máquina funcione,
se domina también programas del sistema. Estos programas son básicamente el Sistema
Operativo, los editores de texto, los compiladores/interpretes (lenguajes de
programación) y los programas de utilidad.
Uno de los programas mas importantes es el Sistema Operativo que sirve, esencialmente para
facilitar la escritura y usos de sus programas. Este dirige las operaciones globales de la
computadores e instruye a la computadora para ejecutar otros programas y controla el
almacenamiento y recuperación de archivos (programas y datos).
Gracias al Sistema Operativo es posible que el programador pueda introducir y grabar nuevos
programas así como instruir a la computadora para que los ejecute.
Los lenguajes de programación sirven para escribir programas que permitan la
comunicación usuario maquina. Unos programas especiales llamados traductores
(compiladores o interpretes) convierten las instrucciones escritas en lenguajes de
programación en instrucciones escritas en lenguajes de maquina que esta pueda
entender.
Los programas de utilidad facilitan el uso de la computadora. Por ejemplo el editor de
textos
Los programas que realizan tareas concretas como nominas, contabilidad análisis
estadístico, etc de denominan programas de aplicación.
LENGUAJE DE MAQUINA
LENGUAJE DE BAJO NIVEL
LENGUAJE DE BAJO NIVEL
LENGUAJE DE ALTO NIVEL
LENGUAJE DE ALTO NIVEL
TRADUCTORES DE LENGUAJE
Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a código de máquina. Los traductores se dividen en: compiladores e interpretes
COMPILADOR
LA COMPILACION Y SUS FASES
La compilación es el proceso de traducción de programas fuente a programas objeto. El
programa objeto obtenido de la compilación ha sido traducido normalmente a código de
máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamando montador o
enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina
directamente ejecutable.
El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un
compilador suele tener los siguientes pasos:
1. Escritura del programa fuente y guardarlo en un dispositivo de almacenamiento
2. Introducir el programa fuente en memoria
3. Compilar el programa con el compilador
4. Verificar y corregir errores de compilación
5. Obtención del programa objeto
6. El enlazador obtiene el programa ejecutable
7. Se ejecuta el programa y se tendrá la salida deseada
EJECUCION DE UN PROGRAMA
FASES DE EJECUCION DE UN PROGRAMA

Más contenido relacionado

La actualidad más candente

ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemasguest796d29
 
Cuadernillo matematicas-9-1 3
Cuadernillo matematicas-9-1 3Cuadernillo matematicas-9-1 3
Cuadernillo matematicas-9-1 3ssuser5dedfa
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractosFernando Solis
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS1002pc3
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigomatteo_ibarguen
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltosRoldan El Gato
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmodayanib
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónAna Ruth G H
 

La actualidad más candente (20)

Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
Recursividad
RecursividadRecursividad
Recursividad
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
Cuadernillo matematicas-9-1 3
Cuadernillo matematicas-9-1 3Cuadernillo matematicas-9-1 3
Cuadernillo matematicas-9-1 3
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Metodologia para el estudio de tiempos
Metodologia para el estudio de tiemposMetodologia para el estudio de tiempos
Metodologia para el estudio de tiempos
 
1. tipos de datos abstractos
1. tipos de datos abstractos1. tipos de datos abstractos
1. tipos de datos abstractos
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
Metodologia jenkins
Metodologia jenkinsMetodologia jenkins
Metodologia jenkins
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Arreglos bidimensionales
Arreglos bidimensionalesArreglos bidimensionales
Arreglos bidimensionales
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
 
Programación 1: cadenas en C
Programación 1: cadenas en CProgramación 1: cadenas en C
Programación 1: cadenas en C
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Modelos matemáticos
Modelos matemáticosModelos matemáticos
Modelos matemáticos
 
Lista de raptor sus comandos y su función
Lista de raptor sus comandos y su funciónLista de raptor sus comandos y su función
Lista de raptor sus comandos y su función
 
Estructura de datos 2 corte
Estructura de datos 2 corteEstructura de datos 2 corte
Estructura de datos 2 corte
 

Similar a Algoritmos

Similar a Algoritmos (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Alg diag
Alg diag Alg diag
Alg diag
 
Rpp
RppRpp
Rpp
 
Alg diag
Alg diagAlg diag
Alg diag
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Alg diag
Alg diagAlg diag
Alg diag
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Conceptos básicos de algorítmica
Conceptos básicos de algorítmicaConceptos básicos de algorítmica
Conceptos básicos de algorítmica
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
algoritmos-.ppt
algoritmos-.pptalgoritmos-.ppt
algoritmos-.ppt
 
Modulo de algoritmo_-_programacion
Modulo de algoritmo_-_programacionModulo de algoritmo_-_programacion
Modulo de algoritmo_-_programacion
 
Mauricio oropeza
Mauricio oropezaMauricio oropeza
Mauricio oropeza
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Programación
ProgramaciónProgramación
Programación
 
PROGRAMACION-copia.pptx
PROGRAMACION-copia.pptxPROGRAMACION-copia.pptx
PROGRAMACION-copia.pptx
 
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptxDAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
DAVID MONTALVO INTRODUCCION A LA PROGRAMACION.pptx
 
Unidad 02 metodología para solucionar un problema
Unidad 02   metodología para solucionar un problemaUnidad 02   metodología para solucionar un problema
Unidad 02 metodología para solucionar un problema
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 

Más de Cesar Oswaldo Osorio Agualongo

Más de Cesar Oswaldo Osorio Agualongo (20)

Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Notas 2 do parcial
Notas 2 do parcialNotas 2 do parcial
Notas 2 do parcial
 
Repaso excel
Repaso excelRepaso excel
Repaso excel
 
Notas 2490
Notas 2490Notas 2490
Notas 2490
 
Notas 2625
Notas 2625Notas 2625
Notas 2625
 
Material iii parcial
Material iii parcialMaterial iii parcial
Material iii parcial
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Material estudio c
Material estudio cMaterial estudio c
Material estudio c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Punteros presentacion
Punteros presentacionPunteros presentacion
Punteros presentacion
 
Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1
 
2do parcial c
2do parcial c2do parcial c
2do parcial c
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
 
Programacion semanal programacion i
Programacion semanal programacion iProgramacion semanal programacion i
Programacion semanal programacion i
 
Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016
 

Último

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 

Último (20)

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 

Algoritmos

  • 1. Estimados alumnos, el material que se presenta a continuación está diseñado para apoyar la asignatura de Fundamentos de Programación que tienen como objetivo el lograr resolver problemas simples mediante un programa escrito en algún lenguaje de programación. El objetivo general es resolver problemas básicos a través de la construcción de programas basados en algoritmos.
  • 2. INTRODUCCION Presentamos los siguientes ejemplos: Si alguna vez dimos a una persona Instrucciones para: Supongamos que queremos enseñar a una persona a elaborar un sándwich de jamón con queso que tendríamos que hacer: Instrucciones para hacer un sándwich
  • 3. RECETA PARA PREPARAR UNA SANDWICH Podemos observar que el proceso de elaborar un sándwich es una secuencia de pasos que se siguen en orden uno tras de otro
  • 4. CAMBIAR EL FOCO QUEMADO DE UNA LAMPARA El proceso lo podemos hacer de forma segura de la siguiente manera:
  • 5. INSTRUCCIONES PARA CAMBIAR EL FOCO QUEMADO DE UNA LAMPARA CON LAS ESTRUCTURAS DE CONTROL CONSTRUIMOS LOS PROGRAMAS
  • 6. Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad, ¿Qué debe hacer el estudiante? 1. Dormir 2. Hacer 1 hasta que suene el despertador 3. Mirar la hora 4. Hay tiempo suficiente 4.1 Si hay entonces 4.1.1 Bañarse 4.1.2 Vestirse 4.1.3 Desayunar 4.2 Sino 4.2.1 Vestirse 5. Cepillarse los dientes 6. Despedirse de la familia 7. Hay tiempo suficiente? 7.1 Si hay entonces 7.1.1 Caminar al paradero 7.2 Sino 7.2.1 Correr al paradero 8. Hasta que pase un bus para la universidad hacer: 8.1 Esperar el bus 8.2 Ver a las demás personas que esperan un bus 9. Tomar el bus 10. Mientras no llegue a la universidad hacer 10.1 Seguir en el bus 10.2 Leer mis cuadernos 10.3 Utilizar el celular 11. Timbrar 12. Bajarse 13. Entrar a la universidad
  • 7. INTRODUCCION ALGORITMOS Diariamente el ser humano trata de dar solución a cada problema que se le presenta; algunas veces la solución de éstos se obtiene de seguir una serie de acciones de manera ordenada, otras veces la solución depende del estado de ánimo de la persona o de las condiciones de su entorno, mientras que en otras ocasiones no se puede llegar a solución alguna.
  • 8. Resolución De Problemas • Resolver un problemas muchas veces no es trivial, ya que es necesario comprender qué se quiere resolver, encontrar las herramientas adecuadas para resolver el problema, y luego implementar la solución con las herramientas disponibles. Problema Solución Problema Resuelto+ = Muchas veces existe mas de un algoritmo para resolver un problema, veamos el siguiente ejemplo
  • 9. EJEMPLO Deseamos dar al turista las instrucciones para llegar a la estación del tren: Proponga 2 algoritmos para el turista Solucion No 1
  • 10. EJEMPLO Deseamos dar al turista las instrucciones para llegar a la estación del tren: Proponga 2 algoritmos para el turista Solucion No 2
  • 11.
  • 12. Los algoritmos anteriores pueden adopter varias formas, o de hecho algunos pueden o no ser representados en un programa. El algoritmo del mapa puede ser representado por:
  • 13. Ejemplos de algoritmos En cada problema planteado debemos tomar en cuenta suposiciones. Las instrucciones del algoritmo deben ser claras. Realice la siguiente actividad
  • 14.
  • 19. Un algoritmo lo podemos definir como un conjunto de pasos lógicamente ordenados, escritos a través de símbolos o en lenguaje natural. Lo podemos comparar con una receta de cocina, o con las instrucciones para armar un mueble, las instrucciones que vienen en un manual de un grabador de CD, por mencionar algunos ejemplos. La diferencia está en la precisión que deben tener cada una de las instrucciones de un algoritmo. Por ejemplo, no podemos indicar en un algoritmo, agregue sal a gusto, o apreté esta tuerca pues son indicaciones poco precisas, que no pueden ser traducidas a una instrucción escrita en un lenguaje de programación. En el diseño e implementación de los algoritmos debemos indicar agregue 10 grs. de sal, o apreté esta tuerca dando diez giros a la derecha. Es decir las instrucciones dadas en un algoritmo deben de ser precisas y no ambiguas GENERALIDADES
  • 20.
  • 21. ALGORITMOS Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se realizarán sin importar el idioma del cocinero. En la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo. Tanto el lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente. El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la técnica de la programación. En esencia, la solución de un problema se puede expresar mediante un algoritmo.
  • 22. CONSIDERACIONES A SEGUIR EN LA ESCRITURA DE UN ALGORITMO El sistema para escribir un algoritmo consiste en realizar una descripción paso a paso con un lenguaje natural del citado algoritmo. Recordemos que Algoritmo es un método o conjunto de reglas para solucionar un problema, las mismas que tienen las siguientes propiedades:  Deben estar seguidas de alguna secuencia definida de pasos hasta que se obtenga un resultado coherente.  Solo puede ejecutarse una operación a la vez..
  • 23.
  • 24. 1 2 3
  • 25. ANALOGIA CON EL COMPUTADOR
  • 26.
  • 27. ESTRUCTURA BASICA DE UN ALGORITMO DATOS INSTRUCCIONES ESTRUCTURAS DE CONTROL Lo que el algoritmo recibe, procesa y entrega como resultado Las acciones o procesos que el algoritmo realiza sobre los datos Las que determinan el orden en que se ejecutarán las instrucciones del algoritmo
  • 30.
  • 31.
  • 32.
  • 34.
  • 35. Pseudocódigo Es un lenguaje de especificación de algoritmos. El uso de tal lenguaje hace el paso de codificación final relativamente fácil. El Pseudocódigo nació como un lenguaje similar al lenguaje natural y era un medio para presentar básicamente las estructuras de control de programación estructurada. Se considera un primer borrador, dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. La ventaja del pseudocódigo es que en su uso en la planificación de un programa, el programador se puede concentrar en su lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico. El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas a sus homónimos en los lenguajes de programación, tales como inicio, fin, si-entonces, mientras…..,etc.
  • 36. PSEUDOCÓDIGO • Es una forma de representar un algoritmo, que se acerca a los lenguajes de programación y con elementos del lenguaje natural. • El pseudocódigo se compone de: - Cabecera - Declaraciones - Cuerpo • La cabecera es la parte del algoritmo que posee el nombre de éste. • Las declaraciones son las variables y constantes que utilizará el algoritmo para resolver el problema. • El cuerpo son el conjunto de instrucciones o acciones que están entre el Inicio y el Fin.
  • 38. LENGUAJE NATURAL Problema: Sumar 2 números. Representación mediante Lenguaje natural: - Inicio Suma - Ingresar primer número - Guardar número en variable a - Ingresar segundo número - Guardar número en variable b - Sumar a y b - Guardar resultado en R - Mostrar R - Fin • Desventajas: -Ambiguo -Extenso
  • 39. PSEUDOCÓDIGO • La estructura del pseudocódigo es la siguiente: • La sección “Proceso SinTitulo” es la cabecera del algoritmo • La sección “acción 1, acción 1,…” es el cuerpo del algoritmo • En este caso como utilizaremos el Pseint la sección de declaraciones del algoritmo no se toma en cuenta, ya que el software se encarga de asignarle el tipo de dato a cada variable dependiendo del uso que se le dé.
  • 44. PSEINT – ACCIONES SECUENCIALES • Asignación: nos permite guardar un valor en una variable. • c <- 2; por lo tanto c=2. • Leer: nos permite recibir valores por teclado y guardarlos en variables. • Leer a; recibe el valor y lo almacena en a. • Leer a, b, c; recibe 3 valores y los guarda en la variable que corresponda.
  • 45. PSEINT – ACCIONES SECUENCIALES • Escribir: nos permite mostrar en pantalla algún tipo de dato, o varios separados por ‘,’. • Escribir ‘hola mundo’; • Escribir ‘hola mundo’, ‘hola’, 2, c;
  • 46.
  • 52.
  • 54.
  • 55.
  • 57.
  • 58. X = 5 Y = 9 K = 2 N = 7 Y = ( X + N mod 6 / 3 ) - ( Y * 7 mod K mod ( Y + 8 / 2 + X mod 5)) * X + N
  • 60.
  • 62. 1. Calcular el doble de un número ingresado, a ese resultado calcularle el 10% y mostrar ese valor 2. Informar en pantalla el promedio de cinco números 3. Resuelva un algoritmo que solucione el problema de calcular el área de un triangulo con la fórmula: AREA = BASE x ALTURA / 2. 4. Conociendo el valor de la entrada al cine, calcule el monto a pagar para una delegación de personas. Recuerde que deberá hacer un descuento del 3% por cantidad. 5. Ingresando la cantidad de un producto y su precio unitario, obtener como resultado el precio final que debe pagar el cliente. 6. Realizar una aplicación que calcule las cuatro operaciones básicas, suma, resta, división, multiplicación, con dos números. 7. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. 8. Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. 9. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. EJERCICIOS
  • 64.
  • 65.
  • 66. 1. Realizar una aplicación que calcule las cuatro operaciones básicas, suma, resta, división, multiplicación, con dos números. 2. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto deberá pagar finalmente por su compra. 3. Un alumno desea saber cual será su calificación final en la materia de Algoritmos. Dicha calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final. 4. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. Ejercicios
  • 67.
  • 68.
  • 69.
  • 71. Algoritmo que lee dos valores numéricos ‘X’ e ‘Y’, determina si son iguales y, en caso de no serlo, indica cuál de ellos es el mayor. Definición del problema 1. Escribir un algoritmo que acepte tres números enteros e imprima el mayor de ellos
  • 72.
  • 73. Definición del problema Identificar menor de dos números o si son iguales Definición del problema Suponga que dados cuatros números (a, b, c y d), se desea determinar cual de ellos es el número menor y mostrar dicho número en pantalla. Elabore el Algoritmo. Definición del problema Ingresar 2 números y verificar si son pares e impares Definición del problema Ingresar un numero A y verificar si es divisible para N
  • 74. Alternativas Multiples • Cuando existen más de dos alternativas posibles, es cuando se presenta el caso de alternativas múltiples. Muchas decisiones deben tomarse, no solo entre dos alternativas, sino de un conjunto mayor. Estos casos bien pueden solucionarse utilizando condicionales dobles anidados; sin embargo, en favor de la claridad del algoritmo y la facilidad para el programador, es mejor utilizar una estructura de decisión múltiple, la cual es fácil de llevar a un lenguaje de programación, ya que éstos incluyen alguna instrucción con este fin. La decisión múltiple determina el valor de una variable y dependiendo de éste sigue un curso de acción.
  • 76. PSEINT – ESTRUCTURAS DE CONTROL • Segun: es una estructura de control que depende del valor de una variable de tipo numérica o caracter para ejecutar una secuencia de instrucciones asociada a ese valor. • Puede suceder que una secuencia de instrucciones sea común para más de un valor de la variable numérica, es el caso que se ve en la imagen siguiente, donde el valor 2 y 3 de la variable numérica lleva a ejecutar una misma secuencia de instrucciones. • Cada valor de la variable numérica es una opción que ejecuta una serie de instrucciones, es por esto que esta instrucción es recomendable para manejar Menú muy complejos.
  • 77. PSEINT – ESTRUCTURAS DE CONTROL • La opción “De otro modo” significa que si la variable numérica toma un valor que no está en ninguna de las opciones anteriores ejecuta las instrucciones de esa opción. • Esta opción es ocupada generalmente para capturar(Catch) errores al ingresar una opción no disponible y así avisarle al usuario. • Ej:
  • 80. una distribuidora de motocicletas tiene una promoción de fin de año que consiste en los siguiente. Las motos marca HONDA tienen un descuento del 5%, las de marca Yamaha del 8% y las Suzuki el 10%, las de otras marcas el 2% Definición del problema Calcular el valor del descuento y el valor a pagar por la motocicleta. Análisis del problema Porcentaje descuento = 5% para motos Honda Porcentaje descuento = 8% para motos Yamaha Porcentaje descuento = 10% para motos Suzuki Porcentaje descuento = 2% para motos otras marcas Datos de entrada: marca, valor Datos de salida: descuento, valor a pagar Proceso: descuento = valor * porcentaje
  • 81.
  • 82.
  • 83. CASOS GENERALES DE LAS ESTRUCTURAS REPETITIVAS
  • 84. CASOS GENERALES DE LAS ESTRUCTURAS REPETITIVAS
  • 87. PSEINT – ESTRUCTURAS DE CONTROL • REPETITIVA: • Mientras: permite ejecutar una secuencia de instrucciones repetidamente hasta que la condición no se cumpla.
  • 90. TERMINACION DE BUCLES CON DATOS DE ENTRADA
  • 91. TERMINACION DE BUCLES CON DATOS DE ENTRADA
  • 92.
  • 93. ESTRUCTURA HACER MIENTRAS DO WHILE REGLA
  • 95.
  • 100.
  • 101. CASOS GENERALES DE LAS ESTRUCTURAS REPETITIVAS
  • 102. CICLO PARA Este ciclo, al igual que los demás, permite ejecutar repetidas veces una instrucción o un grupo de ellas, pero a diferencia de otras instrucciones de repetición, ésta maneja el valor inicial, el valor de incremento o decremento y el valor final de la variable de control como parte de la instrucción. Cuando al ejecutarse un algoritmo se encuentra una instrucción para la variable de control (contador) toma el valor inicial, se verifica que el valor inicial no sobrepase el valor final y luego se ejecutan las instrucciones del ciclo. Al encontrar la instrucción fin para, se produce el incremento y se vuelve a verificar que la variable de control no haya superado el límite admitido, y se vuelven a ejecutar las instrucciones que están dentro del ciclo, y así sucesivamente tantas veces como sea necesario hasta que se supere el valor final establecido. El ciclo para termina en el momento en que la variable de control (contador) sobrepasa el valor final; es decir, que la igualdad está permitida y las instrucciones se ejecutan cuando el contador es igual al valor final. Este ciclo puede presentarse de tres maneras: la primera es la más común, cuando se produce un incremento de 1 en cada iteración, en cuyo caso no es necesario escribir explícitamente. ESCRIBIR LOS NUMEROS DEL1 AL10 ESCRIBIR LOS NUMEROS DE 5 EN 5 DADO UN NUMERO N, MOSTRAR LOS MENORES A ESTE EN FORMA DESCENDENTE
  • 103.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109. EL SOFTWARE (PROGRAMAS) Las operaciones que debe realizar el hardware son específicas por una lista de instrucciones, llamadas programas o software. El software se divide en dos grandes grupos: software del sistema y de aplicaciones Software de sistema Es el conjunto de programas indispensable para que la máquina funcione, se domina también programas del sistema. Estos programas son básicamente el Sistema Operativo, los editores de texto, los compiladores/interpretes (lenguajes de programación) y los programas de utilidad. Uno de los programas mas importantes es el Sistema Operativo que sirve, esencialmente para facilitar la escritura y usos de sus programas. Este dirige las operaciones globales de la computadores e instruye a la computadora para ejecutar otros programas y controla el almacenamiento y recuperación de archivos (programas y datos). Gracias al Sistema Operativo es posible que el programador pueda introducir y grabar nuevos programas así como instruir a la computadora para que los ejecute.
  • 110.
  • 111. Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario maquina. Unos programas especiales llamados traductores (compiladores o interpretes) convierten las instrucciones escritas en lenguajes de programación en instrucciones escritas en lenguajes de maquina que esta pueda entender. Los programas de utilidad facilitan el uso de la computadora. Por ejemplo el editor de textos Los programas que realizan tareas concretas como nominas, contabilidad análisis estadístico, etc de denominan programas de aplicación.
  • 117. TRADUCTORES DE LENGUAJE Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código de máquina. Los traductores se dividen en: compiladores e interpretes
  • 119.
  • 120. LA COMPILACION Y SUS FASES La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente a código de máquina. Para conseguir el programa máquina real se debe utilizar un programa llamando montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable. El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador suele tener los siguientes pasos: 1. Escritura del programa fuente y guardarlo en un dispositivo de almacenamiento 2. Introducir el programa fuente en memoria 3. Compilar el programa con el compilador 4. Verificar y corregir errores de compilación 5. Obtención del programa objeto 6. El enlazador obtiene el programa ejecutable 7. Se ejecuta el programa y se tendrá la salida deseada EJECUCION DE UN PROGRAMA
  • 121. FASES DE EJECUCION DE UN PROGRAMA