lunes, 22 de noviembre de 2010

Reporte video (continuacion al de Eduardo Leal)

Bueno de nuestro video este es el codigo que varias personas nos sugirieron publicarlo:
#include
#include
#define FALSE -1
#define TRUE 1
void cabecera(void);

void cabecera(void) {
int i; //local mientras se ejecuta la fun cabecera(no se contrapone con la otra i)
system("cls"); //ordena al SO que limpie la pantalla
printf(""); //que imprima el pipe
for(i=0;i<33;i++) un =" }" i="0;i<33;i++)"> -1) {
return FALSE;
}
return TRUE;
}
int menu(void) {
int op; //declara la variable op como entera
printf("\n"); //imprime mensaje
printf("\t1.- Push un dato\n");
printf("\t2.- Pop un dato\n");
printf("\t3.- stacktop\n");
printf("\t4.- Empty\n");
printf("\t5.- Imprime\n");
printf("\t6.- Operador\n");
printf("\t7.- Salida\n\n");
printf(" Selecciona la opcion -> ");
scanf("%d", &op); //recibe la opcion por el teclada y lo guarda en la variable local OP
return(op); // regresa el valor de OP en donde fue llamada
} //termina funcion



int main(void) {
char operador;
int opcion = 0, temp, i, otratemp[2];
int pila[15], tope = -1;
while(opcion < opcion =" menu();"> "); //imprime
scanf("%d", &temp); //guarda en temp
tope = tope + 1; //incrementa
pila[tope] = temp; //que guarde el dato que teclearon en el arreglo
break; //saltar hasta terminar el bloque de instrucciones
}//termina la opcion 1

case 2: {
cabecera();
if(empty(tope) == FALSE) {
printf("Elemento retirado es %d \n\n", pila[tope]);
tope = tope -1;
} else {
printf("ERROR, pila vacia\n\n");
}
system("pause");
break;
}
case 3: {
cabecera();
if(empty(tope) == FALSE) {
printf("Elemento stacktop es %d \n\n", pila[tope]);

} else {
printf("ERROR, pila vacia\n\n");
}
system("pause");
break;
}

case 4: {
cabecera();
if(empty(tope) == TRUE) {
printf("la pila esta vacia\n\n");
system("pause");
} //termina el verdadero IF
else{
printf("la pila NO esta vacia\n\n");
system("pause");
} //termina el falso del IF
break;
} //termina la opcion 4
case 5: {
cabecera();
for(i=tope;i>-1;i--) {
printf("\t\t[%d]\n", pila[i]);
} //termina la opcion 5
system ("pause");
break;
}
case 6: {
system("cls");
printf("Que operacion hay que realizar ->");
operador = getchar();
switch(operador) {
case '*': {
if(empty(tope) == FALSE) {
otratemp[0]= pila[ tope -1];
tope = tope-1;
pila[tope + 1] = otratemp[0] * otratemp[1];
break;
}
else { // error

printf("ERROR, pila vacia\n\n");
}
}
}


}
}


}
getchar();
return 0;
}


Si encuentran algun error, duda o sugerencia por favor dejenla aqui o ya sea en nuestro video la direccion es:
http://www.youtube.com/watch?v=RDJ7OvYeTKM

miércoles, 17 de noviembre de 2010

Reporte 8 Lenguaje de multiparadigmas

Go
Go es un lenguaje de programación concurrente y compilado inspirado en la sintaxis de C. Ha sido desarrollado por Google y sus diseñadores iniciales son Robert Griesemer, Rob Pike y Ken Thompson. Actualmente sólo está disponible para los sistemas operativos GNU/Linux y Mac OS X

Programa:
package main

import fmt "fmt" // Package implementing formatted I/O.

func main() {
fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界\n")
}
Tutorial:
http://golang.org/doc/go_tutorial.html

Reporte 7 Lenguaje Orientado a objetos

Java

La programación Orientada a objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.

Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar.

Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar.

Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.

Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.

mi Programa:
import java.util.*;
public class Fibonacci
{
public static void main(String args[])
{
int x=0;
int y=1;
int z=0;
int num;
Scanner scan= new Scanner(System.in);
System.out.print("Numero a que llega la serie: ");
num=scan.nextInt();
System.out.print("0 ");
for (int i =1;i{
x=y;
y=z;
z=x+y;
System.out.printf("%d ",z);
}
}
}

C++



C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.

Programa:




Bueno estos son mis programas Orientados en objetos tube unos peqeños inconvenientes por decir que en mi programa java no me deja la imagen no se porque no se puede, y con el c++ no se podia subir el codigo Espero haber cumplido con el reporte

Tutoriales: http://www.youtube.com/watch?v=Y5QI2IAoIjw
http://www.youtube.com/watch?v=T8VWOvcgNw0
son muy buenos de ahi me guie(:

miércoles, 10 de noviembre de 2010

Reporte 6

Lenguajes Imperativos

La programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.

La implementación de hardware de la mayoría de computadores es imperativa; prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias son instrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).

Programa en Pascal


Codigo para calcular el area del cuadrado
























Programa en Fortran






program suma

!dikvseis
implicit none
real::a,b,c,d, e
!integer::1

!ekfraseis
!+*

a=5
print*, "a",a
b=a*5
print*, "b",b
c=b+5
print*, "c",c
d=a+b
print*, "d",d
e= a*b+c*d
print*, "e",e

end program

Programa en c


#include

int main()
{
int i=1,n;

do{

printf("Ingrese el numero que desea desplegar su tabla de multiplicar: ");
scanf("%d", &n);
printf("%dx%d=%d", n,i,(n*i));

}while (n==-1);
for(i=2;i<=10;i++){ printf("\n%dx%d=%d", n,i,(n*i)); } getche(); }

Programa en Perl



#!/usr/bin/perl
#
# Fraga 23/03/1999
#
if ( $#ARGV == 0 ) {
die "Args: a b\n";
}
elsif ( $#ARGV == 1 ) {
$a = $ARGV[0];
$b = $ARGV[1];
}
else {
print "De el valor de a = ";
$a = ; chop $a;
print "De el valor de b = ";
$b = ; chop $b;
}
$c = $a + $b;
print "$a + $b = $c\n";

Su logica es simple: si se da un solo argumento,
$#ARGV == 0, el programa termina.
Si se dan dos argumentos al programa,
$#ARGV == 1, estos son numeros que se van a
sumar. Y si no se dan argumentos se pregunta por
cada numero. Al final imprime los dos numeros y su suma.



Bueno estos son mis cuatro programas en lenguajes imperativos, No se me complico mucho, puesto que el fortran y el turbo son realmente parecidos al c y ya con eso la verdad es un poco menos el peso de la programa. ¿Con que batalle? Buscando compiladores qe funcionaran y se instalaran bien. Pero entonces recorde la investigacion que hicimos del reporte 2 y cheque y todas las referencias me sirvieron

El Prolog (o PROLOG), proveniente del francés PROgrammation en LOGique, es un lenguaje de programación lógico e interpretado, bastante conocido en el medio de investigación en Inteligencia Artificial.




problema en prolog






Bueno mi problema esta sencillo, trata sobre la pocision de la vocal por decir le preguntas que si la a es la tercera pues te sale que no y si le pones que si la a es la primera pues te dice qe si. Es un programa sencillo pero qe funciona






predicates
vocal_posicion(char,integer)

clauses
vocal_posicion('a',1).
vocal_posicion('e',2).
vocal_posicion('i',3).
vocal_posicion('o',4).
vocal_posicion('u',5).

Goal:
vocal_posicion('e',2).
Responde: Yes
vocal_posicion('o',3).
Responde: Yes
vocal_posicion('i',1).
Responde: No

lunes, 18 de octubre de 2010

cuarto reporte

Programas en Dr scheme

Scheme es un lenguaje de programación funcional y un dialecto de Lisp.
Fue desarrollado por Guy L. Steele y Gerald Jay Sussmas en la decada de los setenta e introducido al muno academico atraves de una serie de articulos conocidos como los Lamda Paper de Sussman y Steele.
Tiene una sintaxis muy reducida, comparado con muchos otros lenguajes. No necesita reglas de precedencia, ya que en esencia, carece de operadores: usa una notacion prefija para todas las llamada a funcion.
Facilita la programacion funcional. La programacion funcional puro no precisa de variables globales ni sufre de efectos secundarios y es por tanto automaticamente segura en presencia de procesis concurrentes.


#lang scheme
(define (bar vara varb varc)(* (+ vara varb) varc) )
_____________________________________________________

Welcome to DrScheme, version 4.1.3 [3m].
Language: Module; memory limit: 128 megabytes.
> (bar 1 1 1)
2
> (bar 4 4 8)
64






Es un programa sencillo pero que funciona. Primero de claramos una funcion creo, luego definimos sus variables yo las llame vara varb varc despues corrie el programa y para mandar llamara a la funcion solo escribí


(bar numero numero numero) y el programa calculaba el resultado de la suma que en si misma traia una multiplicacion




















Mi siguiente programa es este:
#lang scheme
(define (count-down num)
(cond [(zero? num) 'Done]
(else (count-down ( - num 1)))))
__________________________________________________________
Welcome to DrScheme, version 4.1.3 [3m].
Language: Module; memory limit: 256 megabytes.
> (count-down 5)
Done
>


Este es un programa de recursion dond creo una funcion que se va a qitar uno si es diferente a cero i al llegar a cero imprimira en la pantalla done


Bueno estos son mis primeros dos prgramas con Drscheme. La verdad es qe si batalle pues primero me meti a unos tutoriales donde los ejemplos en vez de empezar por lo sencillo empezaban luego luego a lo dificil y la verdad es que el lenguaje no esta tan complicado una vez ue le encuentras el hilo a la redaccion



Programa en Lisp
El nombre LISP deriva del "LISt Processing" (Proceso de LIStas). Las listas encadenadas son una de las estructuras de datos importantes del Lisp, y el código fuente del Lisp en sí mismo está compuesto de listas. Como resultado, los programas de Lisp pueden manipular el código fuente como una estructura de datos, dando lugar a los macro sistemas que permiten a los programadores crear una nueva sintaxis de lenguajes de programación de dominio específico empotrados en el Lisp.


mi programa es un factorial


(defun factorial (n) (if (* n 0= 1 (* n (factorial (- n 1 )))))

La verdad es que el lenguaje lisp se me hizo todavia mas sencillo que el Dr scheme


miércoles, 1 de septiembre de 2010

Tercer reporte



Bueno este es mi primer reporte. Hice tres programas en diferentes programas para la programacion, la verdad es que me parecio un poco dificil, pues solo se programar en dev c++. Mis programas estan sencillos pero creo que funcionan. Trate de esplicar como entendi lo que hacia cada funcion en cada programa

En Perl, el programa canónico "Hola este es mi primera vez usando Perl" es:
#!/usr/bin/perl
print "¡ Hola este es mi primera vez usando Perl!\n";

• La primera línea contiene el shebang (par de caracteres que identifica el texto que sigue), que le indica al sistema operativo dónde encontrar el intérprete de Perl. (Importante: esto solo aplica en los sistemas operativos basados en UNIX).
• La segunda imprime el string ¡ Hola este es mi primera vez usando Perl! y un carácter de nueva línea, seguido por ; que representa en final de la línea de código
El signo # es un 'token comentario', que permite al intérprete perl ignorar todo lo que le siga, hasta el final de la línea de texto, por lo tanto si hubiese querido agregar un comentario solo hubiese bastado con agregar # y poner mi comentario. Un ejemplo de esto seria
#!/usr/bin/perl
print "¡Hola mundo!\n";
# mi primer comentario

Bueno cambie los otros dos programas pues al parecer creo que me confundi y no eran lenguajes Script

este es mi programa con Matlab :

>> disp('Hola esta es la primera vez que uso Matlab'); % Muestra el mensaje.
Hola mundo

Este programa se me presentaron varias complicaciones pues para instalarse se tardo mucho pues tambien pesa mucho. El codigo de mi programa esta sencillo, por lo mismo de no saberlo utilizar. Pero Matlab se utiliza para calcular matrices y resolviendo distintos algoritmos. Lo usan mucho en las investigaciones




En Groovy pues busque informacion para poderlo hacer encontre que es un lenguaje combinado del java, phyton y Ruby

pude hacer este pequeño programa que imprime en la pantalla Hola! esta es mi primera vez usando el programa Groovy y pues esta es mi codificacion:

println "Hola! Esta es mi primera vez usando el programa Groovy"

Creo que es muy facil de utilizar por lo mismo de que es una combinacion de los otros lenguajes.



Una disculpa por el error que habia cometido por los lenguajes pasados. Pondre una definicion de lenguajes Scrpt pues varios nos confundimos y no sabiamos que eran:(Scripting language, lenguaje de guión). Un lenguaje scripting es un tipo de lenguaje de programación que es generalmente interpretado.
Se les conoce como programas compilados, porque los programas son convertidos de forma permanente a un código especial antes de que puedan ejecutarse (proceso de compilación). En cambio los scripts permanecen en su forma original (su código fuente en forma de texto) y son interpretados comando por comando cada vez que se ejecutan. De todas maneras, los scripts pueden ser compilados también, aunque no es usual.

miércoles, 18 de agosto de 2010

Clase

Aqui esta la clase de mi equipo nosotros hablaremos de Interprete

Clase

Mi parte de la clase:



Nuestra clase es la de interprete


Reporte 2

Bueno este es mi reporte 2. Escogí hablar sobre el lenguaje C++ es el primero que nos empiezan a enseñar a los programadores primerizos. C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.
El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

En C++, cualquier tipo de datos que sea declarado completo (fully qualified, en inglés) se convierte en un tipo de datos único. Las condiciones para que un tipo de datos T sea declarado completo son a grandes rasgos las siguientes:
• Es posible al momento de compilación conocer el espacio asociado al tipo de datos (es decir, el compilador debe conocer el resultado de sizeof(T)).
• T Tiene al menos un constructor, y un destructor, bien declarados.

• Si T es un tipo compuesto, o es una clase derivada, o es la especificación de una plantilla, o cualquier combinación de las anteriores, entonces las dos condiciones establecidas previamente deben aplicar para cada tipo de dato constituyente.

En general, esto significa que cualquier tipo de datos definido haciendo uso de las cabeceras completas, es un tipo de datos completo.
En particular, y, a diferencia de lo que ocurría en C, los tipos definidos por medio de struct o enum son tipos completos. Como tales, ahora son sujetos a sobrecarga, conversiones implícitas, etcétera.
Los tipos enumerados, entonces, ya no son simplemente alias para tipos enteros, sino que son tipos de datos únicos en C++. El tipo de datos bool, igualmente, pasa a ser un tipo de datos único, mientras que en C funcionaba en algunos casos como un alias para alguna clase de dato de tipo entero.


Uno de los compiladores libres de C++ es el de GNU, el compilador G++ (parte del proyecto GCC, que engloba varios compiladores para distintos lenguajes). Otros compiladores comunes son Intel C++ Compiler, el compilador de Xcode, el compilador de Borland C++, el compilador de CodeWarrior C++, el compilador g++ deCygwin, el compilador g++ de MinGW, el compilador de Visual C++, Carbide.c++,entre otros.


Para descargar el dev c++ completamente gratis esta el siguiente enlace:
http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download La verdad es que es muy fácil de instalar te tardas menos de 1 hora y la verdad es que pienso que una hora es mucho.


Un buen libro para programadores que apenas van empezando es: como programar en c/ c++ de Deitel el link para descargarlo si quieres ahorrar aquí esta completamente gratis http://www.mediafire.com/download.php?ztdaja2wyqw


Tambien puedes encontrar unos videos Tutoriales muy bueno un ejemplo de estos son: http://www.youtube.com/watch?v=MTmJ4R8-GvY


Un ejemplo de un programa en C++ es

ya corriendo el ejemplo nos dio esto:

Con esto concluyo mi reporte 2

Ana Lucía Macías Ortiz

Matricula: 1457102

Hora: m1-m3 Dra. Sara Elena Garza

miércoles, 11 de agosto de 2010

Reporte 1







Este es mi primer reporte de Lenguajes de Programacion. Es acerca de lo qe entendi en la clase primero vimos lo que era un programa y despues los diferentes tipos de sistemas operativos para terminar de ver lo que es lenguaje.