Sei sulla pagina 1di 12

Redes punto a punto.

Las redes punto a punto son aquellas que responden


a un tipo de arquitectura de red en las que cada canal
de datos se usa para comunicar nicamente dos
nodos, en contraposicin a las redes multipunto, en
las cuales cada canal de datos se puede usar para
comunicarse con diversos modos.

Generales
En una red punto a punto, los dispositivos en red actan como socios iguales, o
pares entre s. Como pares, cada dispositivo puede tomar el rol de esclavo o la
funcin de maestro. Las redes punto a punto son relativamente fciles de instalar y
operar. A medida que las redes crecen, las relaciones punto a punto se vuelven
ms difciles de coordinar y operar. Su eficiencia decrece rpidamente a medida
que la cantidad de dispositivos en la red aumenta.
Qu es el hosting, o alojamiento, o alojamiento web?
El hosting es un servicio al que puedes
asociar tu dominio. Si tienes un dominio, lo
ms probable es que lo quieras para tener
una pgina web, o para tener cuentas de
correo bajo tu propio dominio.
El hosting es exactamente eso, son esos
servicios que vas a necesitar si quieres
tener tu web y tu correo.
De manera ms concreta, podramos decir que el hosting es tener espacio en el
disco duro de un servidor, que est preparado con los programas necesarios para
que puedas subir a ese espacio tu web y tener en ese espacio tus correos.

Servidor Web.

Es un programa que gestiona


cualquier aplicacin en el lado del
servidor realizando conexiones
bidireccionales y/o unidireccionales y
sncronas o asncronas con el cliente
generando una respuesta en cualquier
lenguaje o aplicacin en el lado del cliente.
El cdigo recibido por el cliente suele ser
compilado y ejecutado por un Navegador Web. Para la transmisin de todos estos
datos se utiliza algn protocolo. Generalmente se utiliza el protocolo HTTP para
estas comunicaciones, perteneciente a la capa de aplicacin del Modelo OSI. El
trmino tambin se emplea para referirse al ordenador que ejecuta el programa.
QU ES DHTIC?

DHTIC es la abreviatura de Desarrollo de


Habilidades en el Uso de las Tecnologas de la
Informacin y la Comunicacin, la es una
asignatura de la Facultad de Ciencias de la
Computacin de la Benemrita Universidad
Autnoma de Puebla perteneciente a los ejes
transversales, la cual tiene por objetivo "que el
estudiante aprenda a identificar, recabar,
seleccionar, evaluar, utilizar tica y crticamente la
informacin, as como a interactuar en
comunidades virtuales, haciendo uso efectivo de las TIC, para potenciar su
desempeo acadmico y profesional", adems de "desarrollar en los universitarios
habilidades en el uso efectivo de la informacin y las nuevas tecnologas de
cmputo y comunicacin, que les faciliten el acceso, la generacin y la difusin del
conocimiento."

Qu es el DNS?
DNS, abreviatura del ingls que significa
servicio de nombres de dominio, permite
controlar la configuracin de correo electrnico
y sitio web de tu nombre de dominio. Cuando
los visitantes van a tu nombre de dominio, la
configuracin de DNS controla a cul servidor
de la empresa se dirigen.
Por ejemplo, si utilizas la configuracin de DNS de GoDaddy, los visitantes
llegarn a los servidores de GoDaddy cuando utilicen tu nombre de dominio. Si
quieres cambiar esa configuracin para usar los servidores de otra empresa, las
visitas irn a ellos en lugar de a nosotros cuando visiten tu dominio.

Lo que veo es mucho ms complejo que eso...

El DNS puede ser confuso. Est conformado por numerosos elementos distintos
que controlan diferentes aspectos de tu nombre de dominio. A continuacin se
incluye una explicacin de cada uno:

Que es un proxy?
La palabra proxy significa intermediario en ingls. Un proxy es un programa o
dispositivo que realiza una tarea de acceso a Internet en lugar de otro ordenador.
Un proxy es un punto intermedio entre un ordenador conectado a Internet y el
servidor que est accediendo. Cuando navegamos a travs de un proxy, nosotros
en realidad no estamos accediendo directamente al servidor, sino que realizamos
una solicitud sobre el proxy y es ste quien se conecta con el servidor que
queremos acceder y nos devuelve el resultado de la solicitud, ej: Una hipottica
mquina A solicita un recurso a una C, lo har
mediante una peticin a B
(proxy); C entonces no sabr que la peticin
procedi originalmente de A.

Qu es un VPN?

Un VPN (Virtual Private Network) te permite


crear una conexin segura a otra red a travs
del Internet. Cuando conectas cualquier
dispositivo a un VPN, este acta como si
estuviese en la misma red que la que tiene el
VPN y todo el trfico de datos se enva de
forma segura a travs del VPN.
Esto quiere decir que puedes usar el Internet
como si estuvieses presente en la regin que tiene la red del VPN, lo que te viene
muy bien si necesitas acceso a contenido que est bloqueado por regin. Por
ejemplo, si quieres entrar a mirar el catlogo de un servicio exclusivo de un pas
concreto, con un VPN puedes hacerlo, porque una vez que entras con la conexin
enmascarada, dicho servicio slo ver que te ests conectando desde ese pas,
aunque en realidad no sea as.

W3C
W3C son las siglas de World Wide Web Consortium , y es una comunidad
internacional donde los estados miembros trabajan para poder
desarrollar estndares para el desarrollo web y asi ayudar a un mejor desarrollo de
el Internet a nivel mundial.
W3C es reconocido a nivel mundial por ser
la organizacin encargada de estandarizar El
Lenguaje de Marcado de Hipertexto o mejor conocido
como HTML , el cual es utilizado para el diseo y
desarrollo de sitios web, dicho estndar inicio en el
ao de 1994 (es importante aclarar que antes de que
W3C trabajara en HTML ya otras
organizaciones haban desarrollado versiones
previas).
Ciclos While

Los ciclos while son tambin una estructura cclica, que nos permite ejecutar una o
varias lneas de cdigo de manera repetitiva sin necesidad de tener un valor inicial
e incluso a veces sin siquiera conocer cuando se va a dar el valor final que
esperamos, los ciclos while, no dependen directamente de valores numricos, sino
de valores booleanos, es decir su ejecucin depende del valor de verdad de una
condicin dada, verdadera o falso, nada ms. De este modo los ciclos while, son
mucho ms efectivos para condiciones indeterminadas, que no conocemos
cuando se van a dar a diferencia de los ciclos for, con los cuales se debe tener
claro un principio, un final y un tamao de paso.

Cmo funciona un Ciclo While?


Para comprender mejor el funcionamiento del ciclo while, pongamos un buen
ejemplo, imaginemos que por algn motivo, queremos pedirle a un usuario una
serie de nmeros cualquiera y que solo dejaremos de hacerlo cuando el usuario
ingrese un nmero mayor a 100. Como vemos, aqu no podramos utilizar un ciclo
for, pues no tenemos ni idea de cundo al usuario se le va a ocurrir ingresar un
nmero mayor que 100, es algo indeterminado para nosotros, sin embargo el ciclo
while nos permite ejecutar una accin de forma infinita hasta que se cumpla
alguna condicin especifica, en nuestro caso sera que el numero ingresado sea
mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los
siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara,
pues ninguno de estos nmeros es mayor que 100, sin embargo si nos ingresara
el numero 300, el programa finalizara inmediatamente.

Sintaxis del Ciclo While en C++:


La sintaxis de un ciclo while es incluso ms simple y "legible" que la del ciclo for en
C++, pues simplemente requerimos tener clara una condicin de parada. En
realidad, en la mayora de los lenguajes de alto nivel la manera de escribir un ciclo
while (la sintxis) es incluso muy similar, as que con tan solo tener bien clara una
condicin de finalizacin para el ciclo tendremos prcticamente todo hecho.

while(condicin de finalizacin) //por ejemplo numero == 100


{
....
....
Bloque de Instrucciones....
....
....
}
Ejemplos de Ciclo While en C++

Ejemplo 1: Pedir nmeros por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro
programa le pida a un usuario una serie de nmeros cualquiera y que solo
dejaremos de hacerlo cuando el usuario ingrese un nmero mayor a 100, una vez
mas es un ejemplo sencillo con el que nos aseguraremos de haber comprendido
bien todos los conceptos anteriores:

Solucin Ejemplo 1:
Para solucionar esto, debemos tener clara cul va a ser la condicin que se debe
cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va a
detener solo cuando el numero ingresado sea mayor que 100, as que la condicin
para que se siga ejecutando es que el numero sea menor a 100, Comprender la
lgica?, es simple si para que se detenga el numero debe ser mayor a 100,
entonces para seguirse ejecutando el numero debe ser menor o igual a 100,
vemoslo entonces

int numero;
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}

El cdigo funcional completo y un tanto ms amigable para el usuario sera el


siguiente:

#include "iostream"

using namespace std;


int main()
{
int numero;
cout << "Ingrese un numero ";
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
system("PAUSE");
return 0;
}
Ciclo Do While

Los ciclos do-while son una estructura de control cclica, los cuales nos permiten
ejecutar una o varias lneas de cdigo de forma repetitiva sin necesidad de tener
un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor
final, hasta aqu son similares a los ciclos while, sin embargo el ciclo do-while nos
permite aadir cierta ventaja adicional y esta consiste que nos da la posibilidad de
ejecutar primero el bloque de instrucciones antes de evaluar la condicin
necesaria, de este modo los ciclos do-while, son ms efectivos para algunas
situaciones especificas.

Cmo funciona un Ciclo Do-While?


Para comprender mejor el funcionamiento del ciclo while, usemos de nuevo el
ejemplo de la seccin anterior sobre el ciclo while. Imaginemos entonces que por
algn motivo, queremos pedirle a un usuario una serie de nmeros cualquiera y
que solo dejaremos de hacerlo cuando el usuario ingrese un nmero mayor a 100.
Como vimos anteriormente, esto se puede hacer por medio de un ciclo while, pero
vamos ahora a ver como lo podemos hacer usando un ciclo do-while mejorando
as un poco nuestro algoritmo, evitando ciertos comandos, tal como se dijo con el
ciclo while, en efecto aqu estamos en la situacin de no tener ni idea de cundo al
usuario se le va a ocurrir ingresar un nmero mayor que 100, pues es algo
indeterminado para nosotros, sin embargo el ciclo while y en efecto el do-while nos
permite ejecutar cierta accin de forma infinita hasta que se cumpla alguna
condicin especifica, en nuestro caso sera que el numero ingresado sea mayor a
100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes
numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno
de estos nmeros es mayor que 100, sin embargo si nos ingresara el numero 300,
el programa finalizara inmediatamente.

Sintaxis del Ciclo Do-While en C++:


La sintaxis de un ciclo do-while es un tanto ms larga que la del ciclo while en C+
+, sin embargo no se hace ms complicado, de hecho con tan solo tener bien
clara una condicin de finalizacin para el ciclo tendremos prcticamente todo
terminado.

do
{
....
....
Bloque de Instrucciones....
....
....
}
while(condicin de finalizacin); //por ejemplo numero != 23
Ejemplos de Ciclo Do-While en C++
A continuacin vamos a ver unos cuantos ejemplos para comprender de manera
adecuada el uso de los ciclos while en c++, recuerda que si no comprendes
alguno de estos ejemplos o tienes alguna pregunta o sugerencia sobre estos o
cualquier contenido de la seccin, puedes dejarlas en la seccin de comentarios.

Ejemplo 1: Pedir nmeros por pantalla hasta que alguno sea mayor a 100
Vamos a retomar el ejemplo anterior, donde queremos hacer que nuestro
programa le pida a un usuario una serie de nmeros cualquiera y que solo
dejaremos de hacerlo cuando el usuario ingrese un nmero mayor a 100, una vez
mas es un ejemplo sencillo con el que nos aseguraremos de haber comprendido
bien todos los conceptos anteriores, vamos a ver cmo hacer lo mismo con dos
tipos de ciclos diferentes (el while y el do-while), sin embargo vamos a ver como
con uno es ms eficiente que con el otro:

Solucin Ejemplo 1:
Para solucionar esto, debemos tener clara cul va a ser la condicin que se debe
cumplir para que el ciclo este pidiendo el numero contantemente, el ciclo se va a
detener solo cuando el numero ingresado sea mayor que 100, as que la condicin
para que se siga ejecutando es que el numero sea menor a 100, Comprender la
lgica?, es simple si para que se detenga el numero debe ser mayor a 100,
entonces para seguirse ejecutando el numero debe ser menor o igual a 100,
vemoslo entonces

int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);

El cdigo funcional completo y un tanto ms amigable para el usuario sera el


siguiente:

#include "iostream"

using namespace std;


int main()
{
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
system("PAUSE");
return 0;
}

Usos de printf() y scanf()

La funcion PRINTF() se usa para la salida; en forma similar, la funcion SCANF() se


usa para la entrada. En sentido tecnico, estas funciones no son parte del lenguaje
C, sino del sistema C; residen en una biblioteca estandar y estan disponibles para
usarlas donde quiera que haya un sistema C. Ambas funciones tienen una lista de
parametros con dos partes:

string_de_control y lista_de_argumentos

La primera es un string y puede contener especificaciones de conversion o


formatos. Una especificacion de conversion se inicia con un caracter % y termina
con un caracter de conversion; por ejemplo, en el formato %d la letra d es el
caracter de conversion y permite imprimir el valor de una expresion como un
entero decimal. Para imprimir las letras ABC en la pantalla, podria usarse la
proposicin

printf("ABC");

Otra manera de hacer esto es mediante la proposicin


printf("%s", "ABC");

El formato %s hace que el argumento "ABC" se imprima en el formato de un string


de caracteres. Esto mismo puede realizarse tambien con la proposicin
printf("%c%c%c", 'A', 'B', 'C');

Los apostrofos que encierran cada letra se emplean para designar constantes de
caracteres; de acuerdo con esto, `A` es la constante de caracter que corresponde
a la letra A mayuscula. El formato %c imprime el valor de una expresion como un
caracter. Por ejemplo

char c1, c2, c3;

c1 = 'A';
c2 = 'B';
c3 = 'C';
printf("%c%c%c", c1, c2, c3);
imprimira de nuevo las letras ABC en la pantalla.

Ahora veamos los caracteres de conversion:


c caracter
d decimal
e nmero de punto flotante en notacin cientfica
f nmero de punto flotante
g en el formato-e o el formato-f, el que sea ms corto
s string

La funcion scanf() es analoga a la funcion printf(), pero se usa para la entrada. Su


primer argumento es un string de control con formatos que corresponden a las
diferentes formas en que pueden interpretarse los caracteres en la entrada como
valores para los diferentes tipos de variables. La lista de argumentos esta formada
por DIRECCIONES de variables. El simbolo & representa al operador de direccion;
por ejemplo, la proposicin

scanf("%d", &x);

contiene el formato %d, el cual provoca que scanf() interprete los caracteres de
entrada como un entero decimal y que coloque el valor en la direccion x. La
funcion scanf() puede usarse para convertir cadenas de digitos decimales en
valores enteros y almacenarlos en el lugar apropiado.

Ahora veamos los caracteres de conversion:


c caracter
d decimal
f nmero de punto flotante (float)
lf numero de punto flotante (double)
s cadena de caracteres (string)

Buenas Prcticas de Programacin


A continuacin, una lista de prcticas que se consideran recomendables al
momento de programar.

Escribe tus programas lo ms simple y directo posible. Keep it simple.

Si trabajas con un compilador, ajusta sus opciones para que arroje la mayor
cantidad de errores y advertencias posibles al compilar, de ese modo, tu
aplicacin tendr menores chances de obtener errores aleatorios. En base a lo
anterior, revisa cada mensaje para tomar las medidas pertinentes.

Todo programa debe ser previamente comentado, explicando el propsito,


funcionamiento completo y el resultado esperado.
Dentro de las funciones definidas, establece un espaciado o indentacin,
que resalte la estructura funcional de la aplicacin y facilite la lectura al
programador al que le corresponda analizar el cdigo.

Por lo general, se usa un nivel de indentacin por cada bloque de cdigo


(sentencias condicionales y bucles son consideradas como bloques de cdigo
embebido dentro de otro, por lo que se recomienda la indentacin), sta
indentacin corresponde a una sangra que comnmente tiene el valor de una
tabulacin (tecla Tab) o bien tres o cuatro espacios.

Es importante que el tamao de las sangras sean regulares (consistentes)


y no varen a lo largo del cdigo, es decir, si el primer bloque ocupa como
indentacin una tabulacin, el resto de bloques deben ser indentados con una
tabulacin adicional por cada nivel, con eso se facilita la lectura en cualquier
editor de cdigo.

Se recomienda declarar variables en lneas separadas, ya que se facilita la


descripcin de cada variable mediante comentarios.

Poner un espacio despus de cada coma(,) facilita la legibilidad del cdigo.

No uses variables cuyo nombre no posea algn significado descriptivo, una


variable con nombres significativos permite al lector entender el contexto del
cdigo y permite disminuir la cantidad de documentacin asociada, puesto que
con un cdigo legible y nombres significativos, el cdigo se ve auto
documentado. Por ejemplo, una variable llamada cantidad_recursos, tiene ms
significado que una variable llamada c.

Se consistente al momento de utilizar un estndar para nombres largos,


puedes usar el estndar usado en C ("nombre_largo"), o bien el utilizado en
Java, llamado
CamelCase("nombre","VariableNombreLargo","Clase","ClaseNombreLargo").

Evita el cdigo commented-out, que corresponde al cdigo comentado para


que no se ejecute/no compile, ya que la lectura del cdigo se vuelve engorrosa.
Comenta cuando sea justo y necesario, usa los comentarios dentro de las
funciones para describir las variables (slo cuando su utilidad sea
potencialmente dudosa) y cuando existan bloques de cdigo difciles de
entender a primera vista; el exceso de comentarios vuelve ilegible el cdigo.

Se recomienda como buena costumbre, aadir al inicio de cada funcin, un


bloque de comentarios que expliquen el comportamiento general de la funcin,
de modo que se pueda entender a grosso modo que es lo que hace, o se
espera que haga, as se facilita la bsqueda de errores, y se evita el anlisis
innecesario en una gran cantidad de casos.

Es altamente recomendada la definicin de variables locales al inicio de la


implementacin de cada funcin, como un bloque de cdigo bien separado del
bloque que contenga las instrucciones ejecutables, sta separacin puede
consistir en una linea en blanco, o bien un comentario que denote la utilidad de
cada bloque.

En caso de usar operadores binarios (por ejemplo +, -, &&, ||, entre otros)
se recomienda poner espacio a los extremos de cada operador, de modo que
se resalte su presencia y se facilite la lectura del cdigo.

Se recomienda en algunas operaciones complejas, hacer uso de parntesis


redundantes o innecesarios que sirven para poder agrupar expresiones dentro
de tales operaciones.

Evita la incorporacin de ms de una instruccin por lnea. sto reduce


notoriamente la legibilidad del cdigo, ya que el programador habitualmente
est acostumbrado a leer una instruccin por lnea.

Si el cdigo soporta la separacin de sentencias en varias lineas, procura


realizar una separacin coherente, en el que cada punto de ruptura tenga
sentido.

Si una instruccin abarca ms de una linea, recuerda realizar la indentacin


necesaria.
Cuando escribas operaciones que hagan uso de muchos operadores,
procura revisar que las operaciones se estn realizando en el orden que tu
esperas que se realicen, muchas veces el lenguaje tiene otra forma de asimilar
la precedencia, por lo que el resultado real vara con respecto al esperado, en
general, se recomienda forzar la precedencia de operaciones haciendo uso de
parntesis.

Si el lenguaje soporta llaves({}) para la separacin de bloques, es altamente


recomendado usarlas, ello facilita el proceso de distincin de bloques de
cdigo en forma rpida, permitiendo identificar y reparar errores en el cdigo
con menos dificultad.

Si deseas evitar omitir una llave, abre y cierra el bloque de cdigo que
deseas crear, y luego introduce cdigo dentro del bloque, con eso te aseguras
la victoria.

Nunca olvides inicializar los contadores y sumadores.

Potrebbero piacerti anche