Programando
- Hacer un programa, como ya hemos comentado, va a ser escribir un algoritmo en un lenguaje concreto de programación
Definición
Algoritmo
es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema
|
- En informática cada operación va a ser una instrucción
- Siempre ante los mismos valores vamos a obtener los mismos resultados
Algunas conceptos previas
- Tipo de dato conjunto de valores para los cuales hay definidos una serie de operaciones
- Variable posición de menoria o registro identificado con un nombre (identificador)cuyo contenido va a almacenar un valor de un determinado tipo que puede ser modificado durante la ejecución de un programa
- Constante poscición de memoria o registro identificado con un nombre cuyo valor no puede ser modificado durante la ejecución de un programa
- Instruccion operacción que indica al procesador la acción que tiene que realizar, siendo ésta una de las características del procesador su set de instrucciones
- Estructura de control Establecen el flujo de ejecución de un programa. Es decir las instrucciones se va a establecer dentro del programa. Un programa visto como un conjunto de instrucciones deberá tener unas determinadas estructuras de control que me permitan establecer el flujo de ejecución del mismo. En mayo de 1.966, dos matemáticos 'Bôhm y Jacopini' demostraron que un programa que algorítmicamente tuviera solución puede ser escrito utilizando solamente tres tipos de estructuras de control
- Sentencias o estructuras de control:
- Sentencias secuenciales
- Sentencias iterativas o repetitivas
- Sentencias selectivas
Algunas conceptos previas
- Tipo de dato conjunto de valores para los cuales hay definidos una serie de operaciones
- Variable posición de menoria o registro identificado con un nombre (identificador)cuyo contenido va a almacenar un valor de un determinado tipo que puede ser modificado durante la ejecución de un programa
- Constante poscición de memoria o registro identificado con un nombre cuyo valor no puede ser modificado durante la ejecución de un programa
- Instruccion operacción que indica al procesador la acción que tiene que realizar, siendo ésta una de las características del procesador su set de instrucciones
- Estructura de control Establecen el flujo de ejecución de un programa. Es decir las instrucciones se va a establecer dentro del programa. Un programa visto como un conjunto de instrucciones deberá tener unas determinadas estructuras de control que me permitan establecer el flujo de ejecución del mismo. En mayo de 1.966, dos matemáticos 'Bôhm y Jacopini' demostraron que un programa que algorítmicamente tuviera solución puede ser escrito utilizando solamente tres tipos de estructuras de control
- Sentencias o estructuras de control:
- Sentencias secuenciales
- Sentencias iterativas o repetitivas
- Sentencias selectivas
Estructras de control
Estructura secuencial
Consiste en poner una instrucción detrás de otras. El orden de ejecución es secuncial y en orden (Excepción a esta regla los procesadores fuera de orden e instrucciones independientes).
Un programa
- Un programa es la implementación de un algoritmo en un lenguaje de programación concreto
- En un programa podemos tener
- Instrucciones Órdenes que implican acciones a realizar
- Estructuras de control Establecen el orden o las condiciones a valorar para ejecutar una instrucción o no ejecutarla
Instrucciones secuenciales
- Básicamente las instrucciones se reducen a un conjunto pequeño de acciones
- Menos la instrucción de inicio y final de bloque, el resto establecen acciones y terminarán en un punto y coma ;
- Las prodrímos clasificar en
- Inicio/fin
- declaracion
- asignacion
- leer/escribir
Instrucción inicio/fin de bloque
Un programa es un bloque de instrucciones que tiene un inicio y un fin. Dentro de este bloque puede haber muchos bloques. Siempre cada bloque empezará y terminará con una instrucción de inicio /fin bloque respectivamente.
- De forma general, algorítmicamente podríamos establecer esto de la siguiente manera
programa MiPrograma
inicio
bloque_dentro_de_mi_programa
inicio
instruciones
fin
...
instrucciones
fin
En javaScript el bloque inicio y fin está especificado con los caracteres { y } respectivamente
function bloque_principal()
{
function otro_bloque_B()
{
//instricciones_bloque_B
}
//instrucciones del bloque princial
}
- El concepto function lo abordaremos posteriormente.
La indentación
Muy importante es la indentación es decir que todas las instrucciones de un determinado bloque vayan indentadas a un mismo nivel, con el mismo margen. Cada nuevo nivel de bloque aumento la sangría o margen. Si cierro el bloque vuelvo a niveles anteriores.
|
(: Algunos lenguajes como Python usan directamente la indentación como inidicador de inicio/fin de bloque)
- Otro tema importante es si embebemos javaScript dentro de nuestra página html
- En principio lo haremos en la parte del head
- Se hará con la etiqueta <script> y </script>
- En realidad esto son etiquetas de html, veremos al estudiar el lenguaje javascript las diferentes formas de escribir código javascript dentro de una página html.
- De momento usaremos estas etiquetas y de forma coloquial las traduciremos por principio de programa javascript y final de programa
<script>
..... Código javaScript
<script>
- En estas etiquetas, lo normal es establecer el tipo de lenguaje en el que está escrito el script
<script type=text/javascript>
..... Código javaScript
<script>
</html>
Instrucción de declaración
Sirve para declarar elementos dentro del programa
En un programa se pueden declarar
- variables
- constantes
- subprogramas (funciones, procedimientos. En terminología OO métodos), esto lo veremos mas adelante
- En este apartado hay que saber que depende del lenguaje de programación.
- En función del lenguaje de programación, las variables deben de ser declaradas antes de usarlas (lenguajes fuertemente tipados).
- Existen otros lenguajes, que si bien los valores con los que trabaja siempre tienen un tipo, este no ha de ser declarado antes de utilizarlo, si no que implícitamete es declarada el tipo cada vez que asignamos un valor a la variable utilizada.
- La forma de realizar una declaración de variable será
tipo_variables identificador_variable
- El tipo de la variable es tulizado para saber cuanto espacio de memoria debo reservar para almacer el valor de esa variable. por ejemplo en un entero puede ser que necesite 2 bytes, pero en un float 8 bytes
identificador_constante = valor
- Respecto a los tipos de variable, dependerá del lenguaje utilizado
- Consideremos el lenguaje javascript
- entero o int , en javascript será de tipo number'
- real o float, en javascript será de tipo number' igualmente.
- cadena_caracteres o String en javascript será el tipo string
- booano o boolean en javascript será de tipo booleano' igualmente.
- Para saber el tipo de la variable podemos usar el operador typeof'
<script>
var a;
a = 5;
alert ("tipo de la variable a "+typeof(a));
a = "5";
alert ("tipo de la variable a "+typeof(a));
a = true;
alert ("tipo de la variable a "+typeof(a));
</script>
Identificador
- Identificador es un nombre que identifica a la variable, constante o función.
- Existen reglas para crear los identificadores y éstas dependen del lenguaje para el que estemos escribiendo código. Por ejemplo en PHP obligatoriamente tienen que empezar por $.
- En javaScriptlos identificadores siguen la siguiente expresión regular
[a..zA..Z|_|$][ [a..zA..Z][a..zA..Z|_|$|0..9]
Actividad
Vamos a interpretar esa expresión regular
|
Veamos ejemplos de declaración de variables
Plantilla:Punto Clave
//Declaramos tres variables (edad, nombre, raiz) de los tipos que precede (entero, string o cadena de caracteres y real o float)
int edad;
String nombre;
float raiz;
- Ejemplos de declaración de constantes
- En principio en la constante no necesito saber el tipo con lo que directamente uso identificador y valor
const IVA = 3.14;
const MESES = 12;
- En javaScript siempre ha sido un aspecto no del todo desarrollado, en la última versión sí que aparece la palabra reservada const para este propósito. Eso si, una vez inicializada ya no puedo modificar su valor (como buena constante que es)
//Defino una constante
{
const IVA = 3.14;
const MESES = 12;
const pi = 3.1416;
// … mas instrucciones
}
Instrucción de asignación
Consiste en asignar un valor a una variable
a = valor
La parte de la izquierda siempre será una variable posición de memoria donde almacenaré el valor
valor se puede expresar de diferentes maneras:
- literal Directamente aporto el valor, constante o identificador de variable que directamente me da el valor.
- expresión ==> es un predicado con operadores que es evaluado y de su evaluación obtengo un valor. En función de los operadores las expresiones serán de diferente tipo
- expresiones booleanas o lógicas( operador booleano AND, OR, NOT). Su evaluación me da un valor booleano (VEDAD o FALSO)
- expresiones aritméticas operadores (+,-,*,/,MOD,) (SU EVALUACIÓN ME DA UN NÚMERO)
- expresiones de comparación (=,>,<,>=,<=,!=) (Su evaluación me dá un valor booleano VERDAD o FALSO)
- Función o método que retorna dicho valor: Es un bloque de ejecución independiente que o bien lo escribo yo en otra parte de este bloque o bien ya está disponibles en el conjunto de funciones o bilbiotecas o API que el entorno me ofrece para utilizar directamente. Por ejemplo antes hemos escrito el método calculaEdad...
Instrucciones de leer/escribir
- En realidad aquí depende de los lenguajes, algunos como Pascal y Modula tiene dentro del lenguaje una instrucción para visualizar un texto por la pantalla y otra para leerlo del teclado y asignárselo a una variable. Otros (la mayoría), como Java, C, python,... esta funcionalidad nos la brinda una función de una biblioteca que previamente debe ser cargada.
- Otros lenguajes como PHP tienen ambas cosas echo (parte del lenguaje), print función del sistema, ambas para visualizar caracteres por pantalla. En general con cualquier lenguaje podremos:
visualizar(”cadena de caracteres , valor de variable” + variable+”expresion)
- Para leer un valor que el usuario introduzca por el teclado y almacenarlo en una variable
leer(variable);
- Un Ejemplo algorítmicamente quedaría
void MiPrograma
principio
visualizar (“Introduce tu edad”);
leer edad;
visualizar (“Tu edad es de”+ edad);
fin
- En javaScritp vamos a usar dos funciones para este cometido, aunque como veremos hay mas.
alert
prompt
|