V SEMESTRE ING. SISTEMA

2009 Marzo 21
by claretcoromoto

EL FAMOUS SCRIPT PARA BAJAR VIDEO YOU TUBE

2009 Enero 7
by claretcoromoto

# Script para descargar videos de YouTube
if [ “$#” != “1″ ]; then
echo ” “
echo ” “
echo ” YouTube Video Downloader”
echo
echo ” Funcionamiento, debes escribir:”
echo ” youtube.sh http://www.youtube.com/watch?v=<video_ID>”
echo ” o”
echo ” youtube.sh <video_ID>”
echo
exit 64
fi
VID=$(echo “$1″|sed “s/.*v=\([^&]*\).*/\1/”)
URL1=”http://www.youtube.com/watch?v=$VID”
echo -n “Buscando $URL1 …”
PARAM=”$(wget -q -O - “$URL1″|grep watch_fullscreen|cut -d ‘&’ -f 3)”
echo ” Descarga finalizada.”
URL2=”http://www.youtube.com/get_video?video_id=$VID&$PARAM”
echo -n “Buscando $URL2 …”
URL3=”$(wget -S “$URL2″ 2>&1|sed -n /Location:/s/.*http:/http:/p)”
echo ” Descarga finalizada.”
echo “Buscando $URL3″
exec wget -O “$VID.flv” “$URL3″

Para usarlo, hay que crear un fichero de texto y pegar en él el código superior, lo guardamos como youtube.sh (por ejemplo) y luego le damos permisos de ejecución (chmod +x youtube.sh). Para bajar el vídeo que nos interese, sólo hay que ejecutar:

$ ./youtube.sh dirección_completa_del_video 

Y tendremos el video en la carpeta donde ejecutemos el script.

PASCAL: Estructura de Datos: Array o Arreglos

2008 Noviembre 26
by claretcoromoto

BUENISIMO PARA LEERSELO TUTORIAL DE PASCAL (PROGRAMACIÓN) LEAN LEAN PRACTIQUEMOS PRACTIQUEMOS

problemas-pascal

manual-de-turbo-pascal

guia-adicional-de-pascal

ESTRUCTURA DE DATOS: ARREGLOS (ARRAY)

Objetivos del Aprendizaje

  • Conocer las estructuras de datos
  • Trabajar con arreglos o array unidimensionales o vectores
  • Realizar operaciones con arreglos unidimensionales o vectores
  • Trabajar con arreglos o array bidimensionales o matrices
  • Conocer los arreglos multidimensionales
  • Entender el almacenamiento de arreglos en memoria

Como ya hemos estudiado ¡ME IMAGINO! los conceptos de algoritmos y programas, como una serie de elementos, entre ellos, la lógica, que ayudan a resolver problemas computacionales. También se debe tener en cuenta cómo un programa o algoritmo puede ser representado gráficamente mediante un Diagrama de Flujo y además con los principios de la Programación Estructurada, sus recursos y técnicas. En esta oportunidad  se estudiará una de las representaciones de datos más usadas en programación: Los Arreglos o Array o Vectores. Los arreglos se utilizan para almacenar datos consecutivos de un mismo tipo, por lo que se usan generalmente en algoritmos de clasificación, ordenamiento y búsqueda.

ARREGLOS UNIDIMENSIONALES:

vector o arreglo

Un arreglo unidimensional o vector, es un conjunto finito, consecutivo y organizado de elementos homogéneos, es decir, elementos pertenecientes a un mismo tipo de datos, escuchemos bien!!! a un mismo tipo de datos.

Ahora bien, se dice que es:

  • Finito: Porque el arreglo tiene un número determinado de elementos.
  • Homogéneo: POrque todos los elementos del arreglo son del mismo tipo.
  • Organizado: Porque existe una forma de referenciar cada elemento del arreglo y de acceder a cada uno de sus elementos de manera independiente.
  • Consecutivo: POr la foma en que se almacena o representa un vector en la memoria del computador, en posiciones consecutivas de la memoria.

Para referenciar cada elemento de un arreglo se usa el índice, LA BENDITA (i)!!!!, que es un valor que directa o indirectamente referencia la posición de cada elemento dentro del arreglo.

Los índices deben ser de cualquier tipo de datos escalar, porque en un escalar se puede definir un orden y entre dos elementos consecutivos no puede haber infinitos elementos. Un ejemplo de datos escalares son los enteros y caracteres. Normalmente, como índices se van a utilizar números enteros, ¡EL FAMOSO INTEGER!.

Para referenciar un elemento de un array, remember, arreglo!!!, se usa el nombre del arreglo o array y entre corchetes ([ ]) el índice que determina la posición de ese elemento en el arreglo.

El rango o longitud de un vector o arreglo lineal es la diferencia entre el índice de valor máximo en el arreglo y el índice de valor mínimo + 1. Normalmente, los índices comienzan a enumerarse desde 0 ó 1, como el valor mínimo del índice, dependiendo del lenguaje de programación (en Pascal inician con 1 y en C inician con 0). Sin embargo, nada impide que comiencen con cualquier otro valor.

Los arreglos se almacenan en posiciones consecutivas de memoria y se puede acceder a cada elemento del arreglo de manera independiente, a través de los índices. Un índice no tiene porque ser un valor constante, puede ser también una variable o una expresión que al ser evaluada devuelva un valor escalar que se encuentre entre el índice menor y el índice mayor del arreglo o ambos inclusive.

DEFINICIÓN DE UN ARREGLO O VECTOR:

Para definir un arreglo, se da el nombre del arreglo, el rango de sus índices y el tipo de los datos que contien. Esto es:

<nom_arreglo>: arreglo [rango] de <tipo>

Ejemplo:

sueldo: array [8] of real                          sueldo: arreglo [8] de real

i: integer                                                 i: entero

i=2                                                         i=2

sueldo [i]= 23.5                                    sueldo [i]= 23.5

Si el valor mínimo del rango del índice es 1 la sentencia sueldo [i]= 23,5 asigna el valor 23,5 a la segunda posición de un arreglo de ocho elementos.

Si el valor mínimo del rango del índice es 0 la sentencia sueldo [i]= 23,5, se asigna el valor 23,5 a la tercera posición de un arreglo dado que el valor del índice i es 2.

Se considera un error intentar acceder a una posición del arreglo que esté fuera del rango del índice. Este error se denomina comúnmente ‘índice fuera de rango’.

OPERACIONES CON VECTORES:

Se va a usar la declaración de vector:

ventas: arreglo [12] de entero

Gráficamente éste vector puede representarse como EN ESTA TABLA:

**********************************************************

* 1 * 2  * 3  *  4 * 5 *  6 * 7 *  8 * 9 * 10 * 11 * 12 *

**********************************************************

ASIGNAR UN DATO A UNA POSICIÓN DEL ARREGLO

Consiste en asignar un valor dado a una posición del arreglo dada por un índice.

La sintaxis de ésta operación es:

<nom_arreglo>[índice] = valor

Ejemplo: Asignar el valor 600000 a la posición 5 del vector.

ventas[5] = 600000

LECTURA Y ESCRITURA DE DATOS

Consiste en usar una posición cualquiera del arreglo definida por un índice para operaciones de entrada y salida.La sintaxis para estas operaciones es:

Escribir <nom_arreglo> [índice]

Ejemplo: Leer y mostrar las ventas de los 12 meses del año y almacenarlar en un vector.

  1. Desde i = 1 hasta 12
  2. Escribir ‘Introduzca las ventas del mes ‘ i
  3. Leer ventas
  4. Fin Desde
  5. Desde i = 1 hasta 12
  6. Escribir ‘Ventas del mes’    i   ‘  =  ‘ ventas [i]
  7. Fin desde

Fijense que aqui se da sólo un ejemplo a nivel general, pero Pascal que es lo que nos intera por ahora!!!! tendremos que traducir en su propio lenguage!!!!, esto sería como la chuleta….. acuérdate!!! for   i = 1 to 12 do for example….

RECORRIDO O ACCESO SECUENCIAL DE UN ARREGLO

Consiste en pasar por todas las posiciones del arreglo para procesar su información.Usualmente, se usa un ciclo ‘Desde’    o ‘ For’  para recorrer el vector.

La sintaxis para esta operación es:

Desde índice  =  1  hasta Rango_Arreglo

<acciones con el arreglo>

Fin Desde

Otro ejemplo: Sumar 1 millón a las ventas de cada mes

  1. Desde i  =  1 hasta  12
  2. ventas [i]  =  ventas [i]  +  1000000
  3. Fin Desde

Claro que aquí para utilizar el Ciclo ‘Desde’  o ‘For’ ya debe por supuesto estar definido el arreglo en VAR…you know!!!

Ahora bien, vamos a

LA ACTUALIZACIÓN DE UN ARREGLO

Añadir datos: Es un caso especial de la operación de inserción de un elemento en un arreglo, donde el elemento nuevo se agrega después de la última posición que contiene información válida en el arreglo. Para hacer esta operación es necesario que si actualmente el arreglo tiene K posiciones de información válida, tenga un tamaño de al menos k + 1 para que se pueda añadir otro elemento a continuación del elemento en la posición K.

Sintaxis de esta operación: <nom_arreglo> [K + 1] = valor

Insertar datos: Consiste en introducir un elemento en una posición del interior de un arreglo, para lo cual será necesario desplazar una posición a la derecha a todos los elementos que estén a la derecha de donde se va a insertar el elemento, esto con el fin de conservar el orden relativo entre los elementos.

Para que se pueda insertar un nuevo elemnto en el arreglo, si ya existen n elementos con información en el arreglo tebdá que tener un tamaño al menos de n + 1 para poder insertar el  uevo elemento.

**************************************************************

*   C   *   E  *  F    *  J      *    M   *  O  *         *       *

**************************************************************

Al insertar ‘G’  en la cuarta posición queda

***************************************************************

*   C   *   E   *  F   *   G    *     J   *  M   *  O    *       *

***************************************************************

Si K es lña posición donde se va a insertar el nuevo  elemento, n es el número de elementos válidos en el arreglo en el momento de la inserción y suponiendo  un tamaño mínimo de   n + 1, el algoritmo de inserción es:

Desde    i=   n   hasta   K   con decremento   1

A[i + 1]  =  A[i]

Fin Desde

A[ĸ]  = valor

Ejemplo: Insertar 30000 correspondientes a las ventas del mes 5.

  1. Desde  i= 11  hasta  5  con decremento   1
  2. ventas [i  +  1]  = ventas [i]
  3. Fin Desde
  4. Ventas [5] =  30000

Eliminar datos: Para eliminar un elemento de un arreglo, si ese elemento está posicionado al final del arreglo, no hay ningún problema, simplemente si el tamaño del arreglo era n, ahora hay que considerar que el tamaño del arreglo es n-1.

Si el elemento a eliminar ocupa cualquier otra posición, entonces se tendrá que desplazar una posición hacia la izquierda todos los elementos situados a la derecha del elemento a borrar, para que el arreglo quede organizado.

***********************************************************************

*   C   *    E      *   F    *    J     *     M   *   O     *         *          *

***********************************************************************

Al borrar el elemento J de la cuarta posición

***********************************************************************

*   C   *    E      *    F    *    M    *     O   *          *         *           *

***********************************************************************

Suponiendo que el número de elementos válidos actualmente es  ‘n’ y que se desea borrar el elemento de la posición K.

Desde   i =  K  hasta   n -  1

A[i]    =    A[i + 1]

Fin Desde

Ejemplo: Eliminar las ventas registradas en el mes 4 y desplazar las de los meses subsiquientes hacia la izquierda

  1. Desde   i=  4  hasta   11
  2. ventas [i]  =  ventas [i + i]
  3. Fin Desde
  4. El número de elementos válidos n es ahora n  =  n – 1

ARREGLOS BIDIMENSIONALES: MATRICES     m   x   n

En un arreglo unidimensional o vector cada elemento es referenciado por un índice. En un arreglo bidimensional cada elemento se a referenciar por dos índices.

La representación lógica de un aarreglo bidimensional es una matriz de dimensiones  M  x  N, donde M es el número de filas de la matriz y N es el número de columnas, es decir, la 1ª dimensión indica las filas y la 2ª dimensión indica las columnas. Al acceder a un elemento I, j se está accediendo al elemento que ocupa la fila I y la columna J.

Un arreglo bidimensional de M  x  N elementos es un conjunto de M x N elementos, todos del mismo tipo, cada uno de los cuales es referenciado a través de 2 subíndice El primer subíndice varía entre 1 y M o entre 0 hasta M -1, dependiendo desde donde comience el índice. El segundo índice varía entre 1 o entre 0 N – 1.

En general se puede definir un arreglo de 2 dimensiones de la siquiente manera:

<nombre arreglo>: arreglo [rango - filas, rango - columnas] de <tipo de dato>

Así la matríz para la representación de las ventas mensuales de cinco años será.

ventas: arreglo [5, 12] de Real

tamaño = m xn = 5 x 12 = 60

En memoria, sin embargo todos los elementos del arreglo se almacenan en posiciones contiguas.

Matriz de ventas 5 x 12, total de 60 elementos: bueno imagínense que esta es una TABLA DE 60 CELDAS, es decir 5 x 12.

***********************************************************************************************

*          1   *   2   *   3   *   4   *   5   *   6   *   7   *   8   *   9    *    10   *   11   *    12   *

*   1

*   2

*   3

*   4                        120

*   5

************************************************************************************************

MANEJO DE MATRICES

Colocar el valor de cero a todos los elementos de la Matriz

Esta es una operación útil cuando se dessea inicializar todos los elementos de la matriz a un valor dado, usualmente ese valor es cer, aunque bien podría ser cualquier otro valor válido.

Sintaxis

M: arreeglo [m, n] de entero

Var i, j : entero

Desde i = hasta m

Desde j = 1 hasta n

Fin Desde

Fin Desde

Ejemplo: Inicializar, Remember INICIALIZAR la matriz de ventas mensuales para 5 años.

  1. ventas : arreglo [5, 12] de entero
  2. Var i, j : entero
  3. Desde i = 1 hasta 5
  4. Desde i = 1 hasta 12
  5. ventas [i, j] = 0
  6. Fin Desde
  7. Fin desde

Colocar el valor de cero a sólo los elementos de una fila dada:

En este caso, se mantiene fija la fila y se recorren las columnas asignándoles un valor suministrado, usualmente ese valor es cero.

Sintaxis:


Materia de matemática, física, ….

2008 Noviembre 12
by claretcoromoto

PROGRAMACIÓN EN TURBO PASCAL

2008 Octubre 31
by claretcoromoto

Hoy es 31 de octubre de 2008, apenas son las 00:40 hora, okey ayer vimos por primera vez Lab de Programación, me pareció productiva.

Pero, lo importante!!! es que les conseguí un material bastante sencillo para aprender rápido Pascal y salir de él lo más pronto posible para entrar a otro nivel de conocimiento con respecto a programación. Bye

turbo-pascal

GEOPOLÍTICA

2008 Octubre 12
by claretcoromoto

REVISTA GEOGRÁFICA

2008 Octubre 12
by claretcoromoto

Actividades o tareas

2008 Septiembre 30
by claretcoromoto

El profesor Jesús Rodríguez en la semana Uno asignó a investigar Arquitectura del Computador y Algoritmo, luego para la Tercera semana, cuénten please si saben contar!!!  -las semanas- okey asignó un INFORME INDIVIDUAL,

  1. Definición de Algoritmo
  2. Cómo se representan

Dar un ejemplo de cada representación.

Por otra parte, es necesario instalar Pascal V.7 preferiblemente.

Para los que usan Linux en este caso los paquetes Debian pueden descargarlos por AQUÍ

Ya saben, descargan todos los paquetes que se encuentran en la página que se les OPEN y luego por la Terminal abren Pascal escribiendo “fp”, en este caso es la versión 2.2.2. que es compatible con la 7.

Ahora sólo nos quedará echarle pluma, es decir, fajarnos!!!!

Ésta es una página en donde pueden encontrar información Diccionario Informático

FÍSICA II

2008 Septiembre 29
by claretcoromoto

Primera Clase de Física

Here is el Contenido Programático de la clase del Viernes de la primera semana

Es bastante fácil, I hope So!!!

Primera semana Matemática

2008 Septiembre 29
by claretcoromoto

Okaaay mis amores, en esta primera clase que nos brinda el teacher Ingeniero en informática Abraham Pineda, nos deja un poco crazy, imaginate, si con una variable en las Derivadas Parciales nos become crazy, Now is worse!!! Con TRES variables  X, Y y Z

Aquí les dejo la primera chupetica de ajo, descarguenla pleases, eso sí cuando se reunan a estudiar CALL me please”!!!!!     0414 6247407

funciones-con-mas-de-una-variables