TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
¿Qué es la programación?
La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas
computacionales.
En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicacionesinformáticas y videojuegos; es el proceso por el cual una persona desarrolla un programa valiéndose de una
herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++,herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++,
Java y Python) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, el cual
puede ser entendido por una CPU.
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
¿Qué es un lenguaje de programación?
Un lenguaje de programación sirve para especificar las secuencias de instrucciones que debe interpretar una
CPU.
Cada equipo según su diseño entiende un conjunto de instrucciones elementales llamado lenguaje máquina.
Lenguajes de bajo nivel: están muy próximos al
lenguaje máquina. El lenguaje ensamblador es una
reformulación del lenguaje máquina que utiliza una
notación abreviada (mnemotécnica) para que el
programador pueda recordar sin dificultad las
instrucciones de la CPU, direcciones de memoria, etc.
Lenguajes de alto nivel: están pensados para que
las personas puedan escribir y entender
programas de una manera mucho más sencilla en
comparación con los de bajo nivel. Los más
difundidos: C, C++, Cobol, Java, Pyton, Pascal,
Delphi, Fortran, Smalltalk, Visual Basic, C#, PHP,
ASP, etc.ASP, etc.
public class Hello {
public static void main(String[] args) {
System.out.println("Hola mundo");
}
}
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Generaciones de lenguajes
Primera generación:
Dependen totalmente de la maquina.
Lenguaje máquina y lenguaje ensamblador.
Segunda generación (finales de los 50 y principios de los 60):Segunda generación (finales de los 50 y principios de los 60):
Fortran: Científico y de ingeniería.
Cobol: Aplicaciones de procesamiento de datos.
Algol: Predecesor de los lenguajes de 3ª generación.
Basic: Originalmente para enseñar a programar.
Tercera generación (hacia los años 70 – crisis del software):
Lenguajes de programación estructurada.
Posibilidades procedimentales y de estructura de datos.Posibilidades procedimentales y de estructura de datos.
Propósito general:
Pascal: Bloques estructurados, tipificación de datos.
C: Originalmente para sistemas, gran flexibilidad.
Ada: Para aplicaciones de tiempo real.
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Generaciones de lenguajes
Tercera generación (hacia los años 70 – crisis del software):
Orientados a objetos:
Smalltalk.
Eiffel.Eiffel.
C++.
Java.
Especializados(sintaxis diseñada para una aplicación particular)
LISP: demostración de teoremas.
Prolog: inteligencia artificial.
Apl: tratamiento de vectores y matrices.
Cuarta generación:
Alto nivel de abstracción.
No es necesario detalles algorítmicos.
Ejemplo: SQL (orientados a tratamiento de datos.)
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
¿Qué necesitamos para definir un lenguaje de programación?
� Conjunto de símbolos y palabras clase utilizables.
� Reglas gramaticales para construir sentencias sintáctica y semánticamente correctas (instrucciones y
órdenes).
• Sintaxis: Conjunto de normas que dicen cómo hay que escribir las sentencias del lenguaje.
• Semántica: Interpretación de las sentencias. Indica el significado de las mismas.
Algoritmos, programas y codificación.
� Un algoritmo es un procedimiento para resolver un problema de manera sistemática.
Un problema puede ser resuelto por dos algoritmos diferentes, dando un mismo resultado pero pueden
presentar distinto coste computacional.
� Un programa es una versión particular de un algoritmo descrito en un lenguaje de programación
determinado.
� Al proceso de escribir un programa que ejecute un algoritmo determinado se le denomina codificación.
Características que debe cumplir todo algoritmo:
� Preciso: Se ha de poder interpretar sin ambigüedad.
� Definido: Si se sigue dos veces, se debe obtener idénticos resultados.
� Finito: Se ha de terminar en algún momento, es decir, ha de hacer un número finito de pasos.
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Compiladores e intérpretes.
Un traductor es un programa que toma como entrada un programa escrito en un lenguaje fuente y lo
transforma en un programa escrito en lenguaje máquina.
El proceso de conversión se denomina traducción y puede realizarse de dos formas diferentes: por
interpretación o por compilación.
Interprete: Es un programa que toma como entrada un programa escrito en lenguaje fuente y lo va
traduciendo y ejecutando instrucción por instrucción (de una en una).
Compilación: Es el proceso de traducción de programas de alto nivel a código máquina. La entrada de este
proceso de traducción se denomina programa fuente y el resultado se denomina “programa objeto”.
Ciclo de creación de un programa.
Programa
fuenteCompilador
Programa
a pruebaPrograma
correcto
¿Hay
errores
de
compila_
ción?
¿Hay
errores
de
ejecu_
ción?
si si
no no
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas.
Haciendo uso de un ordenador, se refiere al proceso que consiste en partir de la descripción de un problema y
desarrollar un programa que resuelva dicho problema.
Para ello se seguirán unos pasos:
1. Análisis del problema.
2. Diseño o desarrollo de un algoritmo.2. Diseño o desarrollo de un algoritmo.
3. Transformación del algoritmo en un programa (codificación).
4. Ejecución y validación del programa.
Por tanto, una vez analizado el problema y obtenido el algoritmo, su transformación al programa es una mera
tarea de traducción al lenguaje de programación deseado.
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Pseudocódigo o lenguaje algorítmico:
Es una notación algorítmica textual muy parecida al lenguaje natural. Es la aplicación de las
estructuras tratadas en los puntos posteriores (1-6) disponiendo además de palabras reservadas
con las que poder expresar tanto las acciones elementales como las diferentes estructuras
lógicas del algoritmo.lógicas del algoritmo.
También en estas estructuras pueden utilizarse comentarios, generalmente entre los símbolos “/* “ y “*/”.
Veamos un ejemplo:
ALGORITMO nombre_algoritmo;
CONSTANTES/* Sección reservada para la declaración de datos constantes usados en el algoritmo */
VARIABLES/* Sección reservada para la declaración de datos variables utilizados por el algoritmo */
INICIO /* Comienzo del cuerpo principal de acciones del algoritmo */
Acción 1;Acción 2;Acción 3;…Acción N;
FIN
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
1. Acción elemental:
Una acción elemental es aquella que el ordenador es capaz de realizar de forma nativa
y pueden ser de dos tipos:
A. Aritmético – lógicas:
Son operaciones que a partir de unos determinados datos, realizan un calculo aritmético (suma, resta,Son operaciones que a partir de unos determinados datos, realizan un calculo aritmético (suma, resta,
multiplicación,…) o un cálculo lógico (mayor que, igual que, …). Las primeras devuelven un valor numérico (4,
45, 75454, …) y las segundas un valor lógico (verdadero o falso).
B. De entrada – salida:
Son acciones que permiten capturar datos de entrada para su posterior tratamiento (las de entrada) y guardar
los resultados de dicho tratamiento (las de salida).
2. Secuencia de acciones elementales (composición secuencial):
Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, estas se describen una detrás de
otra según el orden en que deban ejecutarse. Se emplea el punto y coma “ ; ” para separarlas.otra según el orden en que deban ejecutarse. Se emplea el punto y coma “ ; ” para separarlas.
Acción 1;Acción 2;
…Acción n;
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
3. Ejecución condicional de una acción:
Cuando en un algoritmo se quiere indicar que cierta acción sólo se debe ejecutar bajo una
cierta condición se indica del siguiente modo:
SI condición ENTONCESAcción;
Solo si la “condición” (operación lógica) es verdadera se ejecutará la “acción”.
Acción;
FIN SI
4. Ejecución alternativa de una de dos acciones:
En ocasiones se deben ejecutar unas acciones u otras en función de que una determinada condición se dé o
no. Por tanto, si la condición se cumple se realizará la “acción A” y si no se cumple se realizará la “acción B”:
SI condición ENTONCESSI condición ENTONCESAcción A;
SINOAcción B;
FIN SI
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
5. Ejecución condicional de una de varias opciones:
Otra posibilidad es escoger una acción entre varias dependiendo del valor de una
determinada variable, debiendo expresarse del siguiente modo:
SELECCIONAR indicador:SELECCIONAR indicador:
Caso valor1:
Acción 1;
Caso valor2:
Acción 2;
Caso valor 3:
Acción 3;
[En otro caso:Acción X;]
FIN CASO
“indicador” tendrá un determinado valor que en caso de coincidir con alguno de los n valores provocará la
ejecución de la “acción” asociada.
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
6. Ejecución múltiple de una acción:
Cuando una acción o conjunto de acciones debe ejecutarse varias veces se recurre a una
estructura iterativa llamada “bucle”. Este tipo de estructuras necesitan una condición que
determine cuándo terminan las iteraciones:
Estructura 1
MIENTRAS condición HACER
Acción 1;
FIN MIENTRAS
Estructura 3
Estructura 2
HASTA condición HACER
Acción 1;
FIN HASTA
Estructura 4
La condición de terminación ha de ser FALSA
La condición de terminación
ha de ser VERDADERA
Condición al principio de la estructura.
Estructura 3
HACER
Acción 1;
MIENTRAS condición;
Estructura 4
HACER
Acción 1;
HASTA condición;
Condición al final
de la estructura
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
6. Ejecución múltiple de una acción:
En las estructuras 1 y 2, cuando se evalúa la “Condición” por primera vez, si ésta toma un
valor tal que no permita ejecutar la “Acción” (FALSO en la 1 y VERDADERO en la 2), ésta no
se ejecutará ninguna vez, es decir, puede ocurrir que no se llegue a ejecutar nunca.
En las estructuras 3 y 4, al estar la “Condición” al final de la construcción, la “Acción” se ejecutará antes de
que la condición se evalúe por primera vez, por lo que aunque la “Condición” tome un valor tal que no se
permita realizar más iteraciones, la “Acción” se ejecutará al menos una vez.
Estructuras especiales :
Cuando queremos que una acción se repita un número determinado de veces:
PARA parámetro HASTA condición HACERAcción A;
Parámetro
MIENTRAS condición HACERAcción A;
FIN PARAMIENTRAS condición HACER
Acción A;
Operar parámetro;
FIN MIENTRAS
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Diagramas de flujo:
Un diagrama de flujo es una representación gráfica de un algoritmo. Los elementos
gráficos que emplea son los siguientes:
Indicador de inicio y fin del algoritmo
Operación de tratamiento de datos
Operación lógica para la toma de decisiones
Operación de entrada / salida (E/S)Operación de entrada / salida (E/S)
Línea de flujo
Conector (Para cuando un diagrama no cabe en una página)
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Del Pseudocódigo al diagrama de flujo:
Inicio
Acción 1;Acción 2;
…Acción n;
Inicio
Acción 1
Acción 2
Acción 3
Fin
Acción 3
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Del Pseudocódigo al diagrama de flujo:
InicioSI condición ENTONCES
Acción;Inicio
Acción 1
Acción;
FIN SI
Condición
SI
NO
Fin
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Del Pseudocódigo al diagrama de flujo:
InicioSI condición ENTONCES
Acción A; Inicio
Acción B
Condición
SI NO
Acción A
Acción A;
SINOAcción B;
FIN SI
Fin
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
Inicio
SELECCIONAR indicador:
Caso valor1:
Del Pseudocódigo al diagrama de flujo:
Inicio
Acción A
Condición
Acción B Acción C Acción D
Caso valor1:
Acción A;
Caso valor2:
Acción B;
Caso valor 3:
Acción C;
[En otro caso:Acción X;]
FIN CASO
Fin
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
MIENTRAS condición HACER
Acción 1;
Del Pseudocódigo al diagrama de flujo:
InicioAcción 1;
FIN MIENTRASInicio
Acción
Condición
SI NO
Fin
TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN
Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.
HACER
Acción 1;
MIENTRAS condición;
Del Pseudocódigo al diagrama de flujo:
InicioMIENTRAS condición;
Acción
Condición
SI
NO
Fin
NO
Top Related