lunes, 23 de agosto de 2010

Primera presentación

Hola, les comparto mi presentación para mañana sobre el tema Tabla de Símbolos del que hablaremos mi compañero Juan Antonio y yo.

Tabla de símbolos
View more presentations from cecyurbina.

Aquí también pueden ver mi presentación en grande o para descargar en PDF o PPT.

Practicando


Esta entrada es para la semana 2 de Laboratorio de lenguajes de programación, me enfoqué en lo que vimos en esa semana, aquí les dejo algunos comandos...

ls Para ver el contenido de una carpeta tecleamos ls

cd Para meternos en alguna carpeta tecleamos cd NombreCarpeta, o solo cd para salir de la carpeta

ya dentro de alguna carpeta podemos ver el contendio de algún documento con el comando less NombreDocumento

En el ejemplo que realizé primero tecle ls para ver el contenido de mi carpeta, despues me metí a la carpeta Downloads con el comando cd Downloads, y para mostrar el uso de less escribí less taller.pdf, entonces me mostró todo el contenido de este documento para dejar de ver el contenido solo pulsé Q


echo
Es una instrucción muy fácil de usar, sirve para mostrar una salida en el terminal, o también podemos guardar datos en algun documento, aquí un ejemplo muy sencillo de como podemos usarlo


grep
Se utiliza para imprimir las lineas que tegan coincidencia con el patron definido
grep [alm] prueba.txt lo utilicé para encontrar todas las lineas que tengan coincidencia con alguna de esas tres letras


y en el siguiente ejemplo utilicé "." que mapea cualquier carácter grep ..aba practico.txt

sed
Es un comando de Unix que permite realizar multiples acciones a ficheros de texto. En el ejemplo siguiente muestro como se puede cambiar una cadena de texto por otra con el comando sed "s/aba/bab/g" practico.txt



Otro ejemplo es el usar el comando sed para crear un archivo nuevo que contenga la modificación deseada

también podemos usarlo para hacer la modificación de solamente la primera coincidencia del patrón usando
echo "pprooograa"|sed "s/o/a/" a diferencia del comando echo "pprooograa"|sed "s/o/a/g" que si modifica todas las "o"


sort
Sirve para agrupar u ordenar un fichero o la salida de un programa, en mi ejemplo utilicé sort -d practico.txt para ordenar alfabeticamente la salida del archivo, tambien se puede utilizar -n para ordenar numeros


cut
Sirve para cortar caracteres y campos, para poder mostrar la salida deseada. En el siguiente ejemplo utilize ese comando de la siguiente manera: echo "Sandra, Cecilia, Urbina, Coronado" | cut -d "," -f 2 -d sirve para delimitar algun campo, y -f es para seleccionar el campo, ahora si lo que quiero es sacar caracteres en específico tecleo: echo "Sandra, Cecilia, Urbina, Coronado" | cut -d "," -f 2


y para sacar datos de algún documento podemos usar la instrucción cut -d, -f3 practico2






Espero esta entrada haya servido como un repaso ..

sábado, 21 de agosto de 2010

Presentaciones en tu blog

Hola compañeros pensando en la tarea que tenemos para este martes, aquí les dejo un pequeño tutorial que hice sobre como subir una presentación a tu blog :)

martes, 17 de agosto de 2010

Comandos útiles

Esta es mi primera entrada para Laboratorio de Lenguajes de Programacíon.
Ahora que estamos aprendiendo a usar el terminal creo que todos nos hemos dado cuenta que nos sería muy util usar más comandos para poder hacer muchas cosas sin necesidad del mouse. Por esto aquí les dejo algunos comandos que considero útiles...

cp Copia archivos o carpetas

Ejemplo para copiar el documento llamado Lenguajes de la carpeta Descargas hacia la carpeta Documentos: cp Descargas/Lenguajes.pdf Documentos/Lenguajes.pdf (Para mover es el mismo procedimiento solo que cambiando el comando cp por mv)

mv Mueve o renombra archivos o carpetas
mkdir Crea carpetas

Por ejemplo para crear una carpeta basta con teclear en el terminal mkdir nombrecarpeta, si quisieramos crear una carpeta dentro de esta se escribe asi mkdir nombrecarpeta/carpetaadentro

rmdir Borra carpetas

Por ejemplo rmdir nombrecarpeta

rm Borra archivos o carpetas
grep Filtra los contenidos de un archivo
wc archivo Muestra el número de palabras, lineas y caracteres de el archivo
wc -c archivo Muestra el tamaño del archivo en bytes
diff Compara archivos

Para usar el comando diff solamente se escribe en la terminal : diff archivo1.xx archivo2.xx

apt-get Herramienta de actualización/intalación
chmod Cambia los permisos de archivos o carpetas
chown Cambia el propietario de archivos o carpetas
cmp Compara dos archivos byte por byte
su Te conviertes en administrador
less Muestra el contenido de un archivo
kill Termina procesos

Ejemplo del uso de kill
Para terminar un proceso con el comando kill primero tenemos que saber el numero de pid, este se obtiene con el comando ps -aux (se teclea en el terminal), este despliega los procesos y el pid, entonces para indicar que se termine el proceso se debe escribir kill -KILL y el proceso termina inmediatamente, tambien para terminar un proceso se podria poner kill -TERM a diferencia de el primer comando este si permite que se termine el programa correctamente.

clear Limpiamos el terminal (el cursor aparece al inicio de la ventana)
firefox Se abre este navegador
gedit Abrimos el editor de texto
poweroff Apaga el sistema
reboot Reinicia el sistema
adduser Añade un usuario al sistema
paswrd Permite cambiar la contraseña


También cuando tenemos abierto el terminal podemos hacer varias cosas con usar simples combinaciones de teclas

Shift+Control+N Abrimos otro terminal
Shift+Control+T Abrimos una pestaña dentro de la ventana original del terminal
Shift+Control+W Cerramos la pestaña
Shift+Control+Q Cerramos la ventana del terminal

Abrir el terminal con combinaciones de teclas
Control+Alt+T
Ahora si lo que queremos es abrir el terminal con alguna combinación que nos sea más fácil recordar, podemos hacer una pequeña configuración de ello...para activar esta opción podemos hacer lo siguiente System>Preferences>Keyboard Shortcuts ya que hemos llegado a esta parte buscamos donde dice Desktop y luego en Run a terminal damos click para activar una combinacion de nuestro agrado.


Espero les sea útil estos comandos :)

lunes, 16 de agosto de 2010

Segundo reporte

C++

C++ es un lenguaje de programación que nació como una mejora del lenguaje C (que ya conocemos)incorporandole la herencia de objetos(es la capacidad de los lenguajes orientados a objetos que permiten pasar información de una clase a otra), su creación se le puede atribuir a una sola persona Bjarne Stroustrup a finales de la decada de los 70s. Al principio fue llamado de distintas maneras "nuevo C", "C con clases", el nombre de C++ se le dió hasta 1983 cuando Rick Mascitti le llamó así por ser un sucesor del lenguaje C.

El principal cambio de C++ respecto al C fue la incorporación de clases y la forma de heredar objetos de una clase a otra . Este lenguaje tuvo tres objetivos:
1. Que las clases no sumaran tiempo a la ejecución del programa.
2. Que las clases no omitieran algunas otras funciones del lenguaje C.
3. No presentar ineficiencias en la ejecución.

Estos tres puntos se cumplieron a la perfección. La mayoria de los programas en C se pueden compilar en compiladores de C++.
Se puede utilizar para programar multiples aplicaciones como juegos, drivers e incluso sistemas operativos.

Objetos de datos
C++ emplea los mismos tipos de datos que C. (int, float, char, long, double), incluye la capacidad para definir una class(una clase es la definición de tipos de datos que dice la forma de un objeto, es decir son los datos y el codigo que opera sobre estos datos). Con el concepto objeto me refiero a las instancias de la clase. La clase esta formada por variables y funciones(métodos) que los podemos llamar miembros de la clase.
Las palabras reservadas para C++ son todas las de C más aparte algunas otras como delete, bool, catch, class, public, this, true.

Sobrecarga de funciones
Este es un tema que me llamo la atencion del C++, este lenguaje permite que se definan funciones con el mismo nombre, siempre y cuando las funciones tengan diferentes conjuntos de parámetros (A esto se la llama sobrecarga de funciones). Al haber dos funciones con el mismo nombre el compilador de C++ escoge la funcion de acuerdo a los argumentos de llamada.

iostream
Es la biblioteca normal de C++ para las funciones de entrada y salida, la funcion cout para mostrar los datos en la pantalla con el operador << y cin con el operador >> se utiliza para obtener un valor desde el teclado.

Compilador, ejemplo de hola mundo y su ejecución
Para compilar en C++ va a ser necesario instalar el compilador g++ (GNU C++) para eso tecleamos en la terminal:

sudo apt-get install g++

El ejemplo del programa lo voy a hacer en Emacs, asi que primero que nada hay que abrir el terminal y teclear:

emacs hola.cpp

La extension .cpp es para los ficheros fuente en C++ es cpp por su nombre en inglés C plus pluse, entonces se abre emacs y podemos empezar a escribir el código en este caso
guardamos y para compilar tecleamos

g++ hola.cpp -o Hola

y para ejecutar:

./Hola



Compilador para Windows


El ya por todos conocido Dev C++ , que es un compilador y entorno de desarrollo para C y C++.
Para descargar haz click aquí




Buenos manuales de programación en C++
Manual 1 Me parecio muy completo tiene una introduccion de que es lenguaje orientado a Objetos y en que consisten las clases, métodos, objetos, además de varios ejemplos.
Manual 2 (en inglés)



domingo, 8 de agosto de 2010

::: Lenguajes de programación ::: Ensambladores :::



Ensamblador es un programa que se utiliza para convertir código fuente (lenguaje Assembly) a código objeto (lenguaje máquina). El lenguaje Assembly se creo con el propósito de facilitar la escritura de programas ya que el lenguaje binario es bastante complicado y difícil de entender, este lenguaje usa referencias simbólicas para evitar cálculos tediosos. El lenguaje Assembly sigue siendo utilizado para varios dispositivos programables como los microcontroladores.
Añadir imagen

Click en la imagen

Características del lenguaje Assembly

  • Utilizan menos recursos del sistema.
  • No son portables, ya que un código hecho para un microprocesador tendría que modificarse mucho para usarse en otra computadora, aunque tuviera el mismo microprocesador.
  • Se lleva gran tiempo en codificar.
  • Son difíciles de hacer ya que se parecen al lenguaje maquina.
  • Se tiene un control muy preciso de los microprocesadores.
  • Se puede controlar el tiempo de su ejecución e impedir que se interrupa su proceso.

Los ensambladores han estado presentes desde 1950, y han avanzado hacia lo que se conoce como compilador.
Los ensambladores han evolucionado y se han creado uno partir del otro, con las cualidades que tenia el ensamblador anterior y con mejoras muy notables: ensambladores básicos-> ensambladores modulares-> Ensambladores modulares de 32-bits.


Click en la imagen


Esta es mi aportación para el tema de ensambladores, espero que tengan oportunidad de leerlo y comentarlo, los diagramas con los me apoyo los realicé con base en lo que entendí del tema.

Primer reporte-Mapa conceptual

Hola a todos, esta es mi Tarea 1 para la materia de Lenguajes de Programación, es un mapa conceptual (click para agrandar) en el que resumí los conceptos básicos que vimos en clase, espero les sea de utilidad por si no quedo claro algún punto.

Tratare de explicar la distribución de mi mapa:

Definición
Los lenguajes de programación son un idioma artificial que se utiliza para expresar instrucciones que pueden obedecer las máquinas, las características de los lenguajes de programación de alto nivel son claridad, potabilidad, natural, compatible, eficiente, etc. y para lograr esas características o cualidades deben de seguir ciertas reglas de sintaxis y semántica de acuerdo a el lenguaje de programación que se utilice.

Interacción del Sistema operativo con el resto de las partes
Aquí mostré la relación que existe entre el hardware con el Sistema operativo, el sistema operativo sirve de interfaz entre el hardware y los programas que utiliza el usuario.

Lenguajes de bajo nivel(ensambladores)
Los lenguajes de bajo nivel aveces son llamados ensambladores, aunque este concepto esta mal empleado ya que en si los ensambladores no son un lenguaje de programación, si no mas bien interpreta un código Assembly y lo pasa a código maquina (binario), entonces el ensamblador es el programa que se encarga de hacer esa interpretación.
En mi siguiente entrada al blog es posible que hable más de este tema, diga sus pros y contras, y para que se siguen utilizando.

Paradigmas
Este tema muestra los diferentes enfoques que se le puede dar a la creación de software .
Yo hice tres clasificaciones: lenguaje imperativo, declarativo y orientado a objetos.
El imperativo es el mas común, utiliza conjunto de instrucciones para que la maquina pueda realizar una tarea. Ejemplo: C, Basic.
El declarativo a su vez se clasifica en dos: funcional y lógico.
El funcional se caracteriza por la declaración de funciones, además no se declaran variables, no tiene la opción de construcciones estructuradas como iteracion por lo que se utiliza la recursión y se basa en el uso de funciones aritméticas. Ejemplo: ML, Haskell.
Y en el lenguaje lógico se indica no como si no que hacer. Ejemplo: Prolog.
Programación orientada a objetos
Utiliza objetos y sus interacciones para crear diversas aplicaciones. Ejemplo: C#, Java, Python.

Es importante mencionar que entre los enfoques mencionados aunque tengan sus ventajas o desventajas, no quiere decir que unos sean mejores que otros sino que, cada uno tiene una característica que les permite desarrollar mejor alguna tarea.

Validación
Es checar si el programa cumple con las especificaciones y con lo que requiere el usuario.

Lenguajes de representación y consulta
Los lenguajes de representación se refieren a aquellos que sirven como herramientas para la construcción, representación y diseño de documentos, ejemplos: html y xml, mientras que loslenguajes de consulta son utilizados para consultar en bases de datos o en sistemas de información, ejemplos: SQL.

Esa es la manera en que yo relacione todos los conceptos vistos en clase y ademas profundice mas algunos temas que me parecieron importantes, espero les sirva mi información y me comenten que les parecio

Saludos.