28/01/2020, 09:41:17 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: LISTADO ACTUALIZADO DE CURSOS
 
 
Páginas: 1 2 [3]   Ir Abajo
  Imprimir  
Autor Tema: Programando en Lenguaje PseudoCodigo y exportandolo a C/++/Matlab/Python y otros  (Leído 29783 veces)
0 Usuarios y 1 Visitante están viendo este tema.
luis
Pleno*
*****

Karma: +1/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 304


Ver Perfil
« Respuesta #40 : 01/11/2014, 13:28:45 pm »

hola,

la función derivadora parece ser un buen ejercicio para aprender a manipular listas. el polinomio está representado por una lista, donde la posición [texx]i[/texx] proporciona el coeficiente correspondiente a [texx]x^{m-i}[/texx].

consideremos el polinomio [texx]P = \sum_{i\in[0..m]} {a_{m-i} x^{m-i}}[/texx]. su derivada es  [texx]P' = \sum_{i\in[0..m)} {(m-i) a_{m-i} x^{m-i-1}}[/texx]. observemos ahora cómo se modifican las listas asociadas a estos polinomios...

[texx][a_m, a_{m-1}, \dots a_2, a_1, a_0] \mapsto [m a_m, (m-1) a_{m-1}, \dots 2 a_2, a_1][/texx]

en python hay funciones sobre listas que permiten representar adecuadamente estas transformaciones. observemos algunas acciones que nos permiten implementar esta operación.

* crear una lista [texx][m, m-1, \dots 2, 1][/texx]
* aplicar el producto a las dos listas elemento a elemento

pues bien, eso es precisamente lo que hace el siguiente código.

Código:
import mul from operator
def derivadora (pol, m):
   aux = range (m, 0, -1)
   out = map (mul, pol, aux)
   return list (out)

el siguiente código más compacto hace lo mismo.

Código:
import mul from operator
def derivadora (pol, m):
   return list (map (mul, pol, range (m, 0, -1)))

hay una diferencia muy importante entre lo que muestro aquí y la derivadora original. resulta que en la derivadora original se usa la lista para representar el polinomio, pero se piensa la derivación en términos del polinomio original. en el código que muestro, se piensa la derivación como transformación en la representación del polinomio. ese salto que consiste en entender las transformaciones no en términos del problema original sino en términos de su representación es, a mi juicio, una de las características de la programación.

quiero decir finalmente que, me parece, aún resta pensar más en la representación de qué es un polinomio. en particular, no queda claro por qué aparece el grado de los polinomios. es importante que un polinomio [texx]P[/texx] quede representado por algún objeto P, y no por una colección de cosas que hay que interpretar en forma conjunta. en el caso de los polinomios, esto se puede resolver con listas; antes de avanzar en la codificación, es importante manejarse con comodidad con la representación elegida.

saludos

luis
En línea
avcaballero
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1


Ver Perfil
« Respuesta #41 : 17/12/2014, 05:49:23 am »

Hola, saludos desde España. Es el primer foro de matemáticas en el que tomo parte. El programa parece muy interesante. Saludos.
En línea
ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.447



Ver Perfil
« Respuesta #42 : 17/12/2014, 13:28:20 pm »

Hola, saludos desde España. Es el primer foro de matemáticas en el que tomo parte. El programa parece muy interesante. Saludos.

Bienvenido avcaballero!

Te refieres a PSeint, lo es, es interesante y muy útil para comenzar en el mundo de la programación. O te refieres a los programas que hemos publicado, algunos en Pseint y otros con Python.

Saludos
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
compsystems
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 60



Ver Perfil WWW
« Respuesta #43 : 22/12/2014, 13:49:51 pm »

PSEINT causa revuelo cuando se dice programar el SEUDOCODIGO, mejor debería llamarse programación en CASTELLANO.

Gracias avcaballero por la codificación en ensamblador (ASM) del juego Deducir_Numero, pero este tiene un problema de lógica en la versión de PSEINT, yo reescribí el juego para que funcione bien

Código en PSEINT
Código: (C)
Proceso Deducir_Numero//()

// Definicion de Variables y tipo de contenedor
definir intentos, total_intentos como enteros
definir num_secreto, num_ingresado como reales

// Asignacion de Variables
intentos = 0
total_intentos = 0
num_secreto = azar(100)+1
num_ingresado = 0

// Prsentacion
Escribir "Juego Matemático versión 0.7"
Escribir ""
Escribir "El programa genera un numero real entre 1 y 100. Trate de deducirlo como recomendacion en 8 intentos como maximo"

// Entrada de Datos
Escribir ""
Escribir "Ingrese el # de intentos personalizados"
Leer total_intentos
Escribir "Intento #", total_intentos
intentos = total_intentos

Escribir "solo para hacer pruebas num aleatorio=", num_secreto // elimine esta sentencia para verdaderamente jugar

Escribir "Cual es el numero ?"
Leer num_ingresado

Mientras num_secreto <> num_ingresado Y intentos > 1 Hacer

Si num_secreto > num_ingresado
Entonces
Escribir "El numero deducido es MENOR que el numero en cuestion"
Sino
Escribir "El numero deducido es MAYOR que el numero en cuestion"
Fin Si
Escribir ""

intentos  =  intentos - 1 // decrementa en 1 el numero de intentos
Escribir "Le quedan ", intentos, " intento(s):"

Escribir "Intento #", intentos
Escribir "Cual es el numero?"
Leer num_ingresado

Fin Mientras

Si num_secreto <> num_ingresado Entonces
Escribir "Perdio! trato en " ( ( total_intentos + 1 ) - intentos ), " intento(s.) :~(, pero el numero era: ", num_secreto
Sino
Escribir "Gano! Usted lo dedujo en: ", ( ( total_intentos + 1 ) - intentos ), " intento(s.)"
Fin Si

Fin Proceso

PD: Anexo el link tu fabuloso sitio web HOME PAGE de avcaballero
En línea

compsystems
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 60



Ver Perfil WWW
« Respuesta #44 : 01/03/2015, 22:35:36 pm »

Primera versión del 2015: incluye un gran número de correcciones, pequeñas mejoras a nivel de interfaz, perfiles actualizados (y la posibilidad de configurarlos con más detalle que antes en algunos aspectos), y una nueva funcionalidad denominada "ejercicios autocontenidos"

http://pseint.sourceforge.net/index.php?page=descargas.php

Video mostrando la funcionalidad "ejercicios autocontenidos"
https://www.youtube.com/watch?v=iA1OgEpDrts

En línea

compsystems
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 60



Ver Perfil WWW
« Respuesta #45 : 12/03/2015, 16:16:57 pm »

Que os parece esta nueva característica, practica?, novedosa? didáctica? útil?
En línea

ingmarov
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Honduras Honduras

Mensajes: 4.447



Ver Perfil
« Respuesta #46 : 12/03/2015, 17:44:06 pm »

Hola comsystems!

Probaré la nueva versión.

Saludos.
En línea

No te confíes, revisa lo que escribo. Yo también me equivoco.
Odio el autocorrector de Android...
compsystems
Semi pleno
***

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 60



Ver Perfil WWW
« Respuesta #47 : 24/12/2016, 01:39:40 am »

Ahora en version Android

https://play.google.com/store/apps/details?id=pe.diegoveloper.pseudocode

Me cuentan que os parece este port de win a tablet


En línea

Páginas: 1 2 [3]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!