lunes, 18 de enero de 2016

Variables globales y locales

Objetivo: Reconocer mediante un programa las variables locales y globales para saber como se utiliza cada una de estas variables en los programas.
Teoría:
Las variables globales son las que se declaran fuera del main y sin estar dentro de alguna función estas se pueden utilizar en todo el programa sin que se dañe, si estas variables se las cambian a locales y se las mueva a un sitio que no corresponde el programa pueda que no corra.
Las variables locales
son las que se declaran para utilizar solo dentro del main o dentro de alguna funcion si estas variables se las hace globales igual corre el programa

Saber como se utiliza la libreria #define

Objetivo: Hacer un programa que nos demuestre lo que hemos aprendido sobre esta función define, que no es nada mas que un numero constante que nunca cambara dentro del programa, anteriormente se encontrara la consulta sobre esta función.

Funcion int(int)

Objetivo: Como ya hemosvisto las funciones void que es la que no nos retorna nada pero hacer algo, la float que retorna un numero flotante, nos toca hacer la int esta nos devuelve un numero entero.

Ejemplo de funcion float(int)

Objetivo: Realizar una función que reciba nuemeros  flotantes y nos retornara un numero flotante el cual sera la respuesta.

Ejemplo de funciones void(void)

Funciones void (void);

Objetivo: Saber para que sirve cada una de las funciones as cuales podemos crear en este caso podemos hacer una función void (void)

Biblioteca

Objetivo: Realizar el programa de una simulación de una biblioteca aplicando todo lo aprendido hasta el momento en la materia

Ejemplo del SWITCH

Objetivo: Realizar el ejemplo de lo que hemos consultado para saber nuestro nivel de entendimiento.

Investigación sobre el switch

Objetivo: Saber cual es la función del switch en el c++ para poder aplicarlo en los programas que podamos hacer a un futuro y saberlo utilizar correctamente.

El cuerpo de la instrucción switch consta de una serie de etiquetas case y una etiqueta opcional default.Ninguna de la dos expresiones constantes en las instrucciones case se puede evaluar en el mismo valor.La etiqueta default solo puede aparecer una vez.Las instrucciones con etiquetas no son requisitos sintácticos, pero la instrucción switch no tiene sentido sin ellas. La instrucción predeterminada no necesita estar al final; puede aparecer en cualquier parte del cuerpo de la instrucción switch.Una etiqueta case o default solo puede aparecer en una instrucción switch.
El elemento constant-expression de cada etiqueta case se convierte al tipo de expression y se compara con expression para determinar si son iguales.El control pasa a la instrucción que tenga el mismo valor en case constant-expression que en expression.El comportamiento resultante se muestra en la siguiente tabla.


Ejemplo:
// switch_statement1.cpp
#include <stdio.h>

int main() {
   char *buffer = "Any character stream";
   int capa, lettera, nota;
   char c;
   capa = lettera = nota = 0;

   while ( c = *buffer++ )   // Walks buffer until NULL
   {
      switch ( c )
      {
         case 'A':
            capa++;
            break;
         case 'a':
            lettera++;
            break;
         default:
            nota++;
      }
   }
   printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n",
      capa, lettera, (capa + lettera + nota) );
Bibliográfia: c.conclase.net/curso/?cap=005c 
}

Juego millonario (numero randomico)

Objetivo: Aplicar en un juego lo aprendido sobre el numero randomico y saber como puede servir en la vida como unos programadores esta funcion

Ejercicio del numero randomico

Objetivo: Realizar este ejercicio con el fin de saber la función y a demás saber cual fue nuestra capacidad de consultar para poder realizar este ejercicio

Concsulta del nuemero randomico

Objetivo:Realizar la consulta sobre el numero randomico para así saber cual es su función y como nos puede servir dentro de nuestros programas

Para quienes necesiten saber como realizar o utilizar los numeros aleatorios en C o C++ aqui les dejo un manual que hice hace un tiempo, para quienes no sepan, con esta funcion ustedes podran ahorrase el testeo de sus aplicaciones o el llenado de variables, vectores, matrices, etc, simplemente llamando a esta funcion y se almacenaran los valores que puedan predefinir, y si deseas almacenar ascii es cosa de convertir el numero a char con un casting (eso es otra cosa). 

Librerias
En C: 

stdlib.h 

time.h 

En C++: 

time 

Nota: no se deben omitir las librerías básicas de c y c++. 

Una vez declaradas las librerías, las funciones que se deben implementar dentro de cada método son las siguientes: 

srand(time(NULL)); 

Este debe ir al comienzo de cada método, después de la declaración de las variables locales, su función es inicializar la semilla time en 0. 

La ventaja de hacer esto es que evitamos que se repita alguna secuencia en las distintas ejecuciones o llamadas de nuestro programa. 

Requiere la librería time o time.h 

Para asignar el numero aleatorio a una variable o a un vector se utiliza lo siguiente: 

rand() 

Esta semilla por si sola retorna números entre 
0 y 2.147.483.647. 

Si deseamos restringir la cantidad de numero de retorne el rand debemos hacer lo siguiente: 

Para retornar números entre 0 y 100: 
rand()%101; 

Para retornar números entre 10 y 100: 
10+(rand()%91); 

así las distintas aplicaciones matemáticas que se pueden crear para retornar los números necesarios. 

Para utilizar el rand(); debemos utilizarlo de la misma forma como asignamos un valor a una variable. 

Si deseamos asignarle a Y (variable) o a V (vector) un numero aleatorio solo debemos hacer: 

Almacenar con numeros cualquiera 
Y=rand(); o V=rand(); 

Numeros de 0 a 100 
Y=rand()%101; o V=rand()%101; 

Numeros de 10 a 100 
Y=10+(rand()%91); o V=10+(rand()%91); 

Lo mismo seria para las matrices. 

Ejemplos en C 
Ejemplo en C++ 

Cualquier duda comenten o envien un MP 

Espero les sea de utilidad... 


A Pedido del Publico, les dejo unos ejemplos: 

/* Codigo que llena un vector, una matriz y asigna una variable con numeros aleatorios en C 
//Solo les dejo las librerias y funciones necesarias 
Bibliografia: https://es.answers.yahoo.com/question/index?qid

miércoles, 6 de enero de 2016

Variable constante

Objetivo:Realizar la investigación para ver para que sirve esta función para aplicarlo en cada uno de nuestros programas y podamos sacarlos de una mejor manera.

Variables constantes

Una variable declarada const no se puede cambiar, es decir, es una constante. No obstante, la palabra const sólo se tiene en cuenta durante el tiempo de compilación. El compilador emite un error cuando encuentra una instrucción que quiere asignar un valor a una constante, pero físicamente el valor de una constante puede estar guardado en la memoria RAM y cuesta poco asignar otro valor a esta posición mediante un uso malintencionado de punteros y casts.
Cuando un compilador optimiza el código ejecutable, entonces puede optar por noleer el valor de la memoria sino incrustarlo directamente en las instrucciones del procesador. Así es posible que el valor en la memoria RAM cambie pero el programa sigue con el valor que el compilador determinó durante la compilación. No obstante, la dirección de la constante sigue siendo válida aunque el ejecutable no lee de ahí.
Tener una representación física en la memoria es lo que distingue una variable declarada const de constantes definidas por enum o #define. Es decir, puedo hacer esto
const int c = 5;
const int* p = &c;  // p apunta a la dirección de c. *p vale 5.
pero no puede hacer esto
enum { CONSTANTE_ENUM };
const enum* pe = &CONSTANTE_ENUM // Error de compilación
Esto es porque una constante de enum sola no tiene tipo sino sólo representa unvalor. Lo que convierte un enum en un tipo es el conjunto de los valores de que está formado.
La cosa es aún más complicada con los #define. Es una directiva del preprocesador que reemplaza un texto por otro antes de que el código llegue al compilador. Quiere decir, los nombres de las macros definido por #define no existen para el compilador.
#define CONSTANTE 5
int a = CONSTANTE;  // El compilador ve "int a = 5".
Bibliografia: 
https://trucosinformaticos.wordpress.com/2010/05/02/como-usar-const-en-c/