martes, 15 de diciembre de 2020

Diagrama de flujo y algortimo en pseudocodigo para convertir datos (bits, bytes... megabytes, gigabytes, megabits)

Pseudocodigo

Lo primero que tenemos que hacer es leer un valor que será el dato a convertir. Luego de eso tenemos que dar al usuario la opción de que nos especifique de que valor a que valor quiere hacer la conversión.

Una vez hecho esto, tenemos que saber el factor de conversión de las medidas usadas.

Todo esto se explica mejor en el siguiente video.

Para descargar el algoritmo en diagrama de flujo haz clic en el siguiente enlace.


Dimension datos[6], prefijo_datos[6]

datos[1]=1

        datos[2]=8

datos[3]=8192

datos[4]=8388608

datos[5]=8589934592

datos[6]=1048576

prefijo_datos[1]="bits"

prefijo_datos[2]="bytes"

prefijo_datos[3]="kilobytes"

prefijo_datos[4]="megabyte"

prefijo_datos[5]="gigabyte"

prefijo_datos[6]="megabits"

Mostrar "de:bits (1), bytes (2), kilobytes (3), megabytes(4), gigabytes (5), megabits (6)"

Leer i

Mostrar "a: (1) Todas las restantes unidades, (2) unidad especifica"

leer j

si j=1 

Mostrar "escribe tu dato a convertir"

Leer vc

t=1

Mientras t<=6

conversion=vc*datos(i)*(1/datos(t))

Mostrar conversion,' ', prefijo_datos(t)

t=t+1

FinMientras

SiNo

Mostrar "convertir a: bits (1), bytes (2), kilobytes (3), megabytes(4), gigabytes (5), megabits (6)"

Leer f

Mostrar "escribe tu dato a convertir de ", prefijo_datos(i)," a", prefijo_datos(f)

Leer vc

conversion=vc*datos(i)*(1/datos(f))

Mostrar vc,' ', prefijo_datos(i), ' son iguales a: ',conversion,' ',prefijo_datos(f)

FinSi

viernes, 6 de noviembre de 2020

Practica solución a problema "Failed to stop" (Error: Appcrash) al querer grabar pantalla con Camtasia Studio

Seguro en algún momento habrás querido guardar o grabar un video haciendo X cosas en tu pc, para eso usas algún programa que te de esta característica y dentro de los mas usados, el Camtasia Studio se pinta solo.

Pero, seguro -y es mi caso-, no quieres pagar licencia y te bajar el que encuentras en internet y viene ya parchado (o en su defecto lo parchas tu mismo). Pero como todo lo gratis cuesta mas caro al final, te viene con algunos problemas en especifico -otra vez, fue mi caso-.

Recordaba este problema casi de defecto a la hora de usar el recorder de camtasia studio, lo bueno fue que dentro de los recuerdos también me vino a la mente la solución.

Al problema de "Failed to stop" (Error: Appcrash) lo único que hay que hacer es lo de estos pantallazos.

Como podemos ver el problema es este.

Ahora verificamos que tengamos puesto el micrófono tal y como viene por defecto configurado en el programa.

Si no es así, hacemos lo lógico. Quitamos la opción "Micrófono (...)" por "No tengo micro" (Do n ot record microphone).

Listo!, esta es una solución que me funcionó. Espero te ayude.

martes, 29 de septiembre de 2020

Uso de extensiones en navegador Opera - Tutorial

Lejos del uso de Internet explorer que creo ya nadie usa, pues Google Chrome domina el gusto de los usuarios para navegar en Internet y hacer cualquier cosa. 

A pesar de que hay algunas alternativas o que si lo haces desde dispositivos con otras características que no tengan nada que ver con el sistema Windows o por un celular tipo Iphone, pues Chrome es el rey de los navegadores.

Pero si en caso fuera uses el navegador Opera -como es mi caso-, aquí te doy una breve explicación de como usar las extensiones. Espero sea de ayuda en caso lo necesites.

domingo, 6 de septiembre de 2020

Dailymotion: Como vincular una web/blog y añadir el registro ads.txt

Para los poco que usan dailymotion como canal de referencia de monetizacion de videos propios y alternativa al yt, pues hay una curiosidad que, seguramente, no sabias. La empresa de origen francés, se maneja de una manera particular a la hora de permitir incrustar sus videos ya sea una web o blog propio. 

¿Que quiere decir esto? que para que puedas monetizar y tengas anuncios en tus video incrustados tienes que seguir o configurar un par de códigos que son mas sencillos de lo que parece.

En primer lugar te dejo algunos screenshots de los pasos uno a uno que tienes que realizar

Ve a la opción Incrustaciones de tu barra lateral en el administrador de tu canal


En la parte superior da clic a la opción Dominios


Registra tu pagina web (dominio propio) o blog (dominio de algun server tipo ****.blogspot.com)



Ahora tienes varias opciones. En mi caso, como yo no tengo dinero para dominio propio, pues uso uno de blogger entonces usare la opción "Meta etiqueta", la cual, como no indica, deberé pegar entre las etiquetas "<head></head>" de mi blog en mi codigo html.


Luego de esto solo tengo que descargar los ads.txt y copiarlos en mi blog.


Archivo Ads.txt

Como su propio nombre lo dice, el archivo ads.txt es un simple permiso en donde vienen todos los dominios de las empresas autorizadas a colocar publicidad en tus videos previa configuración.

En blogger lo único que tienes que hacer es ir a: Configuración/Monetizacion/contenido ads.txt personalizado/copiar todo lo del archivo descargado/guardar.

Listo! Eso es todo.

Finalmente, si manejas un blog con dominio ****.wordpress.com o un dominio propio, lo que tienes que hacer es subir tu archivo "ads.txt" a la raíz donde tengas configurado tu espacio (host).

Y recuerda, este archivo cada cierto tiempo se actualiza asi que tienes que estar atengo. El propio dailymotion en "dominios" te avisa si hay algún problema o falta actualizar. Espero te ayude.

Ejercicios básicos 1.7

Calcular la suma de los cuadrados de los cien primeros números naturales.

Algoritmo suma_de_cuadrados

suma=0

Para  i=0 Hasta 99 Con Paso 1 Hacer

cuadrado=i^2

suma=suma+cuadrado

Fin Para

Mostrar suma

FinAlgoritmo

sumar los números pares del 2 al 100 e imprimir su valor.

Algoritmo numeros_pares

suma=0

Para  i=2 Hasta 100 Con Paso 1 Hacer

si i mod 2 = 0

suma= suma + i

FinSi

Fin Para

Mostrar suma

FinAlgoritmo

calcular la media de cincuenta números e imprimir su resultado


Algoritmo media_cincuenta_numeros

sum=0

Para i<-1 Hasta 50 Con Paso 1 Hacer

Mostrar "instroduce tu numero ","(",i,") :"

Leer num

sum=num+sum

Fin Para

prom=sum/50

Mostrar prom

FinAlgoritmo


calcular los n primeros múltiplos de 4 (inclusive) donde n es un valor introducido por teclado


Algoritmo media_cincuenta_numeros

Mostrar "introduce tu valor final para mostrar los multiplos de 4"

leer mul_cuatro

Para i<-0 Hasta (mul_cuatro-1) Con Paso 1 Hacer

Mostrar 4*i

Fin Para

FinAlgoritmo


diseñar un diagrama que permita realizar un contador e imprimir los cien primeros numeros enteros.


Algoritmo media_cincuenta_numeros

Mostrar "los cien primeros numeros enteros son (positivos y negativos):"

Para i<-(-49) Hasta 49 Con Paso 1 Hacer

Mostrar i

Fin Para

FinAlgoritmo


dados diez numeros enteros, visualizar la suma de los numeros pares de la lista, cuantos numeros pares existen y cuales la media aritmetica de los numeros impares


Algoritmo media_cincuenta_numeros

sum=0

sum_impares=0

con_pares=0

con_impares=0

Para i<-1 Hasta 10 Con Paso 1 Hacer

Mostrar "introduce tu numero: ","(",i,")"

Leer num

si num mod 2 = 0

sum=num+sum

con_pares=con_pares+1

SiNo

sum_impares=num+sum_impares

con_impares=con_impares+1

FinSi

Fin Para

prom=sum_impares/con_impares

Mostrar "hay",con_pares," numeros pares y su suma es ",sum

Mostrar "hay",con_impares," numeros impares y su promedio es ",prom

FinAlgoritmo


escribir la suma de los diez primeros números pares.

Algoritmo media_cincuenta_numeros

contador=0

num=0

sum=0

Mientras contador<10 Hacer

si num mod 2 = 0

sum=sum+num

contador=contador+1

Mostrar num

FinSi

num=num+1

Fin Mientras

Mostrar sum

Puesdes descargar todos los ejercicios resueltos en diagramas de flujo en dfd en el siguiente enlace

martes, 25 de agosto de 2020

Ejercicio propuesto #4

Otro ejercicio propuesto que me llegó como comentario en yt.

Lo que te piden es averiguar la edad de una persona teniendo como base el año de nacimiento.

Como se puede ver, no se nos dice que escojamos el año actual. Esto lo aclaro porque si bien el ejercicio podría funcionar para este año solo nos tendríamos que limitar a programar el año de nacimiento y restarle el año actual.

Así por ejemplo, si yo nací en 1991, tengo 29 años hasta la fecha (2020 - 1991).

Pero vamos a ir un pasito mas allá y pedirle al usuario que especifique si el año es el actual o no, y de no ser así que introduzca el año en el que está.

Así que el código para programación debería quedar mas o menos así:

Algoritmo edad

Mostrar "el año es el actual (2020)? (s/n)"

leer respuesta

si respuesta="s"

   ano=2020

SiNo

   Leer ano

   FinSi

   Mostrar "introduce tu año de nacimiento"

   leer anodenacimiento

   edadusuario = ano - anodenacimiento

   Mostrar  "su edad actual es: ",edadusuario," años"

FinAlgoritmo

Para descargar el ejercicio resuelto en dfd clic en el siguiente enlace

jueves, 20 de agosto de 2020

Ejercicio Propuesto #3

Me llegó este ejercicio a un comentario en mi canal de yt que mas o menos su resolución debe ser así:

Ejercicio: 

calcule el sueldo de un trabajador. Considerando la siguiente tabla .

Sueldo por hora es de $250

La jornada de trabajo es de 8 horas

La hora extra cuenta de 8 horas en adelante y se paga a $500

Bono de $200 si es ingeniero

Bono de $100 si tiene bachillerato

Bono de $25 si es estudiante 


En primer lugar nos dice el sueldo de un trabajador. Pero no nos dice el sueldo mensual, semanal, diario o puede ser hasta por horas. Lo que si nos señala es que el trabajador gana 250 la hora y que es un trabajador formal, así que trabaja las 8 horas diarias. Pero, si se pasa del tiempo normal, pues recibe un extra de 500 la hora. Atención!, a esta información.

Como el ejercicio no es tan especifico que digamos, pues lo que hare es calcular o mostrar un sueldo diario, semanal y mensual teniendo como base la informacion que me dan.

Para eso tendria que leer el tiempo de trabajo en horas del trabajador o podria hacerlo en dias laborables. 

Luego tendria que preguntar si ha trabajado horas extras. Si la respuesta es si, pues tendria que leer el tiempo en horas. Se supone que de por hecho que el trabajo es por horas como plusvalia, ya que bien podria trabajar 59 minutos o 61 minutos. Pero no nos compliquemos.

Finalmente hay que preguntarle a que pertene: estudiante, bachillerato, o ingeniero. Y de ahi sumarle el bono.

Así que la resolución debe quedar mas o menos así:

Algoritmo sueldotrabajador

Escribir "cuantos horas trabajo tu empleador en el dia"

Leer horas

si horas>8

pagopordia=250*8+((horas-8)*500)

SiNo

pagopordia=250*8

FinSi

Escribir "cuantos dias trabajo"

leer dias

pagoporsemana=pagopordia*dias

Escribir "escoger el tipo de empleado de la siguiente lista"

Escribir "1. estudiante"

Escribir "2. bachiller"

Escribir "3. ingeniero"

Leer tipodeempleado

si tipodeempleado=1

bono=25

SiNo

si tipodeempleado=2

bono=100

SiNo

bono=200

FinSi

FinSi

sueldomensual=pagoporsemana*4+bono

Mostrar "tu trabajador recibe de sueldo al mes:" 

Mostrar sueldomensual

FinAlgoritmo

viernes, 31 de julio de 2020

OPERADORES Y FUNCIONES MATEMÁTICAS Y DE TEXTO PERMITIDAS EN RAPTOR

Al igual que DFD, Raptor es un programa ejecutable que se puede conseguir en version para instalar o portable desde su web oficial que sirve para desarrollar algoritmos usando diagramas de flujo.

Dentro de sus caracteristicas se encuentran la mayoria de sentencias convencionales de los diagramas de flujo exeptuando la sentencia Para que aqui se reemplaza por una sentencia de "loop" que equivaldria al "hasta".


Luego de esto, Raptor maneja los mismos operadores conocidos como son: suma (+), resta (-), multipicacion (*) y division (/). Siendo los simbolos de "^" el encargado de la potenciacion. Y la funcion "sqrt" la de raiz cuadrada.

En cuanto a las expresiones de comparacion sucede lo mismo: igual que (=), mayor que(>), menor que(<), diferente o distinto(!=).

La expresiones de caracter booleana (verdadero o falso) que maneja se pueden combinar con los operadores de "and" o "or" para indicar que una expresion y todas las demas tienen que cumplirse para ser verdadera. Y una de dos o mas expresiones se pueden cumplir para dar verdadero.

Asi por ejemplo

a=10
b=5

  Si a and b son mayores que 10
    imprimir "los dos números son mayores de diez"
     sino
         si a mayor que diez or b<10
               imprimir "a es mayor de diez pero b es menor de diez"
  .
  .
  .

Ahora, si necesitas saber los operadores para "division entera" y "resto" en una division estos se obtienen usando el operador "mod" y la funcion "floor(x)"

Asi por ejemplo:

Se necesita saber cuanto es el entero al dividir 10/3 y cual es su resto.

entero=floor(10/3)=3
resto=10 mod 3=1

Antes de continuar, hay algo importante que debes saber. Primero, para la potenciacion, Raptor, también admite el simbolo "**". Segundo, para usar el resto de una división también podemos hacerlo con el operador "rem" pero hay una salvedad que es cuando se usa números negativos.

Así por ejemplo, con el ejemplo anterior tenemos que 

resto=-10 mod 3=-2
resto=-10 rem 3=-1

También contamos con otras funciones que sirven para obtener:

Valor absoluto: abs(x)

Valor absoluto redondeado al mayor numero, menor o igual cercano: floor (x)

Valor absoluto redondeado al menor numero cercano: celling(x)

Maximo de dos numeros: max(x,y)

Minimo de dos numeros: min(x,y)

Logaritmo base diez: log(x)

Numero aleatorio entre 0 y 1: random

Consideraciones: Raptor acepta "pi" como una constante así que tu puedes usarla según necesites:

Así por ejemplo, si quieres obtener el área de una circunferencia la formula sería: area= pi * r^2; ya sin necesidad de darle un valor a pi el programa automáticamente lo define por su valor convencional 3.14...

A la vez, también podemos contar con la constante "e", lo que da un valor aproximado de 2.7.

Con estas dos constantes, hay que aclarar que al ser reservadas no se permite asignar variables con estos nombres.

Funciones trigonométricas

Seno: sin(x)

Coseno: cos(x)

Tangente: tan(x)

Cotangente: cot(x)

Arco del coseno: arccos (coseno)

Arco de la cotangente: arccot (coseno)

Arco del seno: arcsin (coseno)

Arco de la tangente: arctan (coseno)

*Todos los valores de los arcos son devueltos en radianes.

Funciones de cadena y del tipo index

En primer lugar para concatenar dos o mas variables del tipo cadena se usa el símbolo "+". Así por ejemplo, "esto es un ejemplo" + "de concatenación en raptor" devolvería "esto es un ejemplode concatenación en raptor".

Para saber el numero de caracteres de una variable se usa

Length_Of (variable del tipo cadena)= Length_Of("hola")=4

Es importante saber que una cadena es tratada como una variable donde individualmente cada caracter son parte de una indexacion (pequeña parte guardada en memoria). Esto quiere decir que se puede obtener un caracter de una cadena colocando entre corchetes ("[]") el numero de orden.

Asi por ejemplo:

mi_nombre="Luis"

primer_caracter=mi_nombre[1]="L"

Otras funciones de cadenas que se permiten son to_ascci y to_caracter. Las funciones de ambas consisten en devolver el valor de un caracter en la tabla Ascci y el caracter representado segun la tabla Ascci, correspondientemente.

Para poner un ejemplo:

numero_tabla_ascci=to_ascci("F")=70

caracter_tabla_ascci=to_caracter(70)="F" 

martes, 28 de julio de 2020

EJERCICIOS BÁSICOS ALGORITMIA 1.6: suma de pares e impares comprendidos entre 1 y 'x'

Realizar diagrama de flujo que resuelva:

1. Se desea calcular independientemente la suma de los números pares e impares comprendidos entre 1 y 200  descargar ejercicio

2. Leer una serie de numero distintos de cero (el ultimo de la series es -99) y obtener el numero mayor. como resultado se debe visualizar el numero mayor y un mensaje de indicación de numero negativo, caso de que se haya leído un numero negativo descargar ejercicio

lunes, 29 de junio de 2020

Algoritmo pseudocodigo Convertir medidas de temperatura equivalente de una (Celcius, farhenheint, kelvin, rankine) a todas (Celcius, farhenheint, kelvin, rankine) y de una a una

Saludos a todos.

En el algoritmo de conversión de unidades de medidas aprendimos que para convertir lo principal era saber usar el factor de conversión. Para el siguiente caso también usaremos este método con la salvedad que al ser temperatura, el asunto cambia ya que de una a otra medida se usan formulas de intercambio ya preestablecidas y básicas de googlear (je).

Significa que:

1. Para convertir de una grado 'X' a otro 'Y' haremos el equivalente de 'X' a grados 'Celcius' y, a su vez, convertiremos esta conversión a grados 'Y'.

De esta manera 

 Variable Xgrados a Ygrados

Lo que haremos es
  
 tem1 = Variable X *  1 grado celcius                    
                                   ¿? equivalente grados X

Luego

tem1 *  1 grado Y
             ¿? equivalente grados celcius

Lo mas importante a saber es que las formulas de un grado X a grados Celsius no son las mismas de Celsius a grados Y

Por eso prestar atención a estas formulas de conversión

De grados X a Celsius

farhenheint = (X-32)/1.8
kelvin =  X-273.15 
rankine = (X-491.67)*0.56


Y de Celsius a X

farhenheint = (Celcius*1.8)+32 
kelvin = Celcius+273.15
rankine = (Celcius*1.8)+491.67

Con esta teoría básica nuestro algoritmo se resolvería de la siguiente manera

Inicio programa temperatura(tem1)

t[1] = tem1*1 
t[1] = (tem1-32)/1.8
t[1] = tem1-273.15 
t[1] = (tem1-491.67)*0.56

mostrar 'de: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
leer i


cc[1] = t(i)*1 
cc[2] = (t(i)*1.8)+32
cc[3] = t(i)+273.15
cc[4] = (t(i)*1.8)+491.67

ts[1] = 'celcius'
ts[1] = 'farhenheit'
ts[1] = 'kelvin'
ts[1] = 'rankine'

mostrar 'a: (1) Todas las restantes unidades, (2) unidad especifica'
leer j
Si j=1
 f=1
   mientras que f<=4
   mostrar cc(f),' ', ts(f)
   f = f+1
 fin mientras
   
   si no

 mostrar 'convertir a: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
 leer z
 mostrar t(i),' ', ts(i), ' son iguales a: ',cc(z),' ',ts(z)
 mostrar 'quieres convertir este valor a otra unidad (s/n);'
 leer volveraconvertir
    Mientras que  volveraconvertir = 's'
        tem1 = cc(z)
        i = z
        mostrar 'convertir a: (1) celcius, (2) farhenheint, (3) kelvin, (4) rankine'
        leer = z
        mostrar t(i),' ', ts(i), ' son iguales a: ',cc(z),' ',ts(z)
        mostrar 'quieres convertir este valor a otra unidad (s/n);'
        leer volveraconvertir    
    fin mientras  
Fin si
Fin

Ahora lo único que tenemos que hacer es que el programa principal envie un valor inicial al programa Temperatura.

Inicio Principal
 leer tem1
 llamar temperatura(tem1)
Fin

domingo, 21 de junio de 2020

Proyecto algoritmo convertidor de unidades del sistema internacional y americano de medidas (longitud, masa, área o superficie, volumen)

Hola a todos. 

Al igual que la calculadora recursiva que realiza operaciones básicas y funciones algo mas complicadas. A continuación se trata de explicar un algoritmo que realice conversiones tanto de la mayoría o de las mas conocidas unidades del sistema internacional de medidas como algunas del sistema ingles o americano.

Para esto tener en cuenta que:

1. Se presentan dos tipos de alternativas: una que introducido un valor y seleccionada una medida, podrá realizar todos sus equivalentes pertenecientes a su tipo de medición.

2. Por otro lado, también puede convertir de una unidad 'x' a otro unidad 'y' según se le indique. A su vez, esta unidad obtenida podrá ser convertida a otra y así sucesivamente.

Lo único y mas importante es saber como funciona el sistema de unidades y como se pueden obtener valores equivalentes de las mismas medidas.

Por ejemplo, esto aplicaría tanto para longitud, masa, área o superficie y volumen. Lo único que tenemos que saber o dominar es el factor de conversión. De esta manera, simplemente, le damos un valor especifico o unidad mínima y, a su vez, vamos asignando según corresponda a los demás valores de su unidad de medición.

En el caso de longitud las unidades de medición son: milímetros (mm), centímetros (cm), metros (m) y kilómetros (km). Estas son las mas conocidas y usadas. Ademas que pertenecen al sistema internacional.

Si tomamos al milímetro como unidad mínima su valor sería el de 1. Así pues mm = 1

Ahora preguntamos cuantos mm hay en un cm. La respuesta es 10 centímetros. Entonces 1 cm = 10 mm

Hacemos lo mismo para las dos unidades restantes que vamos a usar.

1 m = 100 cm = 1 000 mm
1 km = 1 000 m =100 000 cm = 1 000 000 mm

Con esto aplicamos el factor de conversión. Pongamos que queremos convertir 5 km a cm

5 km *  10^6 mm *  1 cm             =  5 * 10^5 = 500 000 cm
            1km               10 mm

Sabiendo esta teoría básica nuestro algoritmo seria mas o menos así:

longitud(a1)

l[1] = 10^0
l[2] = 10^1
l[3] = 10^3
l[4] = 10^6

s[1] = 'milimetros' 
s[2] = 'centimetros'
s[3] = 'metros'
s[4] = 'kilometros'


mostrar ''de: (1) milimetros, (2) centimetros, (3) metros, (4) kilometros'
leer i
mostrar 'a: (1) Todas las restantes unidades, (2) unidad especifica'
leer j


Si j = 1 

   t = 1
   Mientras t<=4 hacer
      valor =  a1* l[i] * 1/l[t]
      mostrar valor, s[t]
      t = t +1
   fin mientras

si no
   
   mostrar 'convertir a: (1) milimetros, (2) centimetros, (3) metros, (4) kilometros'
   leer f
   valor =  valor =  a1* l[i] * 1/l[f]
   mostrar 'a1,' ', s[i], ' son iguales a: ',valor,' ',s[f]
   mostrar 'quieres volver a convertir (s/n):'
   leer volveraconvertir
   
         Mientras volveraconvertir = 's' hacer
               a1 = valor
               i = f
               mostrar 'convertir a: (1) milimetros, (2) centimetros, (3) metros, (4)kilometros'
               leer f
               valor = a1* l[i] * 1/l[f]
               mostrar 'a1,' ', s[i], ' son iguales a: ',valor,' ',s[f]
               mostrar 'quieres volver a convertir (s/n):'
               leer volver a convertir   
          fin mientras 
fin si    

Como podemos ver, esta es la estructura de ejecución que le damos a un programa o procedimiento llamado 'longitud' que nos ayudará a obtener todas las conversiones que queramos de las unidades de longitud especificadas.

Ahora, lo único que tenemos que hacer es realizar un programa central que llame a este programa. Para esto sabemos que el valor dado o argumento de envio es un numero que se le asignó la variable de 'a1'.

Programa convertidor de unidades

Inicio
   mostrar ''Escoge tu opción a convertir de la siguiente lista de sistema de unidades: (1) longitud, (3)         superficie, (4) volumen, (5) masa'
   leer opcion
   mostrar 'introduce un valor a convertir:'
   leer val1
      
         Si opcion = 1 
              llamar longitud (val1)
        fin si 
Fin

Sabiendo como funciona para longitud lo mismo aplicaríamos para volumen, masa y superficie teniendo en cuenta que para todas ellas aplican los múltiplos, los sufijos y el factor de conversión como regla universal.

sábado, 20 de junio de 2020

Proyecto algoritmo calculadora recursiva/sucesiva básica (suma, resta, multiplicación, división) y funciones trigonométricas (sen, cos, tan)

Saludos a todos.

A continuación una explicación de como hacer una calculadora en dfd que realice las operaciones básicas sumadas a las funciones trigonométricas.

En primer lugar tenemos que entender el funcionamiento del proyecto.

1. Se necesita mínimo dos valores reales para las 4 operaciones básicas. En el caso de potencia, raíz cuadrada, y demás funciones, el algoritmo puede arrancar con un solo valor.

2. Se necesita poner en pantalla alternativas que le irán indicando al usuario si seguir operando o no, y que operación realizar. 

Para esto: suma se pondrá como operador '+', resta '-', etc.

3. Si no hay mas operaciones ('n') se mostrara el resultado final. Por lo contrario se seguirá realizando las operaciones según el usuario introduzca los datos específicos.

El algoritmo funciona mas o menos de la siguiente manera:

Inicio programa calculadora

real numero1, numero2
caracter operacion

Mostrar 'Introducir numero 1'
Leer numero1
Mostrar 'escoge tu operacion: (+) suma, (-) resta... (/) division'
Leer operacion
Llamar subprograma calcular(numero1, operacion)

Fin programa calculadora

calcular(n1,o)

real numero2
 
Mostrar 'Introduce tu segundo valor:'
Leer numero2
Si o='+'
operacion=n1+numero2
fin si

Si o='-'
operacion=n1-numero2 
fin si
.
.
.

Si o='/' and n2<>0
operacion=n1/numero2      
fin si

Mostrar operacion

Regresar

Hasta este punto la calculadora resuelve la operación de dos variables introducidas por teclado, pero necesitamos que sea mas dinámica y cada vez que le indique que haya una operación mas, la resuelva hasta que le indique lo contrario.

El algoritmo funcionaria mas o menos así, teniendo como base el anterior:

Inicio programa calculadora

mostrar 'introduce tu primer numero:'
leer val1
mostrar 'operacion: (+) suma... (/) division'
leer operador
mostrar 'introduce tu segundo numero:'
leer val2
llamar calculador (val1, val2, operador)

fin calculadora

Calculador()
  operar=1
si tag='+'
  operacion=a1+a2
  mostrar 'hay mas operacion (s/n):'
  leer respuesta
     si respues='s'
       numero1=operacion
       mostrar 'operacion: (+) suma... (/) division'
       leer operador
       mostrar 'introduce tu segundo numero:'
       leer valor2 
       llamar calculador (numero1, valor2, operador)
     si no
       mostrar operacion
     fin si
fin si    
.
.
.

si tag='/' and a2<>0
  operacion=a1/a2
  mostrar 'hay mas operacion (s/n):'
  leer respuesta
     si respues='s'
       numero1=operacion
       mostrar 'operacion: (+) suma... (/) division'
       leer operador
       mostrar 'introduce tu segundo numero:'
       leer valor2 
       llamar calculador (numero1, valor2, operador)
     si no
       mostrar operacion
     fin si
si no 
     si a2=0
        mostrar 'error! no se puede dividir entre cero'
        mostrar 'introduce tu nuevo valor:' 
        leer a2
        llamar calcular (a1,a2,tag) 
     si no
        operacion=a1/a2
        mostrar 'hay mas operacion (s/n):'
        leer respuesta
        si respues='s'
           numero1=operacion
           mostrar 'operacion: (+) suma... (/) division'
           leer operador
           mostrar 'introduce tu segundo numero:'
           leer valor2 
           llamar calculador (numero1, valor2, operador)
        si no
           mostrar operacion
        fin si
     fin si
fin si   
regresar

Ahora hacemos un poco mas desarrollada nuestra aplicación no solo con operación básicas (suma, resta... división) si no que también podrá realizar operaciones de potencia, raíz cuadrada y todas las funciones trigonométricas que dfd permite realizar.

Para eso solo modificaremos el algoritmo calculadora de la siguiente manera:

mostrar 'introduce tu primer numero:'
leer val1
mostar 'operacion: (+) suma... (p) potencia, (r) raiz cuadrada, (x) otras funciones'
leer operador
si operador = 'p'
   mostar 'elevar a:'
   leer val2
   llamar potencia(val1,val2)
si no 
   si operador = 'r'
     llamar raizcuadrada(val1)
     si no
        si operador = 'x'
           llamar funciones(val1)
         si no
             mostrar 'introduce tu segundo numero:'
             leer val2
             llamar calcular(val1,val2,operador)
          fin
       fin
fin  

Ahora lo único que tenemos que estructurar son tres nuevos programas para potencia, raiz y funciones trigonométricas.

potencia(p1,p2)
 operacion = p1^p2
 mostrar 'hay mas operaciones (s/n):'
 leer respuesta
   si respuesta = 's'
      val1 = operacion
      mostrar 'operacion: (+)suma...'
      leer tagp
          si tagp ='p'
            mostrar 'elevar a:'
            leer val2
            llamar potencia(val1,val2)
           si no
             si tagp = 'r'
                 llamar raizcuadrada(val1)
             si no
                  si tagp = 'x'
                     llamar funciones(val1)
                  si no
                      mostrar 'introduce tu segundo numero:'
                      leer val2
                       llamar calculadora(val1, val2, tagp) 
                   fin si
              fin si
            fin si
      si no
         mostrar operacion
      fin si

raizcuadrada(a2)
operacion = sqrt(a2)
de aqui en adelante copiar todo esto

funciones(a1)
  mostrar 'que funcion deseas realizar: (1) valor absoluto, (2) division entera, (3) resto de division, (4) logaritmo decimal, (5) logaritmo neperiano, (6) seno, (7)  coseno, (8)tangente'  
  leer funcion
     si funcion = 1 
        absoluto = abs(a1)
        a1 = absoluto
     fin si

     si funcion = 2
        mostrar 'dividir entre:'
        leer dividir
        entero = trunc(a1/dividir)
        a1 = entero
     fin si

     si funcion = 3 
        mostrar 'dividir entre:'
        leer dividir
        resto = a1 mod dividir 
        a1 = resto
     fin si

     si funcion = 4 
        logaritmo = log(a1)
        a1=logaritmo
     fin si

     si funcion = 5 
        logaritmoneperiano = ln(a1)
        a1 = logaritmoneperiano
     fin si

     si funcion = 6 
        seno = sen(a1)
        a1=sen
     fin si

     si funcion = 7 
        coseno = cos(a1)
        a1=coseno
     fin si

     si funcion = 8
        tangente = tan(a1)
        a1=tangente
     fin si
  mostrar 'hay mas operaciones (s/n):'
  leer respuesta
  si respuesta = 's'
     leer a2
     llamar calcular(a1,a2,respuesta)
  si no
     mostrar a1
  fin si

martes, 2 de junio de 2020

Ejercicio propuesto #2 (02.06.2020)


Una empresa constructora vende terrenos con la forma A de la figura Realice un algoritmo y represéntelo mediante un diagrama de flujo y el pseudocódigo para obtener el área respectiva de un terreno de medidas de cualquier valor. Para resolver este problema se debe identificar que la forma A está compuesta por dos figuras: un triángulo de base B y de altura (A - C); y por otro lado, un rectángulo que tiene base B y altura C.

Si la figura es mas o menos así: 


La resolución sería la siguiente:



Posible pseudocodigo:

algoritmo área de figura A
    var
    entero : b, c
    inicio
     leer (b, c)
     altura de triangulo = a - c
     area de triangulo = (altura de triangulo * b) /2
     area de rectangulo = b * c
 
     area total de la figura = area de triangulo + area de rectangulo

 escribir área total de la figura
fin




martes, 26 de mayo de 2020

EJERCICIOS BASICO I.5: ÁREAS Y SUPERFICIES, CONVERSION DE GRADOS CELCIUS A F°

1. determinar el área y volumen de un cilindro cuyas dimensiones radio y altura se lean desde el teclado 

2. calcular el perímetro y la superficie de un cuadrado dada la longitud de su lado 

3. calcular la superficie de un circulo 

4. realizar la siguiente conversión: una temperatura dada en grados celsius a grados fahrenheit 

Descargar algoritmos en diagramas de flujo ejercicios resueltos en dfd aquí


EJERCICIO RESUELTO ALGORITMO EN DFD HALLAR EL MÁXIMO COMÚN DIVISOR DE DOS NÚMEROS USANDO EL ALGORITMO DE EUCLIDES/PSEUDOCODIGO

Se pide hallar maximo común divisor (M.C.D) de dos números enteros por El algoritmo de Euclides.

Para esto seguir los siguientes pasos:
- Dividir el mayor de los dos enteros positivos por el mas pequeño.
- A continuación dividir el divisor por el resto.
- Continuar el proceso de dividir el ultimo resto hasta que la división sea exacta.
- El ultimo divisor es el mcd.



Actualización (08.11.2020):

Ejercicio en pseudocodigo

Algoritmo maximo_comun_divisor_euclides
resto=1
Mostrar "Introduce dos numeros:"
Mostrar "Primer numero:"
Leer numero1
Mostrar "Segundo numero:"
leer numero2
si numero1>numero2
dividendo=numero1
divisor=numero2
sino
dividendo=numero2
divisor=numero1
FinSi
si dividendo mod divisor = 0
Mostrar "el maximo comun divisor es:", divisor
sino
Mientras (dividendo mod divisor <> 0) Hacer
resto = dividendo
dividendo = divisor
divisor = resto
Fin Mientras
Mostrar "el maximo comun divisor es:", divisor 
FinSi
FinAlgoritmo

lunes, 18 de mayo de 2020

Ejercicio propuesto #1 (18.05.2020)

El Señor Javier B. debe calcular el salario semanal de cada trabajador tomando en cuenta las siguientes condiciones: 

Un empleado puede trabajar de 0 hasta 60 horas.
Las primeras 40 horas se pagan de manera normal (salario semanal = sueldo por hora x horas trabajadas)
Las10 horas siguientes a las 40 (de la 41 a la 50) se pagan al doble
Las 10 horas siguientes a las 50 (de la 51 a las 60) se pagan al triple


Para descargar el algoritmo resuelto en dfd clic en el siguiente enlace

Ejercicio Algoritmia: Hacer un diagrama de flujo en dfd que resuelva el área de un triangulo usando el teorema de Heron

Para esto usamos la formula de:

1. hallar el semiperimetro (la suma de todos los lados divididos entre dos)
2. Calculamos una formula dada a la que le asignaremos una variable y a su vez le sacamos la raíz cuadrada.


De esta manera, si tenemos tres valores introducidos por teclado que representan el valor de cada lado:

lado a: 10
lado b: 15
lado c: 8

El semiperimetro equivaldría a:

semiperimetro (s): (10 + 15 + 8)/2

Luego tendría que calcular la formula y asignarle una variable:

calculo= s*(s-a)*(s-b)*(s-c)

A su vez, a esta variable sacarle la raíz cuadrada lo que equivaldría al área según la formula de Heron

area=sqrt(calculo)

Muestro en "area" en pantalla

Si  quieres descargar este ejercicio resuelto en diagrama de flujo en dfd lo puedes hacer desde aquí

sábado, 16 de mayo de 2020

Dailymotion: cómo, cuándo y qué hacer para poder monetizar un canal (Experiencia!)

Ante la inesperada demanda de visitas y preguntas que ¡oh sorpresa! estoy teniendo en mi canal de yt donde tengo un vídeo explicando el tema, pues he visto conveniente escribir sobre lo que el vídeo más o menos habla esperando sea de mejor utilidad a las consultas que estoy recibiendo y que en su mayoría se resumen en una o dos preguntas: ¿Como y cuando comienzo a ganar dinero en dailymotion?

En primer lugar tengo que aclarar que todo lo aquí expuesto parte de mi corta experiencia tanto en daily como en yt. Así que no quiero engañar a propios ni extraños.

Lo primero que debes saber es que tanto yt como daily o cualquier servicio de paga por alojamiento de anuncios en un medio o servicio web tiene tres integrantes principales: el servicio, el socio y el anunciante.

Para ejemplificarlo de una manera didáctica, si pones a subastar un carro este sería el socio; quien se hace cargo de la subasta o el intermediario equivaldría al servicio; y, por último, los posibles compradores son los anunciantes.

Y es que tomo este ejemplo porque los servicios de paga por publicidad son eso, pujas entre anunciantes. Lo que significa que mientras más valga tu coche mayor será la puja y por tanto el monto a pagar.

Si has entendido este ejemplo, y aplicándolo directamente a daily, pues el o los carros son los videos que subas a tu canal. Aquí no hay restricciones como en yt, así que automáticamente tus vídeos monetizan. En teoría...

En cuanto al intermediario, vendría a ser el servicio, o sea dailymotion quien te da el host para que subas vídeos con ciertas características (contenido) y normas (copyright) que no puedes violar.

Finalmente, los anunciantes son todas aquellas empresas/servicios que pagan para poner anuncios -valga la redundancia-, en tus vídeos.

Entonces, sigo en duda. ¿Cuanto y como pagan los anunciantes?

Eso depende. Como lo escribí líneas arriba, del valor de tus "carros" (vídeos).

En primer lugar, tu canal debe tener tantos vídeos como vistas o visitas. Una vez pase esto, podrían pasar infinidad de casos. Así mismo un vídeo puede jalar a varios anunciantes como muchos vídeos a un solo anunciante. 

En cuanto a cómo se dan las ganancias, dailymotion usa el sistema de CPM. Quiere decir que paga por cada mil impresiones por veinticuatro horas. A esto le pone una constante (en dólares) y dependiendo de las visitas que recibas irás monetizando.Y recuerda que son ingresos estimados que se irán acumulando hasta que llegues a 100 dólares como mínimo. Un estándar que usan la mayoría.

Como última información, ningún servicio te dice, exactamente, que poner para ganar dinero. Si bien daily tiene esa gran ventaja frente a yt donde automática hecho socio te beneficias monetizando los videos, esto es relativo a tu canal, tu frecuencia, el contenido, la propia duracion y el propio tiempo. Todas estas son o pueden ser variables a la hora de monetizar un video. 

Y lo más importante, tus vídeos deben ser tuyos. O sea creaciones propias. Nadie paga por contenido que encuentra fácilmente en la red. Y mucho menos si es robado o con derechos de autor. Intentarlo no cuesta nada, pero la idea es que tu seas el autor de tus vídeos. De ahí en adelante depende de ti mismo y de cómo muevas tráfico a tu canal y/o vídeos.

Su tienes alguna duda o consulta deja un comentario y gustoso trataré de ayudarte.

miércoles, 15 de abril de 2020

DAILYMOTION Y LA NORMA DEL COPYRIGHT A LA HORA DE SUBIR VIDEOS A SU PLATAFORMA

Como la mayoría sabrá, youtube es el amo y señor a la hora de ver, subir, y descargar videos en linea pero existe otros servicios algo menos usados pero que son una gran alternativa para hacer exactamente lo mismo.

Dailymotion, empresa francesa, es considerada la yt europea y segunda en el ámbito del video en linea. Ahora, como toda empresa formal, guarda y respeta recelosamente las leyes de derechos de autor o mejor conocidas como copyright. Significa que, al igual que yt, no puedes subir contenido que no te pertenezca una vez te hayas convertido en socio.

Existirá la regla de "los diez segundos"? Esta es la explicación de la misma fuente cuando me comunique con el soporte de dailymotion.

martes, 14 de abril de 2020

VINCULAR Y PONER ARCHIVOS ADX.TXT DE DAILYMOTION EN TU WEB O BLOG DE BLOGGER

Saludos. Los archivos ads.txt son aquellos que contienen la información de los anunciantes que anuncian (valga la redundancia) en un sitio propio.

¿Para que poner estos archivos? Bueno pues, lo que te indican es que puede haber algún conflicto de usurpación y que es recomendable que los coloques para que queden bien especificado quienes anuncian en tu sitio validados por "id" de anunciante que es tuyo.

Estas lineas vienen con un formato propio.

Y si necesitas mas información de como subir y colocarlos los ads.txt de dailymotion a un sitio web o blog vinculado, aquí te dejo esta pequeña ayuda. Espero que te sirva.

EXPERIENCIA CÓMO SUBIR VIDEOS A METACAFE Y PASAR EL ESTADO "INACTIVE"

Hola a todos. Pasa que quizás pero muy quizás necesites una "alternativa" al youtube no necesariamente para que vean tus videos mas virales o quieras monetizar un canal sino para tener un espacio gratuito de alojamiento de videos.

Bueno pues, si ese es tu inquietud, una de las alternativas al yt es esta, metacafe. Que si bien su extensión es mucho menos a la de dailymotion y casi inexistente para la mayoría de personas en comparación al servicio de google, pues no viene mal si quieres almacenar videos de forma gratuita.

Ahora, aquí hay un pequeño problema: los vídeos que subas van a tener que ser revisados y aprobados luego de procesarlos.

Así es como pasar el estado "inactive" al "active". Algo que se hace manualmente, pero que toma su tiempo dependiendo del contenido de tu video.

A continuación, te dejo mi experiencia al subir un videito al servicio metacafe. ¿Tendrá visitas?

miércoles, 18 de marzo de 2020

Ejercicios Algoritmia I.4: Leer variables y compararlas usando arreglos

Ejercicios:

Diseñar un algoritmo que lea tres números y encuentre si uno de ellos es la suma de los otros dos

Escribir un algoritmo que lea cuatro  números e imprima el mayor de los cuatro

Para descargar los ejercicios resueltos clic en el enlace de descarga

miércoles, 11 de marzo de 2020

Ejercicios Algoritmia I.3: Operaciones básicas con números enteros y potenciacion

Se requiere resolver los siguientes ejercicios.

Escribir un algoritmo que realice las operaciones básicas en números enteros.

Escribir un algoritmo que calcule y escriba el cuadrado de 243.

Escribir un algoritmo que lea un numero y escriba su cuadrado.

Para el primer ejercicio lo único que necesitas saber es la diferencia entre los números naturales y los enteros. Como debes saber por educación básica, los números naturales son aquellos que se encuentran a la izquierda del cero y todos son positivos. Mientras que los enteros abarca tanto los naturales como los que se encuentran a la derecha del cero, y son negativos. Una vez comprendido esto, sabrás el juego de los signos a la hora de operar.

Por ejemplo: menos(-) por menos(-) es igual a mas(+)
                      dos signos iguales se suman, mientras que dos diferentes se restan.


Para los otros dos ejercicios, lo único que necesitas es saber usar el operador "^".

En el siguiente vídeo te explico mas o menos como resolver estos ejercicios básicos en dfd.

Si deseas descargarlos solo haz clic en el siguiente enlace