0% encontró este documento útil (0 votos)
97 vistas117 páginas

ALGORITMOS

Este documento presenta información sobre algoritmos y programación. Explica que los algoritmos son secuencias de pasos para resolver problemas y que las estructuras de control son importantes para construir programas. También introduce conceptos como entrada, salida, proceso y diferentes tipos de problemas. Finalmente, describe herramientas como diagramas de flujo, pseudocódigo y el lenguaje Pseint que pueden usarse para diseñar algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
97 vistas117 páginas

ALGORITMOS

Este documento presenta información sobre algoritmos y programación. Explica que los algoritmos son secuencias de pasos para resolver problemas y que las estructuras de control son importantes para construir programas. También introduce conceptos como entrada, salida, proceso y diferentes tipos de problemas. Finalmente, describe herramientas como diagramas de flujo, pseudocódigo y el lenguaje Pseint que pueden usarse para diseñar algoritmos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

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
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
ENTRADA
SALIDA
PROCESO
Clasificación de los problemas
Tipos de Problemas
Tipos de Problemas
Tipos de Problemas
INTRODUCCIÓN
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.
GENERALIDADES

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
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..
En un algoritmo se deben de considerar tres partes:
- Entrada: Información dada al algoritmo.
- Proceso: Operaciones o cálculos necesarios para encontrar la solución
del problema.
- Salida: Respuestas dadas por el algoritmo o resultados
Finales de los procesos realizados.

Como ejemplo supongamos que desea desarrollar un algoritmo que


calcule la superficie de un rectángulo proporcionándole su base y altura.
Lo primero que debemos hacer es plantearnos las siguientes preguntas:

Especificaciones de entrada Especificaciones de salida


¿Que datos son de entrada? ¿Cuáles son los datos de salida?

El algoritmo que podemos utilizar es el siguiente:


Paso 1. Entrada desde el teclado, de los datos de base y altura.
Paso 2. Cálculo de la superficie, multiplicando la base por la altura.
Paso 3. Salida por pantalla de base, altura y superficie calculada.
1 2 3
ANALOGIA CON EL COMPUTADOR
ESTRUCTURA BASICA DE UN ALGORITMO

DATOS INSTRUCCIONES ESTRUCTURAS DE CONTROL


Lo que el algoritmo recibe, procesa Las acciones o procesos que el Las que determinan el orden en que
y entrega como resultado algoritmo realiza sobre los datos se ejecutarán las instrucciones del
algoritmo
¿Existe Un Único Algoritmo
Solución?
• No existe un algoritmo "único" de solución para un problema dado.

• Esto de ninguna manera quiere decir que estos algoritmos distintos


producen soluciones distintas.

• Aunque los algoritmos sean distintos, todos ellos pueden ofrecer el mismo
resultado de solución.
Herramientas Algorítmicas
HERRAMIENTAS ALGORITMICAS
Diagramas de
Flujo en FreeDFD
Ejemplo : Cree un algoritmos donde una persona ingrese su edad y muestre por pantalla
si es mayor de edad.
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

ENTEROS
NUMÉRICOS
REALES

TIPOS DE
DATOS
ALFANUMÉRICOS

NO NUMÉRICOS

LÓGICO
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
EJEMPLOS
EJEMPLOS
EJERCICIOS
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.
PROGRAMACION ESTRUCTURADA
Ejercicios

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.
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
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

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.
Alternativas Multiples
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.

• Cuando existen más de dos alternativas posibles, es cuando se


presenta el caso de alternativas múltiples.
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

Valor neto = valor - descuento


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)
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 ESCRIBIR LOS NUMEROS DADO UN NUMERO N, MOSTRAR LOS
DEL1 AL10 MENORES A ESTE EN FORMA
DE 5 EN 5
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.
PROGRAMA
LENGUAJES DE PROGRAMACION
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

También podría gustarte