Algoritmos

Page 1

TEORIA SOBRE ALGORITMOS (Parte I) Introducción El computador no solamente es una máquina que puede realizar procesos para darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza para llegar a esos resultados. Con el computador también podemos diseñar soluciones a la medida, de problemas específicos que se nos presenten. Más aún, si estos involucran operaciones matemáticas complejas y/o repetitivas, o requieren del manejo de un volumen muy grande de datos. A las soluciones creadas por computador se les conoce como programas y no son más que una serie de operaciones que realiza el computador para llegar a un resultado, con un grupo de datos específicos. Por lo anterior podemos decir que un programa es el conjunto de instrucciones escritas de algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema específico. Para poder realizar programas, además de conocer la metodología para solucionar problemas, también debemos conocer, de manera específica las funciones que puede realizar el computador y las formas en que se pueden manejar los elementos que hay en el mismo. El procesamiento de información en el computador puede representarse así:

Datos de entrada

Proceso

Salida


1. Metodología para la solución de problemas por medio de computador:  Definición del Problema: Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa. Es importante que se conozca lo que se desea que realice el computador; mientras esto no se conozca del todo, no tiene mucho caso continuar con la siguiente etapa.  Análisis del Problema: Una vez que se ha comprendido lo que se desea de la PC, es necesario definir:  Los datos de entrada.  La información que se desea producir (salida)  Los métodos y fórmulas que se necesitan para procesar los datos.  Diseño del Algoritmo: Consiste en diseñar la serie de pasos organizados que describe el proceso que se debe seguir, para dar solución al problema específico. Las características de un buen algoritmo son:  Debe tener un punto particular de inicio.  Debe ser definido, no debe permitir dobles interpretaciones.  Debe ser general, soportar las variantes que se puedan presentar en la definición del problema.  Debe ser finito en tamaño y tiempo de ejecución.  Codificación: Es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas (código fuente), en un lenguaje reconocible por el computador (lenguaje de programación de alto nivel).  Prueba y Depuración: Los errores humanos dentro de la programación del computador son muchos y aumentan considerablemente con la complejidad del problema. El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración.  Documentación: Es la guía o comunicación escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento).  Mantenimiento: Se lleva a cabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizarlo se requiere que el programa este correctamente documentado.


2. Lenguajes de programación: 2.1. Lenguaje: Es una serie de símbolos que sirven para transmitir uno o más mensajes (ideas) entre dos entidades diferentes. A la transmisión de mensajes se le conoce comúnmente como comunicación. La comunicación es un proceso complejo que requiere una serie de reglas simples, pero indispensables para poderse llevar a cabo. Las dos principales reglas son:  Los mensajes deben correr en un sentido a la vez.  Deben existir 4 elementos: emisor, receptor, medio de comunicación y mensaje. 2.2. Lenguaje de Programación: Es un conjunto de símbolos, caracteres y reglas que le permiten a las personas comunicarse con el computador. Los lenguajes de programación tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada/salida, cálculo, manipulación de textos, lógica/comparación y almacenamiento/recuperación. Los lenguajes de programación se clasifican en:

Lenguaje de Máquina Lenguaje de Bajo Nivel Lenguaje de Alto Nivel


Ventaja Ventaja

No es tan difícil como el lenguaje máquina.

Son independientes de cada máquina (los compiladores aceptan las instrucciones estándar, pero también tienen instrucciones propias).

Cada máquina tiene su propio lenguaje, necesitamos un proceso de traducción.

El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos internos.

Desventaja

Lenguaje de Alto Nivel: Visual Basic, C++, Cobol, JAVA etc. Las instrucciones son escritas con palabras similares a los lenguajes humanos (en general en inglés), lo que facilita la escritura y comprensión del programa.

Ventaja

La dificultad, la confusión, para corregir errores, es propia de cada máquina.

Desventaja

Lenguaje de Bajo Nivel: Ensamblador. Las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos para las operaciones y direcciones simbólicas.

No necesita ser traducido.

Desventaja

Lenguaje de Máquina: Sus instrucciones son directamente entendibles por el computador y no necesitan traducción para que la CPU pueda comprenderlas y ejecutarlas. Las instrucciones se expresan en términos de la unidad de memoria más pequeña: el bit (dígito binario 0 o 1).


3. Traductores de lenguaje: Los traductores de lenguajes son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en Compiladores e Intérpretes.

3.1. Intérpretes: Un intérprete es un traductor que toma un programa fuente escrito en un lenguaje de alto nivel, lo traduce y lo ejecuta a medida que lo traduce. Es decir, el interpretador toma cada línea del programa, la traduce, la ejecuta y continúa con la siguiente hasta terminar. Un lenguaje que soporta un traductor de tipo intérprete se denomina lenguaje interpretado.

3.2. Compiladores: Un compilador es un programa que traduce un programa fuente escrito en lenguaje de alto nivel a lenguaje de máquina. El programa escrito en lenguaje de alto nivel se llama programa fuente y el programa traducido se llama programa objeto o código objeto. El compilador traduce todo el programa fuente sin ejecutarlo; luego de la traducción la ejecución puede realizarse. Lenguajes compilados típicos son: PASCAL, COBOL y C.

Fases de la compilación: El programa objeto obtenido de la compilación no ha sido traducido a código máquina sino a ensamblador. Para conseguir el programa de máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable.


Por ejemplo, la compilación y ejecución de un Programa en C++ tiene los siguientes pasos: 1. Escritura del programa fuente con un editor (programa que permite a un computador actuar como una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (un disco). 2. Introducir el programa fuente en memoria. 3. Compilar el programa con el compilador C++. 4. Verificar y corregir errores de compilación (listado de errores). 5. Obtención del programa objeto. 6. El montador obtiene el programa ejecutable. 7. Se ejecuta el programa y si no existen errores, se tendrán las salidas.


Proceso de traducción y ejecución de un programa escrito en un lenguaje a alto nivel: Usamos un editor y obtenemos el programa fuente, y el compilador es el que traduce el programa al lenguaje máquina. El compilador internamente ha sido diseñado para traducir.     

El compilador obtiene el programa o el archivo objeto. El compilador tiene que buscar los errores. Normalmente no sale un ejecutable, sino que necesita elementos, librerías… Mediante un linkador (enlazador) juntamos el programa objeto y las librerías, y se forma un programa ejecutable. Cuando se ejecuta el programa, el cargador lleva al programa a memoria para que éste pueda ser ejecutable. Debbuger: Depura el programa ejecutándolo paso a paso, viendo la memoria paso a paso para encontrar el error. Programa fuente (Editor)

Para traducir puedo utilizar el compilador o un intérprete, con el compilador tomo todo el programa al completo y el intérprete lee cada instrucción y lo va ejecutando. El intérprete es más rápido, pero menos eficiente. Todos los lenguajes tienen compiladores, pero no todos tienen intérpretes.

Compilador

Error

Programa Objeto

Librerías

Linkador (Enlazador)

Ejecutables


4. Programas y algoritmos: 4.1. Programa: Un programa de computador es un conjunto de instrucciones (órdenes dadas a la máquina) que producirán la ejecución de una determinada tarea. En esencia, un programa es un medio para conseguir un fin. El fin será definido como la información necesaria para solucionar un problema.

4.2. Algoritmo: La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. Los algoritmos pueden ser de dos tipos:  Cualitativos: Se describen los pasos utilizando palabras.  Cuantitativos: Se utilizan cálculos numéricos para definir los pasos del proceso. Características: - Tiene que ser preciso. - Tiene que estar bien definido. - Tiene que ser finito. La programación es adaptar el algoritmo al computador. El algoritmo es independiente según donde lo implemente. 4.3. Lenguajes Algorítmicos: Están conformados por una serie de símbolos y reglas usadas para describir los procesos. Los lenguajes algorítmicos pueden ser:  No gráficos: Pseudocódigo. Representan en forma descriptiva los pasos que debe realizar un algoritmo para solucionar el problema. El pseudocódigo es una mezcla de lenguaje de programación y

INICIO LEA N SI N>5 ENTONCES ESCRIBA “MAYOR” FSI FIN


Español (o cualquier otro idioma) que se emplea, en programación estructurada, para realizar el pre-diseño de un programa. El pseudocódigo usa palabras que indican cada paso del proceso a realizar. INICIO  Gráficos: Diagrama de flujo. Representan gráficamente los pasos que debe realizar un algoritmo para solucionar el problema. LEA N Esta representación gráfica se da cuando varios símbolos (que V N>5 indican diferentes procesos en el computador), se relacionan F entre sí mediante líneas que indican el orden en que se deben FIN ejecutar los procesos. Los símbolos que se pueden utilizar han sido normalizados por el ANSI - Instituto Norteamericano de Normalización.

Ventajas de utilizar pseudocódigo en lugar de diagrama de flujo :  Ocupa menos espacio en una hoja de papel  Permite representar en forma fácil operaciones repetitivas complejas  Es muy fácil pasar pseudocódigo a un programa en algún lenguaje de programación.  Se pueden observar claramente los niveles que tiene cada operación.

FUENTES DE INFORMACION: 1.

JOYANES AGUILAR, LUIS; IGNACION ZAHONERO MARTÍNEZ. Programación en C, C++, Java y UML,México : McGraw-Hill.,2010. 2. LÓPEZ ROMÁN, LEOBARDO; Programación estructurada y orientada a objetos /México : Alfaomega,2011.

ESCRIBA “MAYOR”


TEORIA SOBRE ALGORITMOS (Parte II) 5. Expresiones: Las expresiones son combinaciones de operandos (datos), operadores (signos de operaciones) y símbolos de agrupación (paréntesis). Ejemplo: a + (b + 3) / c. Cada expresión toma un valor que se determina tomando los valores de los datos implicados y ejecutando sobre ellos las operaciones indicadas, de acuerdo con los símbolos de agrupación y la prioridad que las operaciones tengan entre sí. Según el tipo de operadores que contienen, las expresiones se clasifican en: aritméticas, lógicas y relacionales.

5.1. Operandos:

Simples

Según la Clase de Valor

Estruccturados

Defi. por el usuario

Clasificación de los datos

Contantes Según la estabilidad de su valor en el tiempo: Variables


 Según la clase de valor: Todos los datos tienen un tipo asociado con ellos, de acuerdo con su valor. Un dato puede ser un simple carácter, tal como „b‟ o un valor entero tal como 35. Su clasificación es:

 Numéricos (enteros y reales)

Simples

 Lógicos  Alfanuméricos (carácter y cadenas)

Tipos de Datos

 Arreglos (vectores y matrices)

Estructurados

 Apuntadores  Registros  Archivos

Def. por el usuario (enumerados)


Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes. Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos). Datos Alfanuméricos: Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representa encerrados entre comillas. Ejemplo: “1997”

 Según la estabilidad de su valor en el tiempo: Un dato puede conservar su valor o pueden ir adquiriendo valores diferentes a lo largo del tiempo. Según esto, los datos pueden ser:

Tipos de Datos

Constantes Numéricas

Variables

 Numéricas

Por su contenido Acumuladores

Por su uso

 Lógicas  Alfanuméricas Por su Uso s

 De trabajo  Contadores  Acumuladores

Contad


Constante: dato que no cambia su valor durante la ejecución del programa. Ejemplo: a = 3.14 Variable: espacio en la memoria del computador que permite almacenar un dato; su contenido puede cambiar durante la ejecución del programa. Para identificar una variable en memoria, es necesario darle un nombre con el cual podamos mencionarla en un algoritmo. Ejemplo: área = pi * radio ^ 2 (variables: radio y área, constante: pi) Variable Numérica: almacena valores numéricos, positivos o negativos. Ejemplo: a=0.15 Variable Lógica: solo puede tener dos valores (cierto o falso). Ejemplo: sw=”F”, res=”V” Variable Alfanumérica: contiene carácteres alfanuméricos (letras, números y carácteres especiales). Ejemplo: letra=‟a‟, apellido=‟Lopez‟, direccion=‟Av. Libertad #190‟ Variable de Trabajo: recibe el resultado de una operación matemática. Ejemplo: suma=a+b Variable Contador: controla el número de ocasiones en que se realiza una operación o se cumple una condición; se incrementa generalmente de uno en uno. Ejemplo: cuenta=cuenta+1 Variable Acumulador: sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente. Ejemplo: suma = suma + c


5.2. Operadores: son elementos que relacionan de forma diferente los valores de uno o más operandos (variables y/o constantes). Es decir, los operadores nos permiten manipular valores. Los operadores deben resolverse o evaluarse siguiendo un orden, precedencia o prioridad. Los tipos de operadores que existen son: aritméticos, lógicos y relacionales. 5.2.1. Operadores Aritméticos: +, - , *, /, ^ (exponenciación), mod (módulo, residuo de división entera) y div (cociente de división entera). Los operadores aritméticos permiten la realización de operaciones matemáticas sobre los operandos. Pueden ser utilizados con tipos de datos enteros o reales. Si ambos son enteros, el resultado es entero; si alguno de ellos es real, el resultado es real. La prioridad de los operadores aritméticos es:

( ) Λ

*, /, mod, div +, -

Los paréntesis anidados se evalúan de dentro a fuera, el más interno se evalúa primero. Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha en el orden en que aparecen en la expresión. Ejemplos: 4 + 2 * 5 = 14 23 * 2 / 5 = 9.2 3 + 5 * (10 - (2 + 4)) = 23 3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23 (1.5 + 3.0 * 4.1) = 28.98


5.2.2. Operadores Lógicos: Λ (y, and, conjunción), V (o, or, disjunción), ~ (¬, no, not, negación). Establecen relaciones entre valores lógicos, que pueden ser resultado de una expresión relacional. La prioridad de los operadores lógicos es: ~ (¬, no, not, negación) Λ (y, and, conjunción) V (o, or, disjunción) Las expresiones con operadores lógicos (proposiciones) se evalúan usando tablas de verdad, que muestran los valores de verdad que puede tener una proposición y las condiciones que los determinan. Una proposición tiene valor verdadero (V) o falso (F), pero no ambos a la vez.:

p q pq V V V

p q pq V V V

p p V F

p q pq V V V

p q pq V V V

V

F

F

V

F

V

F

V

F

F

V

F

F

F

V

F

F

V

V

F

V

V

F

V

F

F

F

F

F

F

F

F

F

V

F

F

V

V

Ejemplos para a = “V”, b = “V” y c = “F”: a Vc Verdadero a Λ~ b Falso

5.2.3. Operadores Relacionales: >, <, >=, <=, =, < > (diferente). Los operadores relacionales se utilizan para establecer una relación entre dos valores del mismo tipo, comparándolos entre sí para producir un resultado de certeza o falsedad. Los operadores relacionales tienen el mismo nivel de prioridad en su evaluación y tienen menor prioridad que los aritméticos.


Ejemplos para a = 10, b = 20 y c = 30: a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero

5.2.4. Evaluación de operadores de tipos diferentes: La prioridad a usar es la siguiente: () (exponenciación) ~ (¬, no, not, negación) *, /, mod, div, Λ (y, and, conjunción) +, -, V (o, or, disjunción) >, <, > =, < =, < >, = Λ

Ejemplos para a = 10, b = 12, c = 13 y d =10: 1) ((a > b)or(a < c)) and ((a = c) or (a > = b)) F V F F V F F 2) ((a > = b) or (a < d)) and (( a > = d) and (c > d)) F F V V F V F 3) not (a = c) and (c > b) F V V V


FUENTES DE INFORMACION: 1. 2.

CONCEPTOS BASICOS Y EJEMPLOS:  Luis Joyanes Aguilar, “Problemas de Metodología de la Programación” PROGRAMACIÓN EN C, C++, JAVA Y UML Luis Joyanes Aguilar, Ignacio Zahonero Marquez.

3.

FUNDAMENTOS DE PROGRAMACIÓN. José Alfredo Jimenez Murillo, Eréndida Miriam Jiménez Hernández, Laura Nelly Alvarado Zamora.


TEORIA SOBRE ALGORITMOS CON ESTRUCTURAS SECUENCIALES ESTRUCTURAS ALGORITMICAS Un algoritmo es un procedimiento (conjunto de instrucciones) que se debe seguir si se quiere solucionar un problema dado. Las estructuras algorítmicas son un grupo de órdenes o instrucciones, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Estructuras Algoritmicas

Secuenciales

-

Inicio Fin Lectura Escritura Asignación

Selectivas

- Simple (si - entonces) - Doble (si – entonces - sino) - Múltiple (en_caso_de/según/dependiendo_de)

Repetitivas

- Para o desde - Mientras_que - Hasta_que

(Nº determinado de iteraciones) (Nº indeterminado de iteraciones) (Nº indeterminado de iteraciones)

Estructuras Secuenciales: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Accion1 Accion2 . . AccionN

PAG. 1/4 - ARCHIVO: 3. TEORIA SOBRE ALGORITMOS CON ESTRUCTURAS SECUENCIALES


1. Estructuras Secuenciales Inicio y Fin: Las palabras Inicio y Fin representan el inicio y final de un algoritmo. Entre ellas van escritas las demás estructuras algorítmicas, que suelen colocarse usando identacion (sangría o margen), como se muestra en la figura: INICIO Accion1 Accion2 . . AccionN FIN

2. Estructura Secuencial Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. El valor leído se asigna a la variable que haya sido mencionada en la estructura. Esta operación se representa en pseudocódigo como sigue: LEA “mensaje”, a Donde “mensaje” representa un mensaje de texto que deseamos aparezca antes de leer el dato y “A” es la variable que recibirá el valor leído. El mensaje siempre se debe encerrar entre comillas. Ejemplo: LEA “Introduzca el nombre del alumno:”, nombre En la pantalla del computador aparecerá el mensaje “Introduzca el nombre del alumno:” y a continuación se esperará a que se digite el nombre del alumno, para almacenarlo en la variable llamada Nombre.

PAG. 2/4 - ARCHIVO: 3. TEORIA SOBRE ALGORITMOS CON ESTRUCTURAS SECUENCIALES


3. Estructura Secuencial Escritura: La escritura consiste en mandar a un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en pseudocodigo como sigue: ESCRIBA “mensaje”, r Donde “mensaje” es un mensaje de texto que se desea escribir y “R” es una variable que contiene el valor a escribir. El mensaje siempre se debe encerrar entre comillas. Ejemplo: ESCRIBA “El resultado de la suma es:”, total En la pantalla o impresora aparecerá el mensaje “El resultado de la suma es:” y a continuación se escribirá el valor que se encuentre almacenado en la variable Total.

4. Estructura Secuencial Asignación: La asignación representa a los procesos que se realizan y consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se representa con el símbolo, en su lado izquierdo lleva el nombre de la variable que recibirá el valor asignado y en el lado derecho trae el valor a asignar. El valor a asignar puede provenir de una expresión aritmética (se asigna el resultado del cálculo de la expresión) o de una transferencia de datos (se asigna el valor de una constante o el valor previamente almacenado en una variable).

PAG. 3/4 - ARCHIVO: 3. TEORIA SOBRE ALGORITMOS CON ESTRUCTURAS SECUENCIALES


Ejemplo: edad  17 ab pago  precio * cantidad velocidad  distancia / tiempo En los dos primeros casos, a la variable Edad se le asigna el valor constante de 17 y a la variable A se le asigna el valor almacenado previamente en la variable B.

En los dos últimos casos, se deben calcular previamente las expresiones aritméticas (precio*cantidad y distancia/tiempo) y luego asignar el resultado del cálculo a las variables (pago y velocidad). Es decir, que a la variable pago se le asigna el resultado de la multiplicación del valor almacenado en la variable precio por el valor almacenado en la variable cantidad; a la variable velocidad se le asigna el resultado de la división del valor almacenado en la variable distancia entre el valor almacenado en la variable tiempo. La asignación se puede utilizar de las siguientes formas:  Simple: Para asignar un valor constante a una variable (a  15)  Contador: Para obtener el número de veces que se realiza un proceso (a  a+1)  Acumulador: Para obtener una sumatoria (a=a+b) o una productoria (a  a*b) en un proceso  De trabajo: Para obtener el resultado de una operación matemática que puede involucrar muchas variables (a  c+b*2/4).

PAG. 4/4 - ARCHIVO: 3. TEORIA SOBRE ALGORITMOS CON ESTRUCTURAS SECUENCIALES


EJEMPLOS DE ALGORITMOS UTILIZANDO SECUENCIAS Utilizando los elementos presentados en clase para elaboración de algoritmos con secuencias, diseñe algoritmos para los casos planteados en cada ejercicio. Tenga en cuenta que la solución presentada en los ejercicios resueltos es apenas una alternativa de solución, usted podría solucionar el problema diseñando un algoritmo diferente al aquí presentado. Le aconsejamos intentar resolver cada ejercicio sin observar la solución presentada y utilizarla solo para aclarar inquietudes o para complementar el aprendizaje. EJERCICIOS RESUELTOS:

1.

Lea tres números y calcule el resultado de su suma. INICIO LEA a, b, c suma  a+b+c ESCRIBA “La suma de los tres números es: “, suma FIN

2. Lea dos números y calcule el resultado de su suma, resta, multiplicación y división. INICIO LEA a, b suma  a+b resta  a-b multi  a*b divi  a/b ESCRIBA “Los números leidos fueron: “, a, b ESCRIBA “La suma de los dos números es: “, suma ESCRIBA “La resta de los dos números es: “, resta ESCRIBA “La multiplicación de los dos números es: “, multi ESCRIBA “La división de los dos números es: “,divi FIN 3. Lea la distancia (en kilómetros) recorrida por un auto, el tiempo (en horas) en que la recorrió y calcule la velocidad a la cual se desplazaba el auto (V=D/T). INICIO LEA distancia, tiempo vel  distancia/tiempo ESCRIBA “El auto recorrió “, distancia, “ kilómetros en “, tiempo, “ segundos” ESCRIBA “El auto se desplazaba a la velocidad de: “, vel, “kilómetros por hora” FIN

PAG. 1/4 - ARCHIVO: 4. EJEMPLOS DE ALGORITMOS UTILIZANDO SECUENCIAS


4. Lea la cantidad de dinero correspondiente a una compra y calcule el valor del IVA (16%), y el valor total de la factura, si al valor de la compra se le autoriza un descuento del 10% (antes de aplicarle el IVA). INICIO LEA compra iva  compra*0.16 desc  compra*0.1 factura  compra-desc+iva ESCRIBA “Valor de la compra: ”, compra ESCRIBA “IVA: “, iva ESCRIBA “Descuento 10%: “, desc ESCRIBA “El valor total de la factura es: “, factura FIN 5. Dada una cantidad de tiempo medida en horas, minutos y segundos, diga a cuántos segundos equivale. INICIO LEA horas, minutos, segundos Total_segundos  horas*3600+minutos*60+segundos ESCRIBA “El tiempo leido fue de “, horas, “ horas, ”, minutos, “minutos y “, segundos, “segundos” ESCRIBA “El tiempo leido equivale a: ”, total_segundos, “segundos” FIN 6. Lea el valor del radio de una figura geométrica y calcule el diámetro y área que tendría un círculo construido con ese radio y el volúmen que tendría la esfera correspondiente a ese radio (D=2*R, A=3,1416*R2, V=(4/3)*3,1416*R3). INICIO LEA radio diam  2*radio área  3,1416*radio^2 volúmen  (4/3)*3,1416*radio^3 ESCRIBA “El radio leido es: “, radio ESCRIBA “El diámetro del círculo es: “, diam ESCRIBA “El área del círculo es: “, área ESCRIBA “El volúmen de la esfera es: “, vol FIN 7. Dadas las 3 notas de un alumno, calcule la definitiva de la asignatura si la primera nota tiene un valor del 20%, la segunda del 30% y la última del 50%. INICIO LEA nota1, nota2, nota3 def  nota1*0.2+nota2*0.3+nota3*0.5 ESCRIBA “El 20% de la definitiva corresponde a la nota: “, nota1 ESCRIBA “El 30% de la definitiva corresponde a la nota: “, nota2 ESCRIBA “El 50% de la definitiva corresponde a la nota: “, nota3 ESCRIBA “La definitiva de la asignatura es: “, def FIN

PAG. 2/4 - ARCHIVO: 4. EJEMPLOS DE ALGORITMOS UTILIZANDO SECUENCIAS


8. Dos carros viajan por una carretera a velocidades diferentes, existiendo una distancia entre ellos. Calcular el tiempo que tarda el 2º carro en alcanzar al 1º, si cada uno mantiene su velocidad constante y las distancias recorridas por cada auto en ese tiempo. INICIO LEA vel1, vel2, dist dist1  dist*vel1/(vel2-vel1) tiempo  dist1/vel1 dist2  vel2/tiempo ESCRIBA “El primer auto viaja a: “, vel1, “ km/h” ESCRIBA “El segundo auto viaja a: “, vel2, “ km/h” ESCRIBA “La distancia inicial entre ellos es: “, dist, “ km” ESCRIBA “El tiempo que tarda el segundo auto en alcanzar al primero es: “, tiempo ESCRIBA “La distancia recorrida por el primer auto es: “, dist1, “ km” ESCRIBA “La distancia recorrida por el segundo auto es: “, dist2, “ km” FIN 9. Un tanque vacío tiene base circular de radio R cms y se llena a razón de V cms/seg. Calcule cuánto tiempo tardará el tanque en llenarse, si tiene una altura de A cms, y qué cantidad de líquido tendrá en ese momento el tanque. INICIO LEA radio, vel, altura tiempo  altura/vel volúmen  altura*3,1416*radio^2 ESCRIBA “El radio del tanque es: “, radio, “ cms” ESCRIBA “El tiempo que tardó el tanque en llenarse fue: “, tiempo, “ segundos” ESCRIBA “La cantidad de líquido almacenada en el tanque es: “, volúmen, “ cms 3” FIN 10. Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero ganará después de un mes si el banco paga a razón de 2% mensual. INICIO LEA cap_inv gan  cap_inv * 0.02 ESCRIBA gan FIN 11. Un vendedor recibe un sueldo base mas un 10% extra por comisión de sus ventas, el vendedor desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones. INICIO LEA sb, v1, v2, v3 tot_vta  v1 + v2 + v3 com  tot_vta * 0.10 tpag  sb + com ESCRIBA tpag, com FIN

PAG. 3/4 - ARCHIVO: 4. EJEMPLOS DE ALGORITMOS UTILIZANDO SECUENCIAS


12. Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra. INICIO LEA tc d  tc * 0.15 tp  tc - d ESCRIBA tp FIN 13. Un alumno desea saber cuál 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 exámen final. 15% de la calificación de un trabajo final. INICIO LEA c1, c2, c3, ef, tf prom  (c1 + c2 + c3)/3 ppar  prom * 0.55 pef  ef * 0.30 ptf  tf * 0.15 cf  ppar + pef + ptf ESCRIBA cf FIN 14. Un maestro desea saber qué porcentaje de hombres y qué porcentaje de mujeres hay en un grupo de alumnos. INICIO LEA nh, nm ta  nh + nm ph  nh * 100 / ta pm  nm * 100 / ta ESCRIBA ph, pm FIN

PAG. 4/4 - ARCHIVO: 4. EJEMPLOS DE ALGORITMOS UTILIZANDO SECUENCIAS


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.