Вы находитесь на странице: 1из 41

ALGORITMOS

DEFINICIN DE ALGORITMO
Es

una secuencia de pasos lgicamente estructurados para resolver un problema, utilizando el lenguaje nativo o materno.

Describe

el mtodo para realizar una tarea.

Es

una secuencia de instrucciones que, ejecutadas adecuadamente, dan lugar al resultado deseado.

PROPIEDADES DE UN ALGORITMO
Finito: Al seguir los pasos debe llegar a la solucin , es decir, debe tener trmino Definido: Cada paso definido de un modo preciso. Conjunto de Entradas: Datos iniciales del algoritmo Conjunto de Salidas: Respuesta que obtenemos del algoritmo. Efectivo: Las operaciones a realizar deben ser bsicas, para que el procesador pueda realizarlas de modo exacto y en tiempo finito.

CREACIN DE UN ALGORITMO
Los

algoritmos pueden ser creados de dos formas: Seudocdigo: Es un conjunto pequeo y claro de instrucciones; en secuencia, que permite llevar a cabo una tarea.
Diagrama

de flujo: Es la representacin de la secuencia, a travs de smbolos, de la tarea que se va a realizar.

EJEMPLO PSEUDOCDIGO

Realizar un algoritmo que permita sumar dos nmeros ledos por teclado y escribir el resultado. Solucin:
Leemos el primer nmero y lo almacenamos en A. Leemos el segundo nmero y lo almacenamos en B. Sumamos A y B, y almacenamos el resultado en C. Escribimos el resultado C.

DIAGRAMA DE FLUJO
SIMBOLO SE UTILIZA PARA Inicio y final del diagrama de flujo.
Se emplea para representar entrada de datos, generalmente, desde el teclado, Algunos autores tambin la usan para representar salida de datos.

Representa un proceso. Dentro del smbolo se indica la frmula que se va a utilizar.


Representa una seleccin simple. La condicin se establece dentro de la figura, si sta se cumple, ejecuta las tareas laterales marcadas con S, de no ser as, ejecuta la del No. Al terminar la rutina, se encuentran los caminos para continuar el proceso.

Representa la salida de datos. Imprime los resultados o los muestra en la pantalla.

Indica almacenamiento en disco magntico.


Indican la direccin del flujo del diagrama.

REGLAS BSICAS
1.

2.

3.

4. 5.

Todos los smbolos han de estar conectados A un smbolo de proceso pueden llegarle varias lneas. A un smbolo de decisin pueden llegarle varias lneas, pero slo saldrn dos. A un smbolo de inicio nunca le llegan lneas. De un smbolo de fin no parte ninguna lnea.

REPRESENTACIN

EJEMPLO DE DIAGRAMA DE FLUJO


Resolviendo el ejemplo anterior del programa que suma dos nmeros ledos desde el teclado y escribir el resultado.
Leemos el primer nmero y lo almacenamos en A. Leemos el segundo nmero y lo almacenamos en B. Sumamos A y B, y almacenamos el resultado en C. Escribimos el resultado C.

DIAGRAMA DE FLUJO CONDICIONAL

EJEMPLO Algoritmo para hacer un pastel.

EJERCICIOS
Realice los ejercicios que se presentan a continuacin, debe indicar lo siguiente:
Anlisis del problema.

Datos de Entrada, Proceso y Datos de Salida Pseudocdigo. Diagrama de flujo.

Representacin de algoritmos.

1. 2.

3.

Realice un algoritmo que le permita mostrar el resultado de la siguiente expresin A=r2 Un empleado desea conocer el sueldo semanal, para ello necesita saber el sueldo diario y los das trabajados. Mostrar el sueldo semanal. Realice un algoritmo que resuelva la siguiente frmula de la aceleracin:
A=

Disear el algoritmo que exprese en horas y minutos un tiempo ingresado en segundos. A un trabajador le pagan segn sus horas trabajadas y la tarifa est a un valor por hora. Si la cantidad de horas trabajadas es mayor a 40 horas, la tarifa por hora se incrementa en un 50% para las horas extras. Calcular el salario del trabajador dadas las horas trabajadas y la tarifa.

ESTRUCTURA DE PROGRAMACIN
SECUENCIAL

Cuando en un problema slo participan operaciones, entradas y salidas se la denomina una estructura secuencial. Ejemplo: Realizar un algoritmo que permita el ingreso de dos nmeros desde el teclado e imprima la suma y producto.

EJERCICIOS:
1.

2.

3.

4.

Realizar la carga del lado de un cuadrado, mostrar por pantalla el permetro del mismo (El permetro de un cuadrado se calcula multiplicando el valor del lado por cuatro) Escribir un programa en el cual se ingresen cuatro nmeros, calcular e informar la suma de los dos primeros y el producto del tercero y el cuarto. Realizar un programa que lea cuatro valores numricos e informar su suma y promedio. Se debe desarrollar un programa que pida el ingreso del precio de un artculo y la cantidad que lleva el cliente. Mostrar lo que debe abonar el comprador.

ESTRUCTURA CONDICIONAL SIMPLE

Cuando se presenta la eleccin tenemos la opcin de realizar una actividad o no realizar ninguna. Representacin grfica:

EJEMPLO

Ingresar el sueldo de una persona, si supera los 3000 quetzales mostrar un mensaje en pantalla indicando que debe abonar impuestos.

ESTRUCTURA CONDICIONAL COMPUESTA.

Cuando se presenta la eleccin tenemos la opcin de realizar una actividad u otra. Es decir tenemos actividades por el verdadero y por el falso de la condicin. Lo ms importante que hay que tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas. En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la rama del verdadero como por la rama del falso.

EJEMPLO

Realizar un algoritmo que solicite ingresar dos nmeros distintos y muestre por pantalla el mayor de ellos.

EJERCICIOS
Realizar un programa que lea por teclado dos nmeros, si el primero es mayor al segundo informar su suma y diferencia, en caso contrario informar el producto y la divisin del primero respecto al segundo. Se ingresan tres notas de un alumno, si el promedio es mayor o igual a siete mostrar un mensaje "Promovido". Se ingresa por teclado un nmero positivo de uno o dos dgitos (1..99) mostrar un mensaje indicando si el nmero tiene uno o dos dgitos. (Tener en cuenta que condicin debe cumplirse para tener dos dgitos, un nmero entero)

ESTRUCTURAS CONDICIONALES ANIDADAS.

Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional. El DF que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y est contenida por la rama del falso de la primer estructura.

EJEMPLO:

Realizar un DF que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes: Si el promedio es >=7 mostrar Promocionado". Si el promedio es >=4 y <7 mostrar "Regular". Si el promedio es <4 mostrar "Reprobado".

EJERCICIOS

Se cargan por teclado tres nmeros distintos. Mostrar por pantalla el mayor de ellos. Se ingresa por teclado un valor entero, mostrar una leyenda que indique si el nmero es positivo, nulo o negativo. Realizar un DF que permita cargar un nmero entero positivo de hasta tres cifras y muestre un mensaje indicando si tiene 1, 2, o 3 cifras. Mostrar un mensaje de error si el nmero de cifras es mayor. Un postulante a un empleo, realiza un test de capacitacin, se obtuvo la siguiente informacin: cantidad total de preguntas que se le realizaron y la cantidad de preguntas que contest correctamente. Se pide confeccionar un programa que ingrese los dos datos por teclado e informe el nivel del mismo segn el porcentaje de respuestas correctas que ha obtenido, y sabiendo que: Nivel mximo: Porcentaje>=90%. Nivel medio: Porcentaje>=75% y <90%.
Nivel regular: Porcentaje>=50% y <75%. Fuera de nivel: Porcentaje<50%.

CONDICIONES COMPUESTAS CON OPERADORES LGICOS Operador && Traducido se lo lee como Y. Si la Condicin 1 es verdadera Y la condicin 2 es verdadera luego ejecutar la rama del verdadero. Cuando vinculamos dos o ms condiciones con el operador &&, las dos condiciones deben ser verdaderas para que el resultado de la condicin compuesta de Verdadero y contine por la rama del verdadero de la estructura condicional.

La utilizacin de operadores lgicos permiten en muchos casos plantear algoritmos ms cortos y comprensibles.

EJEMPLO

Realizar un DF que lea por teclado tres nmeros distintos y nos muestre el mayor.

OPERADOR ||

Traducido se lo lee como O. Si la condicin 1 es Verdadera O la condicin 2 es Verdadera, luego ejecutar la rama del Verdadero. Cuando vinculamos dos o ms condiciones con el operador Or", con que una de las dos condiciones sea Verdadera alcanza para que el resultado de la condicin compuesta sea Verdadero.

EJEMPLO

Se carga una fecha (da, mes y ao) por teclado. Mostrar un mensaje si corresponde al primer trimestre del ao (enero, febrero o marzo) Cargar por teclado el valor numrico del da, mes y ao. Ejemplo: dia:10 mes:1 ao:2012.

EJERCICIOS
1. 2.

3.

4.

5.

Realizar un DF que pida cargar una fecha cualquiera, luego verificar si dicha fecha corresponde a Navidad. Se ingresan tres valores por teclado, si todos son iguales se imprime la suma del primero con el segundo y a este resultado se lo multiplica por el tercero. Se ingresan por teclado tres nmeros, si todos los valores ingresados son menores a 10, imprimir en pantalla la leyenda "Todos los nmeros son menores a diez". Se ingresan por teclado tres nmeros, si al menos uno de los valores ingresados es menor a 10, imprimir en pantalla la leyenda "Alguno de los nmeros es menor a diez". Realizar un DF que pida ingresar la coordenada de un punto en el plano, es decir dos valores enteros x e y (distintos a cero). Posteriormente imprimir en pantalla en que cuadrante se ubica dicho punto. (1 Cuadrante si x > 0 Y y > 0 , 2 Cuadrante: x < 0 Y y > 0, etc.)

ESTRUCTURA REPETITIVA WHILE.

Funcionamiento: En primer lugar se verifica la condicin, si la misma resulta verdadera se ejecutan las operaciones que indicamos por la rama del Verdadero. A la rama del verdadero la graficamos en la parte inferior de la condicin. Una lnea al final del bloque de repeticin la conecta con la parte superior de la estructura repetitiva. En caso que la condicin sea Falsa contina por la rama del Falso y sale de la estructura repetitiva para continuar con la ejecucin del algoritmo. El bloque se repite MIENTRAS la condicin sea Verdadera. Importante: Si la condicin siempre retorna verdadero estamos en presencia de un ciclo repetitivo infinito. Dicha situacin es un error de programacin, nunca finalizar el programa.

EJEMPLO

Realizar un programa que imprima en pantalla los nmeros del 1 al 100. La primera operacin inicializa la variable x en 1, seguidamente comienza la estructura repetitiva while y disponemos la siguiente condicin ( x <= 100), se lee MIENTRAS la variable x sea menor o igual a 100. Al ejecutarse la condicin retorna VERDADERO porque el contenido de x (1) es menor o igual a 100. Al ser la condicin verdadera se ejecuta el bloque de instrucciones que contiene la estructura while. El bloque de instrucciones contiene una salida y una operacin. Se imprime el contenido de x, y seguidamente se incrementa la variable x en uno. La operacin x=x + 1 se lee como "en la variable x se guarda el contenido de x ms 1". Es decir, si x contiene 1 luego de ejecutarse esta operacin se almacenar en x un 2.

EJERCICIOS Escribir un programa que solicite ingresar 10 notas de alumnos y nos informe cuntos tienen notas mayores o iguales a 7 y cuntos menores. Se ingresan un conjunto de n alturas de personas por teclado. Mostrar la altura promedio de las personas. En una empresa trabajan n empleados cuyos sueldos oscilan entre Q100 y Q500, realizar un programa que lea los sueldos que cobra cada empleado e informe cuntos empleados cobran entre Q100 y Q300 y cuntos cobran ms de Q300. Adems el programa deber informar el importe que gasta la empresa en sueldos al personal.

ESTRUCTURA REPETITIVA FOR

En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 nmeros, ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos que el bloque se repita.

Esta estructura requiere una variable entera que cumple la funcin de un CONTADOR de vueltas. En la seccin indicada como "inicializacin contador", se suele colocar el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. En la seccin de "condicin" se coloca la condicin que deber ser verdadera para que el ciclo contine (en caso de un falso, el ciclo se detendr). Y finalmente, en la seccin de "incremento contador" se coloca una instruccin que permite modificar el valor de la variable que hace de contador (para permitir que alguna vez la condicin sea falsa).

EJEMPLO

Realizar un programa que imprima en pantalla los nmeros del 1 al 100.

EJEMPLO

Crear un DFque permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio.

EJEMPLO

Crear un DF que lea 10 nmeros enteros y luego muestre cuntos valores ingresados fueron mltiplos de 3 y cuntos de 5. Debemos tener en cuenta que hay nmeros que son mltiplos de 3 y de 5 a la vez.

EJERCICIOS
1.

2.
3.

4.

Desarrollar un DF que solicite la carga de 10 nmeros e imprima la suma de los ltimos 5 valores ingresados. Desarrollar un programa que muestre la tabla de multiplicar del 5 (del 5 al 50) Se realiza la carga de 10 valores enteros por teclado. Se desea conocer: a) La cantidad de valores ingresados negativos. b) La cantidad de valores ingresados positivos. c) La cantidad de mltiplos de 15. d) El valor acumulado de los nmeros ingresados que son pares. Se cuenta con la siguiente informacin: Las edades de 50 estudiantes del turno maana. Las edades de 60 estudiantes del turno tarde. Las edades de 110 estudiantes del turno noche. Las edades de cada estudiante deben ingresarse por teclado. a) Obtener el promedio de las edades de cada turno (tres promedios) b) Imprimir dichos promedios (promedio de cada turno) c) Mostrar por pantalla un mensaje que indique cual de los tres turnos tiene un promedio de edades mayor.

ESTRUCTURA DO WHILE

La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que podan no ejecutar el bloque. Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutar el bloque repetitivo. La condicin de la estructura est abajo del bloque a repetir, a diferencia del while o del for que est en la parte superior.

El bloque de operaciones se repite MIENTRAS que la condicin sea Verdadera. Si la condicin retorna Falso el ciclo se detiene. Es importante analizar y ver que las operaciones se ejecutan como mnimo una vez.

ytenescomputacion@gmail.com

Вам также может понравиться