martes, 11 de septiembre de 2018


Operadores Aritméticos:
Los símbolos +, –, *, ^ (↑ o **) y las palabras clave div y mod se conocen como operadores aritméticos.
En la expresión:
      3 + 4
Los valores 3 y 4 se denominan operandos. El valor de la expresión 3 + 4 se conoce como resultado de la expresión. Los operadores se utilizan de igual forma que en matemáticas. Por consiguiente, A ∙ B se escribe en un algoritmo como A * B y 1/4 ∙ C como C/4. Al igual que en matemáticas el signo menos juega un doble papel, como resta en A – B y como negación en –A.





Operadores Matemáticos:
Matemáticamente una función es una operación que toma uno o más valores llamados argumentos y produce un valor denominado resultado —valor de la función para los argumentos dados—. Todos los lenguajes de programación tienen funciones incorporadas, intrínsecas o internas, y funciones definidas por el usuario.
Así, por ejemplo:

f (x) =      x    
            1 + x2

Donde f es el nombre de la función y x es el argumento. Observe que ningún valor específico se asocia con x; es un parámetro formal utilizado en la definición de la función. Para evaluar f debemos darle un valor real o actual a x; con este valor se puede calcular el resultado. Con x = 3 se obtiene el valor 0.3 que se expresa escribiendo:

f(3) = 0.3

f(3)     =      3      =     3      = 0.3
               1 + 9         10

Una función puede tener varios argumentos. Por consiguiente,

f (x, y)    =    x – y 
                √ x + √ y

es una función con dos argumentos. Sin embargo, solamente un único valor se asocia con la función para cualquier par de valores dados a los argumentos.




Orden De Prioridad De Operadores:

Los operadores aritméticos seguían un orden específico de prioridad cuando existía más de un operador en las expresiones. De modo similar, los operadores lógicos y relaciones tienen un orden de prioridad.


                             Prioridad de operadores (lenguaje Pascal)

Operador:                                                                                                 Prioridad:
no (not)                                                                                      más alta (primera ejecutada)
/, *, div. mod, y (and)                                                                                       
+, -, o (or)                                                                                                       
<, >, =, <=, >=, <>                                                                     más baja (última ejecutada

                           

                            Prioridad de operadores (lenguajes C, C++, C# y Java)

Operador:                                                                                                  Prioridad:
++ y -- (incremento y decremento en 1), +, –, !                                                       más alta 
*, /, % (módulo de la división entera)                                                            
+, - (suma, resta)                                                                                                
<, <=, >, >=                                                                                                       
== (igual a), != (no igual a)                                                                               
&& (y lógica, AND)                                                                                         
|| (o lógica, or)                                                                                                   
=, +=, -=, *=, /=, %= (operadores de asignación)                                      más baja


Al igual que en las expresiones aritméticas, los paréntesis se pueden utilizar y tendrán prioridad sobre cualquier operación.

Ejemplo:

no 4 > 6                               produce un error, ya que el operador no se aplica a 4
no (4 > 14)                          produce un valor verdadero
(1.0 < x) y (x < z + 7.0)      si x vale 7 y z vale 4, se obtiene un valor verdadero.







Expresiones Matemáticas:
Muchas funciones matemáticas se definen recursivamente. Un ejemplo de ello es el factorial de un número entero n.

La función factorial se define como: 


n! = { 1 si   n = 0    0! = 1 
       { nx(n–1)x(n–2)x ... x3x2x1  si n > 0 n. (n–1) . (n–2)....3.2.1

Si se observa la fórmula anterior cuando n > 0, es fácil definir n! en función de (n–1)! Por ejemplo, 5!

5! = 5x4x3x2x1   = 120 
4! = 4x3x2x1      = 24 
3! = 3x2x1          = 6 
2! = 2x1             = 2 
1! = 1x1             = 1 
0! = 1                 = 1

Se pueden transformar las expresiones anteriores en:

5! = 5x4! 
4! = 4x3! 
3! = 3x2! 
2! = 2x1! 
1! = 1x0!

En términos generales sería:
n! =  { 1                  si           n = 0
        { n(n–1)!         si           n > 0

La función FACTORIAL de N expresada en términos recursivos sería:

FACTORIAL ← N * FACTORIAL(N – 1)


La definición de la función sería:
entero: función factorial(E entero: n) 
//calculo recursivo del factorial 
inicio
  si n = 0 entonces
    devolver (1)
  si_no devolver (n * factorial(n – 1))
  fin_si 
fin_función





Constantes:
Los programas de computadora contienen ciertos valores que no deben cambiar durante la ejecución del programa. Tales valores se llaman constantes. Una constante es un dato que permanece sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del programa.

Constantes reales validas                                                      Constantes reales no validas

1.234                                                                                     1,752.63 (comas no permitidas)
–0.1436                                                             82  (normalmente contienen un punto decimal, 
                                                                  aunque existen lenguajes que lo admiten sin punto)                                                                     
+ 54437324


Constantes reales en notación científica

3.374562E   equivale a   3.374562 × 10  2
Una constante tipo carácter o constante de caracteres consiste en un carácter válido encerrado dentro de apóstrofos; por ejemplo,

'B'     '+'     '4'     ';'

Si se desea incluir el apóstrofo en la cadena, entonces debe aparecer como un par de apóstrofos, encerrados dentro de simples comillas.

""
Una secuencia de caracteres se denomina normalmente una cadena y una constante tipo cadena es una cadena encerrada entre apóstrofos. Por consiguiente,

'Juan Minguez'
y
'Pepe Luis Garcia'

son constantes de cadena válidas. Nuevamente, si un apóstrofo es uno de los caracteres en una constante de cadena, debe aparecer como un par de apóstrofos

'John"s'

Constantes lógicas (boolean)
Sólo existen dos constantes lógicas o boolean:
               verdadero  falso




Variables:
Una variable es un objeto o tipo de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa. Dependiendo del lenguaje, hay diferentes tipos de variables, tales como enteras, reales, carácter, lógicas y de cadena. Una variable que es de un cierto tipo puede tomar únicamente valores de ese tipo. Una variable de carácter, por ejemplo, puede tomar como valor sólo caracteres, mientras que una variable entera puede tomar sólo valores enteros. 

Si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error de tipo. Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable. 

Los nombres de las variables, a veces conocidos como identificadores, suelen constar de varios caracteres alfanuméricos, de los cuales el primero normalmente es una letra. 

Tipos de variables:
  • Numéricas: Se utilizan para almacenar valores numéricos enteros o decimales.
  • Cadenas de texto: Se utilizan para almacenar caracteres, palabras y/o frases de texto.
  • Arrays: Un array es una colección de variables, que pueden ser todas del mismo tipo o cada una de un tipo diferente.
  • Booleanos: Una variable de tipo boolean almacena un tipo especial de valor que solamente puede tomar dos valores: true (verdadero) o false (falso). No se puede utilizar para almacenar números y tampoco permite guardar cadenas de texto.



Conclusiones Personales


Operadores Aritméticos:

Son los símbolos: +, -, *, ^ (↑ o **), div y mod.
Utilizados para hacer cualquier operación en un programa, operaciones mas comunes y sencillas.


Operadores Matemáticos:
Los operadores matemáticos son mas extensos que los operadores aritméticos, ya que la aritmética es solo una rama de la matemática.
Estos mas bien podrían ser los signos menos comunes y sirven para hacer operaciones mas dificiles: +, -, /. *, (), x, y, f, etc...
También en los operadores aritméticos, un valor puede tomar el valor de otro signo representándolo de diferente forma, por ejemplo: x=5 y f=9, o haciendo operaciones: f(7), 
y utilizando de esta forma  x – y 
                                     √ x + √ y 



Orden De Prioridad De Operadores:
Estos se dividen en la prioridad de operadores (lenguaje pascal) y prioridad de operadores (lenguajes C, C++,C# y Java), empiezan desde la prioridad mas alta y terminan en la mas baja

Expresiones Matemáticas:
Es la manera en se se representa alguna operación matemática, osea mas bien, como se vera representado el proceso de la ecuación.


Constantes:
Son valores, que mientras se esta ejecutando una programa, ese valor nunca va a cambiar, siempre permanece intacto.

Variables:
Son datos por ejemplo, letras o números, que durante la ejecución de un algoritmo o de un programa, ese valor va a estar cambiando constantemente.


jueves, 16 de agosto de 2018

FASES DE LA METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS

Fases de metodología para la solución de problemas

Resolución de problemas:
Dos fases pueden ser identificadas en el proceso de creación de un programa:

  • fase de resolución de problemas.
  • fase de impacientemente (realización) en un lenguaje de programación.
La fase de resolucion de problamas implica la perfecta comprension del problema, el diseño de una solucion conceptual y la especificacion de un metodo de resolucion detallando las acciones a realizar mediante un algoritmo. 


1. Fase de resolucion del problema:
esta fase incluye, a su vez, el análisis de problema así como el diseño y posterior verificación del algoritmo.

1.1 Análisis del problema

El primer caso para encontrar la solución a un problema es el análisis del mismo. se debe examinar cuidadosamente el problema a fin de obtener una idea clara sobre lo que se solicita y determinar los datos necesarios para conseguirlo.

1.2. Diseño de algoritmo:
La palabra algoritmo deriva del nombre famoso matemático y astrónomo árabe Al-Khowarizmi (siglo IX) que escribió un conocido tratado sobre la manipulación de números y ecuaciones titulado Kitab al-jobr w´ almugabala.
        Un algoritmo puede ser definido como la secuencia ordenada de pasos, sin ambigüedades, que conducen a la solución de un problema dado y puede ser expresado en lenguaje natural, por ejemplo el castellano.

1.3 Verificación de algoritmos:
Una vez que se ha terminado de escribir el algoritmo un algoritmo es necesario comprobar que realiza las tareas para las que se ha diseñado y produce el resultado correcto. El modo mas normal de comprobar un algoritmo es mediante su ejecución manual, usando datos significativos que abarquen todo el posible rango de valores y anotando en una hoja de papel las modificaciones que se producen en las diferentes fases hasta la obtención de los resultados. Este proceso se conoce como prueba de algoritmo.


2. Fase de implementación: 

    
   Una vez que el algoritmo está diseñado, representado mediante un método normalizado y verificado se debe pasar a la fase de codificación, traducción del algoritmo a un determinado lenguaje de programación, que deberá ser completada con la ejecución y comprobación del programa en la computadora.




CARACTERÍSTICAS DE LOS ALGORITMOS

Características de los algoritmos


  • Preciso.
  • Definirse de manera rigurosa, sin dar lugar a ambigüedades.
  • Definido. 
  • Si se sigue un algoritmo dos veces, se obtendrá el mismo resultado.
  • Finito. 
  • Debe terminar en algún momento.
  • Puede tener cero o más elementos de entrada.
  • Debe producir un resultado. 
  • Los datos de salida serán los resultados de efectuar las instrucciones.  


CONCEPTO DE ALGORITMOS SEGÚN LUIS JOYANES AGUILAR

Definición de algoritmo según Luis Joyanes



Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.

Para realizar un programa es conveniente el diseño o definición previa del algoritmo. El diseño de algoritmos requiere creatividad y conocimientos profundos de la técnica de programación. Luis Joyanes, programador experto y autor de muchos libros acerca de lógica y programación nos dice “en la ciencia de la computación y en la programación, los algoritmos son más importantes que los lenguajes de programación o las computadoras. Un lenguaje de programación es sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo”.problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.