Programación estructurada



Documentos relacionados
U.T. 6.- Lenguaje Javascript - DOM. Parte Práctica

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

Álgebra y Matemática Discreta Sesión de Prácticas 1

Práctica 1 El juego de los chinos

Probabilidad y Simulación

Combina, prueba, tantea PÁGINA 14

Programación I: Funciones y módulos

RELOJ PRIMIGENIO. Un juego de apuestas, faroleo y press your luck de 3 a 5 jugadores.

Ejemplo: Apuesta? 100 PERA PERA MANZANA La casa gana!!! Apuesta? 300 FRUTILLA FRUTILLA FRUTILLA GANASTE 600!!! Apuesta? 0 Gracias por jugar!!!

SOLUCION EXAMEN junio 2006

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Estructuras de Sistemas Operativos

Ejercicio: Mensajes Alert, Confirm y Prompt

Las propiedades de la clase en java es el equivalente a las variables globales en lenguajes estructurados como el C.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta Sesión de Prácticas 1

FICHERO DE AYUDA DEL PROGRAMA MEGAEURO

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Curso de Excel Avanzado

SIIT SISTEMA INFORMÁTICO DE INSPECCIONES DE TRABAJO. Modulo de Planificación Manual de Usuario

Definiciones. Tema 21_Módulos Menú 1

Técnicas De Conteo. En este caso si k es grande, no es tan sencillo hacer un conteo exhaustivo de los puntos o resultados de S.

- Realizar procesamientos adicionales en función del estado de distintos dispositivos, como alocuciones o avisos sonoros.

Aplicaciones seguras con ClaseSeguridad

POKER REGLAS. El valor de los naipes es el siguiente: As ( A) ( el más alto), Rey ( K), Reina ( Q), Jota ( J ),

REPRESENTACIÓN DE UNA DISTRIBUCIÓN DE PROBABILIDAD DISCRETA

Centro de Capacitación en Informática

Modularización Relación de ejercicios

Examen Principios de Programación Febrero 2012

CLASS JAVASCRIPT CLASES? OBJETOS PREDEFINIDOS. WINDOW, OBJETO GLOBAL. NUMBER, MATH, DATE, REGEXP, ERROR. (CU01144E)

FICHERO DE AYUDA DEL PROGRAMA MEGAPRIMI

Tenemos 3 formas de juego, la bolsa de acciones, la polla y la polla extraordinaria.

MANUAL PROGRAMA PARA PIZZERIAS Y COMIDAS PARA LLEVAR

Curso PHP Módulo 1 R-Luis

Lección 22: Probabilidad (definición clásica)

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Introducción a PHP. * No es necesario declarar previamente las variables.

POKER TEXAS Hold'em REGLAMENTO

Trabajar con Consultas.

Tarjetas de Producción 3 recursos diferentes entre si = 1 MP Para la mayoría de los ejemplos se usará la ficha del jugador Rojo.

Tema 2: La clase string

ZCARTAS: Iniciación a la suma y resta de números enteros Introducción Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

Manejo de la Información

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

JavaScript como Orientación a Objetos

Planificación del Sistema Financiero en SIME.

8. Sentencia return y métodos

Ruleta: Reglas del Juego de la Ruleta

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

Precios, tarifas y descuentos en ventas

Un juego curioso con conexiones interesantes

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Práctica 1 - Pista de Carreras Programación II

Colombia GPS Manual del usuario Funciones de usuario final

MANUAL BÁSICO PARA CLIENTES

Centro de Capacitación en Informática

JavaScript toma su sintaxis de los lenguajes de programación más conocidos, fundamentalmente C/C++, aunque también algo de Pascal.

PROGRAMACIÓN ORIENTADA A OBJETOS

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

CLASE # 5 TÉCNICAS DE CAJA BLANCA

Control, Instrumentación e Instalaciones Ingeniería Ambiental

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

MANUAL APLICACIÓN. SOFTWARE GESTIÓN DE CLÍNICAS DENTALES

Probabilidad Hoja de trabajo #1. Actividad: Buscando todos los resultados de un experimento

Práctica 5. Curso

Juego Azar O Matemática?

NUMERACIÓN. Hacer dos grupos de forma diferenciada. Realizar correspondencias con grupos de elementos heterogéneos, según su nivel

Novedades en Gestión de Expedientes (9 junio 2015)

TeleMenú. TeleMenú. Gestión de restaurantes, bares y pizzerías vía radio

Problema - Votación. Entrada. Salida. Primera Olimpiada de Informática 1

Cómo mover y cambiar de tamaño zonas (versión turborresumida, ya llegará la versión completa en el

PROBABILIDADES Y ESTADÍSTICA (C) Práctica 2

Memoria. Introducción. Scratch

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

GIROS Bancarios en NOTIN

Introducción a la Programación en MATLAB

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Juego del TRESILLO en Villar de Cañas (CUENCA)

Crear usuario en XP. Redes Paso a Paso. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10. Descripción.

JUEGOS CON ESTRATEGIAS MIXTAS

Tema 3. Test Driven Development

Figura 1 Abrir nueva hoja de cálculo

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

MANUAL DE USUARIO PLAN GENÉRICO DE AUTOCONTROL EN HOSTELERÍA ASOCIACIÓN DE EMPRESARIOS DE HOSTELERÍA DE GIPUZKOA 1

AUTOR CARLOS EDUARDO BUENO VERGARA JORGE ARMANDO BUENO VERGARA USO DE LOS OBJETOS DEL PROGRAMA. Dfd INFORMÁTICA II PROFESOR. JOSÉ FRANCISCO AMADOR

OTHELLO MANUAL DEL USUARIO

Uso de funciones en Excel

Elementos de Microsoft Word

Esquema de un programa en C: bloques básicos

Recuperador datos externos

ETS Caminos Santander. Curso Ejercicios de introducción a la programación.

MANUAL DE LA APLICACIÓN DE ENVÍO DE SMS

Oficina Online. Manual del administrador

Guía. probabilidades. Comprender. Una. para las L A VENTA JA DE L A C A SA

Transcripción:

3. Funciones

Programación estructurada Cuando un programa crece: Es importante mantenerlo ordenado No repetir código Agrupar el código según su función Dar nombre a las operaciones comunes

var cantidad = prompt(" Cuántas entradas?"); cantidad = parseint(cantidad); if (isnan(cantidad) cantidad <= 0) { cantidad = 1; else if (cantidad > 100) { cantidad = 100; var precio = prompt(" El precio de una entrada?"); precio = parseint(precio); if (isnan(precio) precio <= 0) { precio = 1; else if (precio > 100) { precio = 100; alert("vas a recaudar: " + (precio*cantidad) + " ");

var cantidad = prompt(" Cuántas entradas?"); cantidad = parseint(cantidad); if (isnan(cantidad) cantidad <= 0) { cantidad = 1; else if (cantidad > 100) { cantidad = 100; var precio = prompt(" El precio de una entrada?"); precio = parseint(precio); if (isnan(precio) precio <= 0) { precio = 1; else if (precio > 100) { precio = 100; alert("vas a recaudar: " + (precio*cantidad) + " ");

Programación estructurada No sería más fácil hacerlo así? var cantidad = promptnumero(" Cuántas entradas?", 1, 100); var precio = promptnumero(" El precio de una entrada?", 1, 100); alert("vas a recaudar: " + (precio*cantidad) + " ");

Programación estructurada No sería más fácil hacerlo así? var cantidad = promptnumero(" Cuántas entradas?", 1, 100); var precio = promptnumero(" El precio de una entrada?", 1, 100); alert("vas a recaudar: " + (precio*cantidad) + " ");

function promptnumero (param1, param2, param3) { // Cuerpo de la función //... return undefined; Tres elementos importantes: palabra clave function lista de parámetros valor de retorno

Ejercicio: Escribe una función que devuelva siempre el número 7

Así definimos la función: function siete () { return 7; La podemos invocar: siete();

Ejercicio: Escribe una función que devuelva un número aleatorio entre 1 y 6

function tirada () { return 1 + Math.floor(Math.random() * 6);

Qué devuelve esta función? function nada () {

Qué devuelve esta función? function seis_o_siete () { return 6; return 7;

Parámetros: Se nombran al definir la función Dentro de la función se comportan como variables Los valores se especifican en la invocación Se asignan por posición

Ejercicio: Escribe una función que devuelva el valor que se le pasa como parámetro

function a (parametro) { return parametro;

Qué devuelve esto? a(a)

function a (parametro) { return parametro; var que = a; // Qué devuelve? que(1986); var b = que(a); // Qué devuelve? b(b);

Qué devuelve esto? a()

Ejercicio: Escribe una función que reciba dos parámetros, a y b, y devuelva la suma a + b

function suma (a, b) { return a + b;

function suma (a, b) { return a + b;

Qué devuelve? suma(10, (5-3));

Qué devuelve? suma(10, suma(5, 5))

Ejercicio: Escribe una función que: Si recibe dos parámetros: devuelva el producto de multiplicar el primero por el segundo Si recibe solo un parámetro: devuelva el primer parámetro multiplicado por si mismo

Una función se puede llamar a sí misma function suma2 (a, b) { if (b == 0) { return a; else { return suma2(a + 1, b - 1);

Una función puede llamar a otra función function par (n) { if (n == 0) { return true; else { return impar(n - 1); function impar (n) { if (n == 0) { return false; else { return par(n - 1);

Ejercicio: Escribe una función recursiva que: Reciba un número natural como parámetro Devuelva la suma de todos los números naturales desde 0 hasta el número pasado como parámetro sumarango(10) 10 + 9 + 8 + 7 + 6 + 5 + 4 + 2 + 1 -> 55

Ejercicio: Escribe una función qué: Reciba una cadena de caracteres como parámetro Le añada al final, por favor

Ejercicio: Escribe una función qué: Reciba una cadena de caracteres como parámetro Le añada al final, date prisa!!!

Ejercicio: Escribe una función di que puede recibir uno o dos parámetros El primer parámetro siempre es una cadena de caracteres El segundo parámetro puede ser una función o nada Si el segundo parámetro está vacío, simplemente muestra el primer parámetro por la consola Si no, muestra en la consola el resultado de llamar a la función que hay en el segundo parámetro con el primer parámetro

function misterio (mensaje, filtro) { if (filtro) { mensaje = filtro(mensaje); console.log(mensaje);

Las funciones pueden ser anónimas

Qué muestran las llamadas a experimento? var color = "Azul"; function experimento () { console.log(color); experimento(); var color = "Verde"; experimento();

Y ahora? var color = "Azul"; function experimento () { var color = "Amarillo"; console.log(color); experimento(); var color = "Verde"; experimento();

Qué muestra la última línea? var color = "Azul"; function experimento () { var color = "Amarillo"; console.log(color); experimento(); var color = "Verde"; experimento(); console.log(color);

Las variables creadas en el interior de funciones Se comportan de manera especial Solo existen mientras se está ejecutando la función Pueden tapar otras variables con el mismo nombre Se llaman: variables locales

Ejercicio: Escribe la función promptnumero que nombramos al principio del tema

Ejercicio (grande): Crea una nueva página apuestas.html y un fichero javascript apuestas.js Vamos a escribir un juego de apuestas con dados

Los comandos son: estado(): ver el estado del juego (dinero y apuesta actual) apostar(#): fijar la apuesta a # (número). Tiene que ser igual o menor al dinero que tiene el jugador. jugar(): se tiran 2 dados: - Si entre los dos suman 7, el jugador gana 10 veces lo que ha apostado. Se suma (apuesta * 10) a su dinero - Si salen dobles, se tira otra vez - En cualquier otro caso, el jugador pierde. Se resta apuesta de su dinero total.

reset(): Se resetea el juego. Dinero vuelve a 100 y apuesta a 10.

Si salen dobles Funciones

Si el jugador llega a tener más de 100.00, ha ganado Si llega a 0 o menos, ha perdido