PROGRAMA QUE INVIERTE LA PALABRA, NOS INDICA LA CANTIDAD DE VOCALES, CONSONANTES Y SI ES PALINDROMA O NO.
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
char cadena[70];
void reversa(char *);
int i,j,k,l,aux=0;
int voc=0;
int cons=0;
int tam;
clrscr();
cout<<"ESCRIBA UNA PALABRA:\n"<<endl;
gets(cadena);
cout<<"\nLA PALABRA INVERTIDA ES:\n"<<endl;
reversa(cadena);
tam=strlen(cadena);
j=0;
l=0;
for(l=0;l<tam;l++){
if ((cadena[l]=='a') ||(cadena[l]=='A') ||(cadena[l]=='e') ||(cadena[l]=='E') ||(cadena[l]=='i') ||(cadena[l]=='I') ||(cadena[l]=='o') ||(cadena[l]=='O') ||(cadena[l]=='u') ||(cadena[l]=='U'))
voc++;
}
cout<<"\nLA PALABRA TIENE"<<" "<<voc<<" "<<"VOCALES"<<endl;
cons=tam-voc;
cout<<"LA PALABRA TIENE"<<" "<<cons<<" "<<"CONSONANTES"<<endl;
k=tam-1;
for (i=k;i>=k/2;i--){
if (cadena[i]!=cadena[j]){
aux=1;
i=1;
}else{
aux=0;
}
j++;
}
if (aux==0)
{
cout<<"\nLA PALABRA ES ###PALINDROMA###\n"<<endl;
}else
{
cout<<"LA PALABRA NO ES ###PALINDROMA###\n"<<endl;
}
getch();
}
void reversa(char *s)
{
if(s[0] == '\0')
return;
else
{
reversa(&s[1]);
putchar(s[0]);
}
}
El programa ejecutado con una palabra no palindroma.
El programa ejecutado con una palabra palindroma.
sábado, 2 de octubre de 2010
miércoles, 29 de septiembre de 2010
PROGRAMAS DE BUSQUEDA
EN ESTE EJEMPLO SE REALIZA LA BUSQUEDA DEL PRMEDIO MAS ALTO , EN UNA SERIE DE ALUMNOS, MEDIANTE EL IMPLEMENTO DE ARREGLOS BIDIMENSIONALES
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
char nombre[10][5];
int cal[3][5];
int suma;
float prom[5];
int i,j,k;
float mayor=0,aux;
for(i=0;i<5;i++){
suma=0;
cout<<"Introduze el nombre:"<<endl;
cin>>nombre[i];
for(j=0;j<3;j++){
cout<<"calificacion"<<endl;
cin>>cal[i][j];
suma=suma+cal[i][j];
}
prom[i]=suma/3;
cout<<nombre[i]<<endl;
cout<<"promedio"<<prom[i]<<endl;
}
for(i=0;i<5;i++){
if(prom[i]>=mayor)
{
mayor=prom[i];
aux=i;
}
}
cout<<"el nombre del alumno es:"<<nombre[aux]<<" su promedio es:"<<prom[aux]<<endl;
getch();
}
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
char nombre[10][5];
int cal[3][5];
int suma;
float prom[5];
int i,j,k;
float mayor=0,aux;
for(i=0;i<5;i++){
suma=0;
cout<<"Introduze el nombre:"<<endl;
cin>>nombre[i];
for(j=0;j<3;j++){
cout<<"calificacion"<<endl;
cin>>cal[i][j];
suma=suma+cal[i][j];
}
prom[i]=suma/3;
cout<<nombre[i]<<endl;
cout<<"promedio"<<prom[i]<<endl;
}
for(i=0;i<5;i++){
if(prom[i]>=mayor)
{
mayor=prom[i];
aux=i;
}
}
cout<<"el nombre del alumno es:"<<nombre[aux]<<" su promedio es:"<<prom[aux]<<endl;
getch();
}
PROGRAMAS DE BUSQUEDA
ESTE PROGRAMA NOS EFECTUA UNA BUSQUEDA DE LA CALIFICACION MAYOR A 8 DE UNA SERIE DE ALUMNOS,IMPLEMENTANDO ARREGLOS UNIDIMENSIONALES
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
char nombre[10][5];
int cal[5];
for(int i=0;i<5;i++){
cout<<"Introduze el nombre:"<<endl;
cin>>nombre[i];
cout<<"calificacion"<<endl;
cin>>cal[i];
}
for(int j=0;j<5;j++){
if(cal[j]>=8)
cout<<"Nombre del alumno"<<":"<<nombre[j]<<" su calificacion"<<":"<<cal[j]<<endl;
}
getch();
}
#include<conio.h>
#include<iostream.h>
void main()
{
clrscr();
char nombre[10][5];
int cal[5];
for(int i=0;i<5;i++){
cout<<"Introduze el nombre:"<<endl;
cin>>nombre[i];
cout<<"calificacion"<<endl;
cin>>cal[i];
}
for(int j=0;j<5;j++){
if(cal[j]>=8)
cout<<"Nombre del alumno"<<":"<<nombre[j]<<" su calificacion"<<":"<<cal[j]<<endl;
}
getch();
}
PROMAGRA RECURSIVO
ESTE EJEMPLO NOS IMPRIME UNA CADENA DE CARACTERES MEDIANTE EL USO DE RECUSRIVIDAD
#include <stdio.h>
#include <conio.h>
void main()
{
char enunciado[80];
void reversa(char *);
clrscr();
printf("\n\nEscribe un enunciado:\n");
gets(enunciado);
printf("\n\nEl enunciado al reves:\n");
reversa(enunciado);
getch();
}
void reversa(char *s)
{
if(s[0] == '\0')
return;
else
{
reversa(&s[1]);
putchar(s[0]);
}
}
#include <stdio.h>
#include <conio.h>
void main()
{
char enunciado[80];
void reversa(char *);
clrscr();
printf("\n\nEscribe un enunciado:\n");
gets(enunciado);
printf("\n\nEl enunciado al reves:\n");
reversa(enunciado);
getch();
}
void reversa(char *s)
{
if(s[0] == '\0')
return;
else
{
reversa(&s[1]);
putchar(s[0]);
}
}
PROGRAMA CON FUNCIONES
ESTE EJEMPLO CALCULA EL FACTORIAL
#include <stdio.h>
#include <conio.h>
#include <math.h>
int f(int n)
{
if (n==0)
return 1;
else
return f(n-1)+pow(2,n);
}
int main()
{
clrscr();
int x;
int fac;
printf("ingrese un numero para calcular la funcion: \n");
scanf("%d",&x);
fac=f(x);
printf("%d = %d\n",x,fac);
getch();
return 0;
}
#include <stdio.h>
#include <conio.h>
#include <math.h>
int f(int n)
{
if (n==0)
return 1;
else
return f(n-1)+pow(2,n);
}
int main()
{
clrscr();
int x;
int fac;
printf("ingrese un numero para calcular la funcion: \n");
scanf("%d",&x);
fac=f(x);
printf("%d = %d\n",x,fac);
getch();
return 0;
}
RECORRIDO DE LOS ARBOLES BINARIOS
RECORRIDO EN ARBOLES BINARIOS
Una de las operaciones mas importantes a realizar en un árbol binario es el recorrido de los mismos, recorrer significa visitar los nodos del árbol en forma sistemática, de tal manera que todos los nodos del mismo sean visitados una sola vez.
Existen 3 formas diferentes de efectuar el recorrido y todas ellas de naturaleza recursiva, estas son:
RECORRIDO PREORDEN: En el que se procesa el nodo y después se procesan recursivamente sus hijos.
RECORRIDO POSTORDEN: Donde el nodo dado se procesa después de haber procesado recursivamente a sus hijos.
RECORRIDO INORDEN: En este se procesa recursivamente el hijo izquierdo, luego se procesa el nodo actual y finalmente se procesa recursivamente el hijo derecho.
Hay un último recorrido que implementa a estos 3.
RECORRIDI POR NIVELES: Este recorrido procesa los nodos comenzando en la raíz y avanzando de forma descendente y de izquierda a derecha.
RECORRIDO PREORDEN
- VISITAR LA RAIZ
- RECORRER EL SUBARBOL IZQUIERDO
- RECORRER EL SUBARBOL DERECHO
Recorrido en preorden: consiste en visitar el nodo actual (visitar puede ser simplemente mostrar la clave del nodo por pantalla), y después visitar el subárbol izquierdo y una vez visitado, visitar el subárbol derecho. Es un proceso recursivo por naturaleza.
PREORDEN: A-B-D-E-C-F-G
ALGORITMO
El algoritmo realiza el recorrido preorden en un árbol binario.
NODO es un dato de tipo puntero.
INFO, IZQ y DER son campos del registro nodo.
INFO es una variable de tipo carácter, IZQ y DER son variables de tipo puntero.
- si NODO ≠ NULL
entonces
Visitar el NODO { Escribir NODO^.INFO}
Regresar a PREORDEN con NODO^.IZQ
{Llamada recursiva a preorden con la rama izquierda del nodo en cuestión}
Regresa a PREORDEN con NODO^.DER
{Llamada recursiva a preorden con la rama derecha del nodo en cuestión}
- Fin del condicional del paso I
CODIGO
void preorden(tArbol *a){if (a != NULL) {
Visitar(a); //Realiza una operación en nodo preorden(a->hIzquierdo); preorden(a->hDerecho);}
}
COMO FUNCIONAN LOS BUSCADORES WEB
Los buscadores de antes
Los buscadores anteriores a Google (salvo Altavista), eran directorios de páginas web. Esto significa lo siguiente:
- Tú debías dar de alta tu página web en el directorio del buscador.
- Debías indicar cuales eran las palabras clave por las que deseabas ser encontrado.
- Tú redactabas la definición de tu página web.
... Y cuando alguien buscaba una palabra que estaba incluida en tus palabras clave o en tu definición, el buscador consultaba su lista de páginas web y mostraba tu página.
Cómo funcionan ahora los buscadores
Ahora son índices automáticos de páginas web:
1.- Una araña visita tu página web.
2.- La araña lee el contenido de tu página web.
3.- La araña lleva toda la información a una central, donde un sistema la procesa y la almacena.
4.- El sistema crea un índice con las palabras que utilizas en tu web y las ordena por relevancia. (Ver ejemplo de índice de palabras)
5.- El sistema intenta descubrir si eres una buena página o no (en realidad comprueba cuanta gente recomienda tu web y cuan importante es la gente que recomineda tu web).
6.- Cuando alguien realiza una búsqueda, y el sistema muestra todas las webs que contienen la palabra o frase buscada.
... Y muestra los resultados en función de un algoritmo de ordenación que tiene en cuenta la importancia de la página web y la importancia del término buscado, en esa página web.
Las arañas o robots
Hay muchísimas arañas navegado constantemente por la red. La mayor parte de las que visitan tu web, pertenecen a buscadores. Pero cualquiera puede programar una araña y enviarla por ejemplo, a buscar todos los emails que encuentre, o todas las referencias a un producto determinado, etc.
Controlando las 6 principales arañas de los buscadores, tenemos controladas al 90% de las arañas que nos interesan:
- Google Bot (Google)
- Slurp (Yahoo)
- MSNBot (Microsoft)
- Scooter (Altavista)
- Fast (webs privadas)
- Teoma (Ask Jeeves)
Suscribirse a:
Entradas (Atom)



