miércoles, 18 de noviembre de 2015

PROGRAMAS + LINK DE DESCARGA



1) Datos de una persona (ESTRCUTURAS)
2) Datos personales (PUNTEROS)
5) Pila
6) Cola

MODO GRAFICO DEV C++

DESCARGAS:
-DEV C+++
-WINBGIM

La librería winbgim.h a sido creada originalmente por Konstantin Knizhnik's winbgi shareware  y posteriormente modificada por Mark Richardson  y Michael Main, esta librería tiene como objetivo emular la librería graphics.h de Borland C++ y facilitar algunas funciones del Mouse. La ventaja de esta librería es que nos permite crear aplicaciones gráficas con compiladores GNU tales como el ambiente de desarrollo Dev C++ de la misma manera como se crean en el compilador comercial Borland C++.

Originalmente el autor nos ofrecía una colección de archivos que se debían ubicar en carpetas especiales e incluir ciertos comandos al la configuración del linker y del compilador, esta operación tenia cierta  complejidad y para muchos se convirtió en un dolor de cabeza.
Con el fin de facilitar el uso de esta librería me tome la libertad de realizar un instalador para la versión 4.9.9.2 del Dev C++ que realiza todas las configuraciones necesarias.
Ahora cada ves que queramos realizar un programa con soporte para gráficos solo es necesario seguir los siguientes pasos:


     1 - Crear un nuevo proyecto
     2 -  Seleccionar una aplicación de consola con gráficos



Esta librería no solo soporta los 16 colores de la librería graphics.h de Borland  mediante las constantes BLACK BLUE GREEN CYAN RED MAGENTA BROWN LIGHTGRAY DARKGRAY LIGHTBLUE LIGHTGREEN LIGHTCYAN LIGHTRED LIGHTMAGENTA YELLOW WHITE
sino que es posible usar colores rgb, lo cual nos da   al rededor de 16 millones de colores incrustando el macro “COLOR(r,g,b)” en donde originalmente estaría el indicado el color.

El resto de las funciones gráficas funcionan igual que en la librería original graphics.h y pueden encontrarse  en la ayuda del Turbo C++ de Borland o e cualquier manual de este mismo.

Funciones  principales de la librería winbgim.h


FunciónTarea
void circle (int x, int y, int radius);Dibuja un circulo en x,y de radio radius
void cleardevice (void);Borra la pantalla
void line (int x1, int y1, int x2, int y2);Traza una línea desde x1,y1 hasta x2,y2
void lineto (int x, int y)Traza una línea desde la posición actual de cursor hasta  x,y
void putpixel (int x, int y, int color);Dibuja un pixel en x,y de color color
void rectangle (int left, int top, int right, int bottom);Dibuja un rectangulo de esquenas top,left y right,bottom
void setcolor (int color);Establece el color actual.
int mousex(void)Retorna la coordenada x del Mouse relativa a la esquina superior izquierda
int mousey(void)Retorna la coordenada y del Mouse relativa a la esquina superior izquierda

martes, 17 de noviembre de 2015

CORRECCION DE LA EVALUACION BLOQUE #1

1) Determina el valor que obtendra la variable

int A;
A=5;
A=A+7;
A=A-10;
A=A^2:
=4 

int A;
int B;
A=1;
B=2;
A=A+B;
=3

int X;
int y;
x=3;
y=x
y=x+3
error

int A;
int B;
B=12;
A=B+1;
A=B-7;
A=A*A;
=25

int x;
int y;
X=2;
Y=X+6;
X=X+1;
Y=X-5;
=-2

int hola;
int NO_SE :
int OTRA;
HOLA =2;
NO_SE=12;
OTRA=HOLA+NO_SE;
NO_SE=HOLA+NO_SE:
HOLA=NO_SE+OTRA;
=28

int A;
int B;
A=0;
B=5;
B=a+B;
B=A;
=error

int A;
int B;
int C;
A=1;
B=A-1;
B=C-B;
= basura

2.- Definir cuál será la salida en pantalla del siguiente código en C++ si la cadena ingresada es (1, 2,        3, 4, 5, 6,  7, 8, 9, 0).
 
#include <conio.h>
#include <stdio.h>
char ced[9];
char *ptrced;
main()
{
printf("Ingrse el numero de ced\n");
gets(ced);
printf("%s\n",ced);
for(int i=0;i<10;i++)
{
ptrced=&ced[i];
//printf("\n%p\n",&ptrced);
printf("\n%d\n",*ptrced);
}
getch();
}

El programa realizara un casting e imprimirá en pantalla números desde el 49 hasta el 48.





















3.- Encierre la letra de la respuesta correcta a la pregunta.

¿Qué es una matriz?
·         Es una zona de almacenamiento de memoria contigua.

¿Qué es un puntero?
·         Ninguna de las anteriores.

¿Qué es una estructura dinámica?
·         Son estructuras que cuya dimensión puede crecer o disminuir durante la ejecución del programa.

¿Qué es una lista?
·         Es una estructura de datos que nos permiten agrupar elementos de una manera organizada.

¿Qué es una pila?

·         Es un tipo de lista en la que se puede insertar o eliminar nodos en uno de sus extremos.

LIBRERIAS EN C



¿Que son las librerías?

En C++, se conoce como librerías (o bibliotecas) a cierto tipo de archivos que podemos importar o incluir en nuestro programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables que podremos agregar a nuestro programa, como por ejemplo leer del teclado o mostrar algo por pantalla entre muchas otras más.

Librerías en c

Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas mas comúnmente librerías. Las bibliotecas contienen el código objeto de muchos programas que permiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar números, realizar funciones matemáticas, etc. Las bibliotecas están clasificadas por el tipo de trabajos que hacen, hay bibliotecas de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos y como imaginarás existen muchísimas librerías disponibles y todas con una función especifica.

Sintaxis para declarar Librerías en C++

La declaración de librerías, tanto en C como en C++, se debe hacer al principio de todo nuestro código, antes de la declaración de cualquier función o línea de código, debemos indicarle al compilador que librerías usar, para el saber que términos estaran correctos en la escritura de nuestro código y cuáles no. La sintaxis es la siguiente: #include <nombre de la librería> o alternativamente #include "nombre de la librería". Cualquiera de las 2 formas es válida en C++ (no estoy seguro si en C sea válido), ten en cuenta que siempre el nombre de la librería debe ir entre " y " o entre < y >. En tu código puedes declarar todas las librerías que quieras aunque en realidad no tienen sentido declarar una librería que no vas a usar en tu programa, sin embargo no existe límite para esto.

¿Cómo declarar una librería en C++?


Veamos a continuación como se haría la declaración de unas cuantas librerías conocidas, recuerda que ese pueden declarar todas las librerías necesarias y siempre debe hacerse al comienzo del código fuente

#include "iostream"
#include "string"
#include <math.h>
#include <conio.h>

using namespace std;
Ejemplo librerías en C++


En el siguiente ejemplo veremos el uso de la librería stdlib.h que posee una gran variedad de funcionalidades, para este ejemplo usaremos la función rand que nos permite generar un número aleatorio.

#include <stdlib.h>
#include <iostream>

using namespace std;

int main ()
{
    cout << ("Se va a generar un numero aleatorio ....\n");
    cout << ("El numero generado es : ");
    cout << rand(); //Se genera el número con rand y se muestra en pantalla
    return 0;
}


PUNTEROS EN C


Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función. Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinamicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.

Muchas de las funciones estandares de C, trabajan con punteros, como es el caso del scanf o strcpy. Estas reciben o devuelve un valor que es un puntero. Por Ej. A scanf se le pasa la dirección de memoria del dato a leer (esto es un puntero)...

char a;
scanf ("%c",&a);

Declarando punteros

Ya se dijo que un puntero es una variable que guarda la dirección de memoria de otra variable, haciendo logica a esto, decimos que un puntero se declara igual que cualquier otra variable, pero anteponiendo un * (asterisco) antes del nombre de la variable.

Su sintaxis seria:

tipo *NombrePuntero;

Donde tipo es el tipo de dato al que referenciará este puntero, es decir, que si se necesita guardar la dirección de memoria de un dato int, se necesita un puntero de tipo int.

Ejemplos

#include <stdio.h>

int main()
{
int a=0; //Declaración de variable entera de tipo entero
int *puntero; //Declaración de variable puntero de tipo entero
puntero = &a; //Asignación de la dirección memoria de a

printf("El valor de a es: %d. \nEl valor de *puntero es: %d. \n",a,*puntero);
printf("La direccion de memoria de *puntero es: %p",puntero);

return 0;
}





ESTRUCTURAS ESTÁTICAS EN C



Son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa.
Estas estructuras están implementadas en casi todos los lenguajes.
Su principal característica es que ocupan solo una casilla de memoria, por lo tanto una variable simple  hace referencia a un único valor a la vez, dentro de este grupo  de datos se encuentra:

  a) Enteros
  b) Reales
  c) Caracteres
  d) Boléanos
  e) Enumerados
  f) Subrangos

No tienen las limitaciones o restricciones en el tamaño de memoria ocupada que son propias de las estructuras estáticas.
Mediante el uso de un tipo de datos especifico, denominado puntero, es posible construir estructuras de datos dinámicas que no son soportadas por la mayoría de los lenguajes, pero que en aquellos que si tienen estas características ofrecen soluciones eficaces y efectivas en la solución de problemas complejos.
Se caracteriza por el hecho de que con un nombre se hace referencia a un grupo de casillas de memoria.  
Es decir un dato estructurado tiene varios componentes.

CLASIFICACIÓN DE LAS ESTRUCTURAS DE DATOS:

ESTRUCTURAS DE DATOS ESTÁTICAS

   1.- Simples o primíticas

       a) Boolean
       b) Char
       c) Integer  
       d) Real

   2.- Compuestas

       a) Arreglos
       b) Conjuntos
       c) Strings
       d) Registros
       e) Archivos

ESTRUCTURA DE DATOS DINAMICAS

   1.- Lineales

       a) Pila 
       b) Cola
       c) Lista

   2.- No lineales
 
       a) Árboles
       b) Grafos

DIFERENCIAS ENTRE C Y C++

1.- En C++ todas las funciones deben estar en forma de prototipo, en C los prototipos se recomiendan, pero son opcionales.

2.- En C++ el programa está compuesto de "trozos" interrelacionados. Estos trozos se puede aprovechar de unos programas a otros, mientras que en C, casi cada programa debe ser escrito desde cero.

3.- En C cuando una función no toma parámetros, su prototipo tiene la palabra void. sin embargo en C++ void no es necesario en este caso se diría que es opcional.

     - En C:
       char f1(void);

     - En C++:
       C++: char f1();

4.- En C++ el programa está compuesto de "trozos" interrelacionados. Estos trozos se puede aprovechar de unos programas a otros, mientras que en C, casi cada programa debe ser escrito desde cero.

5.- Si una función de C++ es declarada para devolver un valor obligatoriamente la sentencia return debe devolver un valor, en C no es necesario que se devuelva.

6.- Las variables locales en C deben ser declaradas solo al principio del bloque mientras que en C++ las variables se pueden declarar en cualquier punto. aunque es conveniente realizarlo siempre al comienzo de la función.


you dont have class