Sei sulla pagina 1di 14

Introduccin a la informtica: algoritmos, funciones y operadores

Lisette Verany Marraui Revelo


20151077039

Bogot D.C
Universidad Distrital Francisco Jos de Caldas
Facultad Tecnolgica
Tecnologa Industrial
Aplicaciones Computacionales
Febrero de 2017
ALGORITMOS
Definicin: un algoritmo es un conjunto secuencial de pasos lgicos, ordenados y finitos con los
cuales se puede dar solucin a un problema determinado.
Clasificacin de algoritmos: Los algoritmos se pueden clasificar en cuatro tipos:
Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una
computadora. Ejemplo: Frmula aplicada para un clculo de la raz cuadrada de un valor
x.
Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para
ser ejecutado. Ejemplo: Instalacin de un equipo de sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones
no estn involucrados clculos numricos. Ejemplos: Las instrucciones para desarrollar
una actividad fsica, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o
instrucciones involucran clculos numricos. Ejemplo: Solucin de una ecuacin de
segundo grado.
Tcnicas para crear un algoritmo
1. Diagrama de Flujo
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se puede decir que es
la representacin detallada en forma grfica de cmo deben realizarse los pasos en la
computadora para producir resultados. Esta representacin grfica se da cuando varios smbolos
(que indican diferentes procesos en la computadora), se relacionan entre s mediante lneas que
indican el orden en que se deben ejecutar los procesos. Los smbolos utilizados han sido
normalizados por el instituto norteamericano de normalizacin (ANSI):
2. Pseudocdigo
Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma) que se emplea,
dentro de la programacin estructurada, para realizar el diseo de un programa. En esencial, el
Pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. Es la
representacin narrativa de los pasos que debe seguir un algoritmo para dar solucin a un
problema determinado. El Pseudocdigo utiliza palabras que indican el proceso a realizar.
Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo: Ocupa menos espacio en una hoja
de papel Permite representar en forma fcil operaciones repetitivas complejas. Es muy fcil pasar
de Pseudocdigo a un programa en algn lenguaje de programacin. Si se siguen las reglas se
puede observar claramente los niveles que tiene cada operacin.
3. Diagrama estructurado Nassi- Schneiderman
El diagrama estructurado N-S es una tcnica hibrida (una mezcla) entre Diagramas de Flujo y
Pseudocdigo. Esta tcnica, tambin conocida como Diagrama de Chapn, utiliza una serie de
cajas, similar a los diagramas de flujos, pero no requiere la utilizacin de flechas, debido a que su
flujo siempre es descendente.
Caractersticas de un buen diagrama Nassi-Schneiderman:
En la primera caja debe ir el nombre o ttulo del algoritmo, en el recuadro siguiente debe ir la
palabra Inicio.
La ltima instruccin de un Diagrama NS debe ser el recuadro Fin.
Todas las declaraciones de variables, funciones deben estar especificadas bajo el recuadro que
contiene la palabra Inicio.
Las estructuras de seleccin y cclicas deben estar lo ms clara posible
El diseo debe caer en una hoja, a excepcin de la utilizacin de funciones, las cuales pueden
estar en otra hoja, debido a que se consideran un algoritmo diferente.
Desventajas de los diagramas NS:
En algoritmos extensos su diseo es muy difcil de comprender.
La mantencin modificacin de este tipo de diagramas es tediosa.
Requiere de hojas muy extensas para ser escrito, debido a que carece de conectores que
permitan su conexin con otras hojas.

Simbologa utilizada en Tcnica Nassi-Schneiderman

Smbolo Descripcin

Ttulo del Algoritmo

Indica el inicio de un algoritmo.

Indica el Fin de un algoritmo.

Declaracin de Variables.

Indica la entrada de informacin

Indica la salida de informacin


Indica un proceso, una ejecucin de una lnea de cdigo, que
puede ser una asignacin.

Estructura de Decisin.

Estructura de Decisin Mltiple

Estructura Cclica de Ciclo Desde-Hasta

Estructura Cclica de Ciclo Hacer - Mientras

Estructura cclica de Repetir - Hasta


Partes de un algoritmo
1. Declaracin de variables:
Es el proceso mediante el cual el programador le indica al computado las variables que se
necesitan en el programa para almacenar los datos. Para declarar variables en un programa se
sigue la siguiente sintaxis:
<Nombre de la variable>: tipo_de_variable;
Donde el <nombre de la variable> identifica el sitio en memoria que contiene un
determinado dato. El nombre puede ser una secuencia de letras o dgitos, o mezcla de ellos.
No debe tener espacios en blanco.
Una variable pueden almacenar datos que son nmeros (numrico), letras o smbolos
(caracteres), palabras o frases (cadenas de caracteres), Lgicos (falso o verdadero).
En todo programa se debe definir el nombre de la variable y el tipo de la variable, para que la
computadora reconozca que tipo de dato va almacenar en ella y cuantos bytes debe
separar para almacenar el dato en esa variable.
Los lenguajes de programacin en general, reconocen los siguientes tipos de datos:

TIPO DE VARIABLE DATOS QUE ALMACENA

A, B,C, Z,
Carcter a,b,,z,$,@, %,,0,1,2,3,4,5,6,7,8,9

Nmeros con
Real punto decimal

Numero que no
Entero tiene decimales

Verdadero,
Lgico Falso
Cadena[n]

Donde n es un
nmero entero que indica
cuantos caracteres
puede tener la palabra o frase Palabras o frases
ms grande que va almacenar
la variable.

2. Entrada de datos: son los datos o variables declaradas que el algoritmo necesita para ser
ejecutado
3. Proceso: es la secuencia de pasos que son necesarios para ejecutar el algoritmo.
3.1 Subprocesos: son cdigos utilizados para dividir un programa en partes de menor
tamao de las cuales cada una tendr una tarea especfica a realizar.
3.1.1 Frmula: Una frmula es una secuencia o cadena de caracteres cuyos smbolos
pertenecen a un lenguaje formal, de tal manera que la expresin cumple ciertas reglas
de buena formacin y que admite una interpretacin consistente en alguna rea de
la matemtica y en otros sistemas formales.
3.1.2 Expresiones: Las expresiones son combinaciones de constantes, variables, smbolos
de operacin, parntesis y nombres de funciones especiales. Por ejemplo:(x +
y)/2Cada expresin produce un resultado que se determina tomando los valores delas
variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una
expresin consta de operadores y operandos. Un operando es una de las entradas
(argumentos) de un operador. Por ejemplo, en5 + 2 = 7Los operandos son 5 y 2, el
signo +, es el operador y 7 es el resultado de la expresin. Todo operador debe estar
entre 2 operandos.
Operando (Operador) Operando = Valor(Constante o Variable)
Segn sea el tipo de datos que manipulan, las expresiones se clasifican en:
Aritmticas
Relacinales o condicionales
Lgicas

3.2 Estructuras de control: Son las que permiten modificar el flujo de


ejecucin de las instrucciones de un programa.

-Las estructuras de control se clasifican en:


a) Secuencial: Ejecucin sucesiva de una o ms operaciones. Una estructura de control
secuencial, en realidad, no es ms que escribir un paso del algoritmo detrs de otro, el que
primero se haya escrito ser el que primero se ejecute. Dicho de otra forma la estructura
secuencial es aquella en la que una accin (instruccin) sigue a otra en secuencia, y las tareas se
suceden de tal modo que la salida de una es la entrada de otra y as sucesivamente hasta el fin del
proceso.
El flujo del programa coincide con el orden fsico en el que se han ido poniendo las
instrucciones. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicializacin de
variables, operaciones de asignacin, clculo, sumar, etc. Adems este tipo de estructuras se
basan en las 5 fases que deben cubrir todos los algoritmos o programas que son:
Definicin de variables
Inicializacin de variables
Lectura de datos
Clculo
Salida
b) Seleccin o condicional: Se realiza una u otra operacin, dependiendo de una condicin.
Existen dos tipos de estructuras de control selectivas, estas se basan en una condicin o en una
opcin para decidir la parte del programa por el que pasar.
a. Simple
b. Doble o compuesta
Selectiva simple.- evala una condicin, si esta es verdadera ejecuta la accin o acciones
especificadas, si es falsa no realiza ninguna accin.

Nota: Si existe sola una instruccin o sentencia dentro de la condicin no es necesario marcarlos
con inicio y fin, en caso contrario si, como se muestra en el diagrama anterior.
Selectiva doble o compuesta.- evala una condicin, si esta es verdadera ejecuta la accin o
acciones especificadas, si es falsa ejecuta otra accin o acciones.

Nota: Si existe sola una instruccin o sentencia dentro de la condicin no es necesario marcarlos
con inicio y fin como en este caso que la condicin fue falsa, en caso contrario si, en este
ejemplo cuando la condicin fue verdadera.

c) Iteracin o cclica: Repeticin de una o varias operaciones mientras se cumpla una condicin.
Las estructuras cclicas se utilizan para ejecutar fragmentos de cdigo un nmero limitado de
veces. Existen tres estructuras cclicas generales, las cuales son:
Desde Hasta (For)
Hacer Mientras (While)
Hacer Hasta (Do While)
Las tres estructuras tienen el mismo objetivo, ejecutar un fragmento de cdigo un nmero
limitado de veces, su principal diferencia se encuentra en la forma en la cual limitan el nmero
de ocasiones que se ejecutar el cdigo.
4. Salida de resultados: son los datos obtenidos despus de la ejecucin del algoritmo.
5. Datos: es la expresin general que describe los objetivos con los cuales opera una
computadora.
5.1 Tipos de datos:
Simples: pueden ser:
*Numricos: entre los cuales se tienen:
-Enteros: nmeros complejos, no tienen fraccionarios o decimales y pueden ser positivos
o negativos.
-Reales: son nmeros que siempre tienen un punto decimal, pueden ser positivos o
negativos, constan de una parte entera y un decimal.
*Alfanumricos: secuencia de caracteres alfanumricos que representan valores
identificables de forma descriptiva, como el nombre de personas, direcciones, etc.
-Caracteres: conjunto finito y ordenados de datos que la computadora reconoce
(alfabticos, numricos, especiales (+,-,*,/, etc.))
-Cadena de caracteres: sucesin que se encuentran delimitados por una comilla o dobles
comillas: (Hola Mundo, 24 de Junio de 2010, etc.)
*Lgicos: tambin denominado booleano es aquel dato que solo puede tomar uno de dos
valores: cierto o verdadero (true) y falso (false).

Complejos: entre los cuales se encuentran arreglos (unidimensionales o


multidimensionales) y las estructuras.

6. Reglas para crear un identificador


Un identificador es un nombre que se le da a una constante, una variable y a cualquier
elemento de programa que necesite nombrarse.
Existen reglas para construir identificadores, las cuales son las siguientes:

Debe comenzar con un caracter alfabtico (A - Z, mayscula o minscula)

Los dems caracteres pueden ser letras, dgitos o el caracter especial de subrayado (_)

Las letras no deben ser tildadas.

No se admiten espacios en blanco.

No deber coincidir con palabras reservadas del lenguaje algortmico. (Ejemplo: Var,
Const, Entero, Real, etc.)

La longitud de los identificadores puede ser de hasta 8 caracteres. Este valor depender
del lenguaje de programacin que est estudiando

Deben ser nombres significativos al programa que se est realizando.

Indicar su tipo (Entero, Real, cadena, caracter o booleano).

FUNCIONES

En programacin, una funcin es un grupo de instrucciones con un objetivo en particular y que


se ejecuta al ser llamada desde otra funcin o procedimiento. Una funcin puede llamarse
mltiples veces e incluso llamarse a s misma (funcin recurrente). Las funciones pueden recibir
datos desde afuera al ser llamadas a travs de los parmetros y deben entregar un resultado. Se
diferencian de los procedimientos porque estos no devuelven un resultado. En general las
funciones deben tener un nombre nico en el mbito para poder ser llamadas, un tipo de dato de
resultado, una lista de parmetros de entrada y su cdigo.

Sentencia: es una lnea de cdigo en algn lenguaje de programacin. Mltiples sentencias de


programacin conforman un cdigo fuente, mientras un algoritmo est constituido por una o ms
sentencias de programacin. Las sentencias suelen tener un carcter que determina su final como
un punto y coma (;) o un punto final (.), algunas simplemente son separadas por enters.

Palabra reservada: son las que tienen un uso determinado con base en el lenguaje, por lo tanto
no pueden ser empleadas como identificadores de variables, funciones, procedimientos, objetos,
etc.

OPERADORES

Todo sistema de computacin es alimentado con datos. La representacin de los datos incide en
la elaboracin de los algoritmos. El sistema de identificacin de los datos se denomina
estructura de datos, y depende de las caractersticas de estos.

-Los datos son los siguientes;

a) Datos numricos:

Enteros.

Reales.

Reales decimales.

Reales exponenciales.

b) Datos alfanumricos:

De carcter.

De cadena.

c) Datos lgicos:

Verdadero [True]

Falso [False]
-Tipos de datos: numricos

Son aquellos que se utilizan para realizar operaciones aritmticas.

Enteros; corresponden a nmeros completos, o sea que no tienen parte decimal, pueden ser
negativos, positivos o cero. Ejemplo: La edad de una persona (39), el total de estudiantes en un
grupo (36).

Reales; son aquellos nmeros que poseen punto decimal. Pueden ser negativos, positivos o cero.

Reales decimales; son los que constan de una parte entera y una decimal (en algunos casos se
puede omitir la parte entera o la decimal). Ejemplo: La nota de un estudiante (4.7), el porcentaje
de algn impuesto (0.16).

Reales exponenciales (de punto flotante); son aquellos nmeros que se expresan en funcin de
potencias de 10; esta expresin es conocida como notacin cientfica. Ejemplo: -2.85E03;
0.735E-4; 0.58E-1

-Tipos de datos: alfanumricos

Corresponden al conjunto de caracteres alfabticos, numricos, y/o especiales; con ellos no se


efectan operaciones matemticas.

Carcter; cundo se hace referencia a un solo carcter, y debe encerrarse entre apostrofes ( ).
Ej: Sexo de una persona (M o F), estado civil (S, C, V).

Cadena; Cundo se hace referencia a ms de un carcter, siempre debe encerrarse entre comillas
( ). Ej: cdigo de un estudiante (2041220), nombre de una persona (Vctor Hugo Torres),
direccin donde reside una persona (Calle 100 # 50 - 20), nmero telefnico (3002125820).

-Tipos de datos: lgicos

Son aquellos datos que solo pueden tomar dos valores:

1. Valor verdadero true

2. Valor falso false

-Tipos de datos que se manejan en pseudocdigo:

Carcter: Cuando solo queremos un solo carcter de un dato y se encierra entre apostrofes ( ).

Booleano: Cuando requerimos de una respuesta TRUE o FALSE (datos lgicos).

Cadena: Datos alfanumricos que no se calculan como el nombre, telfono, etc..


Real: Cuando vamos a utilizar nmeros con punto decimal.

Entero: Nmeros positivos o negativos sin punto decimal.

Operadores

Un operador es un smbolo que se utiliza para manipular datos. Los operadores se clasifican en:

Aritmticos.
Relacionales.
Lgicos.

Operadores Aritmticos:

+ Suma
- Resta
* Multiplicacin
/ Divisin (div)
% Mdulo o residuo (Mod)
^ ** Potencia
= Asignacin

Operadores: Relacionales

> Mayor que


< Menor que
(=) == Igual a
(<>) != Diferente de
>= Mayor o igual que
<= Menor o igual que

Operadores: Lgicos

(*) && Conjuncin (y)


(+) | | Disyuncin (o)
(~) ! Negacin (no)

PRIORIDAD ENTRE OPERADORES (ORDEN DE PRELACIN) EN LA MAYORA


DE LENGUAJES

La prioridad entre operadores puede variar en funcin del lenguaje informtico que utilicemos.
Consideraremos estas prioridades: Operadores matemticos > Operadores de comparacin >
Operadores de negacin, conjuncin o disyuncin.
Referencias
1. http://informaticafrida.blogspot.com.co/2009/03/algoritmo.html
2. https://compartiendoinformatica.wordpress.com/2011/11/15/partes-en-un-algoritmo/
3. https://sites.google.com/site/programacionbasicajava/Algoritmo/tecnicas-para-crear-un-
algoritmo
4. http://colabora.inacap.cl/sitios/merlot/Materiales
%20MerlotChile/mlcastro/Negocios/Contabilidad/auditoria_computacion_contabilidad_e
stadistica/computacion/contenido_multimedia/elementos_de_programacion/4_3.html
5. http://guillermopardos.blogspot.com.co/2013/04/pseudocodigo-sub-procesos.html
6. https://es.scribd.com/doc/86588280/ALGORITMOS-EXPRESIONES
7. http://pavlov-udavinci.blogspot.com.co/2012/03/estructuras-de-control.html
8. http://es.slideshare.net/bakura4/tiposde-datos1
9. http://claseinfo.blogia.com/temas/identificadores/
10. https://es.wikipedia.org/wiki/F%C3%B3rmula_(expresi%C3%B3n)
11. http://www.alegsa.com.ar/Dic/funcion.php
12. http://www.alegsa.com.ar/Dic/sentencia_de_programacion.php
13. http://gy94bfmv.blogspot.com.co/2012/10/tipos-de-datos-y-operadores-en.html
14. http://aprenderaprogramar.com/index.php?
option=com_content&view=article&id=276:prioridad-entre-operadores-orden-de-
prelacion-exponenciacion-mod-div-logicos-etc-cu00133a&catid=28:curso-bases-
programacion-nivel-i&Itemid=59