Está en la página 1de 67

ALGORITMOS Y LENGUAJES DE

PROGRAMACION

CAPITULO II
DISEO DE ALGORITMOS ESTRUCTURAS SECUENCIALES SENTENCIAS SELECTIVAS

DISEO DE ALGORITMOS
OBJETIVO

El objetivo principal de este Captulo es capacitar al estudiante en los conceptos bsicos de algoritmos, que le permitan obtener la destreza necesaria para disear sus propios algoritmos.

DISEO DE AGORITMOS

CONCEPTOS BASICOS
DESCRIPCION DE ALGORITMOS CONSTRUCCION DE ALGORITMOS

CONCEPTOS BASICOS DE ALGORITMO

Un algoritmo es todo proceso, rutina mtodo para resolver un problema; mediante una secuencia finita de acciones , cada cual con un significado concreto y cuya ejecucin genera un tiempo finito. La ventaja del algoritmo es que el programador se puede concentrar en la lgica del problema y en las estructuras de control del mismo. Dejando de lado las reglas de sintaxis del lenguaje de programacin. Algoritmo, es sinnimo de procedimiento computacional y es fundamental para la ciencia de la computacin.

CONCEPTOS BASICOS DE ALGORITMO


PROPIEDADES:

Finito
La ejecucin de un algoritmo acaba en un tiempo finito; un procedimiento que falla en la propiedad de la finitud es simplemente un procedimiento de clculo.

Preciso
Cada instruccin de un algoritmo debe ser precisa; debe tener en cuenta un rigor y no la ambigedad. Cada frase tiene un significado concreto.

CONCEPTOS BASICOS DE ALGORITMO


PROPIEDADES:

Posee entradas
La entrada se toma como un conjunto especifico de valores que inicializan el algoritmo.

Posee salidas
Todo algoritmo posee una transformacin de la entrada. ms salidas; la salida es la

Efectivo
Un algoritmo es efectivo cuando las operaciones se efectan de un modo exacto y en un tiempo finito aun usando mtodos manuales.

CONCEPTOS BASICOS DE ALGORITMO

La solucin de un problema exige el diseo de un algoritmo que resuelva el problema propuesto.


CONSTRUCCION DEL ALGORITMO PROGRAMA DE COMPUTADORA

PROBLEMA

SOLUCION DE UN PROBLEMA

DESCRIPCIN DE ALGORITMOS

Para describir un algoritmo se debe utilizar algn mtodo que permita independizar dicho algoritmo del lenguaje de programacin.

Diagramas de flujo
PseudoCdico

DIAGRAMAS DE FLUJO

Es una representacin detallada en forma grfica (mediante smbolos) de los pasos que se realizan para la solucin de un problema unidos por flechas, denominadas lneas de flujo, que indican la secuencia de ejecucin.

SIMBOLOS DE LOS DIAGRAMAS DE FLUJO

INICIO - FIN Este smbolo indica el comienzo y el final de un ALGORITMO ENTRADA-SALIDA Este smbolo indica operaciones que tienen relacin con los dispositivos de entrada/salida. PROCESO Este smbolo se utiliza para indicar operaciones aritmticas. DECISION Este smbolo se utiliza para indicar en su interior comparaciones de valores tales como: a=b j<i Estas comparaciones admiten dos salidas: verdad falso

SIMBOLOS DE LOS DIAGRAMAS DE FLUJO

Lneas de flujo
Este smbolo indica la direccin del flujo que el programa debe seguir. La secuencia normal de lectura de un diagrama de flujo es de arriba hacia abajo y de izquierda a derecha.

Conector dentro de pgina


Este smbolo indica la continuacin de la direccin del flujo dentro de la misma pgina.

SIMBOLOS DE LOS DIAGRAMAS DE FLUJO

Conector fuera de pgina


Este smbolo indica la continuacin de la direccin del flujo de una pgina a otra. Tiene la misma misin que el anterior, pero este conector se utiliza cuando las partes a enlazar se encuentran en distinta pgina.

Ciclo repetitivo
Este smbolo se utiliza para indicar procesos repetitivos

PSEUDOCDIGO
Es la descripcin de un algoritmo mediante una secuencia lgica de acciones, que en su conjunto forman la solucin del problema, utilizando generalmente palabras reservadas para representar las acciones.

PSEUDOCDIGO

Para desarrollar los pseudocdigos se utilizar el

Entorno de Desarrollo Integrado

PseInt,

que es un

lenguaje de programacin imperativa simple y escrito en castellano. Es decir, PseInt es un editor e intrprete de programas escritos en PseudoCdigo. Su interfaz grfica permite crear, almacenar, ejecutar y corregir fcilmente los programas en PseudoCdigo.

PSEUDOCDIGO La sencillez del lenguaje PseudoCdigo lo hacen ideal para la enseanza de la programacin. Permitiendo el uso de valores numricos, nmeros decimales, lgicos, caracteres y arreglos. Provee tambin funciones de entrada/salida y Funciones matemticas.

PSEUDOCDIGO

Estructura de un Algoritmo
Proceso <nombre>

<secuencia de instrucciones>
FinProceso
Cada instruccin termina en punto y coma. <instruccin>; <instruccin>; ... <instruccin>;

PSEUDOCDIGO

Las palabras y smbolos que pertenecen al pseudocdigo se escriben tal como deben ir, por ejemplo: Proceso; a diferencia de los nombres de variables y otros smbolos y expresiones que pueden variar.

PSEUDOCDIGO

Se pueden introducir comentarios luego de una instruccin, o en lneas separadas, mediante el uso de la doble barra ( // ).

Todo lo que precede a //, hasta el fin de la lnea, no ser tomado en cuenta al interpretar el algoritmo.

PSEUDOCDIGO

Identificadores
Los Identificadores son palabras definidas por el programador para identificar variables.

Identificador, o nombre de variable, debe constar slo de letras y nmeros, comenzando siempre por una letra.

PSEUDOCDIGO

Tipo de Datos
a) Tipos Simples: Numrica, nmeros enteros y decimales, se usa el punto para separar los decimales. Carcter caracteres o cadena de caracteres se escribe entre comillas ( ) ( ) Lgicas toma dos valores: Verdadero Falso b) Estructura de Datos: Arreglos

PSEUDOCDIGO

Palabras Reservadas
Las palabras reservadas no llevan acento.

Leer , Escribir , Dimension Si-Entonces-Sino, Segun

Mientras Hacer, Repetir Hasta Que, Para

PSEUDOCDIGO

Estructuras Secuenciales
Las estructuras secuenciales estn formadas por las siguientes instrucciones:

Leer Entrada de datos Escribir Salida de Resultados Asignacin Almacena un valor en una variable

PSEUDOCDIGO

Entrada de Datos
Definida por la Instruccin Leer que permite el ingreso de datos al algoritmo desde el teclado.

Leer

<variable1>,<variable2>,., <variableN>;

Leer Numero; Leer n1, n2, n3;

PSEUDOCDIGO

Salida de Resultados
Definida por la Instruccin resultados en la pantalla.

Escribir

y permite mostrar

Escribir <expr1> , <expr2> , ... , <exprN> ;


Escribir "Ingrese el nombre:"; Escribir "Resultado:" , x*2 ;

PSEUDOCDIGO

Sentencia de Asignacin
La Instruccin de Asignacin permite almacenar un valor en una variable.

<variable> <expresin> ;

PSEUDOCDIGO

Expresiones
Las expresiones son combinaciones (asociaciones) de datos con operadores.
a 3 b 5

a+b7

Cada expresin toma un valor que se determina al evaluar la expresin.

PSEUDOCDIGO

Expresiones
De acuerdo a los tipos de datos que se manipulan en las expresiones pueden ser:

Expresiones aritmticas (devuelve un nmero) Expresiones lgicas (devuelve un valor lgico) Expresiones de carcter (devuelve un carcter)
.

suma a + b 3 (expresin aritmtica)

PSEUDOCDIGO Para ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el resultado a la variable de la izquierda. El tipo de la variable y el de la expresin deben coincidir.

n 1;

// asigna el nmero 1 a n // incrementa el valor de suma en 1

suma suma + 1;

PSEUDOCDIGO

Sentencia de Asignacin
Ejemplo de sentencia de asignacin:
a 5

suma ( 2 + 3 ) * X + T + Z
La jerarqua de los operadores matemticos es igual a la del algebra, aunque puede alterarse con el uso de parntesis.

PSEUDOCDIGO

Sentencia de Asignacin
Como ejemplos de sentencias de asignacin podemos mencionar: Velocidad (distancia/(minuto*60+segundo+c/100)) Numero u + 100 + d+10 + c AT (s+(s-1) + (s-2) + (s-3))^2

PSEUDOCDIGO

Tipos de Operadores
Un operador indica el tipo de operacin a realizar sobre los datos. Los operadores se clasifican en:

Operadores Aritmticos Operadores relacionales Operadores lgicos.

PSEUDOCDIGO

Expresiones Aritmticas
En las expresiones aritmticas siguientes operadores aritmticos:
Operador Accin Ejemplo

se

utilizan

los

Resultado

Resta Suma
Multiplicacin Divisin Potencia

52 2+3
4* 5 9 / 3 5^ 2

3 5
20 3 25

*
/ ^

PSEUDOCDIGO

Expresiones Aritmticas
Los operadores aritmticos nos permiten, bsicamente, hacer cualquier operacin aritmtica (suma, resta, multiplicacin y divisin)

- 3 * 6/3 resultado - 3 * (6/2) resultado

-6 -9

PSEUDOCDIGO

Expresiones Lgicas
Las expresiones lgicas son asociaciones de datos con operadores relacionales y de su evaluacin siempre se obtiene un valor de tipo lgico (verdadero o falso).
Operador Relacional Accin Ejemplo

> >= < <= = <>

Mayor que Mayor o igual que Menor que Menor o igual que Igual que Distinto que

5 > 3 a >= b 2 < 4 a <= b m=n 3 <>2

PSEUDOCDIGO

Expresiones Lgicas
El operador conjuncin (y) y el operador disyuncin (o) siempre actan sobre dos operandos, mientras que, el operador negacin (no) slo acta sobre un operando.
Operadores Lgicos & | NO Accin Conjuncin ( y ) Disyuncin ( 0 ) Negacin (no) Ejemplo (5>3) & (5=1) // falso (7=7) | (4>9) // verdadero. NO (4=4) // falso

PSEUDOCDIGO

Expresiones Lgicas
Los operadores lgicos producen un resultado booleano, y sus operandos son tambin valores lgicos.

Operadores Lgicos
Y O

Accin
Conjuncin Disyuncin

Ejemplo
(5>2) Y (4>1) (2=2) O (a=b)

NO

Negacin

No (9>3)

PSEUDOCDIGO

Expresiones Lgicas
Tabla de verdad del operador Y:

PSEUDOCDIGO

Expresiones Lgicas
Tabla de verdad del operador O:

PSEUDOCDIGO

Expresiones Lgicas
Tabla de verdad del operador negacin (no):

Evaluar : no ( 9 > 5 ) se obtiene como resultado falso

PSEUDOCDIGO

Prioridad de los operadores


Prioridad de los Operador, aritmticos, relacionales y lgicos

( )
.

Parntesis Potencia Multiplicacin, divisin y negacin Signo ms, signo menos y conjuncin

^ * , / , NO
.

+,-,Y

>, <, >=, <=, <>, = , O Mayor que, menor que, mayor igual que, menor igual que, igual que, distinto que y disyuncin

Funciones Matemticas
FUNCIN
RC(X)
ABS(X) LN(X) EXP(X) SEN(X) COS(X) ATAN(X) TRUNC(X) REDON(X)

SIGNIFICADO
Raz Cuadrada de X
Valor Absoluto de X Logaritmo Natural de X Funcin Exponencial de X Seno de X Coseno de X Arcotangente de X Parte entera de X Entero ms cercano a X

La funcin raz cuadrada no debe recibir un argumento negativo. La funcin exponencial no debe recibir un argumento menor o igual a cero.

CONSTRUCCION DE ALGORITMOS
PROBLEMA N 1 Imprimir la suma, la resta y el producto de dos nmeros. Proceso Problema1 Leer a , b; Escribir "a = ", a; Escribir "b = ", b; suma <- a + b; resta <- a -b; multiplica <- a*b; dividir <- a/b; Escribir "suma = " , suma; Escribir "resta = " , resta; Escribir "multiplica = ", multiplica; Escribir "dividir = ", dividir; FinProceso

CONSTRUCCION DE ALGORITMOS
PROBLEMA N 2 Leer el radio de un circulo y calcular e imprimir su superficie y la longitud de la circunferencia.

Proceso Problema2 pi<-3.1416; Leer radio; Superficie <- pi * radio^2 ; Circunferencia <- 2 * pi * radio; Escribir "Radio", radio; Escribir "Superficie", superficie; Escribir "Circunferencia", circunferencia; FinProceso

PSEUDOCDIGO

PROBLEMA N3 2 Calcular las races reales de una ecuacin cuadrtica ax + bx + c = 0

Proceso problema3 Escribir "introdusca las variables a, b y c"; Leer a, b, c; x1<-(-b+RC((b^2)-(4*a*c))/(2*a)); x2<-(-b-RC((b^2)-(4*a*c))/(2*a)); Escribir "las raices son: ", x1, x2; FinProceso

PSEUDOCDIGO

Estructuras no Secuenciales
SENTENCIAS SELECTIVAS:

Seleccin Simple Si-Entonces


Seleccin Doble Si-Entonces-Sino Sentencia Mltiple Segun
SENTENCIAS REPETITIVAS:

Mientras Hacer Repetir _ Hasta_Que Para

PSEUDOCDIGO

Sentencias de Seleccin
Se utiliza cuando en el desarrollo de la solucin de un problema debemos tomar una decisin, para seleccionar una alternativo a seguir.
La toma de decisin se basa en la evaluacin de una o ms condiciones que nos permitan seleccionar una alternativa de solucin al problema planteado.

PSEUDOCDIGO
a) SELECCION SIMPLE :

Si-Entonces

Consiste en evaluar una condicin; si el resultado de dicha evaluacin es Verdad, se ejecuta la sentencia por verdad y termina la estructura.

Si <condicin> Entonces
Sentencia ejecutada si la condicin es verdad finSi Si ( nota > = 10 ) Entonces Escribir ( ingreso) fin Si

PSEUDOCDIGO
V INICIO
Condicin

FIN

La sentencia condicional o selectiva evala una CONDICION (expresin lgica)

CONSTRUCCION DE ALGORITMOS

PROBLEMA N 4

Escribir un algoritmo que lea los datos: a , b y calcule e imprimir la suma, la resta, la multiplicacin y la divisin de ellos.

CONSTRUCCION DE ALGORITMOS
Proceso Problema4 Leer a, b; suma<- a+b; resta<- a-b; multiplica <- a*b; Si b>0 Entonces division <- a/b; FinSi Escribir "suma = ", suma; Escribir "resta = ", resta; Escribir "multiplica = ", multiplica; Escribir "division = ", division; FinProceso

PSEUDOCDIGO
b) SELECCION DOBLE :

Si-Entonces-Sino

La sentencia de seleccin doble nos permite tomar decisiones entre dos alternativas luego de evaluar una condicin (expresin lgica).

Si <condicin> Entonces <instrucciones> Sino <instrucciones> Finsi

PSEUDOCDIGO

Si - Entonces - Sino
V INICIO

Sentencia por Verdad

Condicin
F Sentencia por Falso

FIN

Si

( nota > = 10 ) Entonces Escribir ( ingreso) Sino Escribir(no-ingreso)

Finsi

PSEUDOCDIGO
PROBLEMA N 5 Escribir un algoritmo que lea tres nmeros enteros positivos a, b y c e imprima el mayor de ellos.
INICIO a, b ,c NO Mayor b a>b SI

Mayor

c > Mayor

si

a, b, c Mayor Mayor c FIN

CONSTRUCCION DE ALGORITMOS
Proceso Problema5 Leer a, b, c; Si a > b Entonces mayor <- a; Sino mayor <- b; FinSi
Si c > mayor Entonces mayor <- c; Finsi Escribir "a = ", a; Escribir "b = ", b; Escribir "c = ", c; Escribir "mayor = ", mayor; FinProceso

PSEUDOCDIGO
Es posible utilizar la sentencia Si para disear estructuras de seleccin con ms de dos alternativas.

Una estructura de seleccin de n alternativas puede ser construida utilizando una estructura Si .
Las estructuras Si interiores a otras estructuras Si se denominan anidadas o encajadas. Debe existir una correspondencia entre las palabras reservadas Si y Finsi.

PSEUDOCDIGO

Sentencia de seleccin anidadas


Si (condicin1) Entonces <instruccion1> Sino

Si (condicin2) Entonces <instruccin2>


Sino Si (condicin3) Entonces <instruccion3> Finsi Finsi Finsi

PSEUDOCDIGO
c) SENTENCIA DE SELECCIN MULTIPLE La sentencia de seleccin mltiple, se usa para seleccionar una de varias alternativas.
Sentencia 1 Sentencia 2 Sentencia 3 VALOR DE VARIABLE

Segn sea

Sentencia 4

Sentencia 5

PSEUDOCDIGO
C) SELECCION MULTIPLE
SENTENCIA Segun
INICIO 1
SELECTOR

sentencia 1 2 sentencia 2

La seleccin Mltiple se utiliza cuando existen ms de dos alternativas para la seleccin de una alternativa. El selector puede ser una variable simple o una expresin simple denominada expresin de control.

sentencia N

ACCION Z

FIN

PSEUDOCDIGO
C) SELECCION MULTIPLE : SENTENCIA Segun
Segun variable_numerica Hacer opcion_1: secuencia_de_acciones_1 opcion_2: secuencia_de_acciones_2 opcion_3: secuencia_de_acciones_3 De Otro Modo: secuencia_de_acciones_dom FinSegun

CONSTRUCCION DE ALGORITMOS
Proceso Problema6 leer n1, n2; leer opcion; segun opcion Hacer 1: suma <- n1 + n2; Escribir "suma = ", suma; 2: resta <- n1 - n2; Escribir "resta = ", resta; 3: multiplica <- n1*n2; Escribir "multiplica = ", multiplica; 4: divide <- n1/n2; Escribir "divide = ", divide; 5: potencia <- n1^n2; Escribir "potencia = ", potencia; De Otro Modo: Escribir "Numero no Definido" ; FinSegun FinProceso

CONSTRUCCION DE ALGORITMOS

PROBLEMA N 7 Disear un algoritmo que lea un entero positivo n y realice las siguientes clculos: Si N termina en 0 se cambia por el doble Si N termina en 3 se cambia por la dcima parte De otro modo matiene su valor inicial

CONSTRUCCION DE ALGORITMOS
Proceso Problema7 Leer n; Segun n mod 10 Hacer 0: n <- n*2; Escribir "Doble de N = ", n; 3: n <- n/10; Escribir "Decima parte de N = ", n; De Otro Modo: n <- n; Escribir "Numero N = ", n ; FinSegun FinProceso

También podría gustarte