viernes, 29 de febrero de 2008
Práctica 1 (Cuestionario)
Lectura, de escritura y ejecución
2. ¿Qué tipos de perfiles de usuario existen?
Dueño, grupo y todos los demás
3. ¿Con qué letra identificamos a un directorio al escribir el comando ls -l?
d
4. ¿Qué permisos están asignados en los siguientes modos?
a) 600
rw- --- ---
b) 514
r-x --x r--
c) 677
rw- rwx rwx
d) 766
rwx rw- rw-
e) 333
-wx -wx -wx
5. ¿Qué modo tiene el archivo en cuyos permisos el dueño sólo puede leer y ejecutar, el grupo sólo modificar y todos los demás leer y ejecutar?
523
6. ¿Qué modo tiene el archivo en cuyos permisos el dueño sólo puede leer, el grupo modificar y ejecutar y todos los demás sólo ejecutar?
431
7. ¿Cuál es la sintáxis del comando chmod?
chmod 777 text.txt
8. ¿Qué hacen los siguientes comandos?
a) cd ..
regresar al home
b) bc
calculadora
c) cd /
ir al disco duro
d) ls -l > lista.txt
crea un archivo con el contenido de lista.txt
e) chmod 606 file.txt
cambias permisos de file.txt
9. ¿Para qué sirve el caracter * (asterisco)?
10. ¿Para qué sirve el comando find?
jueves, 28 de febrero de 2008
SCRIPTS
Un script puede ser hecho en cualquier editor de texto y debe tener en su primer línea lo siguiente.
#!/bin/bash
Para ejecutar un script se deben tener los permisos adecuados así como anteponer al nombre del script ./
ch mode 744 hoy
martes, 26 de febrero de 2008
CONDICIONALES
NET INSTRUCCIONES CONDICIONALES
Comparar dos alternativas diferentes el computador puede tomar una decisión basándose en la evaluación que hace de alguna condición.
Todo lenguaje de programación debe tener instrucciones que permitan formar condiciones e instrucciones que pueden evaluar esas condiciones.
El formato general de una instrucción condicional es:
CONDICIONES COMPUESTAS
En muchas ocasiones es necesario presentar mas de una condición para su evaluación al computador.
Por ejemplo que el computador muestre la boleta de un alumno si este estudia la carrera de medicina y su promedio de calificaciones es mayor de 70.
En C# NET una condición compuesta se define como dos o mas condiciones simples unidas por los llamados operadores lógicos.
Los operadores lógicos que csharp reconoce son:
| OPERADOR | SIGNIFICADO | ||
| && | Y LOGICO | ||
| O LOGICO | |||
| ! | NEGACION | ||
Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico ”&&”, las dos condiciones simples deben ser ciertas.
Para que el computador evalúe como CIERTA una condición compuesta que contiene el operador lógico “||”, basta con que una de las condiciones simples sea cierta.
La cantidad total de casos posibles cuando se unen dos o mas condiciones simples esta dada por la relación
donde n = cantidad de condiciones, la primera mitad de ellos empieza en cierto y la segunda mitad en falso.
#if TRAZA // Se cumple si TRAZA esta definido.
#if TRAZA==true // Idem al ejemplo anterior aunque con una sintaxis menos cómoda
#if !TRAZA // Sólo se cumple si TRAZA no está definido.
#if TRAZA==false // Idema al ejemplo anterior aunque con una sintaxis menos cómoda
#if TRAZA == PRUEBA // Solo se cumple si tanto TRAZA como PRUEBA están // definidos o si no ninguno lo está.
#if TRAZA != PRUEBA // Solo se cumple si TRAZA esta definido y PRUEBA no o // viceversa
#if TRAZA && PRUEBA // Solo se cumple si están definidos TRAZA y PRUEBA.
#if TRAZA || PRUEBA // Solo se cumple si están definidos TRAZA o PRUEBA.
#if false // Nunca se cumple (por lo que es absurdo ponerlo)
#if true // Siempre se cumple (por lo que es absurdo ponerlo)
CICLOS
Instrucciones para ciclos resuelven el problema de repetir todo el programa o cierta parte del programa mas de una vez.
En C SHARP NET este ciclo es uno de los mas usados para repetir una secuencia de instrucciones sobre todo cuando se conoce la cantidad exacta de veces que se quiere que se ejecute una instrucción simple o compuesta.
Su formato general es:
for (inicialización; condición; incremento)
{ instrucción(es); };
En su forma simple la inicialización es una instrucción de asignación que carga una variable de control de ciclo con un valor inicial.
La condición es una expresión relacional que evalúa la variable de control de ciclo contra un valor final o de parada que determina cuando debe acabar el ciclo.
El incremento define la manera en que la variable de control de ciclo debe cambiar cada vez que el computador repite un ciclo.
Se deben separar esos 3 argumentos con punto y coma (;)
CICLO WHILE C# NET
En este ciclo el cuerpo de instrucciones se ejecuta mientras una condición permanezca como verdadera en el momento en que la condición se convierte en falsa el ciclo termina.
Su formato general es :
cargar o inicializar variable de condición;
while(condición)
{
grupo cierto de instrucciones;
instrucción(es) para salir del ciclo;
};
CICLO DO WHILE C# NET
Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición;
También se le conoce por esta razón como ciclo de condición de salida.
Su formato general es :
—
cargar o inicializar variable de condición;
do {
grupo cierto de instrucción(es);
instrucción(es) de rompimiento de ciclo;
} while (condición);
DECLARACIÓN DE VARIABLES
En particular cada tipo de dato es en realidad un OBJETO, que se deriva a su vez de una clase que provee el framework.NET de Microsoft, es por eso que se incluye la clase de la cual proviene el tipo de dato.
Es decir en un programa se podra declarar una variable por ejemplo float pi; o tambien se podra declarar y crear un objeto derivado de esa clase, por ejemplo:
System.Float alfa = new System.Float();
Como objeto alfa podra usar todas las propiedades y métodos asociadas al objeto.
Declaración Sencilla
- tipo_variable nombre_variable; Declaración Multiple - tipo_variable nombre_variable1, nombre_variable2, ... nombre_variablen; Inicializarse al momento de ser declarada: int miEntero=0; Inicializarse después en el código: int miEntero; miEntero = 2;TIPOS DE VARIABLES| C# Tipo | .Net Framework (System) type | Signed? | Bytes en Ram | Rango |
| sbyte | System.Sbyte | Yes | 1 | -128 a 127 |
| short | System.Int16 | Yes | 2 | -32768 a 32767 |
| int | System.Int32 | Yes | 4 | -2147483648 a 2147483647 |
| long | System.Int64 | Yes | 8 | -9223372036854775808 a 9223372036854775807 |
| byte | System.Byte | No | 1 | 0 a 255 |
| ushort | System.Uint16 | No | 2 | 0 a 65535 |
| uint | System.UInt32 | No | 4 | 0 a 4294967295 |
| ulong | System.Uint64 | No | 8 | 0 a 18446744073709551615 |
| float | System.Single | Yes | 4 | Aprox. ±1.5 x 10-45 a ±3.4 x 1038 con 7 decimales |
| double | System.Double | Yes | 8 | Aprox. ±5.0 x 10-324 a ±1.7 x 10308 con 15 o 16 decimales |
| decimal | System.Decimal | Yes | 12 | Aprox. ±1.0 x 10-28 a ±7.9 x 1028 con 28 o 29 decimales |
| char | System.Char | N/A | 2 | Cualquier caracter Unicode |
| bool | System.Boolean | N/A | 1 / 2 | true o false |
lunes, 18 de febrero de 2008
Programación C#
Antecedentes de C#
En 1972 es Dennis Ritchie diseña finalmente C a partir del B, aportando un diseño de tipos y estructuras de datos que consiguen una claridad y eficacia en el lenguaje muy superior.
Durante muchos años no existen reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso dura seis años y a principios de los 90 el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a comercializarse con el nombre ANSI C.
1980 surge C++ de la mano de Bjarne Stroustrup (Bell de AT&T). Diseña este lenguaje con el objetivo de añadir a C nuevas características: clases y funciones virtuales (de SIMULA67), tipos genéricos y expresiones (de ADA), la posibilidad de declarar variables en cualquier punto del programa (de ALGOL68), y sobre todo, un auténtico motor de objetos con herencia múltiple que permite combinar la programación imperativa de C con la programación orientada a objetos.
Evolución de C++ incorporación de la librería STL años más tarde, obra de Alexander Stepanov y Adrew Koening.
Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.
2001 se aprueba el ECMA y en el 2003 el ISO.
viernes, 8 de febrero de 2008
Cuestionario autenticación PPP
Router#configure terminal
Router(config)#interface serial 0/0
Router(config-if)#encapsulation pppPara configurar la compresión en PPP, introduzca los siguientes comandos:
Router(config)#interface serial 0/0
Router(config-if)#encapsulation ppp
Router(config-if)#compress [predictor | stac]
| El siguiente ejemplo activa el encapsulamiento PPP en una interfaz serial 0/0: Router#configure terminal La compresión de software de punto a punto puede configurarse en las interfaces seriales que utilizan encapsulamiento PPP. La compresión se ejecuta en el software y puede afectar el rendimiento del sistema de forma significativa. No se recomienda la compresión si la mayor parte del tráfico está compuesto por archivos comprimidos. Para configurar la compresión en PPP, introduzca los siguientes comandos: Router(config)#interface serial 0/0 Introduzca los siguientes comandos para monitorear los datos que se pasan al enlace y para evitar la formación de bucles en las tramas: Router(config)#interface serial 0/0 |
jueves, 7 de febrero de 2008
Editores de Textos
En UNIX los editores de textos que podemos encontrar son:
vi
emacs
nano (más simple)
Para abirir el editor de textos utilizamos el sigueinte comando:
L503:~ alumno$ nano
Comando que podeos utilizar en nano: ^ = ctrl
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Txt ^T To Spell
L503:~ alumno$ nano hola.txt
Para abrir el archivo con el programa nano.
