2. Empezaremos con unas definiciones un poco técnicas, pero que son imprescindibles para el aprendizaje.
Las herramientas que utilizaremos para programar son los lenguajes de programación, a través de las cuales codificaremos los programas.
Programa. Conjunto de instrucciones entendibles por el ordenador que permiten realizar un trabajo o resolver un problema.
Metodología de la programación Se entiende como metodología de la programación al conjunto de normas, métodos y anotaciones que nos indican la forma de programar.
Lenguaje de programación. Es un conjunto de reglas semánticas, así como sintácticas que los programadores usan para la codificación de instrucciones de un programa o algoritmo de
programación.
Existen varios lenguajes de programación.
Entorno de programación o entorno de desarrollo. Es el conjunto de herramientas utilizadas para la elaboración de un programa.
Recursos Conjunto de componentes hardware que utilizaremos para la elaboración de un programa (cpu, disco duro.).
Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.
3. Explicamos el proceso más importante a la hora de hacer funcionar un programa realizado en lenguajes de alto y medio nivel.
Cuando programamos en lenguajes de alto nivel, lo que estamos haciendo en realidad es el código fuente de ese programa..
Este código fuente debe ser traducido a binario para que las instrucciones que contienen puedan ser entendidas y ejecutadas por la máquina.Para
esto existe un programa encargado de realizar la traducción, llamado traductor del lenguaje. Estos traductores pueden ser de dos tipos
Ensambladores
Son los encargados de traducir los programas escritos en lenguaje ensamblador a lenguaje máquina.
Compiladores.
Son programas que leen el código fuente y lo traducen o convierten a otro lenguaje. Estos programas te muestran los errores existentes en el código fuen
4. Etapas del proceso de compilación:
Edición. Esta fase consiste en escribir el programa empleando algún lenguaje y un editor. Como resultado nos dará el código fuente de
de nuestro programa.
Compilación. En esta fase se traduce el código fuente obtenido en la fase anterior a código máquina. Si no se produce ningún error se
obtiene el código objeto. En caso de errores el compilador los mostraría para ayudarnos a corregirlos y se procedería a su compilación de
nuevo, una vez corregidos.
Linkado. Esta fase consiste en unir el archivo generado en la fase dos con determinadas rutinas internas del lenguaje, obteniendo el
programa ejecutable. Existen dos tipos de linkados:
linkado estático: Los binarios de las librerías se añaden a nuestros binarios compilados generando el archivo ejecutable.
Linkado dinámico: no se añaden las librerías a nuestro binario sino que hará que se carguen en memoria las librerías que en ese
momento se necesiten.
Una vez traducido, compilado y linkado el archivo está listo para su ejecución donde también podrán surgir problemas y fallos, para los
cuales tendríamos que volver a realizar todo el proceso anteriormente citado, de modo que puedan ser corregidos.
Por este motivo es importante realizar numerosas pruebas en tiempo de ejecución antes de presentar el programa al cliente.
Otro sistema para la ejecución de nuestro código fuente es mediante el uso de intérpretes (estos no se encontrarían dentro de los
traductores).
Intérpretes
Los intérpretes realizan la traducción y ejecución de forma simultánea, es decir, un intérprete lee el código fuente y lo va ejecutando al
mismo tiempo. Las diferencias entre un compilador y un intérprete básicamente son:
• Un programa compilado puede funcionar por si solo mientras que un código traducido por un intérprete no puede funcionar sin
éste.
• Un programa traducido por un intérprete puede ser ejecutado en cualquier máquina ya que, cada vez que se ejecuta el intérprete,
tiene que compilarlo.
• Un archivo compilado es mucho más rápido que uno interpretado.
5. DEFINICIÓN DE ALGORITMO:
Se puede definir un algoritmo como un conjunto ordenado y finito de operaciones o pasos que permite hallar la solución de un
problema.
TIPOS DE ALGORITMOS
Existen dos tipos y son llamados así por su naturaleza:
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
REPRESENTACIÓN DE LOS ALGORITMOS
Texto Narrativo
Consiste en escribir paso a paso las acciones que se deben realizar empleando el lenguaje natural.
Diagrama de Flujo
Es la representación gráfica de las operaciones que realiza un algoritmo.
Pseudocódigo
Representa en forma descriptiva las operaciones que debe realizar un algoritmo.
6. Características de los algoritmos
1. Finitud.- Un algoritmo debe terminar en un número finito de pasos
2. Decidibilidad.- Cada paso del algoritmo debe definirse de modo preciso; las acciones a realizar deben estar
especificadas rigurosamente y sin ambigüedad para cada caso.
3. Entrada.- Un algoritmo tiene cero o más entradas. Esto es, las cantidades de los datos de inicio se generan en el
mismo algoritmo o se conocen previamente.
4. Salida.- Un algoritmo tiene una o más salidas. Es decir, hay datos o cantidades al término del algoritmo que
una relación específica con los datos o cantidades de entrada.
5. Efectividad.- El algoritmo debe ser efectivo. Esto significa que todas las operaciones deben ser suficientemente
sencillas para poder, en principio, ser realizadas de modo exacto y en un tiempo finito por un procesador.
7. DIAGRAMA DE FLUJO
Un diagrama de flujo es una representación gráfica de un algoritmo, que ilustra la secuencia de las operaciones que
se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de
comenzar a programar el código frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los
programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de
un problema y facilitan la comprensión de problemas complicados y sobre todo muy largo
8. Reglas para dibujar un diagramas de flujo.
Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también
ser desarrollados cuando sean requeridos. Algunos símbolos estándares, que se requieren con frecuencia para diagramar programas de
computadora se muestran a continuación:
9. Consejos Rápidos para Utilizar Símbolos de Diagrama de flujo
La mayoría de los símbolos de diagrama de flujo que se muestran aquí se
en aplicaciones muy específicas, como un diagrama de flujo de datos utilizado
para la programación de computadoras. A menos que tenga conocimientos
especializados y su diagrama se esté desarrollando para un grupo de iguales
conocimientos similares, lo mejor es atenerse a los símbolos básicos del
de flujo. Si utiliza símbolos de diagramas de flujo complejos en su diagrama, es
recomendable incluir una leyenda o clave de símbolo.
La mayoría de los diagramas de flujo deben ser construidos utilizando sólo los
símbolos de Inicio / Fin y Acción o Proceso y debe n seguir un uso básico. Usar
dos símbolos primarios del diagrama de flujo es la mejor manera de asegurarse
de que su diagrama sea fácil de comprender.
10. Operador Nombre Ejemplo Descripción
+ Suma 5 + 6
Suma dos
números
- Substracción 7 - 9
Resta dos
números
* Multiplicación 6 * 3
Multiplica dos
números
/ División 4 / 8
Divide dos
números
Operador Descripción
>
" Mayor que"
devuelve verdadero, si el
operador de la izquierda es
mayor que el de la derecha.
>=
" Mayor o igual que "
devuelveverdadero, si el
operador de la izquierda es
mayor o igual que el de la
derecha.
<
" Menor que"
devuelve verdadero, si el
operador de la izquierda es
menor que el de la derecha.
<=
"Menor o igual que"
devuelveverdadero, si el
operador de la izquierda es
menor o igual que el de la
derecha.
Operadores Aritméticos
Los operadores aritméticos toman los valores numéricos (literales o variables) como sus operando y devuelve un
solo valor numérico. Los operadores aritméticos son:
Operadores de Comparación
Los operador de comparación compara sus operandos y devuelve un valor lógico (Verdadero o Falso), basado en
si la comparación es verdad o no. Los operandos pueden ser numéricos o cadenas.
11. Identificador.
Un identificador es un conjunto de caracteres alfanuméricos de cualquier
que sirve para identificar las entidades del programa (clases, funciones,
tipos compuestos).
Los identificadores pueden ser combinaciones de letras y números. Cada
lenguaje tiene sus propias reglas que definen como pueden estar construidos.
Cuando un identificador se asocia a una entidad concreta, entonces es el
“nombre” de dicha entidad, y en adelante la representa en el programa.
las entidades hace posible referirse a las mismas, lo cual es esencial para
tipo de procesamiento simbólico.
Constantes y variables
Una Constante es aquélla que no cambia de valor durante la ejecución de un
algoritmo. Se representa en la forma descrita para cada categoría que
Las Variables son aquéllas que pueden modificar su valor durante la ejecución
un algoritmo (utilizan identificadores comunes a sus valores almacenados).