Indice
1.
Introducción
2.
Algoritmo: Definición
3.
Constantes: Definición
4.
Variables: Definición
5.
Flujograma: Definición
6. Bibliografía
1. Introducción
Los matemáticos hindúes,
árabes y europeos fueron los primeros que desarrollaron técnicas de cálculo
escrito. El matemático árabe Al\'Khwarizmi
, alrededor del año 830 DC, escribe un libro de Aritmética, traducido al latín
como Algoritmi de numero Indorum, donde introduce el sistema numérico indio (sólo
conocido por los árabes unos 50 años antes) y los métodos para calcular con
él. De esta versión latina proviene la palabra Algoritmo.
Por algoritmo se entiende "una lista de instrucciones donde se especifica
una sucesión de operaciones necesarias para resolver cualquier problema de un
tipo dado". Los algoritmos son modos de resolución de problemas, cabe
aclarar que no sólo son aplicables a la actividad intelectual, sino también a
todo tipo de problemas relacionados con actividades cotidianas. El algoritmo es
de carácter general y puede aplicarse a cualquier operación matemática o a
cualquier problema. La formulación de algoritmos fue uno de los más grandes
adelantos dentro de la ciencia matemática ya que a partir de ello se pudieron
resolver infinidad de problemas.
Landa, matemático ruso, quien ha investigado mucho al respecto nos dice que
"la ciencia matemática, en el proceso de su desarrollo, ha tratado de
encontrar los algoritmos óptimos más generales para resolver los problemas que
permitan la solución uniforme de clases más amplias de problemas de una
manera, es decir, empleando siempre el mismo sistema de operación. Los
algoritmos, para llegar a ser tales deben reunir ciertas características. Una
de ellas es que los pasos que deben seguirse deben estar estrictamente
descritos, cada acción debe ser precisa, y debe ser general, es decir, que
pueda ser aplicable a todos los elementos de una misma clase. Por ejemplo en el
caso del algoritmo de una multiplicación, no sólo se realizará el
procedimiento de resolución parte para la multiplicación de 4 x 4, sino que el
mismo algoritmo podrá aplicarse a cualquier multiplicación. La última de
estas características será la resolución, en otras palabras, esto quiere
decir que el algoritmo deberá llegar a un resultado específico.
Es de gran importancia aclarar que los algoritmos en si mismos no resuelven
problemas, se resuelven gracias al producto de ejercer las operaciones dictadas
por el algoritmo, se puede decir que es por el planteamiento mismo. La realización
de algoritmos es natural e innata en el hombre y en la mayoría de los casos es
de tipo inconsciente, en otras palabras, las personas suelen resolver problemas
sin tener que recurrir a la aplicación de cierto algoritmo. No obstante al
encontrarse con problemas de un grado de dificultad mayor es necesario detenerse
a analizar y pensar en la solución de éste .
En el presente trabajo se enfocan diversos puntos que son de gran importancia
como lo son Algoritmo del cual hemos comentado anteriormente . Flujograma el
cual no es más que la representación gráfica de un algoritmo y el cual es
necesario para la realización de un buen programa , haciendo que el hombre
organice sus ideas y conozca a fondo el problema a solucionar con todas las
posibles variantes o alternativas utilizando esta técnica. También se hablará
de ciertos puntos referentes a Estructura de Datos, Variables , Constantes y se
reflejaran ejemplos para su mejor compresión.
2. Algoritmo: Definición
Es un Método para resolver
un problema mediante una serie de pasos precisos , definidos y finitos. Un
algoritmo es una serie de operaciones detalladas ,en otras palabras un algoritmo
es un conjunto de reglas para resolver una cierta clase de problemas y se puede
formular de muchas formas con el cuidado de que no exista ambigüedad.
Características
- Preciso (debe indicar el orden de realización en
cada paso y no puede tener ambiguedad ).
- Definido (si se sigue dos veces, obtiene el mismo
resultado cada vez)
- Finito (tiene fin; un número determinado de
pasos ).
- Debe ser Sencillo , Legible.
- Modular.
- Eficiente y Efectivo.
- Se ha de desarrollar en el menor tiempo posible.
- Correcto.
- Todo Algoritmo debe tener cero ó mas entradas.
- Debe tener al menos una salida y ésta debe ser
tangible.
3. Constantes: Definición
Una constante es un dato cuyo valor no puede cambiar durante
la ejecución del programa. Recibe un valor en el momento de la compilación y
este permanece inalterado durante todo el programa. Las constantes se declaran
en una sección que comienza con la palabra reservada const . Después de
declarar una constante se puede usar en el cuerpo principal del programa.
Tienen varios usos: ser miembro en una expresión, en una comparación, asignar
su valor a una variable, etc.
En el siguiente ejemplo se contemplan varios casos:
|
const
Min = 0;
Max = 100;
Sep = 10;
var
i : integer;
begin
i := Min;
while i < Max do begin
writeln(i);
i := i + Sep
end
end.
|
|
|
En este ejemplo se declaran tres constantes (Min, Max y Sep).
En la primera línea del cuerpo del programa se asigna una constante a una
variable. En la siguiente, se usa una constante en una comparación. Y en la
cuarta, la constante Sep interviene en una expresión que se asigna a una
variable. El resultado de ejecutar este programa sería una impresión en
pantalla de los números: 0, 10, 20, 30, 40, 50, 60, 70, 80 y 90.
Se puede hacer una división de las constantes en tres clases:
- Constantes literales(sin nombre)
- Constantes
declaradas (con nombre)
expresión
Son valores de cualquier tipo que se utilizan directamente,
no se declaran ya que no tienen nombre. En el siguiente ejemplo tienes un par de
constantes literales (el 3, el 4, y el 3.1416):
|
VolumenEsfera := 4/3 * 3.1416 * Radio * Radio * Radio;
|
- Constantes declaradas
También llamadas constantes con nombre, son las que se declaran en la sección
Const asignándoles un valor directamente.
Por ejemplo:
|
const
Pi = 3.141592; (*
valor real *)
Min = 0; (* entero *)
Max = 99; (* entero *)
Saludo = \'Hola\'; (* cadena caract. *)
|
- Constantes expresión
También se declaran en la sección Const pero a estas no se les asigna un
valor directamente, sino que se les asigna una expresión. Esta expresión
se evalúa en tiempo de compilación y el resultado se le asigna a la
constante.
Ejemplo:
|
const
Min = 0;
Max = 100;
Intervalo = 10;
N = (Max - Min) div Intervalo;
Centro = (Max - Min) div 2;
|
4. Variables: Definición
Una variable es un nombre asociado a un elemento de datos que
está situado en posiciones contiguas de la memoria principal, y su valor puede
cambiar durante la ejecución de un programa. Toda variable pertenece a un tipo
de dato concreto. En la declaración de una variable se debe indicar el tipo al
que pertenece. Así tendremos variables enteras, reales, booleanas, etc. Por
otro lado, distinguimos tres partes fundamentales en la vida de una variable:
Declaración de variables
Esta es la primera fase en la vida de cualquier variable. La forma de declarar
variables es muy sencilla. Esta sección debe comenzar con la palabra reservada
var, seguida de una lista de parejas lista_de_variables=tipo_al_que_pertenecen.
Cada par debe ir seguido por un punto y coma.
La lista_de_variables es uno o más nombres de variables separados por comas:
|
var
listaVar1:tipo1;...;listaVarn:tipon;
|
Una variable no representa más que una porción de memoria
en donde guardamos un dato que dependerá del tipo al que pertenezca la
variable. A diferencia de una constante, el valor de una variable puede cambiar
durante la ejecución de un programa. Otra diferencia, es que a una variable no
basta con declararla, sino que también es necesario iniciarla. Esto se refiere
a darle un valor inicial, y es importante ya que si no lo hacemos, igual nos
encontramos con errores cuando ejecutemos el programa.
Ejemplo de declaración de variables:
|
...
var
I, J, K : Integer;
(* valores enteros *)
Contador : Integer;
Radio : Real; (*
valor real *)
Letra : Char; (* un
caracter *)
...
|
En este ejemplo se declaran seis variables. Las cuatro
primeras son de tipo entero. La quinta es de tipo real, o sea, un número con
parte decimal. Y la sexta es un carácter, que no es lo mismo que una cadena de
un carácter (String[1]).
Iniciación de variables
Esto no es más que darle un valor inicial a una variable. Así como lo primero
que se hace con una variable es declararla, lo siguiente tiene que ser
iniciarla. Esto se hace para evitar posibles errores en tiempo de ejecución,
pues una variable tiene un valor indeterminado después de declararla.
Principalmente, existen dos maneras de otorgar valores iniciales a variables:
- Mediante una sentencia de asignación
- Mediante uno de los procedimientos de entrada de
datos (read o readln)
Veamos un ejemplo que reúne los dos casos:
|
begin
...
i:=1;
readln(n);
while i < n do begin
(* cuerpo del bucle
*)
i := i + 1
end;
...
end.
|
Utilización de variables
Una vez declarada e iniciada una variable, es el momento de utilizarla. Esta es
la parte que presenta un mayor abanico de posibilidades. A continuación se
presentan unas cuantas:
i := i + 1
for i:=1 to 10 do ...
if i<10 then ...
- Participar en una expresión:
n := (Max - Min) div I
Tipos de datos.
El tipo de un dato es el conjunto de valores que puede tomar durante el
programa. Si se le intenta dar un valor fuera del conjunto se producirá un
error. El tipo de dato le indica al compilador del lenguaje de programación dos
cosas: el número de bytes requeridos para guardar el dato, y la manera en que
se manipulara y operara el dato.
La asignación de tipos a los datos tiene dos objetivos principales:
- Por un lado, detectar errores en las operaciones
- Por el otro, determinar cómo ejecutar estas
operaciones
Cada lenguaje de programación tiene sus propios tipos de
datos, algunos de estos son comunes a todos, entre los tipos de datos comunes
están :
- Entero,
- Real,
- Carácter,
- Lógico,
- Fecha
/ hora y Cadena.
El tipo integer (entero)
El tipo de datos entero es un tipo simple, y dentro de estos, es ordinal. Al
declarar una variable de tipo entero, se está creando una variable numérica
que puede tomar valores positivos o negativos, y sin parte decimal. Este tipo de
variables, puede utilizarse en asignaciones, comparaciones, expresiones aritméticas,
etc. Algunos de los papeles más comunes que desarrollan son:
bucle .
- Usarlas como contador, incrementando su valor
cuando sucede algo .
- Realizar operaciones enteras, es decir, sin parte
decimal
- Y muchas más...
A continuación se muestra un ejemplo en el que aparecen dos
variables enteras. Como se puede ver, en el ejemplo se muestran las dos maneras
de declarar una variable de tipo entero:
|
type
tContador = integer;
var
i : tContador;
n : integer;
begin
n := 10; (*
asignamos valor al maximo *)
i := 1; (* asignamos
valor al contador *)
while (i <= n) do begin
writeln(\'El valor
de i es \',i);
i := i + 1
end
end.
|
El tipo boolean (lógico)
El tipo de datos lógico es el que permite usar variables que disponen sólo de
dos posibles valores: cierto ó falso. Debido a esto, su utilidad salta a la
vista, y no es otra que variables de chequeo. Nos sirven para mantener el estado
de un objeto mediante dos valores:
si/no
cierto/falso
funciona/no funciona
on/off
etc.
Para aclararlo, se muestra el siguiente ejemplo:
|
type
tLogico = boolean;
var
llueve : tLogico; (*
si llueve o no *)
paraguas : boolean;
(* si encuentro o no el paraguas *)
begin
(* aqui se
determinarian los valores de "llueve" y "paraguas"
*)
if llueve and (not paraguas) then
writeln(\'Me quedo
en casita\')
else
writeln(\'Me voy a
dar un paseo\')
end.
|
El tipo real
El tipo de datos real es el que se corresponde con los números reales. Este es
un tipo importante para los cálculos. Por ejemplo en los estadísticos, ya que
se caracterizan por tratar fundamentalmente con valores decimales. A continuación
se muestra un ejemplo en el que se utiliza el tipo real. En el se puede ver las
dos formas de declarar una variable real, y también el uso de una constante
real.
|
const
pi = 3.1416;
type
tArea = real;
var
A : tArea; (* area *)
R : real; (* radio *)
begin
R := 4.50;
A := pi * R * R; (*
calculamos el area *)
writeln(\'El area
para un radio de \',R:4:2,\' es \',A:8:4)
end.
|
Los tipos char y string (carácter y cadena)
Con el tipo carácter se pueden tener objetos que representen una letra, un número,
etc. Es decir, se usan variables o constantes que representen un valor alfanumérico.
Pero , cada variable sólo podrá almacenar un carácter. Sin embargo, con las
cadenas de caracteres (strings) se puede contener en una sóla variable más de
un carácter. Por ejemplo, se puede tener en una variable tu nombre.
Veamos a continuación cómo se usan ambos tipos en el
siguiente ejemplo:
|
type
tNombre =
string[10]; (* puede almacenar 10 caracteres *)
var
nombre : tNombre; (*
variable para almacenar el nombre *)
letra_NIF : char; (*
caracter para contener la letra del NIF *)
begin
nombre := \'Beni\';
letra_NIF := \'L\';
writeln(\'Mi nombre
es \',nombre,\' y mi letra es \',letra_NIF)
end.
|
Estructura de Datos :Repetitivas y Secuencial
Las estructuras repetitivas o iterativas son aquellas en las
que las acciones se ejecutan un número determinado de veces y dependen de un
valor predefinido o el cumplimiento de una determinada acción.
Características
- Las estructuras repetitivas permiten representar
aquellas acciones que pueden descomponerse en otras sub-acciones primitivas.
- Es una estructura con una entrada y una salida en
la cual se repite una acción un número determinado o indeterminado de
veces
- En una Estructura Repetitiva Mientras (While) se
repite una acción mientras se cumpla la condición que controla el bucle.
La característica principal de esta estructura es lque la condición es
evaluada siempre antes de cada repetición.
- La estructura repetitiva Desde(FOR) permite que
las instrucciones las cuales contiene en su ámbito, se ejecuten un número
de veces determinado.
Entre las estructuras repetitivas se encuentran:
|
|
Mientras (while)
|
|
|
Repetir
(repeat)
|
Estructura Mientras (while)
La estructura repetitiva while, es aquélla en que el cuerpo
del bucle se repite mientras se cumple una determinada condición, su
representación gráfica es:
Pseudocódigo en español
Pseudocódigo en inglés
Mientras condición hacer
while condición do
Acción S1
<Acciones>
Acción S2
:
:
End_while
acción Sn
Fin_mientras
Diagrama N-S
1er. Ejemplo:
Contar los números enteros positivos introducidos por
teclado. Se consideran dos variables enteras NUMERO y CONTADOR (contará el número
de enteros positivos). Se supone que se leen números positivos y se
detiene el bucle cuando se lee un número negativo o cero.
Pseudocódigo
Inicio
contador
0
Leer (numero)
Mientras numero > 0 hacer
contador
contador+1
Leer (numero)
Fin_Mientras
Escribir(\'El número de enteros positivos es : \', contador)
Fin
Diagrama de Flujo – 1er. Ejemplo
2do. Ejemplo
Se presenta algoritmo para el cálculo de la sumatoria de los
n primeros términos de la siguiente serie:
1*2*3 + 2*3*4 + 3*4*5 + 4*5*6
//WHILE_
#include <iostream.h>
#include <conio.h>
main(){
int i=0, n;
float termino, suma=0;
clrscr(); cout << "Digite el valor de N: ";
cin >> n; cout << "\\n";
while( i<n ){
i = i + 1;
termino = i * (i+1) * (i+2);
suma = suma + termino;
cout << i <<
" * " << i+1 << " * " << i+2 <<
" = " << termino << endl;
}
cout << "\\nSumatoria = " << suma;
}
Estructura Repetir (repeat)
Esta estructura se ejecuta hasta que se cumpla una condición determinada que se
comprueba hasta el final del bucle. Se ejecuta al menos una vez. El bucle
repetir-Hasta_que se repite mientras el valor de la expresión booleana de la
condición sea falsa, justo la opuesta de la sentencia mientras.
Pseudocódigo en Español
Pseudocódigo en Inglés
Repetir
Repeat
<acciones>
<acciones>
:
:
Hasta que <condición>
Until <condición>
Diagrama de Flujo de Repetir
1 er .Ejemplo :
Preguntar un nombre y repetirse en pantalla tantas veces como se desee.
(preguntar cantidad de repeticiones), indicando el número de repetición.
Declaración de variables
Cadena : nom
entero : x, n
Inicio
escribir(‘Nombre :
‘)
leer(nom)
escribir(‘Cuántas
veces quieres repetirlo ? : ‘)
leer(n)
para x
1 hasta n hacer
escribir(x’.- ‘, nom)
Fin
2do. Ejemplo
Construir un programa que sume todos los números que introduce el usuario hasta
que introduzca el número cero.
/* declaraciones */
float numero, suma_acumulada;
/*instrucciones*/
comienzo
/* inicialización */
suma_acumulada := 0;
leer (numero);
mientras numero > 0 repetir
comienzo
suma_acumulada := suma_acumulada + numero;
leer
(numero);
fin mientras;
mostrar ("La suma acumulada es:
", suma_acumulada);
fin;
Estructura Desde/Para (for)
Esta sentencia incluye una expresión que especifica el valor inicial de un índice,
otra expresión que determina cuando se continúa o no el bucle y una tercera
expresión que permite que el índice se modifique al final de cada pasada.
La forma general de esta sentencia es:
for (expresión 1; expresión 2; expresión 3) sentencia
en donde
expresión 1 (expresión de asignación), inicializa algún parámetro (llamado
índice) que controla la repetición del bucle;
expresión 2 (expresión lógica), representa una condición que debe ser
satisfecha para que se continúe la ejecución del bucle;
expresión 3 (expresión monaria o expresión de asignación), modifica el valor
del parámetro inicialmente asignado por la expresión
La ejecución de la sentencia for sucede de la siguiente forma:
- Se inicializan los parámetros.
- Se evalúa la expresión lógica.
2.1. Si el resultado es distinto de cero (verdadero),
se ejecuta la sentencia, se evalúa la expresión que da lugar a la progresión
de la condición y se vuelve al punto 2.
2.2. Si el resultado de 2, es cero (falso), la ejecución de la sentencia
for se da por finalizada y se continúa en la siguiente sentencia del programa.
En muchas ocasiones se conoce de antemano el número de veces que se desean
ejecutar las acciones de un bucle. En estos casos en el que el número de
iteraciones es fija, se debe usar la estructura desde o para.
La estructura Desde ejecuta las acciones del cuerpo del bucle un número específico
de veces y de modo automático controla el número de iteraciones o pasos a través
del cuerpo del bucle.
Pseudocódigo en Español
Pseudocódigo en Inglés
Desde variable(v)= vi Hasta vf hacer
For variable (v)= vi To vf Do
<acciones>
<acciones>
:
Fin_desde
Donde:
v:
Variable índice
vi, vf: Valores
inicial y final de la variable
Diagrama de Flujo de la estructura Desde/Para
1er.Ejemplo
Cuenta del 1 al 50 varias veces, con variantes de la instrucción FOR.
//FOR_
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
main(){
int i=1;
clrscr();
for( ; i<=50; i++)
cout << setw(5) <<
i;
cout <<
"\\n\\n";
for(i=1; i<=50; i++)
cout << setw(5) <<
i;
cout <<
"\\n\\n";
i = 0;
for( ; i<50; ) {
i++;
cout << setw(5) <<
i;
}
cout <<
"\\n\\n";
for(i=1 ; i<=50; ) {
cout << setw(5) <<
i;
i++;
}
cout <<
"\\n\\n";
i = 0;
for( ; ; ) {
i ++;
if (i > 50)
break;
else
cout << setw(5) <<
i;
}
getch();}
2do. Ejemplo
Expansión binomial:
n n-i i
(a+b)_ = S ( n! / (i!×(n-i)!))×a
×
b
i=0
El siguiente algoritmo muestra en pantalla los coeficientes
de la expansión binomial para un N dado por teclado:
//FOR_5.CPP
#include <iostream.h>
#include <conio.h>
float factorial(int numero){
int i;
float f=1;
for(i=1; i<=numero; i++)
f = f * i;
return f;
}
main(){
int n, i, a, b, coeficiente;
clrscr();
cout<<"Digite exponente(n) para calcular
coeficientes del binomial (a+b)_: ";
cin >> n;
cout <<"\\n";
for(i=0; i<=n; i++) {
coeficiente = factorial(n) /
(factorial(i)*factorial(n-i));
cout << coeficiente
<< " ";
}
getch();
return 0;
}
- Es aquélla 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.
Características
- La estructura secuencial tiene una entrada y una
salida.
- Un programa puede contener simplemente una
secuencia de instrucciones.
- Es aquella que ejecuta las acciones sucesivamente
unas a continuación de otras sin posibilidad de omitir ninguna y
naturalmente, sin bifurcaciones.
- Su representación gráfica es la siguiente:
Estructura Secuencial
....
Pseudocódigo De Una Estructura Secuencial
Inicio
:
:
acciones
:
fin
1er. Ejemplo :
Calcular el
salario neto de un trabajador en función del número de horas trabajadas,
precio de la hora de trabajo y considerando unos descuentos fijos al sueldo
bruto en concepto de impuestos (20 por 100).
Pseudocódigo
Inicio
{cálculo salario neto}
leer nombre, horas, precio_hora
salario_bruto
horas
* precio
impuestos
0.20
* salario_bruto
salario_neto
salario_bruto_impuestos
escribir nombre, salario_bruto, salario_neto_bruto,
salario_neto
Fin
Diagrama de flujo – 1er. Ejemplo
2do. Ejemplo
Suponga que un curso estaba compuesto de tres estudiantes. Cada uno de los
estudiantes cursó dos asignaturas. Se deben leer inicialmente los nombres de
los tres estudiantes, los nombres de las dos asignaturas y luego: las
calificaciones definitivas de cada una de las dos asignaturas para cada uno de
los tres estudiantes. Calcular:
- la nota promedio de cada uno de los tres
estudiantes.
- 2. la nota promedio de cada una de las
asignaturas.
INICIO
CARACTER Asignatura1[10], Asignatura2[10],
Estudiante1[15], Estudiante2[15], Estudiante3[15];
REAL Est1Asig1, Est1Asig2,
Est2Asig1, Est2Asig2,
Est3Asig1, Est3Asig2,
PromedioAsignatura1, PromedioAsignatura2,
PromedioEstudiante1,PromedioEstudiante2, PromedioEstudiante3;
Escribir("Digite Nombre asignatura 1: ")
Leer(Asignatura1)
Escribir("Digite Nombre asignatura 2: ")
Leer(Asignatura2)
Escribir("Digite Nombre estudiante 1: ")
Leer(Estudiante1)
Escribir("Digite Nombre estudiante 2: ")
Leer(Estudiante2)
Escribir("Digite Nombre estudiante 3: ")
Leer(Estudiante3)
//A continuación se pedirá digitar las 3 * 2 = 6
calificaciones
Escribir("Digite Calificaciones de ",
Estudiante1, ":")
Escribir("En la asignatura de ", Asignatura1,
": ")
Leer(Est1Asig1)
Escribir("En la asignatura de ", Asignatura2,
": ")
Leer(Est1Asig2)
Escribir("Digite Calificaciones de ", Estudiante2
": ")
Escribir("En la asignatura de ", Asignatura1,
": ")
Leer(Est2Asig1)
Escribir("En la asignatura de ", Asignatura2,
": ")
Leer(Est2Asig2)
Escribir("Digite Calificaciones de ", Estudiante3,
": ")
Escribir("En la asignatura de ", Asignatura1,
": ")
Leer(Est3Asig1)
Escribir("En la asignatura de ", Asignatura2,
": ")
Leer(Est3Asig2)
//A continuación los cálculos necesarios
PromedioEstudiante1 = (Est1Asig1 + Est1Asig2) / 2
PromedioEstudiante2 = (Est2Asig1 + Est2Asig2) / 2
PromedioEstudiante3 = (Est3Asig1 + Est3Asig2) / 2
PromedioAsignatura1 = (Est1Asig1 + Est2Asig1 + Est3Asig1) / 3
PromedioAsignatura2 = (Est1Asig2 + Est2Asig2 + Est3Asig2) / 3
Escribir("Promedio estudiantes en ", Asignatura1,
"=", PromedioAsignatura1)
Escribir("Promedio estudiantes en ", Asignatura2,
"=", PromedioAsignatura2)
Escribir("Promedio ", Estudiante1, " = ",
PromedioEstudiante1)
Escribir("Promedio ", Estudiante2, " = ",
PromedioEstudiante2)
Escribir("Promedio ", Estudiante3, " = ",
PromedioEstudiante3)
FIN.
3er. Ejemplo
En unas elecciones se presentan tres candidatos. a continuación
se presenta algoritmo para calcular estadísticas elementales de la elección.
Se tienen en cuenta los votos en blanco y la población electoral total.
A
INICIO
Constante REAL TotalCensoElectoral = 50000
CARACTER Candidato1[15], Candidato2[15], Candidato3[15]
REAL VotosCandidato1, VotosCandidato2, VotosCandidato3,
VotosEnBlanco,
TotalVotosEleccion,
PorcentajeCandidato1,PorcentajeCandidato2,
PorcentajeCandidato3,
PorcentajeVotosEnBlanco,
PorcentajeCiudadanosResponsables,
PorcentajeCiudadanosInconcientes;
Escribir("Digite Nombre candidato 1: ")
Leer(Candidato1)
Escribir("Digite Nombre candidato 2: ")
Leer(Candidato2)
Escribir("Digite Nombre candidato 3: ")
Leer(Candidato3)
Escribir("Digite votación de ", Candidato1,
": ")
Leer(VotosCandidato1)
Escribir("Digite votación de ", Candidato2,
": ")
Leer(VotosCandidato2)
Escribir("Digite votación de ", Candidato3,
": ")
Leer(VotosCandidato3)
Escribir("Digite votación en blanco ")
Leer(VotosEnBlanco)
//A continuación los cálculos necesarios
TotalVotosEleccion = VotosCandidato1 + VotosCandidato2 +
VotosCandidato3 + VotosEnBlanco
PorcentajeCandidato1 = ( VotosCandidato1 / TotalVotosEleccion
) * 100
PorcentajeCandidato2 = ( VotosCandidato2 / TotalVotosEleccion
) * 100
PorcentajeCandidato3 = ( VotosCandidato3 / TotalVotosEleccion
) * 100
PorcentajeVotosEnBlanco = ( VotosEnBlanco /
TotalVotosEleccion ) * 100
PorcentajeCiudadanosResponsables=(TotalVotosEleccion/TotalCensoElectoral)*100
PorcentajeCiudadanosInconcientes = 100 -
PorcentajeCiudadanosResponsables
Escribir("Porcentaje ", Candidato1, " =
", PorcentajeCandidato1)
Escribir("Porcentaje ", Candidato2, " =
", PorcentajeCandidato2)
Escribir("Porcentaje ", Candidato3, " =
", PorcentajeCandidato3)
Escribir("Porcentaje de votos en blanco = ",
PorcentajeVotosEnBlanco)
Escribir("Si votaron = ",
PorcentajeCiudadanosResponsables, "%")
Escribir("NO votaron = ",
PorcentajeCiudadanosInconcientes, "%")
FIN.
5. Flujograma: Definición
Es un esquema para representar gráficamente un algoritmo .Se
basan en la utilización de diversos símbolos para representar operaciones
específicas. Se les llama diagramas de flujo porque los símbolos
utilizados se conectan por medio de flechas para indicar la secuencia de operación.
Para hacer comprensible los Diagramas a todas las personas , los Símbolos se
sometieron a una normalización , o lo que es en realidad se hicieron símbolos
casi universales, ya que , en un principio cada usuario podría tener sus
propios símbolos para representar sus procesos en forma de Diagrama de Flujo.
Esto trajo como consecuencia que solo el que conocía sus símbolos, los podía
interpretar.
La simbología utilizada para la elaboración de diagramas de flujo es variable
y debe ajustarse a un patrón definido previamente.
A continuación se mostrara las simbologías mas utilizadas :
Simbologia utilizada en los diagramas de flujo
Símbolo
función
Ejemplo de un Algoritmo sencillo con su respectivo Flujograma
Considere un Algoritmo para leer dos números A y B luego sumarlos y por último
imprimir o mostrar el resultado de la suma.
Algoritmo : Representación Grafica :
Inicio
Leer A
Leer B
C = A + B
Mostrar C
Fin
6. Bibliografía
Rivas , Dolores y Salas Régulo. 1985
Introducción a la Computación
Tercera Edición - Esprosistemas.
- http :
//www.ulpgc.es/otros/tutoriales/mtutor/indice.html
- http : //www.monografías.com
- http : //www.edu.aytolacoruna.es/aula/programación/flujo.htm
- http :
//www.etsi2.ugr.es/alumnos/mlii/alkhwarizmi/.htm
- http :
//www.etsi2.ugr.es/alumnos/mlii/algoritmo/.htm
- Colección Practica del Estudiante(Cole) , 1983
Editorial Portada
Autor:
Anna Guzman
anguzo1@hotmail.com