miércoles, 7 de mayo de 2008

Prácticas

Práctica 1
=A2*24
=B2*60
=C2*60

Práctica 2
=A2-(A2*B2%)

Práctica 3
=SUMA(A4:C4)
=(A4/B6)*100
=(B4/B6)*100
=(C4/B6)*100

Práctica 4
=SI(B6>300;"Bien";SI(B6>200;"Regular";"Malo"))

Práctica 6


Práctica 7

martes, 6 de mayo de 2008

Acceso a datos y métodos

Después de que se ha creado un objeto, se puede acceder a sus datos y métodos utilizando la notación siguiente:

nombreObjeto.Dato --> Referencia a un dato del objeto.
nombreObjeto.Método()--> Referencia a un método del objeto.

Ejemplo

miCírculo.radio -->Radio de miCírculo
miCírculo.calcularsuperficie() -->Devuelve la superficie de miCírculo

UTILIZACIÓN DE UN MÉTODO
Lo métodos son los miembros de un tipo clase dode se especifican las acciones que se realizan por un objeto de la misma clase.

Una importación a un método es un petición al método para que se ejecute su acción y lo haga con el objeto mencionado.

La importación de un método se denomina también llamar a un método y pasar un mensaje a un objeto.

Existen dos tipos de métodos:
1.- Los que devuelven un valor único (el método ReadLine) devuelven un unico de valor de tipo string.
2.- Los que ejecutan alguna acción distinta de devolver un único valor que se denomina método void. Los métodos WriteLine relizan una acción distinta de devolver un valor único

LLAMADA O INVOCACIÓN DE UN MÉTODO
Se puede realizar de dos formas, dependiendo de el método devuelva o no un valor.
1.- Si el método devuelve un valor, la llamada al método se marca normlamnete como un valor. Por ejemplo: int mayor=Math.Max (3,4);
Llama al método Max (3,4) y asigna el resultado del método a la variable mayor.
Otro ejemplo puede ser la llamada System.Console.WriteLine(Math.Max(3,4));
Imprime el valor devuelto por la llamada al método Max(3,4)
2.- Si el método devuelve void, una llamada al método debe ser una sentencia. Por ejemplo el método WriteLine() devuelve void. La sigueinte llamada es una sentencia:
System.Console.WriteLine("Sierra Tarahumara");
Si se considera ahora a un objeto miCuenta d la calse CuentaCorriente una invocaci ón al método Deposita detrás del formato MiCuenta.Depositar (2400);

lunes, 5 de mayo de 2008

Sobrecarga de métodos

en una misma clase pueden definirse varios métodos con el mismo nombre siempre y cuando tomen diferente número o tipo de parametro. Es posible ya que cuando se le llame al compilador sabrá a cual llamar a partir de los parametros basados en la llamada.
no se pueden permitir varios métodos que solo se diferencien en su valor de retorno ya que como este no se tiene que indicar al llamarlos no podría diferenciarse a que método en concreto se hace referencia en cada llamada.

Ejemplo: a partir de la llamada p.cumpleaños();
si ademas de la reaccion cumpleaños que no retorna nada hubiese otra que retornara un int, como sabría entonces el compilador a cual llamar.

void Cumpleaños (int cantidad)
{
Edad=Edad - cantidad;
}
void Cumpleaños (float cant1)
{
Edad=Edad + cant1;
}
void Cumpleaños (int cantidad, int resta)
{
Edad=Edad - (cantidad-resta);
}
Persona Andres=new Persona();
Andres.Cumpleaños ();
Persona Vicky=new Persona();
Vicky.Cumpleaños (10);
Persona Luis=new Persona();
Luis.Cumpleaños(20);

una vez que se define una clase, el nombre de la clase se convierte en un nuevo tipo de dato, que sirve tanto para declarar las variables de ese tipo como para crear objetos del mismo.

Sintaxis nombre-clase nombre-objeto

Ejemplo: Circulo mi circulo

la declaración de un objeto simplemente asocia el objeto con una clase, haciendo el objeto una instancia o copia de esa clase. hay que tomar en cuenta que la declaración no crea el objeto.
para crear realmente un circulo se necesta utilizar el operador new con el objeto para indicarle a la computadora que cree un objeto mi circulo y asigne espacio de memoria para el.

Sintaxis para crear un objeto.

se puede combinar la declaración y la creación o instanciaciónen una sola sentencia como la siguiente sintaxis.

nombreClase nombreObjeto = new nombreClase();

lunes, 28 de abril de 2008

Programación orientada a objetos

Programación orientada a objetos

Forma de organización del conocimiento en que las entidades centrales son los objetos.
Los objetos representan formas fìsicas o abstractas pero tienen un estado-
La programaciòn orientada a objetos utiliza los objetos coom bloques de construcciòn lògicos, cada objeto es ina instancia o copia de una clase y las clases se relacionan unas con otras por medio de relaciones de herencia.

Objeto:
En el se unen una serie de datos con las rutinas necesarias para manipularlos (miembros de la clase)

Clase:
estructura o plantilla que sirven para definir un objeto, habitualmente contiene una coleccion de metodos y definiciones de datos.

Tiene un nombre y especifican los miembros que pertenecen a la clase. Una vez que se define una clase, el nombre de la clase se convierte en un nuevo tipo de dato. Consta de métodos y datos que resumen características comunes de los objetos.De tal manera que es la declaración de la forma que tendrán los objetos fabricados en esa clase. Cada vez que se construye un objeto de una clase se crea una instancia de esa clase.

class
{
miembros
}

class Circulo
{
public double radio=5.0;
public double CalcularSuperficie();
{
return radio*radio*3.141592;
}
}

Campos
Dentro de una clase existen campos. Un campo es un dato o propiedad común a todos los objetos de una determinada clase.
Sintaxis:

;

Nombre del campo: cualquier identificador que siga las reglas para la escritura de identificadores y no coincida con el nombre de ningún otro miembro previmanete definido en la clase. Permite el almacenamiento de datos; por lo que se les denomina también variables.

Tipo de campo: debemos de indicar cual es el tipo de dato del objeto que vamos a crear. Este tipo puede corresponder con cualquiera de los predefinidos cualquier que nostros hayamos definido.

class Persona
{
stringNombre;---> almacena nombre
int Edad; ---> almacena edad
strinf RFC; ---> almacena RFC
}

Todos los objetos de clase/persona incorporaran datos y amacenaran cual es el nombre de la persona que cada objeto representa, cual es su edad y cual es su RFC.

Para acceder a un campo de un determinad mobjeto se usa la sintaxis:

;

Para acceder al campo edad de un objeto/persona llamado P y cambiar su valor por 20 sería:

p.Edad=20;

MÉTODOS

Conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta con referenciarlas a través de dicho nombre en vez de tenr que escribirlas. Dentro de estas instrucciones es posible acceder con total libertad a la información proporcionada en los campos, pertenecientes a la clase dentro de la que el método se ha definido por los los mñetodos permiten manipular los datos almacendos en los objetos.

Sintaxis

()
{
instrucciones
}

Tipo Devuelto: todo método uede devolver como resultado de la ejecución de las instrucciones que lo forma.
Método: Aqui se indica el tipo de dao al que pertenece este objeto.
Si no devuelve nada, se indica void y si devuelve algo es obligatorio finalizar la ejecución de sus instruccioones o los objetos que indica que el objeto a devolverse.
Parámetros:opcionalmente todo me´todo puede recibir en cada llamada un lista de objetosa los que podra acceder durante la ejecución de sus instrucciones. Aquí se indica cuales son los tipos de datos de estos objetos el cual es el nombre con el que harán referencia al método de cada uno.

Aunque los objetos que puede recibir el método pueden ser diferentes, cada vez que se solicite su ejecución deben ser los mismos tipos y han de seguir el orden establecido en parámetros.

class Persona
{
stringNombre;
int Edad;
strinf RFC;
void (cumpleaños())
{
Edad ++
}
}

Sintaxis para llamar a los método de un objeto

.()

Parámetro: valores que se desean dar a los parámetro del método al hacer la llamada. Si el método no toma parámetros se deja vacío. Ejemplo

Llamada al método cumpleaños de un objeto persona llamado P

p.cumpleaños()
}

lunes, 21 de abril de 2008

While, Do-While

WHILE

Cuerpo de instrucciones se ejecutan mientras una condición permanesca verdadera cuando la condición es falsa termina el ciclo.
Ciclo While
inicializa variable condicion
while (condición)
{
grupo de intrucciones.
instrucciones para salir del ciclo;
}; ( opcionales )

CICLO DU-WHILE
Su diferencia básica con el ciclo duwhile es que la prueba de condición esta hecha al finalizar el ciclo, por consecuencia las instrucciones
se ejecutan por lo menos una vez porque primero ejecuta las instrucciones y al final evalua la condición.
Si la condición es verdadera vuelve a ejecutar el ciclo.
Sintaxis

inicializa variable condición;
do {
grupo de instrucciones;
instrucciones para terminar el ciclo;
}while (condicion);

Ciclo while primero se evalua la condición y se realizan todas las instrucciones.
En en ciclo do-while es todo lo contrario.

viernes, 18 de abril de 2008

Excel

Barra de menú, barra de harramientas: atajos a aplicaciones de excel.

Barra de formulas: tache para eliminar o borrar celda, paloma, calculadora.

Barra de estado. inferior de la ventana: En la parte izquierda, forma en que se muestr la información en la pantalla. (Vista normal, Vista de diseño de pagina, Vista previa de salto de página)

Archivos de excel se conocen como libros, debdo a que pueden tener gran variedad de hojas.

Administrar páginas y hojas: ctrl y click a culquiera de las hojas de excel. Menú contextual.
Para cambiar nombre de hojas, doble click sobre el separador. Para moverlas de sitio, arrastrarlas.

Celda: intersección de columa y fila.
Sólo una celda activa: insertar datos de tipo alfanumércio o fórmulas.

Celda de anclaje, primer celda de un rango.

Cabeceras de fila y columna para seleccionarlas. En la aprte superior izquierda del archivo para seleccionar todo el archivo.

En las formulas se hacer referecnia a las celdas y no a su contenido.

Mnú standar: fx: pegar funcion: explica para que sirve la función.

Función si: SI(PL, V, F)

jueves, 3 de abril de 2008

Menú de números

Suma de variables y 100 frases


SUMA y 100 frases

SUMA:

1 pedir al usuario 2 no. y se suman
y luego ponen lo que es el resultado

int a =int Parse (Console ReadLine)
int b=int Parse
Resultado=a+b;
Console.WriteLine "El Resultado es" + Resultado


+ es una variable sobrecargada, porque dependiendo de la redaccion es su uso.
{int Result;
Console.Writeline ("numero");int a = int.Parse (Console.ReadLine());
{Console.WriteLine ("numero2");
int b = int.Parse (Console.ReadLine());
Result = a+b;
Console.WriteLine("The result is"+ Result);
string a = Console.ReadLine();}



Me ejecute 100 veces la frase osea que cada frase este enumerada.

static void Main(string[] args)
(int i;
for (i=1; i<100;i++)

(Console.WriteLine(i+"Frase"));
(string a=Console.ReadLine());

Variables y constantes

Variables y constantes

Variables: posision con nombre en memoria donde se almacena un valor de un cierto tipo de datos y puede ser modificado. Las variables pueden almacenar todo tipo de datos: cadenas, numeros y estructuras. Tiene un nombre (identificador) que describe su propósito.
Constantes: variable cuyo valor no puede ser modificado.
Tipos de datos
1. Enteros: probablemente el tipo de dato mas familiar.
2. Reales: son los numeros decimales o numeros muy grandes.
3. Caracteres: cualquier elemento de un conjunto de caracteres predefinidos o alfabeto, letras, digitos, simbolos y signos de puntuación. Un conjunto de caracteres forma una cadena.
4. Bool: sus valores son verdadero y falso, proporsiona la capacidad de declarar variables lógicas.

Tipo descripción Valores que acepta
String Cadena de caracteres Cualquier cosa
Short Signo Desde -32,768 hasta 32, 767
Int Signo 2,147, 483, 647
long Enteros de 8 bytes con signo
Char 2 bytes Desde 0 hasta 65,535
Float 4 bytes Desde 1.5e-45 hasta 3.4e+38
Double 8 bytes Desde 5e-324 hasta 1.7e+308
Bool Verdadero/falso True o false

Operaciones aritmeticas
Operador Significado
+ Suma
- Resta
* Producto
/ Division
% Modulo


Una exprecion combina varias operaciones y devuelve un valor.
Los operadores producto, division y modulo tienen presedencia sobre la suma y la resta se pueden ocupar parentesis para agrupar sus expreciones

Operadores relacionales
Hay operadores para evualuar condiciones.
Si la condicion es cierta estas expreciones devuelven un verdadero o true si no es cierta devuelven un falso o false.

operador
A==B
A!=B
A>B
A
A>=B

Operaciones lógicas
Expresión Resultado
E1&&E2 Cierta si E1 y E2 son ciertas (AND)
E1|| E2 Cierta si E1 o E2 son ciertas (OR)
!E Cierta si E es falsa; falsa si E es cierta (NOT)

Se pueden agrupar expreciones booleanas con parentesis.
(a>0&&a<10) || a ==20
Cierta “a” esta entre 1 y 9, o vale 20

Métodos para leer datos

Métodos para leer datos

Existen dos metodos para leer datos, el primero sirve para leer solo un caracter y el segundo lee una cadena completa de caracteres.
variable=Console.Read();
cadena=Console.ReadLine();

Para guardar un dato dentro de una variable se ocupa la siguiente sintaxis:
tipo variable=tipo.Parse(Console.Readline());
puede ser un in, char, float, double. Variable puede ser nom_1 u op.
parse sirve porque es el analisis de una sintaxis, ayuda a transformar la entrada del texto y la transforma a una estructura de datos que puede ser procesada por la consola.
ejemplo:
int num_1=int.Parse(Console.ReadLine());


ESTRUCTURAS DE CONTROL
evaluan una o más alternativas y pueden ser bidireccional o multidireccional.
Instruccion if(bidireccional)-instruccion condicional mas usada en lo diversos lenguajes de programación. Su sintaxis es if(condicional){grupo cierto de instrucciones;}{else}{grupo falso de instrucciones;};

Instruccion switch(multidireccional)- existen ocaciones o programaas donde se exige evaluar muchas condiciones a la vez, en estos casos se usa una condicion compuesta muy grande o se debe intentar convertir el problema a uno que se pueda resolver usando la instruccion switch.
Esta instruccione es de decision multiple donde el compilador prueba o busca el valor contnido en una variable entera o caracter contra una lista de constantes apropiadas, cuando la computadora encuentra el valor de igualdad entre variable y constante entonces ejecuta el grupo de instrucciones asociados a dicha constante, si no encuentra el valor de igualdad entonces ejecuta un grupo de instrucciones asociados a un default aunque este ultimo0 es opcional.
ejemplo:
switch(variable){debe de haber un case-case1 o case"a" depende de si es letra o numero.
el case default es un error.
tmb se pone depues de todas las intrucciones se pone break para que no sigan todos lo casos, osea rompes con el caso.
se puede hacer que los dos casos sigan la misma instruccion
ej. case 1:
case 2:
van a seguir las mismas instrucciones.

Espacio de nombres

Clasificación especial para usar un conjunto de clases y estructuras relacionadas, también se ocupa para aislar ese grupo de nombres en conjuntos e tipos de datos separados y distintos.
Es imposible tener dos clases con el mismo nombre en un espacio de nombres pero es posible que existan clases con el mismo nombre en espacios de nombres diferentes.
Los espacios de nombres pueden ser predefinidos o definidos por el usuario.
El .nt tiene clases en espacio de nombre predefinidos, por ejemplo: system.
Para definir un espacio de nombre se utiliza:
namespace NombreEspacio
{
clases de espacio de nombres
}
es la clase:
Unidad básica de la programación orientada a objetos. Todo programa en c# se organiza en clases que encapsulan datos y comportamientos.
Una clase se construye con la palabra class seguida del nombre de la clase y el símbolo de inicio y fin de un bloque para delimitar la codificación de sus miembros.
Ejemplo:
Clase: mesa (conceptos generales)
-> objetos: 4 patas, café., etc (caract. personales)

Clase: Animal
->Subclases: carnívoros, herbivoros
->->Objetos

de una clase se deriva un objeto y de una clase se deriva el programa que yo quiera.

MÉTODOS PARA ESCRIBIR DATOS
un método es reconocido por tener parentesis y por los parámetros que puede contener.
Los métodos usados para escribir datos en pantalla son:
1.- Write- escribe sin añadir el caracter de fin de linea a la cadena
2.- WriteLine- sí añade el caracter de fin de linea a la cadena, de modo que lo siguente que se escriba se colocara en la sigueiente linea.
Console.Write ("Hola");
Clase: Console
Método: Write con paréntesis.
cadena de caracteres: Hola (deben de estar entre ")
termina una ejecución con (;)

Ejemplos:
Console.Write("Hola");
Console.WriteLine("pepe");
Console.Write("¿Como estas, ");
Console.WriteLine("¿bien?");

Resultado en consola:
Holapepe
¿Cómo estas, ¿bien?

LENGUAJE DE PROGRAMACIÓN
Tiene 3 herramientas escenciales:
la declaración y el uso de variables, ciclos y condicionales.
Declaración y Uso de variables:La declaración y/o definición de variables se da en todos los lenguajes de programación. JavaScript en su versión 1.3 ofrece un mecanismo para saber si una variable ha sido inicializada o no; y esto lo consigue a través del valor Undefined. Este Undefined viene a decir, como resulta de su traducción: “con valor sin definir o desconocido”, corre por nuestra cuenta el que le asignemos un valor y tengamos control sobre esa variable. El objetivo al fin y al cabo es saber cómo las hemos definido o declarado para después poder usarlas correctamente.

También hemos de destacar el valor Null que parece ser utilizado para determinar si una variable tiene algún valor asignado o está vacía.

Definir o declarar en la jerga de los que escriben programas para ordenador es como lo mismo pues te dirán he definido o he declarado refiriéndose a la misma variable en diferentes partes de la conversación cuando se está depurando un programa que comentas con tu compañero, pues no da los resultados esperados.

En el ámbito de las funciones estos conceptos parecen estar más claro pues al hablar de “he definido una función” se refiere a su implementación y al hablar de “he declarado la función” se refiere al prototipado de la misma.

En algunos texto han hecho mención a la declaración de variable como una forma de dar a conocer al mundo entero, la existencia o materialización de un dato en el programa pasando posteriormente ha decir que ha sido definida con tal u cual valor.

Parece extraño hablar de estos términos y discernir si es o no lo mismo, pero te topas con ellos tan pronto como decides querer iniciarte en la programación de ordenadores.

Cíclos y condicionales:
C# NET CICLO FOR
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.

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;

};

prog14.aspx:


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 (;)
El preprocesador no interpreta de ninguna manera el código fuente del fichero, sino que sólo interpreta de dicho fichero lo que se denominan directivas de preprocesado. Estas directivas son líneas de texto del fichero fuente que se caracterizan porque en ellas el primer carácter no blanco que aparece es una almohadilla (carácter #) Por ejemplo:

#define TEST
#error Ha habido un error fatal


No se preocupe ahora si no entiendo el significado de estas directivas, ya que se explicarán más adelante. Lo único debe saber es que el nombre que se indica tras el símbolo # es el nombre de la directiva, y el texto que se incluye tras él (no todas las directivas tienen porqué incluirlo) es el valor que se le da. Por tanto, la sintaxis de una directiva es:

#

Es posible incluir comentarios en la misma línea en que se declara una directiva, aunque estos sólo pueden ser comentarios de una línea que empiecen con // Por ejemplo, el siguiente comentario es válido:

#define TEST // Ha habido algún error durante el preprocesado

Pero este otro no, pues aunque ocupa una línea tiene la sintaxis de los comentarios que pueden ocupar varias líneas:

#define TEST /* Ha habido algún error durante el preprocesado */
Como se ha repetido varias veces a lo largo del tema, la principal utilidad del preprocesador en C# es la de permitir la compilación de código condicional, lo que consiste en sólo permitir que se compile determinadas regiones de código fuente si las variables de preprocesado definidas cumplen alguna condición determinada. Para conseguir esto se utiliza el siguiente juego de directivas:

#if

#elif

...
#else

#endif

El significado de una estructura como esta es que si se cumple entonces se pasa al compilador el , si no ocurre esto pero se cumple entonces lo que se pasaría al compilador sería , y así continuamente hasta que se llegue a una rama #elif cuya condición se cumpla. Si no se cumple ninguna pero hay una rama #else se pasará al compilador el , pero si dicha rama no existiese entonces no se le pasaría código alguno y se continuaría preprocesando el código siguiente al #endif en el fuente original.

Aunque las ramas #else y #endif son opcionales, hay que tener cuidado y no mezclarlas ya que la rama #else sólo puede aparecer como última rama del bloque #if...#endif.

Es posible anidar varias estructuras #if...#endif, como muestra el siguiente código:

#define PRUEBA

using System;

class A
{
public static void Main()
{
#if PRUEBA
Console.Write (“Esto es una prueba”);
#if TRAZA
Console.Write(“ con traza”);
#elif !TRAZA
Console.Write(“ sin traza”);
#endif
#endif
}
}

Como se ve en el ejemplo, las condiciones especificadas son nombres de identificadores de preprocesado, considerándose que cada condición sólo se cumple si el identificador que se indica en ella está definido. O lo que es lo mismo: un identificador de preprocesado vale cierto (true en C#) si está definido y falso (false en C#) si no.

El símbolo ! incluido en junto al valor de la directiva #elif es el símbolo de “no” lógico, y el #elif en el que se usa lo que nos permite es indicar que en caso de que no se encuentre definido el identificador de preprocesado TRAZA se han de pasar al compilador las instrucciones a continuación indicadas (o sea, el Console.Write(“sin traza”);)

El código fuente que el preprocesador pasará al compilador en caso de que compilemos sin especificar ninguna opción /d en la llamada al compilador será:

using System;

class A
{
public static void Main()
{
Console.Write(“Esto es una prueba”);
Console.Write(“ sin traza”);
}
}

Nótese como en el código que se pasa al compilador ya no aparece ninguna directiva de preprocesado, pues lo que el preprocesador le pasa es el código resultante de aplicar al original las directivas de preprocesado que contuviese.

Asimismo, si compilásemos el código fuente original llamando al compilador con /d:TRAZA, lo que el preprocesador pasaría al compilador sería:

using System;

class A
{
public static void Main()
{
Console.Write (“Esto es una prueba”);
Console.Write(“ sin traza”);
}
}

Hasta ahora solo hemos visto que la condición de un #if o #elif puede ser un identificador de preprocesado, y que este valdrá true o false según esté o no definido. Pues bien, estos no son el único tipo de condiciones válidas en C#, sino que también es posible incluir condiciones que contengan expresiones lógicas formadas por identificadores de preprocesado, operadores lógicos (! para “not”, && para “and” y || para “or”), operadores relacionales de igualdad (==) y desigualdad (!=), paréntesis (( y )) y los identificadores especiales true y false. Por ejemplo:

#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)

Es fácil ver que la causa de la restricción antes comentada de que no es válido dar un como nombre true o false a un identificador de preprocesado se debe al significado especial que estos tienen en las condiciones de los #if y #elif

A toda variable que se use en un programa, se debera declarar de preferencia al principio del programa.
En C# NET (tambien se le conoce como C# ) existen los siguientes tipos de variables:
En particular cada tipo de dato que se menciona aqui es en realidad un OBJETO, que se deriva a su vez de una clase que provee el framework de microsoft net 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(); para este caso observar y tener en cuenta dos cosas:
Observar como se declara y crea un objeto ( este formato de creación de objetos aprenderlo bien).
Como objeto alfa podra usar todas las propiedades y metodos asociadas al objeto, mas adelante se ve un tema donde se analiza mas a fondo el concepto de clases y objetos.
Signed significa que se puede usar el signo + o - al usar la variable.
Por ultimo variables strings o variables cadena, se podran crear usando la clase STRING que creara un objeto de dicho tipo.
Para declarar un variable en un script o programa solo usar el siguiente formato:
Tipo de dato lista de variables; ejemplo:

string nombre, ciudad;
int alfa, beta;
string ciudad=“tijuana”;
float pi=3.1416;

Para el caso de objetos numericos derivados de la clase respectiva, solo usar el formato que se indico en los parrafos de arriba.
Recordar que c# net es case-sensitive, es decir reconoce la diferencia que hay entre mayusculas y minusculas, en otras palabras no declarar alfa e intentar capturar o desplegar ALFA.
Para convertir numeros a strings no hay problema, solo cargar o asignar el numero o variable numerica a la variable string, pero para convertir strings a numeros existen y deberan usarse los metodos Parse de las clases respectivasejemplo;
String beta1=“100”;
Int beta2 = System.Int32.Parse(beta1);

Elementos Léxico de un Programa

Elementos léxicos de un programa

1) Comentarios: anotaciones para documentar el programa. Se utilizan de la siguiente forma :
// para documentar sobre un renglon
/* texto */ se utiliza para comentar parrafos

2) Palabras reservadas: palabras que tienen un determinado significado para el compilador.

3) Identificadores: nombre que lor programadores dan a los diferentes elementos de un programa. Las características que deben contener son las sigueintes:
Secuencia de digitos, caracteres.
No deben coincidir con una palabra reservada.
No deben empezar con un dígito.
Son sensibles a mayúsculas y minúsculas.
Se acostumbra poner significativos y que la primera letra de la palabra sea en mayúsculas.
No se permiten los acentos y los espacios.

4) Operadores y Puntersos
Operadores: indican las operaciones que se van a realizar */-+(concatenar o unir)%
Punteros: agrupan o separan. { }

5) Literales: Valores constantes escritos directamente en el programa.
6) Directivas del preprocesador: son intrucciones al compilador, comienzan con #

Sentencias y bloques.

-Sentencia: Representacion de una acción o secuencia de acciones ejecutables o no ejecutables. (ejecutables +-*/ )
(no ejecutable son las declaraciones)

-Bloque: grupo de sentencias delimitadas por llaves.

Método Main

Es un punto de entrada al programa y la ejecución siempre inicia en el método main. Debe tener las sigueintes caracterísicas:
- declarado static en una clase o estructura
- regresar void o int
- debe ser escrito con mayúscula la primera latra y minuscula lo demás
- puede no tener parámentros o recibir un arreglo de strings.

using system,
namespace consoleapplication1
{
class Class1
{
static void Main (string [ ] args)
{
// TODO se agerga código para la aplicacion
}
}
}


Permisos

Existen tres tipos de permisos:
  • Lectura (r)
  • Escritura (w)
  • Ejecución (x)

Se pueden aplicar a archivos y a directorios. Se utilizan para que otras personas no puedan leer, escribir ni ejecutar nuestros archivos. O dan permiso para que pueda hacerlo. En caso de directorios, con el permiso de ejecución se puede realizar búsquedas dentro de ellos. Dentro de UNIX se pueden manejar hasta 3 perfiles de usuario. (Con referencia a los permisos)

  • Dueño
  • Grupo
  • Todos los demás
A un archivo se le van a aplicar permisos de lectura, escritura y ejecución de acuerdo al perfil de usuario.
ls -l: muestra el contenido del lugar con detalles, de permiso y de qué es
d: es un directorio
-: es un archivo
El primer conjunto rwx es el permiso del dueño, el segundo es el del grupo y el tercer conjunto es para todos los demás. Si en vez de una letra hay un guión, no se ha dado permiso a ese usuario.

drwxr-xr-x 4 alumno alumno 136 Aug 3 2007 Publicdrwxr-xr-x 5 alumno alumno 170 Aug 3 2007 Sites-rw-r–r– 1 alumno alumno 126763 Aug 22 09:35 Untitled-1.png

R W X Valor R W X
- - - 0 0 0 0
- - Si 1 0 0 1
- Si - 2 0 2 0
- Si Si 3 0 2 1
Si - - 4 4 0 0
Si - Si 5 4 0 1
Si Si - 6 4 2 0
Si Si Si 7 4 2 1

Ejemplo: Modo 540
Para el dueño se tiene permiso del modo 5, para el grupo se tiene uno de modo 4 y para los demás, se no tiene permiso de nada.
chmod: Permite cambiar permisos/modos
chmod modo nombredelarchivo

-rw-r–r– 1 alumno alumno 5 Feb 19 09:17 danielito.txt chmod 000 danielito.txtL510:~/desktop alumno$ cat danielito.txtcat: danielito.txt: Permission denied

viernes, 7 de marzo de 2008

Práctica 4

En nano, escribimos diferentes datos, variables, para que estos aparezcan en un texto matemático. Los valores "x" y "y" son variables, el usuario determinara dichas variables que apareceran en el texto.

Práctica 3

Al momento de ejecutar las ordenes de dicho archivo en la terminal, y habiendo cambiado los permisos correspondeintes: se escriben en erminal las dos líneas que se escribieron con los comandos echo. Apareció un diálogo entre dos partes.

Práctica 2

#!bin/bash
clear
echo "hola" > uno.txt
echo "amigo" > dos.txt
cat uno.txt dos.txt > 601a.txt

jueves, 6 de marzo de 2008

Prgrama que permite la conexión con una computadora remota con el objetivo de compartir recursos.

ssh usuario@computadora

En donde usuario es la sesión a la que nos vamos a conectar y computadora es la IP que la identifica en la red.



who: para saber quienes estan conectados en dicha maquina.

SFTP (Secure File Transfer Protocol)
Es un programa que nos permite conectarnos a una computadora remota para transferir archivos en abmas direcciones.

sftp usuario@computadora

Para obetner un archivo: get leer.txt
Para poner archivos de mi maquina a la otra: put leer.txt

viernes, 29 de febrero de 2008

Práctica 1 (Cuestionario)

1. ¿Qué tipos de permisos existen?
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 es un conjunto de instrucciones almacenadas en un archivo que puede ser ejecutado por el sistema operativo. Un script puede contener comandos de UNIX, variables y cualquier otro elemento de un lenguaje de programación.

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:

image85.jpg

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:

OPERADORSIGNIFICADO
&&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 image86.jpgdonde 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

Ciclo for (C#)

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

C# NET DECLARACION Y TIPO DE VARIABLES

Toda variable que se use en un programa, se debera declarar de preferencia al principio de este. 
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) typeSigned?Bytes en RamRango
sbyteSystem.SbyteYes1-128 a 127
shortSystem.Int16Yes2-32768 a 32767
intSystem.Int32Yes4-2147483648 a 2147483647
longSystem.Int64Yes8-9223372036854775808 a 9223372036854775807
byteSystem.ByteNo10 a 255
ushortSystem.Uint16No20 a 65535
uintSystem.UInt32No40 a 4294967295
ulongSystem.Uint64No80 a 18446744073709551615
floatSystem.SingleYes4Aprox. ±1.5 x 10-45 a ±3.4 x 1038 con 7 decimales
doubleSystem.DoubleYes8Aprox. ±5.0 x 10-324 a ±1.7 x 10308 con 15 o 16 decimales
decimalSystem.DecimalYes12Aprox. ±1.0 x 10-28 a ±7.9 x 1028 con 28 o 29 decimales
charSystem.CharN/A2Cualquier caracter Unicode
boolSystem.BooleanN/A1 / 2true o false