0% encontró este documento útil (0 votos)
116 vistas27 páginas

Introducción a Algoritmos en Informática

El documento define qué es un algoritmo y describe sus características principales. Un algoritmo es una secuencia de instrucciones para resolver un problema o tomar una decisión. No depende de un lenguaje de programación en particular. Los algoritmos se utilizan comúnmente en matemáticas, lógica e instrucciones. Existen diferentes tipos de algoritmos y una estructura estándar que incluye una cabecera, declaraciones y un cuerpo.

Cargado por

Josuég ZGuzman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
116 vistas27 páginas

Introducción a Algoritmos en Informática

El documento define qué es un algoritmo y describe sus características principales. Un algoritmo es una secuencia de instrucciones para resolver un problema o tomar una decisión. No depende de un lenguaje de programación en particular. Los algoritmos se utilizan comúnmente en matemáticas, lógica e instrucciones. Existen diferentes tipos de algoritmos y una estructura estándar que incluye una cabecera, declaraciones y un cuerpo.

Cargado por

Josuég ZGuzman
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

¿Qué es un algoritmo?

En informática, un algoritmo es una secuencia de instrucciones secuenciales, gracias al cual


pueden llevarse a cabo ciertos procesos y darse respuesta a determinadas necesidades o
decisiones. Se trata de conjuntos ordenados y finitos de pasos, que nos permiten resolver un
problema o tomar una decisión.

Los algoritmos no tienen que ver con los lenguajes de programación, dado que un mismo
algoritmo o diagrama de flujo puede representarse en diversos lenguajes de programación, es
decir, se trata de un ordenamiento previo a la programación.

Visto así, un programa no es otra cosa que una serie compleja de algoritmos ordenados y
codificados mediante un lenguaje de programación para su posterior ejecución en un computador.

Los algoritmos también son frecuentes en la matemática y la lógica, y son la base de la fabricación
de manuales de usuario, folletos de instrucciones, etc. Su nombre proviene del latín algoritmus y
éste apellido del matemático persa Al-Juarismi. Uno de los algoritmos más conocidos de la
matemática es el atribuido a Euclides, para obtener el máximo común divisor de dos enteros
positivos, o el llamado “método de Gauss” para resolver sistemas de ecuaciones lineales.

Tipos de algoritmos
Existen cuatro tipos de algoritmos en informática:

Algoritmos computacionales. Un algoritmo cuya resolución depende del cálculo, y que puede ser
desarrollado por una calculadora o computadora sin dificultades.

Algoritmos no computacionales. Aquellos que no requieren de los procesos de un computador


para resolverse, o cuyos pasos son exclusivos para la resolución por parte de un ser humano.

Algoritmos cualitativos. Se trata de un algoritmo en cuya resolución no intervienen cálculos


numéricos, sino secuencias lógicas y/o formales.

Algoritmos cuantitativos. Todo lo contrario, es un algoritmo que depende de cálculos matemáticos


para dar con su resolución.

Estructura de un Algoritmo
La estructura de un algoritmo sirve para organizar a los elementos que aparecen en él. Todos los
algoritmos tienen la misma estructura, la cual viene definida por tres secciones:

· Cabecera

· Declaraciones

· Cuerpo

Cabecera En la cabecera de un algoritmo se debe de indicar el nombre (identificador) asignado al


mismo. La sintaxis es: “Algoritmo <nombre_del_algoritmo>”.

Ejemplo

Si se quiere diseñar el algoritmo de un programa que calcule el are de una circunferencia por lo
tanto el algoritmo debe llevar en la cabecera “algoritmo Area_de_una_circunferencia”

Declaraciones En esta sección se declaran las constantes, los tipos de datos y las variables que se
usan en un algoritmo. La sintaxis es la siguiente:

Constantes

<declaración_de_constantes>

Tipos de datos

<declaración_de_tipos_de_datos>

Variables

<declaración_de_de_variables>

Ejemplo

Para resolver el problema planteado en el tema anterior, es necesario declarar una constante y
dos variables

Constantes

PI=3.1416
Variables

Real área, radio

Cuerpo En el cuerpo se escriben todas las instrucciones del algoritmo la sintaxis es:

Inicio

<Instrucción 1>

<Instrucción n>

Fin

Inicio y Fin Son palabras reservadas que marcan el principio y el final de la sección de l cuerpo,
que es donde esta el bloque de instrucciones principal del algoritmo.

Ejemplo

Inicio

Escribir (“introduzca radio: “)

Leer (radio)

Área =PI*radio**2

Escribir (“El área de la circunferencia es:”, área)

PASOS PARA REALIZAR ALGORITMOS


Para la realizació n de un algoritmo es necesario realizar una secuencia de pasos para llegar a
cumplir con la resolució n de un problema dado. Para ello, definiremos los siguientes pasos:

1. Análisis previo del Problema: Se debe realizar un aná lisis del funcionamiento del
problema antes que se realice cualquier algoritmo.

2. Definición de Requerimientos: Los problemas a solucionar, esto es, por ejemplo, el


sumar dos nú meros, multiplicar dos matrices, ordenar una lista de nú meros, generar un
reporte, etc.
3. Identificación de los Módulos: La identificació n de los mó dulos es tan importante
como la identificació n correcta de los requerimientos, esto porque la correcta identificació n
de los mó dulos simplifica considerablemente la realizació n de los algoritmos que dará n
solució n a los requerimientos identificados en el paso anterior.

4. Realización de los Algoritmos: El algoritmo deberá cumplir con las características


que se indicaron para posteriormente implementarse en un lenguaje de programació n
comprensible por una computadora.

5. Implementación de los Algoritmos: La implementació n de los algoritmos se debe


realizar en un lenguaje de programació n para que una computadora pueda comprender las
instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado
esperado.

En el ú ltimo paso ya podemos hablar de una aplicació n o programa de computadora, que


estará compuesto por una serie de instrucciones que ordenadas una tras otra logran
representar los algoritmos diseñ ados y dar así solució n a los requerimientos identificados.

Constantes:
Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del
algoritmo o durante la ejecución del programa. Es un objeto de valor invariable.  Para expresar una
constante se escribe explícitamente su valor.

Tipos de Constantes:

 Constantes Numéricas (Enteras y Reales)

 Constantes Alfanuméricas

 Constantes Lógicas (Boolenas)

Las constantes pueden ser:

Constantes sin nombre: Es una expresión numérica donde se puede utilizar directamente el valor.

Constantes con nombre: Se hace una reserva de memoria en la cual se guarda el valor que será
utilizado como constante.

Ejemplo:

a) PI = 3.1416

b) E = 2.718228

c) Iva = 0.13
Variables:
Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información.

Tipos de variables:

  Variables Numéricas (Enteras y Reales)

  Variables Alfanuméricas

           a) Caracteres alfabéticos

           b) Dígitos

           c) Caracteres especiales

  Variables Lógicas (Boolenas)

Son las que únicamente pueden contener dos valores, los cuales son:

  Valor Verdadero ó 1

  Valor Falso ó 0

Estos tipos de variables pueden tomar únicamente valores del mismo tipo, es decir si la variable es
entera solamente puede almacenar datos enteros.

Ejemplo:

Una variable declarada como cadena solo puede tomar valores correspondientes a ese tipo.

                                             Nombre = "Manuel López"

Tipos de Datos

El tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al
programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer
restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.
Tipos de datos comunes son:

Enteros

Cadenas alfanuméricas

Fechas

Horas

Colores

Coches o cualquier cosa que se nos ocurra.

Por ejemplo, el tipo "int" representa un conjunto de enteros. Éste es un concepto propio de la
informática, más específicamente de los lenguajes de programación, aunque también se encuentra
relacionado con nociones similares de las matemáticas y la lógica.

Debido a que las variables contienen o apuntan a valores de tipos determinados, las operaciones
sobre las mismas y el dominio de sus propios valores están determinadas por el tipo de datos en
cuestión.

Algunos tipos de datos usados:

Tipo de dato lógico

Tipo de dato entero

Tipo de dato carácter

Cadena de caracteres

Tipo de dato lógico :


El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica
binaria, esto es 2 valores, que normalmente representan falso o verdadero. Se utiliza normalmente
en la programación, estadística, electrónica, matemáticas (álgebra booleana) y otras.

Una vez que se dispone de uno o varios datos de tipo booleano, estos se pueden combinar en
expresiones lógicas mediante los operadores lógicos (and, or, not). Un ejemplo de este tipo de
expresiones serían:

verdadero AND falso --> falso

falso OR verdadero --> verdadero

NOT verdadero --> falso

Tipo de dato entero:

El tipo de dato entero en computación se usa para representar un subconjunto finito de los números
enteros. El mayor número que se puede representar depende del tamaño del espacio usado por el
dato y la posibilidad (o no) de representar números negativos. Los tipos de dato entero disponibles y
su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión.

Tipo de dato carácter:

En terminología informática y de telecomunicaciones, un carácter es un símbolo que representa


cada carácter de un lenguaje natural. Un ejemplo de carácter es una letra, un número o un signo de
puntuación.

Cadena de caracteres:

En programación, una cadena de caracteres o frase (string en inglés) es una secuencia ordenada de
longitud arbitraria (aunque finita) de elementos que pertenecen a un cierto alfabeto. En general, una
cadena de caracteres es una sucesión de caracteres (letras, números u otros signos o símbolos).
Desde el punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena
podrá estar formada por cualquier combinación finita de todo el juego de caracteres disponibles (las
letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos
diversos '!', '@', '%', entre otros). Un caso especial de cadena es la que contiene cero caracteres, a
esta cadena se le llama cadena vacía.

Algunas operaciones con cadenas de caracteres:

Asignación: Consiste en asignarle una cadena a otra.

Concatenación: Consiste en unir dos cadenas o más (o una cadena con un carácter) para formar una
cadena de mayor tamaño.

Comparación: Se utiliza para comparar dos cadenas

Acumulador o Sumador
Es una variable que nos permite guardar un valor que se incrementa o

decrementa en forma NO constante durante el proceso. En un momento

determinado tendrá un valor y al siguiente tendrá otro valor igual o distinto. Por

ejemplo; cuando realizamos un depósito en el banco, la cantidad depositada

cada vez no es siempre la misma; unas veces será una cantidad y otras veces

distinta. Lo mismo ocurre cuando realizamos algún retiro, pero decrementando

I.E.S Los Pedroches 12

Programación en Pseudocódigo Departamento de Informática

la cantidad total.

La sintaxis es:

acumulador ← acumulador + variable (al incrementar)

acumulador ← acumulador - variable (al decrementar)

Acumulador es la variable en la que se almacena el resultado. Variable


contiene el número que estamos incrementando o decrementando

Ejemplos:

saldo ← saldo + entrega

saldo ← saldo - retiro

suma ← suma + numero

A ← A + edad

Contador
Un contador es una variable destinada a contener valores que se van

incrementando o decrementando cada vez que se ejecuta la acción que lo

contiene. El incremento o decremento es llamado paso de contador y es

siempre constante.

Por ejemplo; el marcador de un partido de fútbol, cada vez que un equipo

anota un gol, aumenta su marcador en una unidad.

En las carrera de automóviles, cada vez que un vehículo pasa por la línea de

meta, se incrementa en una unidad el número de vueltas dadas al circuito, o

bien se decrementa en una unidad el número de vueltas que quedan por

realizar.

Aunque el incremento es siempre constante, el paso de contador no

necesariamente puede ser la unidad como en los ejemplos que se han dado

más arriba; también puede incrementarse o decrementarse a de dos, tres,

cuatro,.... n; es decir, puede ser cualquier número que conserva el mismo valor

durante todo el programa.


La sintaxis de una variable contador es:

La sintaxis de una variable contador es:

variable ← variable + constante (al incrementar)

variable ← variable - constante (al decrementar)

Ejemplos:

gol_local ← gol_local + 1

vueltas ← vueltas + 1

faltan ← faltan - 1

de_cinco ← de_cinco + 5

c←c+1

x←x-3

Observación: Cuando una variable aparece a ambos lados del símbolo de

asignación, conviene inicializarlas a cero

OPERADORES LOGICOS
Los operadores lógicos permiten agrupar expresiones lógicas. Las expresiones
lógicas son todas aquellas expresiones que obtienen como resultado verdadero o
falso. Los operadores lógicos son aquellos que hacen de nexo de este tipo de
expresiones.

Para entrar más en detalle respecto a los operadores lógicos en la programación,


utilizaremos de referencia los operadores lógicos en Java y C++ (Suelen ser similares,
o incluso los mismos en otros lenguajes), estos son los siguientes:
El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir,
la tecla ALT GR y el número 1 simultáneamente.

Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple


la condición de un término no se evalúa el resto de la operación. Por ejemplo: (a == b
&& c != d && h >= k) tiene tres evaluaciones: la primera comprueba si la variable a es
igual a b. Si no se cumple esta condición, el resultado de la expresión es falso y no se
evalúan las otras dos condiciones posteriores.

En un caso como ( a < b || c != d || h <= k) se evalúa si a es menor que b. Si se


cumple esta condición el resultado de la expresión es verdadero y no se evalúan las
otras dos condiciones posteriores.

TABLA DE LA VERDAD
Tablas de verdad o tabla de valores de verdad, es una tabla que
muestra el valor de verdad de una proposición compuesta, para
cada combinación de valores de verdad que se pueda asignar a sus
componentes.

Origen
Fue desarrollada por Charles Sanders Peirce por los años 1880,
pero el formato más popular es el que introdujo Ludwig
Wittgenstein en su Tractatus logico-philosophicus, publicado
en 1921.

Ø
P
P

1 0
0 1

La tabla de los "valores de verdad", es usada en el ámbito de


la lógica, para obtener la verdad (V) o falsedad (F), valores de
verdad, de una expresión o de una proposición. Además sirven para
determinar si es que un determinado esquema de inferencia es
formalmente válido como un argumento, llegando a la conclusión de
que este es una tautología (se habla de una tautología cuando todos
los valores de la tabla mencionada son "V" o sea verdadero).

Qué son las tablas de la verdad


Las tablas de verdad son, por una parte, uno de los métodos más
sencillos y conocidos de la lógica formal, pero la
mismo tiempo también uno de los más poderosos y claros. Entender
bien las tablas de verdad es, en gran medida, entender bien a la
lógica formal misma.

^
P Q
Q

1 1 1

1 0 0

0 1 0

0 0 0
Fundamentalmente, una tabla de verdad es un dispositivo para
demostrar ciertas propiedades lógicas y semánticas de enunciados
del lenguaje natural o de fórmulas del lenguaje del cálculo
proposicional:

1. . Sin son tautológicas, contradictorias o contingentes


2. . Cuáles son sus condiciones de verdad
3. . Cuál es su rol inferencial, es decir, cuáles son sus
conclusiones lógicas y de qué otras proposiciones se siguen
lógicamente.

Las tablas de la verdad


Estas tablas pueden construirse haciendo una interpretación de los
signos lógicos como: no, o, y, si…entonces, sí y sólo si. La
interpretación corresponde al sentido que estas operaciones tienen
dentro del razonamiento. Puede establecerse una correspondencia
entre los resultados de estas tablas y la deducción
lógico matemática. En consecuencia, las tablas de verdad
constituyen un método de decisión para chequear si una proposición
es o no un teorema. Para la construcción de la tabla se asignará el
valor 1(uno) a una proposición cierta y 0 (cero) a una proposición
falsa.

 Negación: El valor de verdad de la negación es el contrario de la


proposición negada.

 La conjunción sirve para indicar que se cumplen dos


condiciones simultáneamente, por ejemplo:

La función es creciente y está definida para los números positivos,


utilizamos Para que la conjunción p^q sea verdadera las dos
expresiones que intervienen deben ser verdaderas y sólo en ese caso
como se indica por su tabla de verdad.

 Disyunción: La disyunción solamente es falsa si lo son sus dos


componentes.

Con la disyunción a diferencia de la conjunción, se representan dos


expresiones que afirman que una de las dos es verdadera, por lo que
basta con que una de ellas sea verdadera para que la expresión p ∨ q
sea verdadera.
 Condicional: El condicional solamente es falso cuando el
antecedente es verdadero y el consecuente es falso. De la verdad
no se puede seguir la falsedad.

PV
P Q
Q

1 1 1

1 0 1

1 1 1

0 0 0

 Bicondicional:El bicondicional solamente es cierto si sus


componentes tienen el mismo valor de verdad.


P Q
Q

1 1 1

1 0 1

1 1 1
0 0 1

Se denomina tautología una proposición que es cierta para cualquier


valor de verdad de sus componentes. Por tanto, la última columna de
su tabla de verdad estará formada únicamente por
unos. Contradicción es la negación de una tautología, luego es una
proposición falsa cualesquiera sea el valor de verdad de sus
componentes. La última columna de la tabla de verdad de una
contradicción estará formada únicamente por ceros.

Tablas de verdad trivalentes

Disyunción

Las tablas de verdad tradicionales pueden rescribirse si se dejan


vacías casillas en las que el valor de verdad de la fórmula atómica es
irrelevante, por ejemplo, la tabla de la disyunción:

Las primeras dos líneas señalan que no importa cuál sea el valor de
verdad de uno de los disyuntos, siempre que el otro sea verdadero, la
disyunción será verdadera. De la misma manera, se podría abreviar la
tabla de la conjunción de la siguiente manera:

Conjunción

Las últimas dos líneas señalan que no importa cuál sea el valor de
verdad de uno de los disyuntos, siempre que el otro sea falso, la
conjunción será falsa. La ventaja de este tipo de tablas es que
permiten extenderse de manera muy natural para permitir un tercer
valor de verdad que no sea ni verdadera ni falso. Será llamado “I” por
“indeterminado”. Ahora se puede usar la tabla abreviada de la
disyunción clásica para desarrollar una tabla de verdad (no
abreviada) para la disyunción trivalente. Primer paso: identificar las
diferentes nueve posibilidades de combinaciones para dos variables

Disyunción trivalente

Segundo paso: Usar las primeras dos líneas de la tabla abreviada


para determinar el valor de verdad de los renglones con por lo menos
un argumento verdadero:
Conjunción trivalente

Tercer paso: Cómo la última línea de la tabla abreviada es también la


última línea de la nueva tabla, le corresponde el mismo valor de
verdad: falso.

Disyunción trivalente
Cuarto paso: Finalmente, cómo ya están los renglones que son
verdaderos o falsos según la tabla original, los renglones que aún no
tienen valor de verdad, dado que no son ni verdaderos (sino hubieran
quedado como tales en el segundo paso) ni falsos (ya que tampoco
quedaron así en el tercer paso), deben ser indeterminados!

En algunos casos, esta tabla de verdad aparece, no en tres columnas,


sino en un cuadro. Lo cual tiene la ventaja de dejar más claro el
patrón que emerge de la tabla. Siguiendo los mismos pasos se
obtiene la tabla de la conjunción:

Construcción de Tablas de Verdad


Algoritmo para construir una tabla de verdad de una fórmula en lógica
de proposiciones.

1. Escribir la fórmula con un número arriba de cada operador que


indique su jerarquía. Se escriben los enteros positivos en
orden, donde el número 1 corresponde al operador de mayor
jerarquía. Cuando dos operadores tengan la misma jerarquía, se
le asigna el número menor al de la izquierda.
2. Construir el árbol sintáctico empezando con la fórmula en
la raíz y utilizando en cada caso el operador de menor
jerarquía. O sea, del número mayor al menor.
3. Numerar las ramas del árbol en forma secuencial empezando
por las hojas hacia la raíz, con la única condición de que una
rama se puede numerar hasta que estén numerados los hijos.
Para empezar con la numeración de las hojas es buena idea
hacerlo en orden alfabético, así todos obtienen los renglones
de la tabla en el mismo orden para poder comparar resultados.
4. Escribir los encabezados de la tabla las fórmulas siguiendo la
numeración que se le dió a las ramas en el árbol sintáctico.
5. Asignarle a los átomos, las hojas del árbol, todos los posibles
valores de verdad de acuerdo al orden establecido. Por
supuesto que el orden es arbitrario, pero como el número de
permutaciones es n!, conviene establecer un orden para poder
comparar resultados fácilmente.
6. Asignar valor de verdad a cada una de las columnas restantes
de acuerdo al operador indicado en el árbol sintáctico
utilizando la tabla de verdad. Conviene aprenderse de memoria
las tablas de los operadores, al principio pueden tener un
resumen con todas las tablas mientras se memorizan.
7. La última columna, correspondiente a la fórmula original, es la
que indica los valores de verdad posibles de la fórmula para
cada caso.

Otras tablas de verdad divergentes


Además de las tablas polivalentes e intencionales, hay muchas otras
tablas de verdad. Por ejemplo, hay tablas de verdad en las que los
renglones se bifurcan en dos o más sub-renglones y son útiles para lo
que en lógica llamamos super-valuaciones. También existen tablas
con valores y más de 2n renglones, ¿cómo es posible? Pues porque, a
diferencia de las tablas tradicionales, en estas tablas el orden de los
renglones sí importa, de tal manera que renglones repetidos cuentan
como renglones distintos. Finalmente, también existen las tablas
bidimensionales, usadas originalmente en ciertas lógicas
intencionales, pero popularizadas gracias al trabajo de Robert
Stalnaker y otros.

Operadores matemáticos
Los operadores matemáticos básicos son los mismos que están
disponibles en la mayoría de los lenguajes de programación: adición
(+), substracción (-), división (/), multiplicación (*), y módulo (%; que
produce el resto de una división entera). La división entera trunca el
resultado (no lo redondea). El operador módulo no se puede utilizar
con números con punto flotante.
C y C++ también utilizan notaciones abreviadas para efectuar una
operación y una asignación al mismo tiempo. Esto se denota por un
operador seguido de un signo igual, y se puede aplicar a todos los
operadores del lenguaje (siempre que tenga sentido). Por ejemplo,
para añadir 4 a la variable x y asignar x al resultado, se escribe: x += 4;.
Este ejemplo muestra el uso de los operadores matemáticos:

//: C03:Mathops.cpp

// Mathematical operators
#include <iostream>

using namespace std;

// A macro to display a string and a value.

#define PRINT(STR, VAR) \

cout << STR " = " << VAR << endl

int main() {

int i, j, k;

float u, v, w; // Applies to doubles, too

cout << "enter an integer: ";

cin >> j;

cout << "enter another integer: ";

cin >> k;

PRINT("j",j); PRINT("k",k);

i = j + k; PRINT("j + k",i);

i = j - k; PRINT("j - k",i);

i = k / j; PRINT("k / j",i);

i = k * j; PRINT("k * j",i);

i = k % j; PRINT("k % j",i);

// The following only works with integers:

j %= k; PRINT("j %= k", j);

cout << "Enter a floating-point number: ";


cin >> v;

cout << "Enter another floating-point number:";

cin >> w;

PRINT("v",v); PRINT("w",w);

u = v + w; PRINT("v + w", u);

u = v - w; PRINT("v - w", u);

u = v * w; PRINT("v * w", u);

u = v / w; PRINT("v / w", u);

// The following works for ints, chars,

// and doubles too:

PRINT("u", u); PRINT("v", v);

u += v; PRINT("u += v", u);

u -= v; PRINT("u -= v", u);

u *= v; PRINT("u *= v", u);

u /= v; PRINT("u /= v", u);

} ///:~

Estructuras Condicionales
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que, en base al resultado de esta
comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer
contra otra variable o contra una constante, según se necesite. Existen dos tipos básicos, las simples y las múltiples.
2.1. Simples:
        

Las estructuras condicionales simples se les conocen como “Tomas de decisión”. Estas tomas de
decisión tienen la siguiente forma:

Si <condición> entonces

Acción(es)

Fin si

2.2. Dobles:
      

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en
función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:

Si <condición> entonces

       Acción(es)

    Sino       

       Acción(es)

Fin si

Donde:

Si…………….    Indica el comando de comparación

Condición……   Indica la condición a evaluar

Entonces…….     Precede a las acciones a realizar cuando se cumple la condición

Acción(es)……    Son las acciones a realizar cuando se cumple o no la condición

Sino……….…    Precede a las acciones a realizar cuando no se cumple la


condición

Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.


2.3. Múltiples:
      

Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten
comparar una variable, contra distintos posibles resultados, ejecutando para cada caso una serie de
instrucciones específicas. La forma común es la siguiente:

Si <condición> entonces

       Acción(es)

      Sino

       Si <condición> entonces

                   Acción(es)

             Sino                      

                   .

                   .           Varias condiciones

                   .

Fin si

Fin si

2.4. Forma General


      

Casos Variable

    Op1: Acción(es)

    Op2: Acción(es)

      .

      .

    OpN: acción

Fin casos   
PSEUDOCODIGO
El pseudocódigo es una forma de expresar los distintos pasos que
va a realizar un programa, de la forma más parecida a un lenguaje
de programación. Su principal función es la de representar por
pasos la solución a un problema o algoritmo, de la forma más
detallada posible, utilizando un lenguaje cercano al de
programación. El pseudocódigo no puede ejecutarse en un
ordenador ya que entonces dejaría de ser pseudocódigo, como su
propio nombre indica, se trata de un código falso (pseudo = falso),
es un código escrito para que lo entienda el ser humano y no la
máquina.

Aprender a escribir pseudocódigo para la resolución de un


problema permite hacer mucho más sencilla su programación en un
lenguaje convencional, por lo que antes de empezar a estudiar un
lenguaje de programación, sería conveniente realizar un curso de
introducción a la programación que nos muestre el ciclo de
desarrollo de un programa mediante pseudocódigo.

Podemos considerar al pseudocódigo como un lenguaje intermedio,


que se encuentra en medio de nuestro propio lenguaje y el lenguaje
de programación que entiende el ordenador.

Principales características del pseudocódigo


Para comprender qué es el pseudocódigo podemos utilizar un símil:
los planos de una casa sería el pseudocódigo y la casa en sí el
programa.

Su principal característica es la de representar un método que


facilita la programación y solución del algoritmo del programa.
También se caracteriza por ser una forma de representación, fácil
de utilizar y de manipular, que simplifica el paso del programa, al
lenguaje de programación.

Otra característica que tiene el pseudocódigo es su independencia


al código en el que se va a escribir el programa, proporcionando un
método que facilita la posterior programación y la resolución del
algoritmo del programa.
Ventajas y desventajas del pseudocódigo
Las tareas más complejas o repetitivas pueden representarse de
forma más sencilla ya que está escrito en un lenguaje sencillo y no
estructurado que permite una transición sencilla al lenguaje de
programación, más complejo y estructurado. Tener un programa
escrito en pseudocódigo facilita la tarea de programar en un
lenguaje formal y mejora la calidad en la resolución de
problemas, además de reducir el espacio necesario a la hora de
desarrollar un problema.

El pseudocódigo llega donde el diagrama de flujo no lo hace. La


solución de un diagrama de flujo suele ser la ideal, pero no suele ser
fácil de implementar al crear el programa. El pseudocódigo permite
que el diseño del programa y su implementación sean muy
parecidos.

La curva de aprendizaje del pseudocódigo es baja por lo que


facilitan enormemente el aprendizaje de la programación y la
iniciación a lenguajes de programación más avanzados y complejos.
Por lo tanto, se trata de una herramienta educativa interesante.

El pseudocódigo, al ser independiente del lenguaje de


programación, permite que su uso se pueda aplicar utilizando
diferentes lenguajes y permitiendo que el programador no tenga que
ser la misma persona que escribió el pseudocódigo.

Una de las desventajas del uso de pseudocódigo es la falta de


normas, que puede hacer que la lógica de un programa, resulte
complicada de ver por el programador que va a implementar este
pseudocódigo. Además, en el caso de problemas muy extensos,
puede llegar a ser difícil de entender.

Componentes y sintaxis del pseudocódigo


Para escribir programas utilizando pseudocódigo es necesario
seguir unas pautas o normas de sintaxis para que puedan ser leídos
y comprendidos por los programadores a la hora de pasarlos a un
lenguaje de programación. Es muy útil utilizar herramientas que
faciliten esta escritura de pseudocódigo, como es el caso
de PSeInt , que asiste con un simple e intuitivo pseudolenguaje en
español y que además incluye un editor de diagramas de flujo.

Un programa escrito en pseudocódigo debe permitir instrucciones


primitivas, de proceso, de control, de descripción y compuestas.

Opciones del lenguaje (perfiles)


El lenguaje que utilizamos para construir el pseudocódigo no es
estándar. Podemos añadir o eliminar algunas reglas de sintaxis sin
ningún problema. En la opción Configurar-Opciones del Lenguaje
(perfiles)  , podemos escoger las características del pseudocódigo
que vamos a utilizar. Tenemos tres alternativas:

  Escoger un perfil que define un pseudocódigo utilizado en distintos


centros educativos y universidades.
  Perfil flexible : Está escogido por defecto, y no es muy exigente
con las reglas que hay que utilizar para escribir el pseudocódigo.
  Perfil estricto : Estable ce una reglas que hacen que el
pseudocódigo se parezca más a un lenguaje de programación: se
debe definir las variables y sus tipos, las instrucciones deben
terminar en punto y coma,…

Estructura de un algoritmo en pseudocódigo


Todo algoritmo en pseudocódigo tiene la siguiente estructura
general:

Proceso SinTitulo
acción 1;
acción 2;
...
acción n;
FinProceso

  Comienza con la palabra clave Proceso (o


alternativamente Algoritmo , son sinónimos) seguida del nombre
del programa.
  Le sigue una secuencia ( Estructura de control secuencial ) de
instrucciones. Una secuencia de instrucciones es una lista de una o
más instrucciones y/o estructuras de control.
  Finaliza con la palabra FinProceso (o FinAlgoritmo ).
  La identación no es significativo, pero se recomienda para que el
código sea más legible.
  No se diferencia entre mayúsculas y minúsculas. Preferible las
minúsculas, aunque a veces se añaden automáticamente los
nombres con la primera letra en mayúsculas.

También podría gustarte