01 metprogramacion

34
1. ¿Qué es un programa? Metodología de la programación.

Transcript of 01 metprogramacion

Page 1: 01 metprogramacion

1. ¿Qué es un programa? Metodología de la

programación.

Page 2: 01 metprogramacion

1. Concepto de programa2. Estructura general de un programa3. Elementos de un programa

I. Datos y tipos de datosII. Operadores y expresionesIII. Tipos de instrucciones

4. Técnicas de representación de algoritmos

I. Diagramas de flujoII. Pseudocódigo

5. Variables auxiliares de un algoritmo o programa

I. ContadoresII. AcumuladoresIII. Interrupciones, conmutadores o switches

Page 3: 01 metprogramacion

1. Concepto de programa.

¿Por qué aprender lenguajes y técnicas de programación?

Tipos de lenguajes de programación que conozcas.

¿Qué es un algoritmo? Conjunto ordenado y finito de operaciones que permiten hallar la solución de un problema.

Existen múltiples programas que resuelven un problema automáticamente pero un único algoritmo.

Los algoritmos son independientes de los lenguajes◦ Ejemplo: calculo máximo común divisor

Page 4: 01 metprogramacion

1. Concepto de programa.Tras la codificación hay que realizar las pruebas

de ejecución o depuración.Es fundamental que el programa se acompañe

de una documentación amplia, clara y precisa (manual escrito, menú de ayuda, …) Otra forma de documentar es elegir nombres claros y representativos de las variables, escribir comentarios en lugares necesarios, …

La fase de explotación comienza con la implantación del programa en el sistema informático donde va a funcionar y continúa con el uso continuo del usuario final.

La última fase es de mantenimiento en el que se comprueba periódicamente el funcionamiento.

Page 5: 01 metprogramacion

2. Estructura general de un programa.El algoritmo nos indica QUÉ hay que

hacer para resolver un problema.¿CÓMO? Mediante técnicas de

representación.

ALGORITMO

ENTORNO

BLOQUE INSTRUCCIONES

Entrada de datos

Proceso de datos

Salida de datos

Page 6: 01 metprogramacion

2. Estructura general de un programa.

Bloque de declaraciones: especificación de los objetos que almacenarán datos que se utilizarán en el algoritmo.Declaración = indicar si es constante o variable, su nombre y tipo.Ejemplos:

entero X, Edad;constante Num_total_modulos_primero=6;real longitud;constante pi=3.141516;booleano par;caracter letra, respuesta;

Page 7: 01 metprogramacion

2. Estructura general de un programa.

Bloque de instrucciones: conjunto de instrucciones que especifican la secuencia de operaciones a realizar por el procesador en un orden determinado.A partir de unos datos de entrada se obtiene un resultado o datos de salida.A su vez se divide en tres:

a) Entrada de datos: toma, lee o introduce uno o varios datos desde un dispositivo de entrada para almacenarlos en memoria

b) Proceso de datos: conjunto de operaciones con los datos de entrada que generan unos datos de salida.

c) Salida de datos: visualización, escritura o impresión de los datos por un dispositivo de salida

Page 8: 01 metprogramacion

2. Estructura general de un programa.

Ejemplo: algoritmo que calcule el área de un triángulo, conocidas base y altura.

A = b * h / 2

Datos entrada Proceso Datos salida

Page 9: 01 metprogramacion

2. Estructura general de un programa.

Ejemplo: algoritmo que calcule el área de un triángulo, conocidas base y altura.

A = b * h / 2

Datos entrada b, hProceso A = b * h / 2Datos salida Resultado

operación A

Page 10: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA

A la hora de programar se utilizan lenguajes de programación introduciendo caracteres por teclado.

Cada dato está identificado por un nombre (identificador) y un valor.

Tipos de datos:◦Variables datos cuyo valor se modifica

durante la ejecución del programa◦Constantes datos cuyo valor NO se modifica

en ejecución.

3.1. Datos y tipos de datos

Page 11: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.1. Datos y tipos de datos

Reglas para nombrar variables, constantes u objetos:◦Debe ser significativo. Que indique qué

representa◦No puede coincidir con palabras reservadas◦Se admite como máximo 32 caracteres◦Comienzan SIEMPRE con un carácter alfabético,

NUNCA numérico, seguido de otros caracteres numéricos, alfabéticos o símbolo de subrayado.

◦Podrán usarse mayúsculas o minúsculas.

Page 12: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.1. Datos y tipos de datos

Ejemplos: Nombres válidos:

◦A, x, Edad, Anno, A11, A12, FechaDeNacimiento, Domicilio_Act, Pi,…

Nombres NO válidos:◦+, *2, 2izda, 4=3, …..

Page 13: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

La forma de manipular datos de entrada es realizar operaciones.

Representación operaciones Operadores.

Existen distintos tipos de operadores:a) Aritméticosb) Alfanuméricosc) Relacionales y lógicos

Page 14: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

Operadores aritméticos:◦^ ó ** (potencia) Ej.: 3^4=81 ◦* (producto) Ej.: 67*2=134◦ / (división) Ej.: 6/3=4◦ div ( división entera)

Ej.: 5div3=1(Z/Z => div)◦ mod (resto de una división)

Ej.: 5mod3=2 (en Java %)◦ + (suma ) Ej.: 12+4=16◦ - (resta). Ej.: 1-2= -1

Page 15: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

Operadores alfanuméricos:

◦& ó + Operador de concatenación (unión):

Ej.: String C, D, E ;

C = "Hola y "D = "Adiós" E = C & D (El valor de E = "Hola y

Adiós")

Page 16: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

Operadores lógicos:◦Not (no, negación) (En Java !)

◦and y lógico o intersección (En Java &&)

◦Or o lógico o unión (En Java ||)

Page 17: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

Operadores relacionales:◦> mayor◦>= mayor o igual◦< menor◦<= menor o igual◦= igual Ej.: X=7

(En Java es ==)◦<> distinto Ej.: 6mod3<>0

(En Java es !=)

Page 18: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.1 Operadores

Permiten comparaciones de valores asociados a los tipos numéricos, tipo carácter, tipo string y tipo booleano. Resultado V o F.

Orden a tener en cuenta a la hora de evaluarlos:o Numéricos: el de los propios valores.o Caracteres: el proporcionado por el

código ASCIIo Booleanos: falso < verdadero

Page 19: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.3. Funciones internasOperadores especiales ya definidos.

◦abs(x) => valor absoluto◦sen(x) => seno◦cos(x) => coseno, ...

(En Java: sin(x),....)◦raiz2(x) => raíz cuadrada

(En Java : sqrt(x))◦exp(x) => e elevado a x◦ent(x) => parte entera◦log(x) => logaritmo neperiano ◦etc.

Page 20: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. ExpresionesRepresentación de un cálculo. Formas de definir

una expresión:

o Un valor es una expresión:Ej.: 12, 1.23, "Antonio", 'd', verdadero

o Una variable o una constante es una expresión:

Ej.: Dia_Semana, A, pi

o Una función interna es una expresión: Ej.: sen(pi)

Page 21: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

o Cualquier combinación válida de operadores, constantes, variables y/o funciones internas, así por ejemplo serán expresiones las siguientes:

Ej.: cos(pi*x)+9 'f'<'d' "Juan y Pedro”

Tipos de expresiones según el resultado:◦ Numéricas (3+4)^3/5◦ Alfanuméricas “Blanco” & “y” & “Negro”◦ Booleanas (3=6/) and (respuesta=‘s’)

Page 22: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

Reglas de prioridad:1. Las expresiones encerradas entre paréntesis

se evalúan primero. Si existen varios paréntesis anidados los internos se evalúan primero.

2. El operador - unitario (que cambia de signo)

3. Potencia

4. Productos y divisiones

Page 23: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

5. Sumas y restas

6. Concatenación.

7. Relacionales.

8. Negación (operador !) not

9. Conjunción (operador &&) and

10.Disyunción (operador ||) or

Page 24: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

Ejemplo:((3+2)^2-15)/2*5=

( 5 ^2-15)/2*5 =

( 25 -15)/2*5 =

10 /2*5 =

5 *5 = 25

Page 25: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

Evaluar:a) 3+6*14

b) (-4*7)+2^3/4-5

c) 8/8*2

Page 26: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.2.4. Expresiones

Solución:

3+6*14 (-4*7)+2^3/4-5 8/8*2

6*14=84 -4*7=-28 8/8=1

3+84=87 2^3=8 1*2=2

8/4=2 No hacer:

-28+2=-26 8*2=16

-26-5=-31 1/16=0’0625

Page 27: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.3. Tipos de instrucciones3.3.1. De asignación

Permite dar valoresRepresentación “=“ o “”

nom_variable expresión;nom_variable = valor;

Si la variables tiene valor se pierdeA = 5;A = 7;A = 33; El último valor de A

Page 28: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.3.1. De asignación

Se puede poner una variable a ambos lados

N N +2;A = A / 3;

A UNA VARIABLE NO SE LE PUEDE ASIGNAR VALORES DE DISTINTO TIPO DEL QUE FUE DEFINIDA, YA EN ESE CASO SE PRODUCE UN ERROR DE TIPO.

Page 29: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.3. Tipos de instrucciones3.3.2. De control

Controlan la ejecución de otras instrucciones o alteran el orden de ejecución.

Tipos:◦ Alternativas o de decisión: permiten la

ejecución o no de un bloque de instrucciones según se cumpla o no una condición o valor.

◦ Repetitivas: controlan que un bloque de instrucciones se ejecute un numero determinado de veces.

Page 30: 01 metprogramacion

3. ELEMENTOS DE UN PROGRAMA3.3. Tipos de instrucciones3.3.3. Subprogramas o módulos.

Fragmento de programa que realiza una tarea concreta y recibe un nombre por el que puede ser llamada o activada desde otra parte de código.

Page 31: 01 metprogramacion

4. Técnicas de representación de códigos.

Formas de representar un algoritmo independientemente de un lenguaje de programación

Tiene que ser fácilmente transformable a un lenguaje de programación

Estas representaciones son la base para realizar el programa en la fase de compilación

Han de ser amplias, ordenadas, fáciles de entender y posibles de modificar

Page 32: 01 metprogramacion

4. Técnicas de representación de códigos.4.1. Diagramas de flujo. Organigramas.

Describen el flujo de datos y soportes utilizados

Símbolos utilizados:

Proceso Pantalla Impresora

Page 33: 01 metprogramacion

4. Técnicas de representación de códigos.4.1. Diagramas de flujo. Organigramas.

Teclado Flujo Cintamag.

Page 34: 01 metprogramacion

4. Técnicas de representación de códigos.4.1. Diagramas de flujo. Ordinogramas.

Herramienta gráfica para representar un algoritmo de forma detallada y lógica las operaciones que se van a realizar

Los símbolos que lo componen se unen por flechas que indican el orden a seguir