tema 4 iniciaciÓn a la programaciÓn 1ª parte · tema 4 -iniciaciÓn a la programaciÓn...

22
TEMA 4 TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Upload: phunganh

Post on 03-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

TEMA 4TEMA 4INICIACIÓN A LA PROGRAMACIÓN

1ª parte

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

TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN

Resolución de problemas. 2 - Diseño / desarrollo de un algoritmo.

PARA parámetro HASTA condición HACER

Del Pseudocódigo al diagrama de flujo:

Inicio

PARA parámetro HASTA condición HACERAcción A;

FIN PARA i = 1

i < = n

SI NO

i = i + 1

Fin

i = i + 1