lunes, 18 de junio de 2018

PLANTILLAS BLADE

Blade es un simple pero poderoso motor de plantillas incluido con Laravel. A diferencia de otros populares motores de plantillas para PHP, Blade no limita el uso de código PHP simple en las vistas. Las vistas en Blade se compilan a código PHP y se cachean hasta que son modificadas, básicamente esto se traduce en que Blade añade sobrecarga cero a las aplicaciones. Las vistas en Blade usan la extensión .blade.php y normalmente se almacenan en el directorio resources/views.

Herencia de Plantillas

Definir Una Plantilla
Dos de los principales beneficios del uso de Blade son la herencia de plantillas y las secciones. Para empezar, se va a revisar un sencillo ejemplo. Primero, examinaremos un layout "master". Puesto que la mayoría de aplicaciones web mantienen la misma estructura a través de sus diferentes páginas, es conveniente definir este layout como una única vista Blade:























Como se puede observar, este archivo contiene una estructura HTML típica. Sin embargo, se puede tomar nota de las directivas @section y @yield. La directiva @section, como su nombre indica, define un sección de contenido, mientras que la directiva @yield es utilizada para mostrar el contenido de una sección.

Una vez que se tiene definido un layout para la aplicación, se puede definir una página hija que hereda de este layout.

Heredar un layout

Cuando defina una vista hija, utilice la directiva Blade @extends para especificar de qué layout debe "heredar". Las vistas que extienden un layout de Blade pueden inyectar contenido en las secciones mediante las directivas @section. Recordar, como se ve en el ejemplo anterior, el contenido de estas secciones se mostrará el layout utilizando @yield:





















En este ejemplo, la sección sidebar está utilizando la directiva @parent para anexar (más que sobrescribir) contenido al sidebar de la plantilla padre. La directiva @parent será reemplazada por el contenido del layout cuando se procese la vista.

Contrariamente al ejemplo anterior, esta sección sidebar termina con @endsection en lugar de @show. La directiva @endserction definirá únicamente una sección mientras que @show definirá y enlazará inmediatamente la sección.

Las vistas de Blade pueden ser devueltas desde rutas usando el helper global view:

LARAVEL

¿Que es Laravel?

Laravel es uno de los frameworks de código abierto más fáciles de asimilar para PHP. Es simple, muy potente y tiene una interfaz elegante y divertida de usar. Fue creado en 2011 y tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET MVC.
El objetivo de Laravel es el de ser un framework que permita el uso de una sintaxis refinada y expresiva para crear código de forma sencilla, evitando el “código espagueti” y permitiendo multitud de funcionalidades. Aprovecha todo lo bueno de otros frameworks y utiliza las características de las últimas versiones de PHP.

La mayor parte de su estructura está formada por dependencias, especialmente de Symfony, lo que implica que el desarrollo de Laravel dependa también del desarrollo de sus dependencias.

Requisitos del servidor:

El framework Laravel tiene unos pocos requerimientos de sistema. Por supuesto estos requisitos son satisfechos por la máquina virtual Laravel Homestead, por lo que es muy recomendable utilizar Homestead como su entorno de desarrollo local para Laravel.

No obstante si no está utilizando Homestead, necesitará asegurarse que el servidor cumple con los siguientes requermientos:
  • PHP >= 5.6.4
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Instalar Laravel

Laravel utiliza Composer para gestionar sus dependencias. Por lo tanto, antes de utilizar Laravel, asegúrese de tener instalado Composer en su máquina.

A través del Instalador de Laravel

En primer lugar, descargar al instalador de Laravel usando composer:
composer global require "laravel/installer"
Asegurese de colocar el directorio del proveedor en su $PATH para hacerlo accesible a todo el sistema de ficheros para que el ejecutable Laravel pueda ser localizado. Este directorio existe en diferentes sitios dependiendo de su sistema operativo; no obstante, algunas localizaciones comunes incluyen:
·     MacOS: $HOME/.composer/vendor/bin
·     Distribuciones GNU / Linux: $HOME/.config/composer/vendor/bin
Una vez instalado, el comando laravel new creará una instalación nueva de Laravel en el directorio que se especifique. Por ejemplo, laravel new blog creará un directorio llamado blog conteniendo éste una instalación limpia de Laravel con todas las dependencias instaladas:

laravel new blog

Vía composer create-project

También se puede instalar Laravel ejecutando el comando de Composer create-project en la terminal:

composer create-project --prefer-dist laravel/laravel blog

Servidor de desarrollo local

Si se tiene PHP instalado localmente y desea utilizar el servidor de desarrollo built-in(incluido) en PHP para su aplicación, puede utilizar el comando Artisan serve. Este comando arrancará un servidor de desarrollo accesible en http://localhost:8000:

php artisan serve

Por supuesto, las opciones más robustas para desarrollo local son Homestead y Valet.

lunes, 14 de mayo de 2018

FUNCIONES Y MÉTODOS

Las funciones y los métodos son elementos muy importantes de programación. En C# estaremos utilizándolos frecuentemente, en especial cuando avancemos hacia la programación orientada a objetos. Las funciones nos dan muchas ventajas y nos permiten desarrollar de forma más rápida y más ordenada nuestras aplicaciones.

FUNCIONES:

Empecemos a conocer las funciones. Veamos un ejemplo de un problema y luego la forma cómo la utilización de la función nos puede ayudar. La función es un elemento del programa que contiene código y se puede ejecutar, es decir, lleva a cabo una operación. La función puede llamarse o invocarse cuando sea necesario y entonces el código que se encuentra en su interior se va a ejecutar. Una vez que la función termina de ejecutarse el programa continúa en la sentencia siguiente de donde fue llamada.
Figura 1. Podemos observar cómo la ejecución del programa se dirige a la función y luego regresa a la sentencia siguiente de donde fue invocada.

Las funciones, para que sean útiles, deben estar especializadas. Es decir que cada función debe hacer solamente una cosa y hacerla bien. Nosotros ya hemos utilizado una función, es la función Main() y podemos crear más funciones conforme las necesitemos. Dentro de la programación orientada a objetos las clases tienen código y este código se encuentra adentro de funciones llamadas métodos. Por ejemplo, cuando hemos convertido de cadena a un entero, hacemos uso de una función llamada ToIn32() que se encuentra adentro de la clase Convert.

Las funciones constan de cinco partes:
  • Nombre
  • Dato o información
  • Parámetro
  • bloque de Código
  • Modificador
Veremos ahora las cinco partes, pero conforme estudiemos a las funciones sabremos cómo son utilizadas. Las funciones pueden regresar información y esta información puede ser cadena, entero, flotante o cualquier otro tipo. En la sección de tipo tenemos que indicar precisamente la clase de información que regresa. Si la función no regresa ningún valor entonces tenemos que indicar a su tipo como void. Todas las funciones deben identificarse y lo hacemos por medio de su nombre. Las funciones que coloquemos adentro de las clases deben de tener un nombre único. El nombre también es utilizado para invocar o ejecutar a la función.
Las funciones pueden necesitar de datos o información para poder trabajar. Nosotros le damos esta información por medio de sus parámetros. Los parámetros no son otra cosa que una lista de variables que reciben estos datos. Si la función no necesita usar a los parámetros, entonces simplemente podemos dejar los paréntesis vacíos. Nunca debemos olvidar colocar los paréntesis aunque no haya parámetros. El código de la función se sitúa adentro de un bloque de código. En esta sección podemos colocar cualquier código válido de C#, es decir, declaración de variables, ciclos, estructuras selectivas e incluso invocaciones a funciones. Las funciones al ser declaradas pueden llevar un modificador antes del tipo. Los modificadores cambian la forma como trabaja la función. Nosotros estaremos utilizando un modificador conocido como static. Este modificador nos permite usar a la función sin tener que declarar un objeto de la clase a la que pertenece.

Tenemos cuatro tipos básicos de funciones:
  • Funciones que ejecutan código
  • Funciones que regresan un valor
  • Funciones que reciben valores
  • Funciones que reciben parámetros y regresan un valor 
Funciones que ejecutan código
El primer tipo de funciones que vamos a conocer son las que ejecutan código. Estas funciones no reciben datos y no regresan ningún dato. Solamente llevan a cabo alguna operación. Aunque en este momento no parecen muy útiles, sí lo son. Para poder utilizar la función, debemos declararla. La declaración se debe hacer adentro del bloque de código correspondiente a una clase. Para los ejemplos analizados en este libro, estamos usando la clase denominada Program. Nuestra función Main() se encuentra también adentro de esta clase. En este momento tomaremos una estrategia de programación, que aún no pertenece a la programación estructurada, en el futuro veremos las técnicas orientadas a objetos. En esta técnica usamos a la función Main() como administradora de la lógica y la mayor parte del proceso se llevará a cabo en las funciones. Crearemos una aplicación y le colocaremos cada uno de los tipos de funciones que vamos a aprender, dejando a Main() como nuestra administradora del programa. El programa va a ser conceptualmente sencillo, ya que lo que nos interesa es comprender el funcionamiento de las funciones. El programa simplemente se encargará de preguntarle al usuario el tipo de operación aritmética que queremos llevar a cabo y luego la realizará con los datos dados que le proporcionemos. Este programa ya fue resuelto anteriormente, pero en este caso será implementado agregando el uso de las funciones. En el diagrama de flujo indicamos a la función por medio de un rectángulo que tiene dos franjas a los lados. Cuando lo veamos, sabemos que tenemos que ir a la función y ejecutar su código. Veamos cómo quedaría el diagrama de flujo de la aplicación.

Funciones que regresan un valor
Nuestro siguiente tipo de función puede regresar un valor. Esto significa que cuando la función es invocada va a llevar a cabo la ejecución de su código. El código va a calcular un valor de alguna manera y este valor calculado por la función será regresado a quien haya invocado a la función. La invocación puede haber sido hecha por la función Main() o algún otra función. Como la función va a regresar un valor, necesitamos indicar su tipo. El tipo va a depender del valor devuelto. Si el valor es un entero, entonces el tipo de la función es int. Si el valor es un flotante, la función tendrá tipo float y así sucesivamente. La función puede regresar cualquiera de los tipos definidos en el lenguaje y también tipos definidos por el programador y objetos de diferentes clases. La función va a utilizar un comando especial para regresar el valor, este comando se conoce como return y se usa de la siguiente manera:

return variable;

En cuanto la ejecución del programa encuentra un return, la función es finalizada aun si no ha llegado a su fin. Al mismo tiempo que finaliza la función el valor colocado después del return es regresado a quien hizo la invocación. El valor puede ser colocado con una variable o explícitamente con un valor en particular. No hay que olvidar colocar el punto y coma al finalizar la sentencia. La finalización de la función se lleva a cabo aunque tengamos código escrito después del return. Como la función regresa un valor, del lado del invocador necesitamos tener alguien que pueda recibir el valor regresado. Generalmente usaremos una variable, pero en algunos casos puede ser una expresión que será evaluada con el valor regresado por la función. Supongamos que nuestra función regresa un valor entero. Entonces podemos tener un código como el siguiente.

int n;
n=función();

De esta forma el valor regresado por la función queda guardado en la variable n y podemos hacer uso de él. El código lo entendemos de la siguiente forma. Tenemos una variable entera n. Luego tenemos una asignación para n. Si recordamos, la asignación siempre se lleva a cabo de derecha a izquierda. Se evalúa la expresión y la función se ejecuta y calcula un valor, el cual es regresado por medio de return. Este valor se considera como la evaluación de la expresión y es asignado a n. A partir de este momento podemos usar el valor según lo necesitemos.

Funciones que reciben valores
Hasta el momento las funciones que hemos utilizado piden directamente al usuario los valores que necesitan para trabajar. Sin embargo, las funciones también pueden recibir valores en el momento que son invocadas. De esta forma trabajarán con los valores pasados por el programa en lugar de pedirlos al usuario. Estos valores son conocidos como parámetros. Los parámetros pueden ser de cualquier tipo, ya sea de los tipos nativos de C# como entero, flotante, cadena o de tipos definidos por el programador como clases y estructuras.
Los parámetros deben llevar su tipo y su nombre. El nombre nos permite acceder a los datos que contiene y de hecho van a trabajar como si fueran variables locales a la función. Adentro de la función los usamos como variables normales. Los parámetros se definen en la declaración de la función. Adentro de los paréntesis de la función los listamos. La forma de listarlos es colocando primero en tipo seguido del nombre. Si tenemos más de un parámetro para la función, entonces debemos separarlos por medio de comas.
La invocación de la función es muy sencilla, simplemente debemos colocar el nombre de la función y, entre los paréntesis, los datos que vamos a enviar como parámetros. Los datos pueden ser situados por medio de variables o un valor colocado explícitamente. Podemos hacer ahora la función que se encargará de la multiplicación. Esta función recibirá los operandos desde Main() por medio de los parámetros, realizará el cálculo y lo mostrará al usuario. Como la función Main() manda la información, entonces será responsabilidad de ella pedirlos a los usuarios.

Funciones que reciben parámetros y regresan un valor
Ya hemos visto tres tipos diferentes de funciones, y seguramente ya hemos comprendido cómo funcionan y podemos fácilmente imaginar lo que hará este tipo de función. Esta función va a recibir de quien la invoque información. La información es pasada por medio de parámetros. La función lleva a cabo alguna acción o cálculo y obtiene un valor que va a ser regresado. El valor regresado es recibido en el lugar donde se invocó a la función y se puede trabajar con él. Los parámetros serán usados como variables y los declaramos adentro de los paréntesis de la función. Tenemos que indicar el tipo que va a recibir seguido de su nombre, si tenemos más de un parámetro, entonces debemos de separarlos por comas. Como la función regresa un valor, es necesario indicar su tipo en la declaración. La variable que va a recibir el valor retornado deberá tener de preferencia el mismo tipo que la función o cuando menos un tipo que sea compatible o posible de convertir. Como siempre haremos uso de return para poder regresar el valor calculado. De hecho este tipo de función utiliza todas las partes de las que consiste una función. En este momento debemos programar la función que lleva a cabo la división. La función recibirá dos valores flotantes, verificará que no llevemos a cabo la división entre cero, realiza el cálculo y regresa el valor.

Ejemplos:

1.- Programa que muestra la suma de 5+10 usando la Función que devuelve un valor.
Código:




















Compilación:




















2.-Programa que muestra la suma de dos números ingresados usando la función que ejecuta código.
Código:



























Compilación:




















3.- Multiplicación de dos valores ingresados usando la función que reciben valores.
Código:
Compilación:





















ARREGLOS

En C# llamamos arreglo a una colección de objetos, dicha colección tiene longitud definida y esta no puede cambiar con el flujo del programa, esto podrá sonar limitante, pero al trabajar con arreglos se obtiene un mejor desempeño que con cualquier otra colección. Usando el lenguaje podemos crear, recorrer y manipular arreglos de cualquier tipo de objeto.

Unidimensionales


Comenzando por lo más básico, los arreglos unidimensionales son colecciones lineales, que nos pueden ayudar a representar una secuencia numérica, letras del alfabeto o un cromosoma dentro de un programa de algoritmos genéticos, entre muchas otras otras.
Instanciación

Para crear un arreglo haremos uso de la palabra reservada new y los corchetes cuadrados [ ], también es necesario conocer el tamaño que necesitaremos, puesto que como ya lo mencioné, no es posible cambiar el tamaño una vez creado:
char [] vocales = new char[5];
int [] conteo = new int[10];
object [] misObjetos = new object[3];


Si creamos arreglos de esa manera, cada posición tendrá el valor por default del tipo de dato del arreglo… bueno, mejor usamos nuestro ejemplo:
El arreglo de vocales contendrá 5 \0, que es el valor por default de un char.
El arreglo conteo contendrá 10 0, que es el valor por default de un entero.
El arreglo misObjetos contendrá 3 null, que es el valor por default de un object.



Además de la instanciación tradicional, también podemos emplear la instanciación de colecciones, la cual nos permite inicializar un arreglo asignándole valores inmediatamente:
char [] vocales = new char[5] { 'a', 'e', 'i', 'o', 'u' };
int [] conteo = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
object [] misObjetos = { "3", 1, 99.99 };


Como podemos ver, tenemos varias opciones para inicializar arreglos unidimensionales:
  1. new char[5] { ..., nos permite indicar el tamaño y el tipo explícitamente y posteriormente indicar los valores, si cambiáramos el 5 por un 7sin aumentar la cantidad de valores obtendríamos un error de compilación.
  2. new int[] { 1, 2, ..., nos permite indicar solamente el tipo de dato de los elementos, la cantidad es inferida por el compilador, en este caso podemos incrementar o reducir la cantidad de elementos al momento de inicializar sin ningún problema.
  3. { "3", 1, 99.99 }, al inicializar de esta manera estamos dejandole al compilador la tarea de inferir tanto el tipo de dato del arreglo como la cantidad de elementos que contiene. Dicho sea de paso, el declarar un arreglo así puede resultar un poco confuso de leer.
Acceso a los elementos

Una vez instanciado, podemos acceder a los elementos del arreglo usando nuevamente los corchetes cuadrados [ ] y el índice del elemento al que queremos acceder. Nota importante los arreglos están indizados en 0 es decir, el primer elemento de un arreglo está en el índice 0.

Retomemos los arreglos del ejemplo pasado. Para acceder a la a dentro del arreglo vocales debemos acceder a la posición 0:
Console.WriteLine(vocales[0]); // a


O, digamos que queremos reemplazar la i por una t:
vocales[2] = 't';
Console.WriteLine(vocales[2]); // t

Propiedades y métodos

A pesar de que los arreglos implementan la interfaz IList, con todo y sus propiedades, la única rescatable para los arreglos unidimensionales es la propiedad Length (o LongLength si metemos más de 2^32-1 elementos en el arreglo), que nos devuelve la longitud del arreglo:
Console.WriteLine(vocales.Length); // 5  
Console.WriteLine(conteo.Length); // 10 
Console.WriteLine(misObjetos.Length); // 3

Posdata

Sin importar su contenido, los arreglos siempre son tipos por referencia, por lo que es posible tener las siguientes líneas de código:
int [] arreglo = null;
double [] nulo = null;

Ejemplos:

1.- Programa que guarda los sueldos de 5 operarios en un arreglo.
Código:
























Compilación:




















2.- Programa que muestre el curso que obtuvo el mayor promedio general. Cada curso cuenta con 5 alumnos.
Código:





































Compilación:




















3.- Ingreso de las alturas de 5 personas, y Contar cuántas personas son más altas que el promedio Normal y cuántas más bajas.
Código:





































Compilación:


lunes, 7 de mayo de 2018

ESTRUCTURAS DE CONTROL MÚLTIPLES

Permite comparar un valor con diversas alternativas, si la comparación tiene éxito se ejecuta el grupo de instrucciones que contenga la alternativa seleccionada y luego sale de la estructura.
Las estructuras selectivas múltiples o anidadas están compuesta múltiples selectivas simples que están unidas por el comando elsif el resultado que se obtiene con una selectiva múltiple se puede obtener con varias selectivas simples, entonces, ¿cual es la diferencia? el código es mas pequeño, aunque, yo siempre he recomendado a mis alumnos que cuando recién se esta aprendiendo a programar es recomendable que al principio se trabaje con selectivas simples, a medida que se va aprendiendo y ganando destreza se puede comenzar a utilizar las selectivas múltiples en los casos que ellos crean conveniente y necesarios.La instrucción if selecciona una instrucción para ejecución en base al valor de una expresión Boolean.
En el ejemplo siguiente un indicador Boolean flagCheck se establece en true y, a continuación, se protege en la instrucción if. El resultado es: The flag is set to true.

Si la expresión en el paréntesis se evalúa como true, a continuación se ejecuta la instrucción Console.WriteLine("The boolean flag is set to ture."); . Después de ejecutar la instrucción if, el control se transfiere a la siguiente instrucción. Else no se ejecuta en este ejemplo.

Si se desea ejecutar más de una instrucción, es posible ejecutar varias instrucciones en forma condicional al incluirlas en bloques mediante {}, al igual que en el ejemplo anterior.

Las instrucciones que se van a ejecutar como resultado de comprobar la condición pueden ser de cualquier tipo, incluida otra instrucción if anidada dentro de la instrucción if original. En las instrucciones if anidadas, la cláusula else pertenece a la última instrucción if que no tiene una cláusula else correspondiente.

La instrucción switch es una instrucción de control que controla múltiples selecciones y enumeraciones pasando el control a una de las instrucciones case de su cuerpo.
El control se transfiere a la instrucción case que coincide con el valor del modificador. La instrucción switch puede incluir cualquier número de instancias case, sin embargo dos instrucciones case nunca pueden tener el mismo valor. La ejecución del cuerpo de la instrucción empieza en la instrucción seleccionada y continúa hasta que la instrucción break transfiere el control fuera del cuerpo case. Es necesario introducir una instrucción de salto como break después de cada bloque case, incluido el último bloque, se trate de una instrucción case o de una instrucción default. Con una excepción, (a diferencia de la instrucción switch de C++), C# no admite el paso implícito de una etiqueta case a otra. Esta excepción se produce si una instrucción case no tiene ningún código.

Si ninguna expresión case coincide con el valor de la instrucción switch, entonces el control se transfiere a las instrucciones que siguen la etiqueta default opcional. Si no existe ninguna etiqueta default, el control se transfiere fuera de la instrucción switch.

Ejemplos:

1.- Programa que permite el Ingreso un numero del 1 al 5 y mostrara el numero ingresado en letras.
Código:


























Compilación:




















2.-Venta de Refrescos.
Código:






















Compilación:





















3.- Programa que dice si Aprobó o reprobó según su promedio.
Código:























Compilación:




















CICLOS REPETITIVOS

Los ciclos repetitivos también llamados lazos o bucles permiten repetir una operación o secuencia de operaciones en función de ciertas condiciones. Es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces mientras se cumpla una determinada condición.
Dentro de los ciclos se utilizan contadores y acumuladores, que regulan que el ciclo llegue a su fin.

A.Contador: Es un tipo de variable que incrementa o decrementa su valor en un valor constante

Cuando decimos incrementa estamos sumando.
Ejemplo: Veces = Veces + 1


Como se puede observar a la variable veces se le está incrementando un valor constante (1); es decir a su contenido le sumas el valor y se vuelve a guardar en la misma variable.

B. Acumulador: Es una variable que incrementa o decrementa su contenido en cantidades variables.

Ejemplo: Nomina = Nomina + sueldo

Ejemplos:

1.- Programa que muestra los números del 0 al 100 contando de 2 en 2.
Código:

Compilación:
2.- Programa que muestra los números impares del 1 al 100.
Código:

Compilación:




















3.- Programa que muestra Hola la cantidad de veces ingresadas por el usuario.
Código:





















Compilación:




















Aplica Tus Conocimientos

lunes, 30 de abril de 2018

CONCEPTOS BÁSICOS

Este texto comienza recordando algunos conceptos básicos de algoritmia, seudocódigo y diagramas de flujo. Los elementos presentes en un algoritmo como: variables, constantes y  expresiones.
Declaración de variables y asignaciones, técnicas de desarrollo de algoritmos y ejemplos desarrollados.

OBJETIVOS

• Identificar y descomponer las partes de un problema, para programar una solución por medio de la computadora.
• Hacer uso de herramientas de descomposición de problemas y representación de programas.
• Emplear condiciones para la toma de decisiones en un programa.
• Identificar el tipo de condición a utilizar en un programa.
• Emplear ciclos repetitivos en programas que emplean cierto número de interacciones.
• Emplear ciclos repetitivos en programas que emplean cierto número de interacciones.
• Resolver problemas usando operadores aritméticos y herramientas de programación.
• Resolver ejercicios matemáticos para despertar la lógica de la programación.
• Compilar y organizar en partes la información que componen un programa.

CONCEPTOS DE ALGORITMIA

Algoritmos: los algoritmos constituyen un listado de instrucciones que indican el camino a seguir para dar solución a un problema. Podríamos decir que un algoritmo es la suma de una parte lógica más una parte de control, en donde la parte lógica especifica el conocimiento en la solución del problema y la parte de control es la estrategia para solucionar el problema.
Características de los algoritmos:
Un algoritmo no debe ser ambiguo (Ambiguo: Que puede entenderse de varios modos o admitir distintas interpretaciones y dar, por consiguiente, motivo a dudas, incertidumbre o confusión).
Debe de tener una secuencia inicial
Cada paso deberá tener una secuencia sucesiva y única, es decir que deben indicar claramente el camino a seguir en la solución del problema.
El algoritmo debe de ser siempre eficiente y dar una solución al problema o de lo contrario deberá dar un mensaje que diga “Sin solución
Programa: un programa define un “algoritmo”, porque constituye el conjunto de instrucciones que forman el algoritmo (ya codificados en un lenguaje de programación).
Heurística: un algoritmo que da o produce una solución a un problema planteado aunque esta solución no sea la óptima, es llamado “Heurístico”.
Diagrama de flujo: El diagrama de flujo es la representación gráfica de una secuencia de instrucciones que conforman el algoritmo. Los símbolos más comunes y los cuales usaremos son:

Símbolos
Variables: son los elementos que se utilizan para contener datos de distintos tipos: números, letras, cadenas de caracteres, valores lógicos, etc... El valor contenido en una variable puede cambiar a lo largo de la ejecución de un programa. 
Constantes: son elementos que contienen datos, el valor asignado a una constante es fijo y no se puede cambiar durante toda la ejecución de un programa. 
Expresiones: las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales. Por ejemplo: a + ( b + 3 ) / c Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican en expresiones aritméticas, expresiones raciones y expresiones lógicas. 
Lectura destructiva: ocurre cuando se asigna un nuevo valor a la variable o cuando se asigna el resultado de una expresión matemática a la variable; ejemplos
Precio = 30
Cantidad = 0
Precio = 500
A = 3.1416∗ r∗r
Lectura Acumulativa: ocurre cuando el programador aumenta o disminuye el valor de la variable mediante operaciones matemáticas;  Ejemplo
Precio = 100
Reducir el precio en un 10%







Aumentar el precio en un 150%






Lectura Descriptiva: Ocurre cuando se desea leer sin modificar el contenido de la variable, ejemplo:
Declarar Precio: Entero
Precio = 5
Escribir Precio

El ejemplo anterior inicia declarando la variable Precio, luego a esta variable se le asigna el valor 5, por último se visualizar el valor de la variable Precio.


Aprende sobre OPERADORES.

sábado, 28 de abril de 2018

OPERADORES

Operadores aritméticos: los operadores aritméticos nos permiten básicamente, hacer cualquier operación aritmética (suma, resta, multiplicación, división cociente y división residuo o modulo). En la siguiente tabla se muestran los operadores de los que se dispone:

Comentario: el operador MOD nos devuelve el residuo de una división entera, mientras
que el operador DIV permite realizar una división entre dos números, allí radica
la diferencia con el operador “/”. 


















En el lenguaje C# las acciones Resta, Suma, Multiplicación y División Real son las mismas del cuadro. Para sacar el residuo de una división en C# usaremos el operador "%" Ejemplo: x %= y.  Para sacar la División Entera en C# lo único que tenemos que hacer es declarar las variables tipo "int" (Números Enteros). Para Elevar un numero en C# podemos utilizar una operación "Math.Pow(número1, número2);".

Ejemplos:

1.-Programa que muestra el residuo de una división.
Código:


















Compilación:















2.-Programa que cuenta los años que han transcurrido desde el año ingresado hasta este presente año.
Código:














Compilación:




















3.-Programa que muestra el promedio de los 4 Parciales en una materia.
Código:























Compilación:






















Operadores relacionales: al igual que en matemáticas, estos operadores nos permitirán evaluar las relaciones (igualdad, mayor, menor, etc.) entre un par de operandos (en principio piense en números). Los operadores relacionales de los que disponemos son:











Ejemplos:

1.-Programa que muestra el numero mayor y menor de la cantidad que desee de números.
Código:





























Compilación:

















2.-Programa que muestra el mes según su número.





























Compilación:















3.-Programa que hace un conteo desde un número inicial ingresado, hasta un número final ingresado.
Código:
















Compilación:


















Operadores lógicos: producen un resultado booleano, y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto de cero). Los operadores lógicos son 3; dos de ellos son binarios (ocupa estar entre dos valores) y el ultimo (negación) es unario.

AND (Y): produce un resultado con un valor de verdad true cuando ambos operandos tienen valor de verdad true; en cualquier otro caso el resultado tendrá un valor de verdad false. Sintaxis: ( A = 5 ) Y ( B = 3 )

OR (O): produce un resultado con un valor de falso cuando ambos operadores tienen valores falsos; en cualquier otro caso el resultado tendrá un valor verdadero. Sintaxis:  ( A = 5 ) O ( B = 7 )

NOT (No): invierte el valor de verdad de operando. Sintaxis: NO ( A = 6)

Ejemplos:

1.- Programa que cuenta la cantidad de vocales en una oración ingresada.
Código:


























Compilación:




















2.-Programa que permite el ingreso de un número del 1 al 9 y genere su tabla de multiplicar.
código:























Compilación:




















3.- Programa que compara dos números ingresados.
Código:
Compilación:

Aplica Tus Conocimientos