Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Los arquitectos realizan planos antes de realizar los edificios. Los informáticos realizamos
el diseño del Algoritmo antes de crear un programa. Por lo tanto, si el algoritmo está mal
diseñado, el programa también lo estará.
Con frecuencia a los alumnos de la carrera de informática se les hace difícil aprender a crear
algoritmos. Esta dificultad se la atribuyo a que en la educación tradicional nos han
enseñado a repetir los conocimientos que adquirieron nuestros profesores y no nos enseñan
a crear.
Variable.
Constante.
Instrucciones.
Tipos de Instrucciones.
Expresiones.
Tipos de Expresiones.
Operadores Lógicos.
Operadores Aritméticos.
Operadores de Relación.
Diagramas de Flujo.
Entre otros…
Las Variables
Una variable: es un valor que puede cambiar durante la ejecución de un programa.
En una variable se pueden guardar todo tipo de datos. Las variables se guardan
en la memoria RAM (Random Access Memory). Esta memoria solo almacena
datos de manera temporal, cuando la computadora se apaga, si no guardas los
datos en el disco duro, éstos se pierden.
Las variables se pueden representar con letras, letras y números combinados.
Ejemplo:
A, nombre, numero21.
Cuando vamos a declarar una variable en un programa no es recomendable que
los nombres de éstas tengan acentos, la letra ñ, ni símbolos, porque la mayoría de
los lenguajes de programación son diseñados en inglés, y no admiten estos
caracteres.
Para asignar valor a una variable se utiliza el símbolo igual (=).
Ejemplo:
P = 120
En este ejemplo vemos que la variable P toma el valor de 120.
Nota: es importante señalar que en un programa no se pueden realizar
operaciones matemáticas sin asignar el valor a una variable específica:
Ejemplo:
D/2
Esta línea de código daría un error porque se está calculando D/2, y este valor no
se está almacenando en ninguna parte.
Lo correcto sería:
S = D/2
Es decir, en la variable S se estará guardando el valor del resultado de la división
D/2.
Generalmente cuando vamos a asignar un valor tipo cadena o carácter a una
variable, ésta información se coloca entre comillas simples (‘) o comillas dobles (“),
dependiendo del lenguaje de programación que sea.
Ejemplos:
planeta = “Marte”
color = ‘azul’
Es muy importante saber cuáles son las variables que vamos a utilizar a la hora de
realizar un programa y tomar en cuenta que las variables cuyo valor se va a
calcular en el programa NO se representan en un diagrama de flujo en el símbolo
de entrada de datos.
Por ejemplo: si vamos a realizar un programa que sume dos números, vamos a
necesitar tres variables:
A, B y R.
A representa el primer número, B el segundo número y R el resultado.
Sólo las variables A y B serán introducidas, porque la variable R se va a calcular
durante la ejecución del programa.
Constante
Constante: como su nombre lo indica, en programación, es un valor que no
cambia durante la ejecución de un programa.
Ejemplo:
1) P = 101
Aquí si se desea que el valor de P, el cual su valor es 101.
2) A = (B * H) /2
En este caso el valor 2, se mantiene igual cada vez que se ejecute el programa.
Diagrama de flujo
Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos
conectados con flechas para indicar la secuencia de instrucciones y están regidos
por ISO.
Los diagramas de flujo son usados para representar algoritmos pequeños, ya que
abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura
son usados como introducción a los algoritmos, descripción de un lenguaje y
descripción de procesos a personas ajenas a la computación.
Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben estar
presentes el autor o responsable del proceso, los autores o responsables del proceso anterior y
posterior y de otros procesos interrelacionados, así como las terceras partes interesadas.
Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y
el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final
la entrada al proceso siguiente.
Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso
a describir y su orden cronológico.
Asignar un título al diagrama y verificar que esté completo y describa con exactitud el
proceso elegido.
Formato panorámico: El proceso entero está representado en una sola carta y puede
apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su
comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino
también horizontal, distintas acciones simultáneas y la participación de más de un puesto
o departamento que el formato vertical no registra.
Son una excelente herramienta para capacitar a los nuevos empleados y también a los que
desarrollan la tarea, cuando se realizan mejoras en el proceso.
Acciones a seguir tras la salida de un símbolo de decisión, pueden ser difíciles de seguir si
existen diferentes caminos.
No existen normas fijas para la elaboración de los diagramas de flujo que permitan incluir
todos los detalles que el usuario desee introducir.
Operadores
Los operadores son elementos que disparan ciertos cálculos cuando son aplicados a variables
o a otros objetos en una expresión.
Tal vez sea este el lugar adecuado para introducir algunas definiciones:
Variable: es un valor que almacena nuestro programa que puede cambiar a lo largo de su
ejecución.
Operando: cada una de las cantidades, constantes, variables o expresiones que intervienen
en una expresión
Existe una división en los operadores atendiendo al número de operandos que afectan.
Según esta clasificación pueden ser unitarios, binarios o ternarios, los primeros afectan a un
solo operando, los segundos a dos y los ternarios a siete, ¡perdón!, a tres.
Hay varios tipos de operadores, clasificados según el tipo de objetos sobre los que actúan.
OPERADORES ARITMETICOS
Son usados para crear expresiones matemáticas. Existen dos operadores aritméticos
unitarios, ‘+’ y ‘-‘ que tienen la siguiente sintaxis:
+ <expresión> – <expresión>
En cuanto a los operadores binarios existen varios. ‘+’, ‘-‘, ‘*’ y ‘/’, tienen un
comportamiento análogo, en cuanto a los operandos, ya que admiten enteros y de coma
flotante. Sintaxis:
El operador de módulo ‘%’, devuelve el resto de la división entera del primer operando entre
el segundo. Por esta razón no puede ser aplicado a operandos en coma flotante.
<expresión> % <expresión>
En C y C++, cuando las expresiones que intervienen en una de estas operaciones sean
enteras, el resultado también será entero, es decir, si 17 y 7 se almacenan en variables
enteras, el resultado será entero, en este caso 2.
Por otro lado si las expresiones son en punto flotante, con decimales, el resultado será en
punto flotante, es decir, 2.428571. En este caso: 7*2.428571=16.999997, o sea, que
no hay resto, o es muy pequeño.
Por eso mismo, calcular el resto, usando el operador %, sólo tiene sentido si las expresiones
implicadas son enteras, ya que en caso contrario se calcularán tantos decimales como permita
la precisión de tipo utilizado.
Por último otros dos operadores unitarios. Se trata de operadores un tanto especiales, ya
que sólo pueden trabajar sobre variables, pues implican una asignación. Se trata de los
operadores ‘++’ y ‘–‘. El primero incrementa el valor del operando y el segundo lo
decrementa, ambos en una unidad. Existen dos modalidades, dependiendo de que se use el
operador en la forma de prefijo o de sufijo. Sintaxis:
c = a + ++b;
c = a + b++;
En este segundo ejemplo primero se avalúa la expresión “a+b”, que dará como resultado
110, y se asignará este valor a c, que valdrá 110. Finalmente se aplica en post-incremento,
y b valdrá 11.
b = b + 1;
Supongamos que inicialmente “b” vale 10, esta expresión asignará a “b” el valor 11.
Veremos el operador “=” más adelante, pero por ahora no lo confundas con una igualdad
matemática. En matemáticas la expresión anterior no tiene sentido, en programación sí lo
tiene.
b = b+1; c = a + b;
c = a + b; b = b+1;
Esto también proporciona una explicación de por qué la versión mejorada del lenguaje C
se llama C++, es simplemente el C mejorado o incrementado. Y ya que estamos, el lenguaje
C se llama así porque las personas que lo desarrollaron crearon dos prototipos de lenguajes
de programación con anterioridad a los que llamaron B y BCPL.
Operadores de Relación
Operadores de relación:
Igual que, =.
Distinto que, /=.
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el
resultado de la comparación es correcto la expresión considerada es verdadera, en caso
contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa
por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es
falsa, false. En la primera columna de la tabla, se dan los símbolos de los operadores
relacionales, el la segunda, el nombre de dichos operadores, y a continuación su significado
mediante un ejemplo.
AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las
denominadas tablas de verdad. El operador NOT actúa sobre un operando. Estas tablas
de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: “si hace sol
Y tengo tiempo, iré a la playa”, “si NO hace sol, me quedaré en casa”, “si llueve O hace
viento, iré al cine”. Las tablas de verdad de los operadores AND, OR y NOT se muestran
en las tablas siguientes
El operador lógico OR
x y resultado
true true true
true false true
false true true
false false false
x resultado
true false
false true
Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado
por la última columna de sus tablas de verdad. Por ejemplo:
es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es
falso (false). En cambio, la expresión
(a<b) ||(b<c)
es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es
falso.
La expresión ” NO a es menor que b“
!(a<b)
(a>=b)
!(a==b)
(a!=b)
Pseudocódigo
El pseudocódigo (o falso lenguaje) es una descripción de alto nivel compacta e
informal del principio operativo de un programa informático u otro algoritmo.
No existe una sintaxis estándar para el pseudocódigo, aunque los ocho IDE’s que
manejan pseudocódigo tengan su sintaxis propia. Aunque sea parecido, el
pseudocódigo no debe confundirse con los programas esqueleto que incluyen
código ficticio, que pueden ser compilados sin errores. Los diagramas de
flujo y UML pueden ser considerados como una alternativa gráfica al
pseudocódigo, aunque sean más amplios en papel.
Compilar un programa
La palabra compilar significa traducir un código de programación a codigo
ejecutable por la máquina. Para compilar un codigo fuente y convertirlo en
ejecutable hay distintas formas dependiendo del compilador que se utilice. Entre
estos compiladores, uno de los más famosos es GCC (GNU Compiler Collection)
el cual trae soporte para diversos lenguajes (C, C++, Ada, Java, etc). Su fama y
buen desempeño van ligados con la gratuidad con la cual se distribuye.
Los símbolos se unen con líneas, las cuales tienen en la punta una flecha que indica la
dirección que fluye la información procesos, se deben de utilizar solamente líneas de flujo
horizontal o verticales (nunca diagonales).
Se debe evitar el cruce de líneas, para lo cual se quisiera separar el flujo del diagrama a un
sitio distinto, se pudiera realizar utilizando los conectores. Se debe tener en cuenta que solo
se vana utilizar conectores cuando sea estrictamente necesario.
Todos los símbolos pueden tener más de una línea de entrada, a excepción del símbolo final.
Solo los símbolos de decisión pueden y deben tener mas de una línea de flujo de salida.
Lógica de programación
El estudio de la Lógica de Programación no exige ningún conocimiento previo de
computadora ni de tecnología en general, tampoco exige la presencia de algún Lenguaje de
Programación específico aunque no puede negarse que éste podría permitir, solo después que
se manejen bien los conceptos de lógica de programación, implementar y ver convertida en
realidad las soluciones lógicas a sus objetivos.
Definiciones
Serie coherente de ideas y razonamientos.
Ciencia que estudia la estructura, fundamentos y uso de las expresiones del conocimiento
humano.
-Un algoritmo debe resolver el problema para el que fue formulado. Lógicamente no sirve un
algoritmo que no resuelve ese problema. En el caso de los programadores, a veces crean algoritmos
que resuelven problemas diferentes al planteado.
-Los algoritmos son independientes del ordenador. Los algoritmos se escriben para poder ser
utilizados en cualquier máquina.
-Los algoritmos deben de ser precisos. Los resultados de los cálculos deben de ser exactos, de
manera rigurosa. No es válido un algoritmo que sólo aproxime la solución.
-Los algoritmos deben de ser finitos. Deben de finalizar en algún momento. No es un algoritmo
válido aquel que produce situaciones en las que el algoritmo no termina.
-Los algoritmos deben de poder repetirse. Deben de permitir su ejecución las veces que haga falta.
No son válidos los que tras ejecutarse una vez, ya no pueden volver a hacerlo por la razón que sea.
Finitud:
El algoritmo debe acabar tras un número finito de pasos.
Es más, es casi fundamental que sea en un número
razonable de pasos.
Definibilidad:
El algoritmo debe definirse de forma precisa para cada
paso, es decir, hay que evitar toda ambigüedad al definir
cada paso. Puesto que el lenguaje humano es impreciso,
los algoritmos se expresan mediante un lenguaje formal,
ya sea matemático o de programación para un
computador.
Entrada:
El algoritmo tendrá cero o más entradas, es decir,
cantidades dadas antes de empezar el algoritmo. Estas
cantidades pertenecen además a conjuntos
especificados de objetos.Se trata siempre de cantidades
representativas del mundo real expresadas de tal forma
que sean aptas para su interpretación por el
computador.
Salida:
El algoritmo tiene una o más salidas, en relación con las
entradas.
Efectividad:
Se entiende por esto que una persona sea capaz de
realizar el algoritmo de modo exacto y sin ayuda de una
máquina en un lapso de tiempo finito.
Un algoritmo debe ser preciso: tiene que indicar el orden de realización de
cada paso.
Un algoritmo debe estar definido: Si se sigue un algoritmo dos veces, se
debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito: el algoritmo se debe terminar en algún
momento; o sea, debe tener un número finito de pasos.
Un algoritmo debe ser legible: El texto que lo describe debe ser claro, tal
que permita entenderlo y leerlo fácilmente.
Un algoritmo debe definir tres partes: Entrada, Proceso y Salida.