viernes, 2 de octubre de 2009
PSEUDOCÓDIGO PARA LAS TABLAS DE MULTIPLICAR CON CICLOS Y CONDICIÓN
numero=0
tabla=0
i=1
inicio
imprimir("\ndigite número: ")
leer(numero)
si(numero>5){
desde i=1 hasta 10{
tabla=numero*i
imprimir("\nLa multiplicación es:","",numero,"*",i,"= ",tabla)}
sino
desde i=1 hasta 10{
tabla=2*i
imprimir("\nLa multiplicación es: ","2","*",i,"=",tabla)}}
fin
miércoles, 30 de septiembre de 2009
EJERCICIOS DE CICLOS
lunes, 28 de septiembre de 2009
CICLOS
El bucle for o ciclo for es una estructura de control en la que se puede indicar el número máximo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.
Elementos del bucle
Variable de control: prácticamente un mandato impuesto por el uso habitual es utilizar la letra i como variable de control, o bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al código por su uso tan extensivo. Como raras veces los bucles anidados superan las tres dimensiones (por una sencilla cuestión de explosión exponencial), las letras i, j y k suelen ser las únicas relacionadas con este uso. En C se define en el primer parámetro de la instrucción junto con la inicialización (opcional).
Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial), sin embargo, otros lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos modos, la práctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del código. En C se define en el primer parámetro del bucle junto con la variable de control.
Condición de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal). En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).
Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). En C es el último parámetro.
Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena práctica.
Usos
Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación.
WHILE
(Mientras). Una de las estructuras de repetición empleada en la programacion de algoritmos. While permite al programador especificar las veces que se repita una acción (una o más sentencias de programacion) mientras una condición se mantenga verdadera. La forma del while en lenguaje C es:
while (condición)
{
bloque de instrucciones
};
Mientras la condición se mantenga verdadera, el bloque de instrucciones dentro de las llaves se ejecutará "x" cantidad de veces. Es necesario que alguna vez la condición se haga falsa, pues de lo contrario se entraría en un ciclo infinito de repeticiones (bucle infinito) y el programa se consideraría bloqueado. Por lo tanto es necesario que en el bloque de instrucciones dentro de la estructura while, se ejecute alguna acción que en algún momento haga que la condición sea falsa.Un ejemplo del funcionamiento de la estructura de repetición while:
int num;
num = 0;
while (num<=10)
{
printf(“Repetición numero %d
”, num);
num = num + 1;
};
El código anterior imprimirá en pantalla:
Repetición numero 0
Repetición numero 1
Repetición numero 2
Repetición numero 3
Repetición numero 4
Repetición numero 5
Repetición numero 6
Repetición numero 7
Repetición numero 8
Repetición numero 9
Repetición numero 10
¿Por qué? Vemos que iniciamos la variable del tipo entero num en cero. Luego, se evalúa por primera vez si es menor o igual a 10, al ser verdadera, se ejecuta el bloque dentro del while por primera vez. Se imprime Repetición numero 0, pues el valor dentro de num es cero. Luego el proceso se repite hasta que num con valor 10 se le suma 1, y toma el valor 11. Se evalúa la condición del while y se determina que NO se cumple, por lo tanto, salta el bloque y sigue la ejecución del programa.
DO...WHILE
Es el último de los bucles que hay en Javascript. Se utiliza generalmente cuando no sabemos cuantas veces se habrá de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutará una vez. Este tipo de bucle se introdujo en Javascript 1.2, por lo que no todos los navegadores los soportan, sólo los de versión 4 o superior. En cualquiuer caso, cualquier código que quieras escribir con DO...WHILE se puede escribir también utilizando un bucle WHILE, con lo que en navegadores antiguos deberás traducir tu bucle DO...WHILE por un bucle WHILE. La sintaxis es la siguiente.
do {
sentencias del bucle
} while (condición)
El bucle se ejecuta siempre una vez y al final se evalúa la condición para decir si se ejecuta otra vez el bucle o se termina su ejecución. Veamos el ejemplo que escribimos para un bucle WHILE en este otro tipo de bucle.
var color
do {
color = dame un color
} while (color != "rojo")
Este ejemplo funciona exactamente igual que el anterior, excepto que no tuvimos que inicializar la variable color antes de introducirnos en el bucle. Pide un color mientras que el color introducido es distinto que "rojo".
miércoles, 2 de septiembre de 2009
CONCEPTOS
Si tenemos 6 ovejas y compramos 2 ovejas ¿cuantas ovejas tenemos?. Una forma de hacerlo sería volver a contar todas las ovejas, pero alguien que hubiese contado varias veces el mismo caso, recordaria el resultado y no necesitaría volver a contar las ovejas. Sabria que 6 + 2 = 8.
Los términos de la suma se llaman sumandos.
RESTA O SUBSTRACCIÓN
Igual que la suma la resta es una operacion que se deriva de la operacion de contar.
Si tenemos 6 ovejas y los lobos se comen 2 ovejas ¿cuantas ovejas tenemos?. Una forma de hacerlo sería volver a contar todas las ovejas, pero alguien que hubiese contado varias veces el mismo caso, recordaria el resultado y no necesitaría volver a contar las ovejas. Sabria que 6 - 2 = 4.
Los terminos de la resta se llaman minuendo (las ovejas que tenemos) y sustraendo (las ovejas que se comieron los lobos).
PRODUCTO O MULTIPLICACIÓN
Muchas veces tenemos que sumar un número consigo mismo varias veces. Por ejemplo, si tenemos que sumar 5 + 5 + 5 + 5 + 5 + 5 + 5, sería más breve representarlo asi 5 * 7 (esto significaria sumar 5 condigo mismo 7 veces).
La multiplicación es una forma abreviada de hacer un tipo especial de sumas.
Los terminos de la multiplicación se llaman multiplicando (el numero que se suma) y multiplicador (el número de veces que se suma).
Los terminos de la división se llaman dividendo (el número de cosas), divisor (el número de personas), cociente (el numero que le corresponde a cada persona) y resto (lo que sobra).
Si el resto es cero la división se llama exacta y en caso contrario inexacta.
POTENCIACIÓN
Por ejemplo: 5 * 5 * 5 * 5 * 5 * 5 * 5
Una forma de representar esta operacion es 57 (esto quiere decir que hay que multiplicar 5 por si mismo 7 veces).
El numero inferior se llama base y el superior exponente.
RADICACIÓN
La radicacion es la operacion inversa de la potenciación. Supongamos que nos dan un número a y nos piden calcular otro, tal que, multiplicado por si mismo un número b de veces nos da el numero a.
Por ejemplo: calcular qué número multiplicado por si mismo 2 veces da 196. Ese número es 14.
El número que esta dentro de la raiz se llama radicando, el grado de la raiz se llama índice del radical, el resultado se llama raiz.
Podemos considerar la radicación como un caso particular de la potenciación. En efecto, la raiz cuadrada de un numero (por ejemplo a) es igual que a1/2, del mismo modo la raiz cúbica de a es a1/3 y en general, la raiz enesima de un numero a es a1/n.
La mejor forma de resolver los ejercicios de operaciones con raices es convertir las raices a potencias y operar teneiendo en cuenta las propiedades dadas para la operacion de potenciación.
Combinando proposiciones simples obtenemos proposiciones compuestas mediante operaciones lógicas.
Las principales operaciones lógicas son: conjunción, disyunción, negación, condicional y Bicondicional.
A cada una de estas operaciones lógicas le corresponde una tabla de verdad.
Conjunción. Dos proposiciones simples p y q relacionadas por el conectivo lógico "y" conforman la proposición compuesta llamada conjunción, la cual se simboliza así: p Ù q.
Disyunción. Dos proposiciones simples p y q relacionadas por el conectivo lógico "O" conforman la proposición compuesta llamada disyunción, la cual se simboliza así: p Ú q.
Negación. Dada una proposición simple p, esta puede ser negada y convertirse en otra proposición llamada negación de p, la cual se simboliza así:
~ p se lee: no p
o también: no es cierto que p
Condicional o Implicativa. Dos proposiciones simples p y q relacionadas por el conectivo lógico "entonces" conforman la proposición compuesta llamada condicional o implicativa, la cual se simboliza así: p Þ q:
Bicondicional. Dos proposiciones simples p y q relacionadas por el conectivo lógico "si y sólo si" conforman la proposición compuesta llamada conjunción, la cual se simboliza así: p « q.
Las funciones para cadenas son las siguientes:
length (nombre_de_la_cadena)
Regresa un valor entero que "contiene" la longitud de la cadena nombre_de_la_cadena
substring(nombre_de_la_cadena,posición_inicial,longitud)
Regresa una cadena,
en donde:
posición inicial es la posición a partir de la cual se copiará el contenido de nombre_de_la_cadena
longitud es el número de caracteres que se copiarán
La forma para copiar el contenido de una cadena hacia otra es:
cadena1=cadena2
La concatenación de cadenas puede ser:
cadena_1 =cadena_2 +cadena_3
cadena_1 =cadena_1 +cadena_2
PRESENTACIÓN GRÁFICA DE LOS ALGORITMOS
Diagramas de Flujo. Son la representación gráfica de la solución algorítmica de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo, que indican el orden en que los pasos deben ser ejecutados.
Para su elaboración se siguen ciertas reglas: Se escribe de arriba hacia abajo y de izquierda a derecha. Siempre se usan flechas verticales u horizontales, jamás curvas. Evitar cruce de flujos. En cada paso expresar una acción concreta.
Secuencia de flujo normal en una solución de problema: Tiene un inicio. Una lectura o entrada de datos. El proceso de datos. Una salida de información. Un final
REGLAS PARA CONSTRUIR ALGORITMOS
*Alcanzar la solución (correcta) en un tiempo finito.
*Constar de pasos claros, precisos y no ambiguos
*Mostrar claramente cuáles son los datos iniciales y cuáles son los resultados.
Por cada problema se debe considerar lo siguiente:
*Definir con precisión qué datos se utilizarán como entradas.
*Definir con precisión qué datos se obtendrán como salidas.
*Si ya existen algoritmos adecuados, aprovecharlos prudentemente.
*Determinar qué acciones se deben efectuar sobre las entradas hasta convertirlas en resultados, y describir cada una con frases no ambiguas.
Por lo general las acciones que pueden integrarse en un algoritmo son:
*Pedir datos.
*Desplegar datos.
*Evaluar condiciones.
*Ejecutar operaciones matemáticas.
martes, 25 de agosto de 2009
CARACTERES
En matemáticas es habitual usar las letras w, x, y,... para referirnos a las cadenas. Por ejemplo, si tenemos un alfabeto Σ = {a, b, c}, una cadena podría ser: x = aacbbcba.
Desde un punto de vista de la programación, si no se ponen restricciones al alfabeto, una cadena podrá estar formada por cualquier combinación finita de todo el juego caracteres disponibles (las letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ', símbolos diversos '!', '@', '%', etc). En este mismo ámbito (el de la programación), se utilizan normalmente como un
En este caso, se almacenan en un vector de datos, o matriz de datos de una sola fila (array en inglés). Las cadenas se pueden almacenar físicamente:
-Seguidas.
-Enlazados letra a letra.
-Generalmente son guardados un carácter a continuación de otro por una cuestión de eficiencia de acceso.
Un caso especial de cadena es la que contiene cero caracteres, a esta cadena se la llama cadena vacía.
domingo, 23 de agosto de 2009
DIAGRAMAS DE FLUJO EN DFD

DIAGRAMA DE FLUJO PARA HALLAR EL VOLUMEN DE UN CILINDRO

DIAGRAMA DE FLUJO PARA PEDIDOS

DIAGRAMA DE FLUJO PARA CONVERTIR DÓLARES A PESOS

DIAGRAMA DE FLUJO PARA EL MAYOR DE TRES NÚMEROS

DIAGRAMA DE FLUJO PARA EL MAYOR DE DOS NÚMEROS

DIAGRAMA DE FLUJO PARA CONVERTIR ºC A ºF

DIAGRAMA DE FLUJO PARA CONCATENAR EL NOMBRE CON EL APELLIDO

ALGORITMOS EN SLE
* Mayor de tres numeros().
*/
var
n1=0
n2=0
n3=0
inicio
imprimir("\nDigite n1");
leer(n1)
imprimir("\nDigite n2");
leer(n2)
imprimir("\nDigite n3");
leer(n3)
si(n1>n2)
{si(n1>n3)
{imprimir("El mayor es:",n1);
sino
si(n2>n1)
{si(n2>n3)
{imprimir("El mayor es:",n2);
sino
imprimir("El mayor es:",n3);
};
fin
* Mayor de dos números().
*/
domingo, 2 de agosto de 2009
TAREA
Conjunto de operaciones que se utilizan para resolver un problema específico. En este conjunto de instrucciones se indica la secuencia de operaciones que se deben realizar para, a partir de los datos de entrada, obtener el resultado buscado. El concepto de algoritmo es anterior a los ordenadores, y ampliamente utilizado en el mundo de la ciencia para la resolución metódica de problemas. Sin embargo, con la aparición de los ordenadores se comprobó que era una herramienta ideal, ya que cualquier algoritmo puede transformarse en un programa informático.
Un algoritmo es una secuencia ordenada de pasos que permite la resolución de un problema determinado.
CARACTERÍSTICAS DEL ALGORITMO
Tiene que ser finito (con un final), preciso (detallar el orden de las operaciones a realizar) y unívoco (al aplicar el algoritmo a los mismos datos de entrada, siempre se obtendrá el mismo resultado a la salida).Un Algoritmo es un conjunto ordenado y finito de pasos o instrucciones que conducen a la solución de un problema.
LENGUAJE DE PROGRAMACIÓN
Con la aparición de las computadoras desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos.
Concepto: Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Es utilizado para controlar el comportamiento físico y lógico de una máquina. Aunque muchas veces se usan los términos 'lenguaje de programación' y 'lenguaje informático' como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación).
Un lenguaje de programación permite a uno o más programadores especificar de manera precisa sobre qué datos debe operar una computadora, cómo estos datos deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa. Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
-Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes.
-Traduciendo este programa, al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al programa traductor se le denomina compilador.
El lenguaje máquina es el único lenguaje que puede ejecutar una computadora. El lenguaje de máquina es un código que es interpretado directamente por el microprocesador.El lenguaje está compuesto por un conjunto de instrucciones ejecutadas en secuencia (con eventuales cambios de flujo causados por el propio programa o eventos externos) que representan acciones que la máquina podrá tomar. Un lenguaje máquina es específico de cada arquitectura de computadora. Todo código fuente en última instancia debe llevarse a un lenguaje máquina mediante el proceso de compilación o interpretación para que la computadora pueda ejecutarlo.
El lenguaje máquina es el único que entiende directamente la computadora, ya que esta escrito en lenguajes directamente inteligibles por la máquina (computadora), utiliza el alfabeto binario, que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). Sus instrucciones son cadenas binarias (cadenas o series de caracteres de dígitos 0 y 1) que especifican una operación y, las posiciones (dirección) de memoria implicadas en la operación se denominan instrucciones de máquina o código maquina. Fue el primer lenguaje utilizado en la programación de computadoras, pero dejo de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. El lenguaje máquina es el conocido código binario. Generalmente, en la codificación de los programas se empleaba el sistema hexadecimal para simplificar el trabajo de escritura.
Ventajas del lenguaje máquina: posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior, lo que supone una velocidad de ejecución superior a cualquier otro lenguaje de programación.
Desventajas del lenguaje máquina: dificultad y lentitud en la codificación. Poca fiabilidad. Gran dificultad para verificar y poner a punto los programas. Los programas solo son ejecutables en el mismo procesador (CPU). En la actualidad, las desventajas superan a las ventajas, lo que hace prácticamente no recomendables a los lenguajes máquina.
Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de máquina.
La palabra "bajo" no implica que el lenguaje sea inferior a un lenguaje de alto nivel; se refiere a la reducida abstracción entre el lenguaje y el hardware.
Uso: ventajas e inconvenientes
En general se utiliza este tipo de lenguaje para programar controladores (drivers).
La programación en un lenguaje de bajo nivel como el lenguaje de la máquina o el lenguaje simbólico tiene ciertas ventajas:
-Mayor adaptación al equipo.
-Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.
Pero también tiene importantes inconvenientes:
-Imposibilidad de escribir código independiente de la máquina.
-Mayor dificultad en la programación y en la comprensión de los programas.
-El programador debe conocer más de un centenar de instrucciones.
-Es necesario conocer en detalle la arquitectura de la máquina.
Características: Se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle.
Está orientado a la máquina.
*Primera generación: El lenguaje de programación de primera generación (por sus siglas en inglés, 1GL), es el lenguaje de código máquina. Es el único lenguaje que un microprocesador entiende de forma nativa. El lenguaje máquina no puede ser escrito o leído usando un editor de texto, y por lo tanto es raro que una persona lo use directamente.
*Segunda generación: El lenguaje de programación de segunda generación (por sus siglas en inglés, 2GL), es el lenguaje ensamblador. Se considera de segunda generación porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).
Lenguaje de medio nivel es un lenguaje de programación informática como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y los lenguajes de bajo nivel.
Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel.
Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran números (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).
Una de las características mas peculiares del lenguaje de programación C; es el uso de “apuntadores”, los cuales son muy útiles en la implementación de algoritmos como Listas ligadas, Tablas Hash y algoritmos de búsqueda y ordenamiento que para otros lenguajes de programación (como Java por ejemplo) les suele ser un poco mas complicado implementar.
Los lenguajes de programación de alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas.
En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en contraposición a los "de bajo nivel" o "de nivel próximo a la máquina".
Ventajas
La programación en un lenguajes de alto nivel tiene ciertas ventajas:
Genera un código más sencillo y comprensible.
Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos.
Y como inconvenientes:
Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
Algunos requieren que la máquina cliente posea una determinada plataforma.
Principales lenguajes de alto nivel:
-Ada
-ARGOL
-Basic
-C++
-C#
-Clipper
-COBOL
-Fortran
-FoxPro o Visual Foxpro
-Java
-Python
-ANGMAR
-Perl
-Pascal
-Logo
-PHP (PHP Hypertext Preprocessor)
-PL/SQL
-RPG
-MATLAB
-SISTEMA BERNAL ITM
-Modula-2
-Lenguajes funcionales
-Haskell
-Lisp
Los traductores de lenguaje son programas que traducen a su vez los programas escritos en lenguaje de alto nivel a código máquina. Se dividen en compiladores e intérpretes.
INTÉRPRETES
Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. El lenguaje que opera bajo este formato se denomina lenguaje interpretado. Un intérprete es un programa de computadora que ejecuta o lleva a cabo instrucciones escritas en un lenguaje de programación. La interpretación es una de las formas de ejecución de los programas de computadoras, la otra es la compilación. El término "intérprete" puede hacer referencia al programa que ejecuta el código fuente que acaba de ser traducido a una forma intermedia, o puede hacer referencia al programa que lleva a cabo tanto la traducción como la ejecución.
COMPILADORES
Es un programa que traduce los programas fuentes escritos en lenguaje de alto nivel a lenguaje de máquina. El programa objeto obtenido de la compilación no ha sido traducido normalmente a código máquina sino a ensamblador. Para obtener el programa máquina real se utiliza un programa llamado enlazador (linker). El proceso de enlazamiento conduce a un programa en lenguaje máquina directamente ejecutable. Características de un compilador: Generalmente un compilador se divide en dos partes:
*Front End: parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Parte que suele ser independiente de la plataforma o sistema operativo para el que funcionará.
*Back End: parte en donde se genera el código máquina exclusivo para una plataforma a partir de lo analizado en el front end.
La compilación es el proceso y resultado de compilar código fuente.
A grandes rasgos el proceso se puede describir en los siguientes pasos:
* El compilador recibe el código fuente.
* Se analiza lexicográficamente.
* Se analiza semántica y sintácticamente (parseado).
* Se genera el código intermedio no optimizado.
* Se optimiza el código intermedio.
* Se genera el código objeto para una plataforma específica. Finalmente ya puede ejecutarse el código máquina.
FASES: -Programa fuente.
-Compilador (traductor).
-Programa objeto.
-Montador.
-Programa ejecutable en lenguaje máquina.
El dato (del latín datum), es una representación simbólica (numérica, alfabética, algorítmica etc.), atributo o característica de una entidad. El dato no tiene valor semántico (sentido) en sí mismo, pero convenientemente tratado (procesado) se puede utilizar en la realización de cálculos o toma de decisiones. Es de empleo muy común en el ámbito informático.
En programación un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
Concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de las matemáticas y la lógica.
En lenguajes de programación un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o el programador) algo sobre la clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, coches o cualquier cosa que se nos ocurra. Por ejemplo, en Java, el tipo "int" representa un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como la suma, resta y multiplicación. Los colores, por otra parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas incluyen la adición y sustracción, pero no la multiplicación.
En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminología diferente. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluirá un nombre y una fecha de nacimiento.
Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la representación, interpretación y la estructura de los valores u objetos almacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.
*Datos numéricos: Es el conjunto de los valores numéricos y puede ser expresado numérico entero (integer) y numérico real. Los enteros no tienen componentes fraccionarias o decimales y pueden ser negativos o positivos. Los reales siempre tienen un punto decimal.
*Datos lógicos : También llamados booleanos —es aquel que solo puede tomar uno de dos valores: verdadero (true) o falso (false). Se utiliza para representar las alternativas (si/no) a determinadas condiciones.
*Datos carácter : Este tipo de dato contiene un solo carácter. Los caracteres son: alfabéticos (A-Z), numéricos (0-9) y especiales (¡ @ # $ % ^ & *…). Una cadena de caracteres o string es una sucesión de caracteres que se encuentran delimitados por una o dobles comillas.
*Operaciones de cadenas: Las funciones para cadenas son las siguientes:
length (nombre_de_la_cadena)
Regresa un valor entero que "contiene" la longitud de la cadena nombre_de_la_cadena
substring(nombre_de_la_cadena,posición_inicial,longitud)
Regresa una cadena,
en donde:
posición inicial es la posición a partir de la cual se copiará el contenido de nombre_de_la_cadena
longitud es el número de caracteres que se copiarán
La forma para copiar el contenido de una cadena hacia otra es:
cadena1=cadena2
La concatenación de cadenas puede ser:
cadena_1 =cadena_2 +cadena_3
cadena_1 =cadena_1 +cadena_2
Una constante es un valor dentro de un programa que no puede cambiar durante la ejecución del mismo. En programación, las constantes son tipos de datos (con valores numéricos o de cadena) que permanecen invariables, sin posibilidad de cambiar el valor que tienen durante el curso del programa.
Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.
Por ejemplo:
El valor de pi = 3.141592
Por conveniencia, el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes.
Los valores que son fijos durante la ejecución de un programa se les llaman variables. Dependiendo del lenguaje, las variables pueden ser enteras, reales, carácter, lógicas y de cadena. Una variable se identifica por el nombre que se le asigna y el tipo que describe el uso de la variable.En programación, las variables son estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud:
Fija.- Cuando el tamaño de la misma no variará a lo largo de la ejecución del programa. Todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones — como las colecciones de otras variables (arrays) o las cadenas.
Variable.- Cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos.
Se conocen con este nombre las técnicas utilizadas para representar esquemáticamente bien sea la secuencia de instrucciones de un algoritmo o los pasos de un proceso. Esta última se refiere a la posibilidad de facilitar la representación de cantidades considerables de información en un formato gráfico sencillo. Un algoritmo esta compuesto por operaciones, decisiones lógicas y ciclos repetitivos que se representan gráficamente por medio de símbolos estandarizados por la ISO: óvalos para iniciar o finalizar el algoritmo; rombos para comparar datos y tomar decisiones; rectángulos para indicar una acción o instrucción general; etc. Son Diagramas de Flujo porque los símbolos utilizados se conectan en una secuencia de instrucciones o pasos indicada por medio de flechas. Adicionalmente, los diagramas de flujo facilitan a otras personas la comprensión de la secuencia lógica de la solución planteada y sirven como elemento de documentación en la solución de problemas o en la representación de los pasos de un proceso.
SÍMBOLOS
Inicio/Final: Se utiliza para indicar el inicio y el final de un diagrama; del Inicio sólo puede salir una línea de flujo y al Final sólo debe llegar una línea.
Decisión: Indica la comparación de dos datos y dependiendo del resultado lógico (falso o verdadero) se toma la decisión de seguir un camino del diagrama u otro.
Entrada General Entrada/Salida de datos en General.
Iteración: Indica que una instrucción o grupo de instrucciones deben ejecutarse varias veces.
Entrada por teclado: Instrucción de entrada de datos por teclado. Indica que el computador debe esperar a que el usuario teclee un dato que se guardará en una variable o constante. Salida Impresa: Indica la presentación de uno o varios resultados en forma impresa.
Llamada a subrutina: Indica la llamada a una subrutina o procedimiento determinado.
Salida en Pantalla: Instrucción de presentación de mensajes o resultados en pantalla.
RECTÁNGULO: Acción/Proceso General: Indica una acción o instrucción general que debe realizar el computador (cambios de valores de variables, asignaciones, operaciones aritméticas, etc).
CÍRCULO: Conector: Indica el enlace de dos partes de un diagrama dentro de la misma página.
FLECHA: Flujo: Indica el seguimiento lógico del diagrama. También indica el sentido de ejecución de las operaciones.
Conector: Indica el enlace de dos partes de un diagrama en páginas diferentes.
Si (n1 es par);
FIN
miércoles, 29 de julio de 2009
ALGORITMOS EN LENGUAJE C++
#include
void main (void)
{
/*Inicio
Variables*/
int a=0;
int b=0;
int c=0;
/*Entrada*/
printf ("Digite primer numero\n");
scanf ("%d",&a);
/*Lea(a)*/
printf ("Digite segundo numero\n");
scanf ("%d",&b);
/*Lea(b)*/
/*Proceso*/
c=a+b;
/*Salida*/
printf("La suma es:%d",c);
/*Fin*/
}
domingo, 14 de junio de 2009
viernes, 8 de mayo de 2009
REDES SOCIALES
Una red social es una estructura social que se puede representar en forma de uno o varios grafos en el cual los nodos representan individuos (a veces denominados actores) y los aristas relaciones entre ellos. Las relaciones pueden ser de distinto tipo, como intercambios financieros, amistad, relaciones sexuales, o rutas aéreas. También es el medio de interacción de distintas personas como por ejemplo juegos en línea, chats, foros, spaces, etc. El aumento de las visitas de los internautas a las redes sociales ha reducido a la mitad las visitas a los sitios con contenido pornográfico, según los datos recogidos.
Según la naturaleza de las relaciones, se pueden dividir en dos tipos:
a) diádicas (sólo indican ausencia o existencia de la relación) o valoradas (en la que la cantidad de la relación pueda medirse en términos de orden o de peso como, por ejemplo, número de encuentros sexuales entre dos personas), o bien
b) simétricas (la relación en realidad es una unión entre actores que siempre es recíproca. Ejemplo: leemos el mismo blog habitualmente) o dirigidas (que el individuo A tenga relación con el individuo B no implica que B tenga esa misma relación con A, como, por ejemplo, prestar dinero).
El análisis de redes sociales ha irrumpido en muchas ciencias sociales en los últimos veinte años como una nueva herramienta de análisis de realidad social. Al centrarse en las relaciones de los individuos (o grupos de individuos) y no en las características de los mismos (raza, edad, ingresos, educación,...) ha sido capaz de abordar algunos temas con un éxito insospechado. La difusión de información o el contagio de enfermedades son dos ejemplos de asuntos en los que la estructura de las relaciones puede llegar a ser más relevantes que las características de los individuos, o por lo menos, información clave para conocer los procesos.
El Análisis de redes sociales se basa en la Teoría de Redes Sociales, la cual se ha desarrollado en el mundo de una manera más intensiva a partir de los años 60 del Siglo XX.
El uso de las ideas y herramientas de la rama de las matemáticas conocida como "teoría de grafos" ha ayudado a desarrollar una gran cantidad de herramientas y software de análisis. A diferencia de estas herramientas de análisis, muchas compañías han desarrollado también software dirigido a promover relaciones entre internautas, ya sea con fines laborales, lúdicos o de cualquier tipo.
El software germinal de las redes sociales parte de la teoría de los Seis grados de separación, según la cual toda la gente del planeta está conectada a través de no más de seis personas. De hecho, existe una patente en EEUU conocida como six degrees patent por la que ya han pagado Tribe y LinkedIn. Hay otras muchas patentes que protegen la tecnología para automatizar la creación de redes y las aplicaciones relacionadas con éstas.
En The social software weblog han agrupado 120 sitios Web en 10 categorías y QuickBase también ha elaborado un completo cuadro sobre redes sociales en Internet.
El origen de las redes sociales se remonta, al menos, a 1995, cuando Randy Conrads crea el sitio web classmates.com. Con esta red social se pretende que la gente pueda recuperar o mantener el contacto con antiguos compañeros del colegio, instituto, universidad, etcétera.
En 2002 comienzan a aparecer sitios web promocionando las redes de círculos de amigos en línea cuando el término se empleaba para describir las relaciones en las comunidades virtuales, y se hizo popular en 2003 con la llegada de sitios tales como MySpace o Xing. Hay más de 200 sitios de redes sociales, aunque Friendster ha sido uno de los que mejor ha sabido emplear la técnica del círculo de amigos. La popularidad de estos sitios creció rápidamente y grandes compañías han entrado en el espacio de las redes sociales en Internet. Por ejemplo, Google lanzó Orkut el 22 de enero de 2004. Otros buscadores como KaZaZZ! y Yahoo crearon redes sociales en 2005.
En estas comunidades, un número inicial de participantes envían mensajes a miembros de su propia red social invitándoles a unirse al sitio. Los nuevos participantes repiten el proceso, creciendo el número total de miembros y los enlaces de la red. Los sitios ofrecen características como actualización automática de la libreta de direcciones, perfiles visibles, la capacidad de crear nuevos enlaces mediante servicios de presentación y otras maneras de conexión social en línea. Las redes sociales también pueden crearse en torno a las relaciones comerciales.
Las herramientas informáticas para potenciar la eficacia de las redes sociales online (‘software social’), operan en tres ámbitos, “las 3Cs”, de forma cruzada:
Comunicación (nos ayudan a poner en común conocimientos).
Comunidad (nos ayudan a encontrar e integrar comunidades).
Cooperación (nos ayudan a hacer cosas juntas).
El establecimiento combinado de contactos (blended networking) es una aproximación a la red social que combina elementos en línea y del mundo real para crear una mezcla. Una red social de personas es combinada si se establece mediante eventos cara a cara y una comunidad en línea. Los dos elementos de la mezcla se complementan el uno al otro.
Las redes sociales continúan avanzando en Internet a pasos agigantados, especialmente dentro de lo que se ha denominado Web 2.0 y Web 3.0, y dentro de ellas, cabe destacar un nuevo fenómeno que pretende ayudar al usuario en sus compras en Internet: las redes sociales de compras. Las redes sociales de compras tratan de convertirse en un lugar de consulta y compra. Un espacio en el que los usuarios pueden consultar todas las dudas que tienen sobre los productos en los que están interesados, leer opiniones y escribirlas, votar a sus productos favoritos, conocer gente con sus mismas aficiones y, por supuesto, comprar ese producto en las tiendas más importantes con un solo clic. Esta tendencia tiene nombre, se llama Shopping 2.0.
En el caso de las redes sociales de mayor éxito, como Facebook o Tuenti, la necesidad que nutre su éxito deriva, en gran medida, del desarrollo tecnológico. Por una parte, estas herramientas están dirigidas a una generación que ha crecido entre ordenadores y que considera Internet como un canal comunicativo más, como pudieron serlo el teléfono o las cartas para las generaciones anteriores; por otra, las cámaras fotográficas han experimentado un proceso de cambio radical, y capturar la imagen de un momento ha pasado de ser algo que requería tiempo y dinero (comprar un carrete, hacer las 24 o las 36 fotos de turno y pagar por su revelado…) a ser algo tan sencillo como sacar el teléfono móvil, apuntar y pulsar un par de botones, dando lugar a nuevas formas de expresión.
Así, las redes sociales se alimentan de una ingente masa de personas que demandan mostrar a sus amigos, conocidos o el mundo en general lo que ocurre en sus vidas: compartir sus experiencias y participar de las de los demás. Sin embargo, la Red aporta una ventaja que no tienen los álbumes fotográficos de toda la vida, ni tampoco el bar del barrio donde te reúnes con tus amigos: la posibilidad de buscar de forma inmediata a qué personas dar a conocer lo que deseas.
VENTAJAS EN LA COMUNICACIÓN
En este sentido, uno de los fenómenos a los que están dando lugar las redes sociales es el de los reencuentros entre personas que, en un momento dado, perdieron en contacto. Antiguos compañeros de estudios o trabajo, viejos vecinos o personas que cambiaron de residencia sólo tienen que teclear en un buscador el nombre de la persona con la que desean retomar la comunicación para, muy probablemente, dar con ella, saciando así su curiosidad. Igualmente, gracias a estas redes, es posible mantener un nexo con alguien de forma sencilla, para evitar que el contacto se pierda debido a un cambio de trabajo, una mudanza o cualquier otra circunstancia.
Por otra parte, si los foros virtuales facilitan la formación de comunidades, las redes sociales les aportan un toque humano, dando lugar a fenómenos como los flashmobs: reuniones breves de un gran número de personas, en muchos casos desconocidas, para realizar una acción determinada. La mayoría de los flashmobs tienen fines lúdicos o de mero entretenimiento, pero las posibilidades no tienen límites temáticos y tienen cabida desde los objetivos sociales y políticos a las expresiones artísticas.
No obstante, más allá del narcisismo o de cotillear en la vida de otros o el compartir momentos con las personas más próximas, las redes sociales tienen una vertiente útil en el campo profesional. Así, para muchas personas su perfil es una ventana al mundo laboral, una forma de publicitar sus servicios o una manera de hacer contactos con los que compartir ideas o información. Xing.com, por ejemplo, es una red social especializada en este nicho de mercado que cuenta con cerca de medio millón de clientes de pago.
En el ámbito informativo, Twitter aparece como un híbrido de red social y microblog: sus usuarios resumen en 140 caracteres cualquier novedad sobre aquello que deseen (su vida, la actualidad, un tema particular…) y se la transmiten a sus seguidores o followers, de la misma forma que pueden ser informados por aquellas personas a las que siguen.
De esta forma, las redes sociales ofrecen múltiples ventajas sobre el correo electrónico, los foros y el chat en lo que a comunicación entre grupos se refiere, dado su carácter asincrónico y personal y la relativa sencillez de sus interfaces. Y por mucho que algunas personas aún desconfíen de ellas, parece que han venido para quedarse.
- Para algunos países, ser usuario de estas redes se convierte en una amenaza para la seguridad nacional. Esto ha hecho que para el personal relacionado con la seguridad de un país sea una prohibición.
- Pertenecer a una red social no es sinónimo de productividad. Deambular en dicho dominio se ha convertido en una adicción.
- Gran cantidad de casos de pornografía infantil y pedofilia se han manifestado en las diferentes redes sociales.
jueves, 7 de mayo de 2009
BÚSQUEDA AVANZADA
Las Búsquedas Avanzadas permiten hacer combinaciones de tal forma que uno o más términos sean buscados en diferentes índices o partes del registro simultáneamente. También permiten excluir un término específico de la búsqueda o recuperar uno u otro de los términos ingresados. Cada índice representa un área del registro o ficha de título, aunque también puede buscar palabras generales en cualquier parte del registro. En todos los casos, los términos por los que se desea hacer la búsqueda avanzada se ingresarán en las áreas para buscar de cada índice.
- La búsqueda General de palabras recuperará el o los términos que se encuentren en cualquier parte del registro o título.
- La búsqueda de Título recuperará el o los términos que se encuentren en el área de título del registro.
- La búsqueda de Autor recuperará el o los términos que se encuentren en las áreas de autores del registro.
- La búsqueda de Tema recuperará el o los términos que se encuentren en las áreas de temas del registro.
- La búsqueda de Editorial recuperará el o los terminos que se encuentren en el área de editorial del registro.
- La búsqueda de Serie recuperará el o los términos que se encuentren en el área de serie del registro. Ya sea que se haga una búsqueda en un índice o en varios a la vez, se pueden utilizar los operadores booleanos AND, OR Y NOT. Puede hacer más específica la búsqueda si se utilizan estos operadores.
miércoles, 22 de abril de 2009
ENSAYO SOBRE LAS TIC
INTRODUCCIÓN
Se quiere dar a conocer la información acerca de las TIC o las tecnologías de la información y la comunicación, mostrar qué es todo lo bueno que tienen para nuestra sociedad, en qué consisten, cómo han evolucionado, su expansión y lo que las ha querido detener.
CONTENIDO
Las TIC son las tecnologías de la información y la comunicación las cuales nos permiten más fácil hacer los trabajos, estas tecnologías nos aportan la automatización de tareas, nos dan fácil acceso a una gran fuente de información, tiene una buena capacidad de almacenamiento, digitalización de toda la información.
Para el procesamiento de datos disponemos de buenos programas como los procesadores de textos, editores gráficos, hojas de cálculo, gestores de bases de datos, editores de presentaciones multimedia y también las páginas Web.
Ellas forman parte de la cultura tecnológica que nos rodea y con la que debemos convivir, además amplían nuestras capacidades físicas y mentales y las posibilidades de desarrollo social. El uso extensivo y cada vez más integrado de las TIC es una característica y factor de cambio de nuestra sociedad actual.
"Las TIC se conciben como el universo de dos conjuntos, representados por las tradicionales Tecnologías de la Comunicación (TC) constituidas principalmente por la radio, la televisión y la telefonía convencional y por las Tecnologías de la información (TI) caracterizadas por la digitalización de las tecnologías de registros de contenidos (informática, de las comunicaciones, telemática y de las interfases)”.
El elemento más poderoso y más revolucionario es sin duda: la Internet, que nos abre la puerta a un nuevo mundo o una nueva era. El impacto de las TIC en la sociedad depende del uso que le den los diferentes usuarios.
LAS TECNOLOGÍAS DE COMUNICACIÓN
Estas poseen la característica de ayudar a comunicarnos ya que, a efectos prácticos, en lo que a captación y transmisión de información se refiere, se borran las distancias geográficas.
LAS TIC EN LA EDUCACIÓN
Son los medios o recursos que pueden propiciar el aprendizaje y desarrollo de las personas, por ejemplo una persona incomunicada, mal conectada al mundo por una alteración física, sensorial u orgánica con una simple señal es suficiente para poner en marcha infinidad de habilidades como:
-Dibujar
-conectar
-comunicar
-grabar
-conocer letras, números y ciudades
-leer textos
EXPANSIÓN
La expansión de las TIC en todos los ámbitos y estratos de nuestra sociedad se han producido a gran velocidad, y es un proceso que continua ya que van apareciendo sin cesar nuevos elementos tecnológicos. La progresiva disminución de los costes de la mayoría de los productos tecnológicos, fruto del incremento de los volúmenes de producción y de la optimización de los procesos fabriles, se deja sentir en los precios y nos permite disponer de más prestaciones por el mismo dinero, facilitando la introducción de estas potentes tecnologías en todas las actividades humanas y en todos los ámbitos socio económicos.
FRENOS A SU EXPANSIÓN
Los problemas técnicos: las incompatibilidades entre sistemas, poca velocidad para navegar por Internet y para algunas tareas más.
La falta de formación: los conocimientos teóricos y prácticos, aptitudes y actitudes favorables.
Los problemas de seguridad: accesos no autorizados, inseguridad al realizar compras virtuales.
Las barreras económicas: a pesar del progresivo abaratamiento el precio de los equipos sigue siendo alto para muchos.
Las barreras culturales: el idioma inglés es muy dominante y hay mucha gente que no lo conoce ni lo practica bien.
EVOLUCIÓN
A partir de las tendencias actuales, la evolución de las TIC en los próximos años puede estar caracterizada por los siguientes aspectos:
1- El progresivo aumento de los sistemas informáticos portátiles


