• No se han encontrado resultados

Introducción al Software Científico y a la Programación Resolución de Problemas. Índice de Contenidos. Programas Curso

N/A
N/A
Protected

Academic year: 2021

Share "Introducción al Software Científico y a la Programación Resolución de Problemas. Índice de Contenidos. Programas Curso"

Copied!
15
0
0

Texto completo

(1)

Introducción al Software Científico y a la Programación Resolución de Problemas

Programas Curso 2015-16

Grupo ISCyP

1

Departamento de Ingeniería de la Información y las Comunicaciones Universidad de Murcia

28 de septiembre de 2015

1

Erratas y sugerencias a [email protected]

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 1 / 30

Índice de Contenidos

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(2)

Resolución de Problemas con Ordenadores

Desarrollo

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 3 / 30

Resolución de Problemas con Ordenadores

Solución de problemas con ordenadores

Las fases del proceso de resolución de problemas con ordenadores son:

Fase de resolución del problema

Fase cuyo objetivo es encontrar unalgoritmo.

Fase de implementación/programación

Fase en la que se programa elalgoritmoen el ordenador.

Ahora nos centramos en la segunda fase.

Notes Notes

(3)

Resolución de Problemas con Ordenadores

Fase de resolución del problema

Recuerda

1 Enunciado.Definición clara del problema.

2 Análisis.¿Qué afecta? ¿Cómo se hace? Determinar los procesos, entradas y salidas.

3 Diseño.Construir un algoritmo.

4 Verificación.Comprobar que realiza las tareas para las que ha sido diseñado.

Produce el resultado correcto y esperado.

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 5 / 30

Resolución de Problemas con Ordenadores

Fase de implementación

1 Codificación.Escribir el algoritmoen un lenguaje de programación.

2 Compilación, para comprobar que no haya errores en el código fuente, y ejecución, para ver su comportamiento.

3 Prueba y verificación.A partir de una matriz de entrada establecidas y sus salidas esperadas se determina la validez de la solución propuesta al problema.

4 Depuración, para corregir los errores encontrados.

5 Documentación.Referenciar desde que se dio el problema hasta la solución encontrada.

A esta segunda fase también se le conoce como programación de la solución:

Definición (Programación)

Laprogramaciónes unprocesomediante el cual creamosprogramasque son ejecutadospor un sistema computacional, todo ello con el fin deresolveruna tarea.

Notes Notes

(4)

Programas

Desarrollo

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 7 / 30

Programas

Programas

Definición (Programa)

Unprogramaes el conjunto de

instruccionesque se ejecutan en unorden secuencial y se expresan en unlenguaje de programación.

Definición (Ciclo de instrucción)

Unciclo de instrucciónes el período que tarda la unidad central de proceso(CPU) en ejecutar una instrucción delenguaje máquina.

Ciclo de ejecución de un programa

Notes Notes

(5)

Programas

Lenguajes de programación

Definición

Unlenguaje de programaciónes un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por computadoras.

Escompiladosi es traducido a lenguaje máquina antes de ser ejecutado.

Esinterpretadosi es ejecutado paso a paso su código fuente.

• Existen multitud de lenguajes de programación.

Elíndice TIBOEindica cuáles son los lenguajes más utilizados cada año.

• Estamos sujetos a una sintaxis.

No podemos comunicarnos como queramos.

Debemos someternos a las normas de escritura que establezca el lenguaje.

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 9 / 30

Cómo se Expresan los Programas

Desarrollo

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(6)

Cómo se Expresan los Programas

Instrucciones. Funciones. Librerías.

Si esto no lo entiendes ahora ... tranqui. Es el objetivo de la asignatura.

Instrucción. Responde a una acción que puede entender y ejecutar el lenguaje de programación:

• Declaración y uso de variables.int a=2;

• Expresiones. P.e. las aritméticas.2 + 3 * 5;

• Instrucciones de control.

if (cierto) then { print("hola");}

Función o procedimiento. Es un conjunto de instrucciones (y funciones) que se agrupan bajo un nombre para realizar una tarea concreta.

• Funciones del lenguaje.

print("hola");

• Funciones de librería (o biblioteca).

import Stat; mean([2,3,4]);

• Funciones de usuario.

real miSuma (a,b) { return a+b; }

Librería. Conjunto de funciones para un fin concreto.

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 11 / 30

Cómo se Expresan los Programas

Las 4 reglas básicas para expresar un programa

1 Usa las 4 regla básicas para expresar un algoritmo:

1 Usar elinfinitivopara las acciones.

2 Usar los condicionalessi-entonces.

3 Usar la expresiónmientras-hacerohacern-vecespara expresar tareas repetitivas.

4 Usarvariablespara guardar/recuperar valores.

2 Traduce las acciones en funciones.

3 Traduce los condicionales y tareas repetitivas en estructuras de control.

4 Traduce el uso de variables en expresiones y variables.

Notes Notes

(7)

Cómo se Expresan los Programas

Ejemplo de la función/instrucción “imprimir ” en varios lenguajes de programación.

ASP. Response.Write("Hola Mundo") Bash. echo "Hola Mundo"

Basic. print "Hola Mundo";

C. printf("¡Hola, mundo!\n");

C++. std::cout << "Hola mundo\n";

C#. Console.WriteLine("¡Hola mundo!");

CLIPS. (printout t "Hola, Mundo" crlf) D. writefln("Hola mundo");

Java. System.out.println("Hola Mundo");

Pascal. WriteLn(’¡Hola, Mundo!’);

Prolog. write(’Hola mundo’).

R. print("¡Hola, mundo!")

Visual Basic .NET Messagebox.show("¡Hola, mundo!")

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 13 / 30

Introducción a Processing

Desarrollo

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(8)

Introducción a Processing

Processing

• Web:https://www.processing.org/

• Descarga:https://www.processing.org/download/

• Instalación: Descomprime el .zip y guardar donde se desee (p.e. escritorio).

• Lugar de trabajo: Preferencias>Sketchbook location

• MenúFile para cargar, guardar y ejemplos.

• MenúSketchpara ejecutar y parar los programas.

• Algunas opciones deFile y Sketchen barra de herramientas.

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 15 / 30

Introducción a Processing Primeras nociones de programación en Processing

Profundizamos en ...

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(9)

Introducción a Processing Primeras nociones de programación en Processing

Expresiones y algunas Funciones

RECUERDA

Instrucción. En lenguaje ensamblador un comando que puede entender y ejecutar la CPU.

En lenguajes de alto nivel:

• Declaración y uso de variables.int a=2;

Expresiones.2 + 3 * 5;

• Instrucciones de control.

if (cierto) then { print("hola");}

Función o procedimiento. Es un conjunto de instrucciones (y funciones) que se agrupan bajo un nombre para realizar una tarea concreta.

Funciones del lenguaje.

print("hola");

• Funciones de librería (o biblioteca).

import Stat; mean([2,3,4]);

• Funciones de usuario.

real miSuma (a,b) { return a+b; } Librería. Conjunto de funciones para un fin concreto.

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 17 / 30

Introducción a Processing Expresiones y su impresión en la consola

Profundizamos en ...

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(10)

Introducción a Processing Expresiones y su impresión en la consola

Expresiones aritméticas

A Processing hay que decirle todo. Necesitas la instrucciónprintln();

Operación Aritmética Programación

Suma + +

Resta

Multiplicación ×

División ÷ /

Resto mod %

Números Aritmética Programación

Enteros . . . , −2, −1, 0, 1, 2, . . . . . . , −2, −1, 0, 1, 2, . . .

Decimales , (coma) . (punto)

Reales π 3. 1415Una aproximación. Punto flotante.

1 2+3 8 2 + 3 ; 8 p r i n t l n( 2 + 3 ) ; 4 2 p r i n t l n(2 ,5) ; 8 p r i n t l n( 2 . 5 ) ; 4 3 p r i n t l n( 2 / 3 ) ; 4 p r i n t l n( 2 . 0 / 3 . 0 ) ; 4 4 // Es diferente a 2/3 que 2.0/3.0

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 19 / 30

Introducción a Processing Expresiones y su impresión en la consola

Funciones matemáticas

Processing Matemáticas Significado

abs(x ) |x| Valor absoluto

ceil(x ) dxe Entero más cercano superior exp(x ) ex Exponencial en base e floor(x ) bxc Entero más cercano inferior log(x ) ln(x ) Logaritmo en base e pow(x , y ) xy Potencia y en base x round(x ) x ≈ x0 Redondeo de x es x

0

sq(x ) x2 Cuadrado de x

sqrt(x )

x Raíz cuadrada de x

Invocación Matemáticas Expresión

Sencilla sen(3) sin(3);

Composición ln(p| − 3|) log(sqrt(abs(-3)));

Notes Notes

(11)

Introducción a Processing Expresiones y su impresión en la consola

Funciones trigonométricas y asociadas

Processing Matemáticas Significado acos(x ) cos−1(x ) Arco coseno de x asin(x ) sen−1(x ) Arco seno de x atan(x ) tg−1(x ) Arco tangente de x atan2(y , x ) No existe Arco tangente de (x , y ) cos(x ) cos(x ) Coseno de x

degrees(x ) No existe Convierte radianes a grados sexagesimales.

radians(x ) No existe Convierte grados sexagesimales a radianes.

sin(x ) sen(x ) Seno de x tan(x ) tg(x ) Tangente de x

1 // Calculamos el seno de 90

2 p r i n t l n( sin ( 9 0 ) ) ; 8 p r i n t l n( sin ( r a d i a n s ( 9 0 ) ) ) ; 4 3 p r i n t l n( sin ( 3 . 1 4 1 5 / 2 ) ) ; 4 p r i n t l n( sin ( a t a n 2 (1 ,0) ) ) ; 4

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 21 / 30

Introducción a Processing Expresiones y su impresión en la consola

Evaluación de expresiones matemáticas

Precendencia de operadores

1 Paréntesis: ( expresión )

2 Funciones matemáticas.

3 Productos y divisiones: *,/, %.

4 Suma y resta. +,-.

En caso de empate precede el situado más a la izquierda.

Evalúa las siguientes expresiones

• 2∗ 4+ 3 ∗ 5

• 2+ 4 ∗ 3 + 5

• 2 ∗ 4/3 ∗ 5

• 1/3.0+ (abs (2 − 4) + 5) ∗ (sin(3.1415) + 2)

Notes Notes

(12)

Introducción a Processing Expresiones y su impresión en la consola

Expresiones alfanuméricas

• Expresiones alfanuméricas es una secuencia de caracteres (visibles o no) delimitados por el símbolo ".

• Los símbolos delimitadores " no forman parte de la cadena.

• Para incluir " hace falta el carácter de escape \.

Ejemplo: "Hola:\n\t... saludos humano ... bip".

• Incluye al alfabeto en mayúscula o minúscula.

• Incluye los caracteres de los números: 0, 1, ..., 9.

• No confundir"2 + 2" vs 2+ 2

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 23 / 30

Introducción a Processing Concepto de Función

Profundizamos en ...

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(13)

Introducción a Processing Concepto de Función

Función y conceptos asociados

Función: Conjunto de instrucciones para realizar una tarea.

Parámetros: Conjunto de valores necesarios para realizar una función.

Argumentos: Conjunto de valores concretos para realizar una función.

Valor de retorno: Valor devuelto por la función.

Ejemplo

• print()y println()son funciones.

• Admiten un parámetro, que puede ser numérico o alfanumérico.

• Enprint("2+2=");el argumento es "2+2=".

• Enprint(2+2); el argumento es el resultado de la expresión numérica2+2.

• Estas funciones no retornan valores.

Función destacada

1 v o i d s e t u p () {

2 I n s t r u c c i o n e s que t ú q u i e r a s de P r o c e s s i n g 3 }

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 25 / 30

Introducción a Processing Ventana gráfica

Profundizamos en ...

1 Resolución de Problemas con Ordenadores

2 Programas

3 Cómo se Expresan los Programas

4 Introducción a Processing

Primeras nociones de programación en Processing Expresiones y su impresión en la consola

Concepto de Función Ventana gráfica

Notes Notes

(14)

Introducción a Processing Ventana gráfica

Ventana gráfica

size(w,h);

Aparece una sola vez en todo el sketch y debe ser la primera línea del programa.

• Sus argumentos representan el ancho y el alto de la ventana gráfica medido en píxeles.

• El color del fondo viene dado por la función background(r, g, b);

1 s i z e( 3 0 0 , 4 0 0 ) ;

2 b a c k g r o u n d( r a n d o m ( 2 5 5 ) , r a n d o m ( 2 5 5 ) , r a n d o m ( 2 5 5 ) ) ;

La funciónrandom(Max) genera números en[0, Max ).

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 27 / 30

Introducción a Processing Ventana gráfica

Sistema de Coodenadas

Notes

Notes

(15)

Introducción a Processing Ventana gráfica

Listado de funciones 2D

Figuras geométricas.

• point(x,y);

• line(x1, y1, x2, y2);

• triangle(x1, y1, x2, y2, x3, y3);

• rect(a, b, c, d);

• quad(x1, y1, x2, y2, x3, y3, x4, y4);

• ellipse(a, b, c, d);

• arc(a, b, c, d, inicio, final);

• text(expresión, x, y);

“Efectos”

• fill (r, g, b, alpha);

• noFill();

• stroke(r, g, b, alpha);

• strokeWeight(grosor);

• noStroke();

Cuidado: Aplicar noFill(); y noStroke();no dibujará nada.

Otros

• save("fichero");

Grupo ISCyP (DIIC. Univ.de Murcia) Resolución de Problemas 28 de septiembre de 2015 29 / 30

Introducción a Processing Ventana gráfica

Ejemplos

Escribe el código necesario para hacer los siguientes dibujos. Después modifica el código para que contenga la función principal.

• Dibuja un triángulo equilátero “perfecto” con el vértice superior en el punto(200, 10)y su lado opuesto de 180 pixeles de largo.

• Dibuja una estrella de David.

Notes Notes

Referencias

Documento similar

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

dente: algunas decían que doña Leonor, &#34;con muy grand rescelo e miedo que avía del rey don Pedro que nueva- mente regnaba, e de la reyna doña María, su madre del dicho rey,

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

Luis Miguel Utrera Navarrete ha presentado la relación de Bienes y Actividades siguientes para la legislatura de 2015-2019, según constan inscritos en el

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de