ALGORITMOS
-
Upload
karlos-estrada -
Category
Documents
-
view
13 -
download
0
description
Transcript of ALGORITMOS
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
ALGORITMOS - PSEUDOCODIGO Y PROGRAMAS C++
DEFINICION DE ALGORITMO
Conjunto de pasos o acciones que se realizan de manera ordenada para llegar a la solución de un problema.
Conjunto de sentencias/instrucciones en lenguaje nativo, las cuales expresan la lógica para la resolución de un problema.
Conclusión : Es un método para resolver un problema. La resolución de un problema exige el diseño de un algoritmo que resuelva el problema.
ETAPAS EN LA RESOLUCIÓN DE UN PROBLEMA USANDO UNA COMPUTADORA
Problema Algoritmo Programa en computadora
Diseño del algoritmo .- Describe los pasos a seguir para la resolución de un problema dado (análisis y desarrollo del algoritmo)
Programa en computadora .- El algoritmo se expresa mediante un lenguaje de programación en un programa.
TIPOS DE ALGORITMOS:
Algoritmo Cualitativo.- Son los algoritmos descritos mediante palabras. Ejm:
La elaboración de una receta de cocina El tejido a mano de una chompa. Búsqueda de un numero telefónico. El cambio de una llanta El cambio de un foco quemado.
Algoritmo Cuantitativo.- Son los algoritmos que se basan en cálculos numéricos. Ejm:
Pasos a seguir para resolver una ecuación de segundo grado. Pasos a seguir para calcular los sueldos de los empleados de una
empresa. Instrucciones para calcular los impuestos a pagar de los vecinos de un
municipio.
CARACTERÍSTICAS DE UN ALGORITMO .- Los algoritmos deben tener estas características:
Indicar un orden a seguir en cada uno de sus pasos. Ser definido (confiable), si se ejecuta dos veces debe lograrse el mismo
resultado. Ser finito, es decir terminar en un número finito de pasos.
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
PARTES DE UN ALGORITMO En un algoritmo se definen tres partes: Entrada, Proceso y Salida.
Fig. 1 Partes de un algoritmo o programa.
Ejm Cuantitativo: Leer la base y altura de un rectángulo y mostrar el area en pantalla.
Entrada (Lectura de datos): Se conocen los valores de la Base y la Altura Proceso (Calculo de Area): Area = Base * Altura Salida (Muestra los resultados): Muestra valor del Area
Ejm Cualitativo: Un socio de una biblioteca solicita un libro para lectura, si el libro se encuentra se le presta el libro, SINO se devuelve la ficha de pedido.
LEER Ficha de pedido EXAMINAR el Estante SI el libro esta en Estante
ENTONCES Se acepta el pedido Se recepciona Carnet de socio. SINO Se niega el pedido Se devuelve Ficha de Pedido FIN SI
DATOS – TIPOS DE DATOS
DEFINICION DE DATOS
Para la computadora es un conjunto o secuencia de bits (digitos 0 y 1 en binario). Sin embargo los lenguajes de alto nivel permiten ignorar los detalles de la representación interna (basándose en la abstracción ).
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
TIPOS DE DATOS
Existen dos tipos de datos : los simples ( sin estructura ) y los compuestos (estructurados)
Los tipos de datos simples (sin estructura) : a) Numéricos ( Entero y Real). b) Lógicos o boolean. c) Carácter. Entre los tipos de datos compuestos se tiene: cadena de caracteres.
a) Datos numéricos .- Conjunto de los valores numéricos. Pueden representarse en dos formas:
Numérico entero ( de punto o coma fijo ) es un subconjunto de los números enteros (+ o -).
Ejm: 5 -56 1340 17 -14
Los máximos y mínimos suelen ser: -32768 a 32767
Numérico real (punto o coma flotante) es un subconjunto de los números reales (+ o -)
Ejm: 0.08 3.7456 -53.456 3.0
Notación científica: Mantisa exponente
67 520 000 000 000 000 000 = 6.752 x 1019
0.000 000 000 000 000 234 123 = 2.34123 x 10-16
Tabla 1. Notación Científica
En algoritmos y en los programas C++, hay que declarar las variables de acuerdo a los datos que puede almacenar. así por ejemplo para datos numéricos:
Algoritmo En C++
Tipo de dato variables Tipo de
dato variables
entero numeroPersonas int numeroPersonas ;
entero numeroCajas int numeroCajas;
? El numeroPersonas y numeroCajas almacenan datos enteros.
real talla double talla;
real peso, talla, promPonderado double peso, talla, promPonderado;
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
? La talla, peso y PromPonderado almacenan datos reales.
Desea conocer mas sobre tipos numericos en C++ ?
Tabla 2. Declaración de variables que almacenan tipos de datos numericos enteros y reales
b) Datos Lógicos (o booleanos)
Dato que sólo puede tomar dos valores: true (verdadero o 1) y false (falso o 0). Se usa para representar las alternativas a determinadas condiciones:
Ejm:
Ejm Datos:
Opcion_continuar Verdadero Falso
Condición_de_recepción_de_carta Falso Verdadero
Estado_cancelación_de_factura Verdadero Falso
Mayoria_de_edad Falso Verdadero
Empleado_de_licencia Verdadero Falso
Tabla 3. Ejemplos de variables booleanas.
En algoritmos y en los programas C++, hay que declarar las variables de acuerdo a los datos que puede almacenar. así por ejemplo para datos booleanos:
Algoritmo En C++
Tipo de dato variables Tipo de dato variables
boolean opcionCon bool opcionCon;
boolean condicionRec bool condicionRec;
boolean estadoFac bool estadoFac;
boolean licenciaEmp bool licenciaEmp;
? opcionCon, condicionRec, estadoFac, licenciaEmp almacenan datos booleanos o lógicos.
Desea conocer mas sobre tipos numericos en C++ ?
Tabla 4. Declaracion de variables que almacenan tipos de datos boolean (que pueden tomar dos valores true o false)
c) Datos carácter
Conjunto finito y ordenado de caracteres que la computadora reconoce. Pueden ser:
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Pueden ser: Datos:
Alfabéticos: 'A' 'B' 'c' 'E' 'K' 'a' .... 'z' 'Z'
Numéricos: '0' '1' '2' '3' '4' '5' ... '8' '9'
Especiales: ' * ' ' - ' ' / ' ' + ' ' $ ' '< ' ' # ' '@'
Tabla 5. Datos caracter que la computadora reconoce (codigos ASCII)
En algoritmos y en los programas C++, hay que declarar las variables de acuerdo a los datos que puede almacenar. así por ejemplo para datos de tipo caracter:
Algoritmo En C++
Tipo de dato variables Tipo de dato variables
caracter letras char letras ;
caracter estCivil, nroMes char estCivil, nroMes;
caracter operacion char operacion;
caracter opcion char opcion;
? letras, estCivil, nroMes, operacion, opcion almacenan datos de tipo caracter.
Desea conocer mas sobre tipos caracter C++ ?
Tabla 6 Ejemplos de declaración de variables que almacenan tipos de datos caracter.
Datos Compuestos:
Una cadena de caracteres (cadena o string) sucesión de caracteres, que se encuentran delimitados por apostrofes simples(‘) o dobles(“).
Longitud de una cadena , es el numero de caracteres comprendidos entre los separadores o delimitadores.
Ejm: ‘HOLA AMIGOS’ Longitud = 11
Ejm: “MIURA FERNÁNDEZ” Longitud = 15
En algoritmos y en los programas C++, hay que declarar las variables de acuerdo a los datos que puede almacenar. así por ejemplo para datos de tipo cadena de caracteres o cadena:
Algoritmo En C++
Tipo de dato variables Tipo de dato variables
caracter nombre[30] char nombre[30] ;
caracter profesion[25] char profesion[25];
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
caracter* apellidos char * apellidos;
? nombre y profesion almacenan cadena de caracteres de hasta 30 y 25 caracteres respectivamente. Segun la lectura, se pueden leer datos con espacios en blanco o no. Por ejemplo: Edgar García Fernández (hay que usar gets() para leer este dato o con cin<<para leer solo Edgar )
? apellidos pueden asignarseles datos con espacios en blanco.
Desea conocer mas sobre tipos caracter C++ ?
Tabla 7. Ejemplos de varaibles cadenas de caracteres que almacenan
una cadena de caracteres o string
CONS TANTES Y VARIA BL ES
CONS TA NTES
Espacio de la memoria para almacenar un dato que permanece sin cambio durante la ejecución del programa. Puede ser :
Constante Numérica que representa un determinado valor o Constante Alfanumérica o literal que representa cualquier
combinación de caracteres (dígito, letra, símbolo especial). Ejm: PI = 3.14159 Ejm: Prefijo = “Srta. “ Ejm: TasaIgv = 0.18 Ejm: Prof = "Dr. "
Fig. 2. Ejemplos de constantes (espacios de memoria).
En algoritmos En programación C++
const entero x = 500 const int x = 50;
const real ti = 0.04 const double ti = 0.04;
const caracter Letra = 'A' const char Letra = 'A';
Tabla 8. Declaración de constantes de diversos tipos.
VARI ABLES
Espacio de la memoria para almacenar un dato que puede cambiar o no durante la ejecución de un programa. Puede ser : numérico en el que solo se pueden almacenar valores (dígitos) o alfanumérico en el que puede almacenarse cualquier carácter (dígito, letra o símbolo especial)
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Se le identifica por los siguientes atributos: El Nombre (o identificador ) que se le asigna, El tipo que describe el uso de la variable y El valor de la variable que es la cantidad que tiene asociada en un determinado momento
Fig. 3. Variables (declaración)
Es decir, la variable que representa la edad de una persona se identifica por el nombre Edad ; los datos que guardan son de tipo real y su valor en un momento determinado puede ser 25.
Nota: Los nombres de las variables deben ser significativos, y tener relación con el objeto que representan. Asi si se desea almacenar pesos, a dicha variable se le asignará el nombre depesos.
Una variable de un tipo determinado solo puede tomar valores de ese tipo.
Tipos de Variables
Las variables puede ser identificadas de acuerdo a la función que asume en el algoritmo, como:
a) Contador :
Campo o variable que sirve para llevar una cuenta con incrementos constantes, generalmente de 1 en 1. Ejm: NroPerMayEdad, variable que cuenta el número de personas mayores de edad Requiere de las siguientes instrucciones: NroPerMayEdad = 0 // inicializar en cero: NroPerMayEdad = NroPerMayEdad + 1 // NroPerMayEdad aumenta en uno
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
b) Acumulador :
Campo o variable que sirve para llevar una suma o cuenta de diferentes valores(acumular). Ejm: SEdad variable que almacena la suma de las edades de una cantidad de personas. Requiere de las siguientes instrucciones: 1. SEdad = 0 // Inicializa en cero 2. SEdad = SEdad + Edad // SEdad se incrementa en el valor de Edad Inicializar, significa poner en blanco o en cero una variable o campo antes de su utilización. Los acumuladores y contadores por lo general se inicializan en cero. La diferencia entre ellos se puede apreciar en la siguiente vista
c) Variable de Trabajo :
Campo que almacena temporalmente el resultado de alguna operación. No es variable de entrada ni de salida.
Ejm: Si me piden ingresar el radio y altura de un cilindro y requieren calcular el volumen del cilindro. El Area de la base ABase requerida seria una variable de trabajo porque no es variable ni de entrada ni de salida.
Fig. 4. Ejemplo de variables (de entrada, de salida y de trabajo)
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
FUNCIONES ESTÁNDAR ( INTERNAS )
Son funciones que vienen con todos los lenguajes de programación. Se
representa así;
Fig. 5. Definición de la función NombreFunción
Fig. 6. Llamada de la función NombreFunción, definida anteriormente
Esta es la llamada a la función, a la que se envia los argumentos (valores de variables o constantes o referencias)
FUNCIONES ARITMETICAS en la definición
Algoritmos (pseudocodigo)
Definición en C++
tipoRetorno NombreFuncion (t1 p1, . ,tn pn )
NombreFunción
Descripción
tipo de parámetro y de retorno en
algoritmos
tipo de parámetro y de retorno
en C++
abs(p) valor absoluto, retorna la magnitud de p
entero abs (entero p) real abs (real p)
int abs(int p) double fabs(double dp))
sqrt(p) raiz cuadrada, retorna la raiz cuadrada de p
real sqrt (real p) double sqrt (double p)
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
pow(p1,p2)
potencia del parametro p1 elevado al parametro p2
real pow (real p1, real p2)
double pow (double p1, double p2)
sin(p)
seno, retorna el seno de p expresado en radianes
real sin(real p) double sin( double p)
cos(p)
coseno, retorna el seno de p expresado en radianes
real cos(real p) double cos (double p)
tan(p)
tangente, retorna la tangente de pexpresado en radianes
real tan (real p) double tan (double p)
atan(p)
arco tangente, retorna el angulo en radianes cuya tangente es p
real atan (real p) double atan (double p)
exp(p) exponente p, de e, es decir ep
real exp( real p ); double exp(double p)
log(p) logaritmo neperiano de p
real log (real p) double log(double p)
log10(p) logaritmo decimal dep
real log10 (real p) double log10(double p)
Random()
genera un numero entero aleatorio entre 0 y maxEntero.
entero rand( )
srand () inicializa el generador de aleatorios. int rand( ) // genera entre 0 y
maxInt
entero (p) Parte entera de p
entero int (real p) int int (double p)
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Tabla 9. Definición de las funciones estandar en seudocódigo y en C++
Aqui tenemos las funciones estandar en el Lenguaje de programación C++ :
FUNCION EN LA LLAMADA (EN EL PROGRAMA PRINCIPAL)
ALGORITMOS LLamada en el LENGUAJE DE
PROGRAMACION C++
Definición NombreFuncion
tipos de los Argumentos x y
resultado r
Llamada y asignación en C++
Valor Absoluto de x entero x,r r = abs (x)
int x , r; double x, r;
r = abs( x ); r = fabs( x )
Raiz Cuadrada de x real x,r r=x 1/2 = sqrt(x)
double x, r ; r = sqrt ( x );
potencia real real x,n,r r= xn = pow(x,n)
double x,n,r; es decir r = xn
r = pow (x,n);
Exponente de e real x, r r = ex = exp(x)
double x, r ; r = exp( x );
Seno de x real x,r r = sin (x)
double x, r ; r = sin ( x );
Coseno de x real x,r r = cos(x)
double x, r ; r = cos( x );
Tangente de x real x,r r = tan(x)
double x, r ; r = tan( x );
Arco Tangente de x real x,r r = atan(x)
double x, r ; r = atan( x );
Logaritmo Natural o neperiano de x
real x,r r = log(x)
double x, r ; r = log( x );
Logaritmo Decimal de x real x,r r = log10(x)
double x, r ; r = log10( x );
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Numero aleatorio r = random() int r; srand(); r = rand ();
parte_entera (x) real x
entero r r = entero (x)
double x; int r;
r = int (x);
Tabla 10. Llamada de las funciones estandar en seudocódigo y en C++
EXPRESIONES ARITMÉTICAS
Son combinaciones de constantes y/o variables unidos por operadores aritméticos paréntesis y nombres de funciones especiales.
Operadores Aritméticos
Operador Significado Tipos operandos Tipo de resultado
^ ** Potenciación Base entera o real Exponente Entero
Entero o real Entero o real
+ Adición Entero o real Entero o real
- Sustracción Entero o real Entero o real
* Multiplicación Entero o real Entero o real
/ División Entero o real Real
div division entera Entero Entero
mod division entera Entero Entero
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Tabla 11. Operadores aritméticos, simbolo y sgnificado en pseudocodigo..
Los Operadores en algoritmos y en C++
OPERADORES ARITMETICOS
ALGORITMOS PSEUDOCODIGO
C ++
Adición o suma + +
Resta o Sustraccion
- -
Multiplicación * *
División Real / /
Potencia ^
Nota : Ddo y Dsor se
declaran enteros
Divión entera
Ddo = Dsor*Q + R
Modulo(resto) MOD
Ejm: R=Ddo MOD Dsor
% Ejm: R = (Ddo % Dsor)
Cociente DIV
Ejm: Q= Ddo DIV Dsor
Ejm: Q = (Ddo / Dsor)
Q = int (( Ddo - R) / Dsor))
: Desea conocer mas acerca de el cociente y el resto de una división entera
Tabla 12. Operadores aritméticos en seudocódigo y en C++
Ejm: a + b – 3 + sqrt(c) Ejm: pow(sin(x),2) + pow(cos(x),2) Ejm: c = sqrt( pow(a,2) + pow(b,2) ) Ejm: exp (3) – exp(2) Ejm: Ln(2.345) Ejm: Comision = Ventas*0.05 // Objeto result, de la estructura t_div veaDiapositiva t_div result resto = result.rem
cociente = result.quot
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Reglas de prioridad
1) Las operaciones encerradas entre paréntesis se evaluan primero. Si estan anidados, primero se evaluan los mas internos.
2) Operador exponencial ^ o ** 3) Operadores * / 4) Operadores + -
EXPRESIONES RELACIONALES
Es un conjunto de variables y/o constantes unidas o relacionadas por operadores relacionales.
OPERADORES RELACIONALES
algoritmos Significado En lenguaje C++
Operador Compleme
nto
Operador
Complemento
Operador Compleme
nto
<
> = menor que
mayor o igual que
<
> =
<= >
menor o igual que
mayor que < = >
>
< = mayor que
menor o igual que
>
< =
>= < mayor o igual que
menor que > = <
=
igual que
distinto de (diferente)
= = ! =
=
distinto de (diferente)
! = = =
Tabla 13. Operadores Relacionales y su complemento, en pseudocódigo y en C++
Ejm en algoritmos y en lenguaje C++
En algoritmos En C++
Edad > 18 Edad > 18
SalBruto <= SalNeto SalBruto <= SalNeto
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
EstCivil 'S' EstCivil != 'S'
Tabla 13. Ejemplos de operadores Relacionales en pseudocodigo y en C++
EXPRESIONES LÓGICAS ( o BOOLEANAS )
Se forman combinando constantes lógicas, variables lógicas y otras expresiones lógicas utilizando los operadores lógicos: NO, O, Y, y los operadores relacionales o de comparación.
En algoritmos En C++
( Edad > 18 ) Y ( Talla < 1.70 ) ( Edad > 18 ) && ( Talla < 1.70 )
NO ( sexo = ´F’ ) ! ( sexo == ´F’ )
( EstCivil = ‘C’ ) O (Sueldo > 2000) ( EstCivil == ‘C’ ) || (Sueldo > 2000)
Tabla 14. Ejemplos de expresiones booleanas
FORMAS DE REPRESENTAR LOS ALGORITMOS
Los algoritmos pueden presentarse en :
Diagramas de Flujo, Diagramas de Nassi Sneidermann y pseudocódigo,
Pseudocódigo
Es un lenguaje de especificación de algoritmos. Es similar al lenguaje común. Su traducción a un lenguaje de programación es sencillo.
Utiliza enunciados donde cada uno de ellos representa una instrucción en un programa de computadora.
Ofrece gran facilidad para representar en un lenguaje no formal las instrucciones de un algoritmo que sirve de base para el código o programa fuente
Utiliza palabras reservadas en ingles o en castellano como
Iniciar el algoritmo INICIO
Finalizar el algoritmo FIN
Lectura (permite ingresar los valores de las variables)
LEER
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Mostrar (permite mostrar los valores de las variables)
MOSTRAR
Estructura Selectiva SI (expBooleana) { ... .... } SINO {... .... }
SELECCIONA segun (selector ) { caso v1 : ....... }
Estructura Repetitiva PARA ( ... ; Hasta ; ... con ) { ......... }
MIENTRAS (expBooleana ) { .... }
DO { .............. } MIENTRAS ( expBooleana )
Tabla 15. Tabla de las principales palabras representativas en pseudocódigo para identificar las estructuras de control, inicio, fin, entrada y salida de datos.
INSTRUCCIONES O SENTENCIAS
a) Instrucción de Asignación
Operación en la cual el computador desarrolla o evalúa una expresión matemática y almacena el resultado final en una determinada variable. En la forma más simple de asignación el computador mueve una constante o el contenido de un campo a otra variable.
Sintaxis:
Nombre_de_la_variable = expresión, variable o constante
Asignación Aritmética:
En algoritmos En C++
var1 = 3+4*2 var1 = 3+4*2
var2 = 0.65 / 0.2 var2 = 0.65 / 0.2
var3 = var1 / var2 var3 = var1 / var2
Tabla 16. Ejemplos de asignaciones aritméticas
Asignación Lógica
En algoritmos En C++
Boolean var1,var2,var3 Bool var1,var2,var3;
var1 = 5 < 2 var1 = 5 < 2;
var2 = 7 >= 3 var2 = 7 >= 3;
var3 = var1 o var2 var3 = var1 || var2 ;
Tabla 16. Ejemplos de asignaciones lógicas o booleanas.
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Asignación de Caracteres o cadena de caracteres
En algoritmos En C++
caracter *vCad, car char * vCad, car ;
car = 'S' car = 'S';
vCad = "25 de diciembre de 1998" vCad = "25 de diciembre de 1998";
Tabla 17. Ejemplos de asignaciones de caracteres y cadenas de caracteres NOTA : = Este simbolo significa asignación e indica que el valor de la parte derecha del enunciado se le asigna a variable de la izquierda
Reglas para la construccion de un enunciado de asignación:
Toda variable del lado derecho debe estar definida Después de ejecutarse un enunciado: Solo la variable de la izquierda puede cambiar de valor cuando con
anterioridad tiene un valor asignado Las variables del lado derecho conservan su valor.. Si la variable de la parte izquierda se encuentra también en la derecha ,
esta variable cambia de valor por aparecer en la izquierda
b) Instrucción de Entrada y salida de información
En algoritmos En C++
real v
entero v2
caracter sexo double v; int
v2; char sexo;
LEER v cin>> v;
LEER v2 cin>>v2;
MOSTRAR v cout<<v;
MOSTRAR v, v2 cout<<v<<v2<<endl;
LEER sexo cin>>sexo;
caracter nombre[20] char nombre[20]; // cadena de
caracteres
LEER nombre cin>>nombre; // lee un solo nombre sin espacios en
blanco
gets(nombre); // lee nombre con espacios en blanco
MOSTRAR nombre cout<<nombre; // con y sin espacios en
blanco
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Tabla 18. Entrada y salida de datos en pseudocódigo y en C++
ESTRUCTURA Y DISEÑO DE UN ALGORITMO EN PSEUDOCÓDIGO
Encabezado .- Empezar con la palabra ALGORITMO seguida por una descripción adecuada de acuerdo al problema a resolver
Ejm: ALGORITMO Calcular Area del Circulo
Inicio del Algoritmo .- Indicar el inicio del Algoritmo
Ejm INICIO
Declaración de Constantes .- Definir los valores que no cambian en el transcurso del algoritmo
Ejm const real Pi = 3.1416
Declaración de las Variables a usar .- Definir las variables (estructuras de datos ) que sean necesarios para resolver el problema, identificándolas con un nombre y determinando sus tipos.
Ejm. Real Radio , Area
Leer Calcular o Imprimir .- Que permite leer, calcular o imprimir tantas veces se quiera.
a) Leer Datos.- Permite introducir los valores de las variables de entrada disponibles como materia prima, para evaluar las variables de salida
Ejm: LEER Radio
b) Calcular .- Permite procesar los valores de entrada para producir la salida adecuada.
Ejm : Area = Pi * Radio * Radio o Area = Pi * pow ( Radio,2 )
c) Mostrar Resultados (Salida de Datos) .- Permite dar salida a la información requerida.
Ejm: MOSTRAR Area
El algoritmo completo es el siguiente:
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Ejm : para el problema del cálculo del area de un rectángulo visto anteriormente, en seudocódigo sería así: INICIO
// Entrada (Lectura) de datos LEER Base , Altura
// Proceso: Calculo de Area Area = Base * Altura
// Salida de resultados MOSTRAR Area FIN
Fig. 7. Entrada, proceso y salida de información. Ejm : Hacer un algoritmo que permita calcular el jornal basico de un obrero, si para ello se requiere ingresar por teclado la tarifa horaria y el numero de horas trabajadas. La formula del jornal es : Jornal = TarHora x NroHoras.
Fig. 8. Entrada , Proceso y salidad de información. ALGORITMO CalJornal INICIO
// Declaración de las variables real TarHora, Jornal entero NroHoras // Lectura de los Datos de Entrada LEER TarHora LEER NroHoras // Calculo del Area del Rectangulo Jornal = TarHora * NroHoras. // Muestra Area del Rectangulo MOSTRAR Jornal
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
FIN
ESTRUCTURAS DE CONTROL
Algoritmo pseudocodigo En Lenguaje C++
Estructura Selectiva
si ( ExpBooleana ) { Bloque_Verdadero } sino
{ BloqueFalso }
if ( ExpBooleana ) { Bloque_Verdadero } else
{ BloqueFalso }
Estructura switch
Seleccione ( selector) { caso val1 : Bloque_1; salto
caso val2 : Bloque_2; salto
sino : Bloque_n; }
switch ( selector ) { case val1 : Bloque_1
break ; case val2 : Bloque_2
break ; default : Bloque_n
}
val1 y val2 son los posibles valores de selector
En caso selector sea val1 , se ejecuta el Bloque_1
En caso selector sea val2 , se ejecuta el Bloque_2
De lo contrario se ejecuta el Bloque_n
Estructura Repetitiva for
Para ( i = vi ; hasta vf ; i=i+inc ) { Bloque_Repetitivo }
for ( i = vi ; i <= vf ; i = i+inc ) { Bloque_Repetitivo } // El valor inicial de i es vi , se ejecuta el
Bloque_Repetitivo mientras i sea <=vf , con
incrementos de i en inc
El Bloque_Repetitivo deja de ejecutarse, cuando el valor de i > vf
Estructura Repetitiva while
Mientras ( expresion_Booleana ) { Bloque repetitivo }
while ( Expresión_Booleana) { Bloque_Repetitivo }
// Evalúa la expresion Booleana antes de ejecutar el Bloque_Repetitivo, si es true ejecuta el Bloque_Repetitivo, de lo contrario ya no ejecuta el bloque_Repetitivo
INGENIERIA DE SISTEMAS | CARLOS ESTRADA TORRES
Hacer { Bloque repetitivo } Mientras ( expresion_Booleana )
do { Bloque Repetitivo } while ( expresion_Booleans);
// Evalúa la expresion Booleana despues de ejecutarse el Bloque_Repetitivo, si es true continua ejecutando el Bloque_Repetitivo, de lo contrario sale del Bloque_Repetitivo.
// El Bloque_Repetitivo, se ejecuta por lo menos 1 vez.
Tabla 19. Tabla de estructuras de control, que facilitan la codificación en el lenguaje C++, a partir de algoritmos hechos en pseudocódigo