martes, 15 de mayo de 2012

SIMILITUDES ENTRE LENGUAJE C Y LENGUAJE JAVA

LENGUAJE C

C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la totalidad del lenguaje.

LENGUAJE JAVA

Java fue diseñado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los métodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programación orientada a objetos, especialmente en entornos cada vez más complejos y basados en red.

SIMILITUDES ENTRE LENGUAJE C Y LENGUAJE JAVA
  • Tanto Java como C soportan funciones o métodos (estáticos) de clases, que pueden ser invocados sin necesidad de tener que instanciar ningún objeto de la clase.
  • La definición de clase es semejante en Java y C, aunque en Java no es necesario el punto y coma (;) final.
  • Al igual que C, Java dispone de tipos primitivos como int, float, etc.
  • Al igual que ocurre en C, Java también soporta constructores que pueden ser sobrecargados. Y, del mismo modo que sucede en C, si no se proporciona un constructor explícitamente, el sistema proporciona un constructor por defecto.
  • Como C, Java también soporta la sobrecarga de funciones.
  • Java utiliza las mismas palabras clave que C para indicar el control de acceso: private,public y protected.
  • Como en C, las aplicaciones Java pueden hacer llamadas a funciones escritas en otros lenguajes, llamadas métodos nativos.
  • Los tipos básicos de datos son similares en java y C.
  • C y Java, son dos lenguajes de programación que han logrado acaparar la gran y mayor parte de los programadores del mundo.
   


  • BIBLIOGRAFÍA:






martes, 8 de mayo de 2012

DIFERENCIAS ENTRE LENGUAJE C Y LENGUAJE PASCAL

Tanto Pascal como C son lenguajes procedurales, lo que significa quedebe tomarse en cuenta el orden en que se escriben las instrucciones de un programa. Loslenguajes procedurales tienen un conjunto de instrucciones que de manera general y segúnel concepto de programación estructurada de Edsger Dijkstra,pueden considerarsecomunes. La diferencia entonces la encontramos en la sintaxis de cada lenguaje, aunque enmuchos casos son muy parecidas.

LENGUAJE C

·         C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie encambio 

·   Es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es
    apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

·     Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código enensamblador con código C o acceder directamente a memoria o dispositivos periféricos.


·         En C, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones.

·         El lenguaje C es conocido como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente para funcionar  y los compilados  convierten el código fuente  en un fichero objeto y éste en un fichero ejecutable.

·         Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes.

·         Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. 

 LENGUAJE PASCAL 


·         Pascal es un lenguaje de programación desarrollado por el profesor suizo Niklaus Wirth entre los años 1968 y 1969 y publicado en 1970. 

·         Pascal se caracteriza por ser un lenguaje de programación estructurado fuertemente tipado. Esto implica que:
1.     El código está dividido en porciones fácilmente legibles llamadas funciones o procedimientos. De esta forma Pascal facilita la utilización de la programación estructurada en oposición al antiguo estilo de programación monolítica.
2.      El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede habilitado.

·         En Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no está autorizadas

·         Sus programas tienen definidos dos partes: decalrativa y ejecutiva. EN la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incompresiones.


·         A diferencia del lenguaje C. PACAL utiliza el símbolo :═ para la asignación en vez de =. 


POR OTRO LADO DEBEMOS TOMAR EN CUENTA LO SIGUIENTE: 

¿QUÉ SE GANA EN PASCAL CON RESPECTO A LENGUAJE C?

1.    Limpieza
2.    Rapidez de compilación (FreePascal es 9 veces más rápido que GCC compilando).
3.    Facilidad
4.    Mejor gestión de librerías y sus dependencias
5.    Un entorno de programación gráfica (Lazarus y Delphi) sencillo y efectivo
6.    Mejor mantenibilidad del código
7.    Mejor gestión de los ficheros de código (no es necesario usar make incluso para proyectos grandes)
8.    Mejor portabilidad


¿Y QUÉ SE PIERDE EN PASCAL CON RESPECTO A C?
Realmente poca cosa, excepto quizá:
1.- Código generado ligeramente más lento, en torno al 10%.
2.-  Esto no es debido a las capacidades de Pascal de ser rápido, sino a que GCC es un proyecto que gracias a su fama está mantenido por más gente. Aun así, y teniendo en cuenta la diferencia de presupuestos, es sorprendente que C genere código solo un 10% más rápido. Nota: en la prueba se ha puesto la optimización al máximo en ambos compiladores, no es normal usar opciones tan agresivas en ambos compiladores, por lo que al final la diferencia en la velocidad de proceso es casi descartable.
3.-Acceso más directo a las librerías del sistema. En FreePascal es fácil usar librerías del sistema, pero hay que declarar las funciones previamente.
4.-Aritmética de punteros (no es lo mismo que uso de punteros). Algo que todo programador debería evitar. Pascal tiene punteros, y es posible la aritmética en los mismos con algunos trucos, pero no se recomienda.

BIBLIOGRAFÍA:

http://es.wikipedia.org/wiki/C_(lenguaje_de_programación)#Propiedades
http://www.docstoc.com/docs/21087843/Caracter%C3%ADsticas-del-Lenguaje-C
http://es.wikibooks.org/wiki/Programación_en_Pascal/Porqué_Pascal
http://es.scribd.com/doc/7260491/De-Pascal-a-C















martes, 21 de febrero de 2012

TIPOS DE DATOS Y OPERADORES EN LENGUAJE C

 UNIDAD EDUCATIVA “GONZÁLEZ SUÁREZ”
•    DATOS INFORMATIVOS:
NOMBRE   : Nubia Paredes
CURSO      : Tercero Ciencias.
FECHA       : 22/02/2012
TEMA         : TIPO DE DATOS Y OPERADORES EN LENGUAJE C
OBJETIVO : Consultar los tipos de datos y operadores en lenguaje C para tener un conocimiento mas amplio acerca de este y poder informarnos más, ya que esto nos será de mucha importancia en nuestra vida profesional.


•    MARCO TEÓRICO:

TIPO DE DATOS EN LENGUAJE C

Básicos:
- Numéricos:
· Entero          palabra clave               int
      · Real              precisión simple           float
                             precisión doble double
- Carácter:                                                    char
- Vacio:                                                          void

            Derivados:     Puntero                                             

            Estructurados:
-         Complejos
· Estáticos      Tabla
- Dinámicos    Lista
                       Pila
                       Cola
                       Árbol
                       Grafo
-         Compuestos.  Estructura
§         Unión
§         Enumeración
§         Campos de Bit


Definidos por el Usuario:  Typedef



 Entero: int
           
Para procesadores de 16 bits rango: -32768 a 32767
Para procesadores de 32 bits rango: -2147483648 a 2147483647

Definición:         int num, conmutador, indicador;

Modificadores. short, long, signed, unsigned

Short: la longitud es de 16 bits, sea cual sea el procesador
Long: la longitud es la máxima asignada por el procesador 16, o 32 bits
Signed: son valores con signo por tanto tendrá valores negativos y positivos
Unsigned: son valores con signo positivo por tanto irá desde 0 a 4294967295;
Real : float

Se define como numero real de coma flotante de simple precisión.

El Rango de precisión para el float simple –3,4E-38 a 3,4E38
El rango de precisión para el flota doble -1,7E-308 1,7E308

Definición:         float num;
double conmutador;


Carácter: char

Los códigos de carácter más utilizados son los de 8 bits (ASCII) y pueden expresar letras o el valor numérico almacenado.

El rango de valores numéricos para el signed char –127 a 128
El rango de valores numéricos para el unsigned char 0 a 256

Utilizando símbolos especiales en las secuencias de escape los más utilizados son:

\a         pitido
\b         retroceso
\n         nueva linea
\r          retorno de carro
\t          tabulador horizontal
\’          comilla simple
\”         comilla doble
\0         nulo


Vacio :void

Tipo de dato que no retorna ningún valor

Void *apunt;;   puntero
Void Escribe_puntos(35);  función que no retorna ningún valor
Int Verificar_Error(void); función que devuelve un entero pero que no necesita parámetros.

TIPO DE OPERADORES EN LENGUAJE C

Son símbolos que en C tienen un significado determinado y que indican al procesador que tiene que hacer una operación determinada.

Operadores de Expresión:

Paréntesis ( )
1-     Determinan la máxima prioridad en la expresión, comenzando por los internos
2-     Para encerrar los parámetros de una función

Corchetes [ ]
            1 Encierran los índices de tablas.

Operadores Aritméticos:

Monarios, necesitan un solo valor
            Signo negativo -
            Incremento                  ++
            Decremento                 --
Binarios, necesitan dos valores
            Suma                           +
            Resta                           -
            Multiplicación              *
            División                       /
            Módulo                       %

Operadores Relacionales y Lógicos:

Relacionales:
            Menor que                   <
            Menor o igual que        <=
            Mayor que                   >
            Mayor o igual que        >=
            Igual a              ==
            Distinto                        !=

No confundir este operador == con el operador asignación =

Lógicos:
            Conjunción Y              &&
            Disyunción O               ||
            Negación                     !

Operadores Para tratamiento de Bits:
Se utilizan para realizar operaciones a nivel de bit, y los operandos deben ser de tipo char o int.
            Y (AND) Binario         &
            O(OR) Binario |
            O Exclusivo XOR        ^(ASCII 94)
            Complemento Not       ~(ASCII126)
            Desplaz. Derecha         >>
            Desplaz. Izquierda       <<

Operadores de Asignación:
Se utilizan para cargar una variable con el valor de expresión. Pueden ser de dos tipos, simple o compuesto.

Asignación Simple:
            Variable = Expresión:              media = suma / num;

Asignación Compuesto

            Variable simbolo_operación = Expresión
           
Esta asignación es equivalente a:
            Variable = Variable Simbolo_operación (expresión)

Operadores coma:

 Se utiliza para separar dos expresiones dentro de una expresión total.
1-     para realizar una asignación de una expresión, que previamente requiere otra expresión     a=(b=5,b+2);    equivale a b=5;      a= b+2
2-     Para realizar varias operaciones dentro de la condición de un bucle.
For (i=0, k=15, i<k; k--)

Operador tamaño:
Se utiliza para obtener la longitud en bytes de una variable o de un especificador de dato.
Sizeof(int) Obtiene la longitud de un tipo de datos.

Sizeof permite obtener la longitud de una estructura sin necesidad de sumar las longitudes de cada una de las variables

            Struct datos {int num; char nom[40];float abono;}socio;

            Sizeof socio

Operador de molde:
Se utiliza para convertir un tipo de dato en una expresión.:

(Tipo) Operando

float a = 9,25;
b= (int) a / 2;

Operador condicional:
Se utiliza para realizar una operación alternativa mediante una condición.

Expresión1 ? expresión2 : expresión3;

Se evalua la expresión 1 si el resultado es verdadeero se evalua la expresión 2 y su resultado se toma como resultado de la expresión total, por el contrario si el resultado es falso se ejecuta la expresión 3.

Result = (a>b) ? a : b;

Es equivalente a : If (a >b ) result = a;  else result = b;

3.- BIBLIOGRAFÍA: