República Bolivariana de Venezuela
      Ministerio Popular Para la Educación Superior
          U.N.E.X.P.O “Antonio José de Sucre”
         Vice-rectorado “Luis Caballero Mejías”
                    Núcleo Charallave




           ASIGNACIÓN # 4

Profesor(a):                                   Bachiller:
Echenique, Gioconda.                           Briceño, Leonardo.
Computación II                                 2011 147 167
                       Charallave, Oct. 2012
Expresiones Lógicas en Lenguaje C:




De la evaluación de una expresión lógica siempre se
obtiene un valor de tipo lógico (verdadero o falso).
En las expresiones lógicas se pueden utilizar dos tipos de
operadores:
                       *Relacionales.


                       *Lógicos.
Operadores Relacionales en Lenguaje C



 Un operador relacional se utiliza para comparar los valores de dos expresiones.
      Éstas deben ser del mismo tipo (aritméticas, lógicas o de carácter).



                                                  Ejemplos:
                                *En C, el operador igual que (=) se escribe
                                con los caracteres igual-igual (==).
                                     *En C, el operador distinto que (<>) se escribe
                                     con los caracteres admiración-igual (!=).


                                          Ejemplo, a partir de las variables:

 Comparación entre operadores         En pseudocódigo:            En lenguaje C:
en pseudocódigo y en lenguaje C.     entero p = 45, q = 186       int p=45, q=186
Operadores Lógicos en Lenguaje C


  Un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas.




                                                        Ejemplo:


                                              Habiendo declarado las variables:

                                        En pseudocódigo:                 En lenguaje C:
                                        entero r = 2, s = 9, t = 8 int r = 2,s = 9, t = 8;


Comparación de los operadores lógicos
  en pseudocódigo y en lenguaje C.
La Función strcat en Lenguaje C




            ¿Para qué sirve la función strcat en C?

        En lenguaje C, no existe el operador concatenación
(+), que sí existe en otros lenguajes. Sin embargo, para
concatenar cadenas, se puede utilizar la función
strcat, que está disponible en la biblioteca estándar de C.
Ejemplo::




Dadas las siguientes declaraciones
    de arrays de caracteres:

       En pseudocódigo:
cadena nombre = "Ana", apellido =
             "Luz"

         En lenguaje C:
        char nombre[8] =
    "Ana", apellido[4] = "Luz"
Operadores de Asignación en Lenguaje C




En lenguaje C existen expresiones de asignación y, para escribirlas,
        se utilizan los siguientes operadores de asignación:
De ellos, el más utilizado es el operador de asignación (=). Su funcionalidad
    es equiparable a la de una instrucción de asignación en pseudocódigo,
                           y su sintaxis es muy similar.




*En vez del símbolo reservado flecha izquierda (←),
           se utiliza el carácter igual (=).
        *Se debe escribir un punto y coma (;) al final.




Ejemplo : Dada la siguiente declaración
            de variables:

            int m = 4, n = 1.
La Función strcpy en Lenguaje C



    En lenguaje C, para asignar una expresión de cadena a un array de caracteres,
     no se puede utilizar el operador de asignación (=). Para ello, se puede utilizar
          la función strcpy, que está disponible en la biblioteca estándar de C.




*La sintaxis de una llamada a strcpy es:
strcpy( <variable_destino>, <cadena_fuente> )
*La función strcpy copia el contenido de la <cadena_fuente>
en la <variable_destino>, siendo ésta un array de caracteres.

                     Habiendo declarado el siguiente array de caracteres:

   Ejemplo:          En pseudocódigo:                           En lenguaje C:
                     cadena ciudad                              char ciudad[6];
En pseudocódigo:

ciudad ← "Roma" (instrucción de asignación)

En lenguaje C:

strcpy( ciudad, "Roma" ) (instrucción de
expresión)



        Por tanto, en memoria tendremos:
Los Operadores Incremento (++) y
                  Decremento (--) en Lenguaje C



En lenguaje C, tanto el operador incremento (++) como el operador decremento
(--) actúan siempre sobre un solo operando, normalmente una variable. Por
tanto, son operadores monarios, y sirven para incrementar o decrementar en
una unidad el valor de dicho operando.



  Ejemplo: Declaradas las          En resumen, cuando en una expresión el
        variables:                 operador incremento (++) o decremento (--
                                   ) precede al operando sobre el que actúa
       int r = 8, s = 3            (por ejemplo ++k), antes de utilizar el valor
                                   de dicho operando para otro
                                   propósito, este se incrementa. De ser al
                                   revés, es decir, si es el operando quien
                                   precede al operador (por ejemplo i++), el
                                   valor de dicho operando se incrementa
                                   después de ser utilizado para otro fin.
Prioridad de Operadores en Lenguaje C



La prioridad de todos los operadores del lenguaje C estudiados hasta el momento son:
Es importante resaltar algunos aspectos, de los operadores en lenguaje C:




Que, en lenguaje C, tanto los              Por otra parte, los operadores incremento
paréntesis "()" que se utilizan para       (++), decremento (--) y conversión de tipo
llamar a una función, como los             "( <tipo> )" entran dentro de la categoría
corchetes "[]" que albergan el índice de   de operadores monarios. De manera
un array, también son considerados         que, al igual que los operadores signo más
operadores. Además, son los                (+), signo menos (-), negación (!) y de
operadores más prioritarios y, en una      asignación, todos ellos se evalúan de
expresión, se evalúan de izquierda a       derecha a izquierda en una expresión, al
derecha.                                   revés que todos los demás.
Entrada y Salida Estándar en Lenguaje C




   En lenguaje C no existen palabras reservadas para realizar entradas y salidas.
   Para ello, el programador puede hacer uso de las funciones de entrada y salida
   estándar proporcionadas por la biblioteca estándar de lenguaje C, como son
   printf y scanf, entre otras que estudiaremos más adelante en este curso/tutorial.



La función printf permite llevar hacia la      La función scanf de la biblioteca
salida estándar (la pantalla) los valores      estándar del lenguaje C permite
(datos) obtenidos de la evaluación de una      asignar a una o más variables, uno o
lista de argumentos. La sintaxis de su         más valores (datos) recibidos desde la
llamada es:                                    entrada estándar (el teclado).
                                                                  Ejemplo: scanf(
    Ejemplo: printf(
                                                               <cadena_de_control>
    <cadena_de_control>
                                                            [, <lista_de_argumentos>
    [, <lista_de_argumentos> ] )
                                                                         ])
La Función printf en Lenguaje C



            ¿Qué es el texto ordinario en la función printf de C?
   En la función printf de la biblioteca estándar del lenguaje C, el texto
   ordinario que se puede utilizar es texto normal y corriente, a diferencia de
   los especificadores de formato y de las secuencias de escape, que se les
   considera texto especial.


                Ejemplo: En la llamada a la función printf de
                nuestro primer programa de este curso/tutorial, la
                cadena de control sólo contenía texto ordinario:


                                             Nótese que, en este ejemplo, a la
                                             función printf no se le pasa ningún
#include <stdio.h>                           argumento, aparte de la cadena de
int main()                                   control.
{printf( "Hola mundo" );return 0;}
                                             Por pantalla aparecerá: “Hola mundo “
¿Cómo utilizar un especificador de formato en la
                      función printf de C?



Cuando a la función printf de la biblioteca estándar del lenguaje C se le pase una
lista de argumentos (expresiones), se debe escribir un especificador de formato por
cada argumento. En la función printf, los especificadores de formato establecen el
formato de salida por pantalla de los argumentos.



                                                   Ejemplo: Dada la constante
                                                   simbólica

                                                   #define NOMBRE "Raquel"
                                                   si escribimos
                                                   printf( "Hola %s", NOMBRE );

                                                   por pantalla se verá: “Hola
                                                   Raquel”
¿Cómo utilizar las secuencias de escape en la
               función printf de C?


Una secuencia de escape siempre representa a un carácter del ASCII.
Dichos caracteres se pueden clasificar en:

•Gráficos (se corresponden con los símbolos
más usados para escribir por los humanos).

•No gráficos (representan a acciones, como por ejemplo,
mover el cursor de la pantalla al principio de la línea siguiente).
La Función scanf en Lenguaje C



¿Cómo utilizar un especificador de formato en la función scanf de C?
En la función scanf, por cada argumento (variable) que se le pase, se
debe escribir un especificador de formato, que establecerá el formato de
entrada por teclado del argumento.


                                         Ejemplo: Dado el ejemplo.

                                         Include <stdio.h>
                                         int main()
                                         {int numero; printf( "n Introduzca
                                         un numero entero: " );
                                         scanf( "%d", &numero ); return 0}
Ejemplo: Si se desea desarrollar un programa para leer un
nombre de persona:




                  Introduzca nombre: Elsa
                      se puede escribir:
#include <stdio.h>
int main()
{char nombre[5]; printf( "n Introduzca nombre: " ); scanf(
"%s", nombre );
return 0;}
Ejemplo de un ejercicio en lenguaje C:




#include <stdio.h>
#include <stdlib.h>
// Predefinición de funcione
 int EsPrimo(int);
// Función principal
 int main(int argc,char *argv[])
{int numero;
int valores;
// Solicitar por pantalla el numero
printf(“Teclear No.: “);
scanf(“ %d”,&numero);
 // Visualizar todos los números primos entre 1 y el numero
 // se utilizara una función para saber si un numero es primo o no
for(valores=1;valores<=numero;valores++)
{if(EsPrimo(valores)==0)
Continuación:




         printf(“El valor %d es primon”);} return 0;}
         // Funciones desarrolladas
         // la funcion devuelve 0 si el numero es primo en caso contrario 1
         int EsPrimo(int Valor)
         {int primo=0;int divisores=0;
          // Calcular divisores del numero
         for(divisores=2;divisores<Valor-1 && primo==0;divisores++)
         {// Comprobar si existe un divisor
         if(Valor%divisores==0) primo=1;}
         return primo;
                         Se mostrara en pantalla “Primo=1”




                                                                              FIN
                                                                              FIN

Asignación # 4

  • 1.
    República Bolivariana deVenezuela Ministerio Popular Para la Educación Superior U.N.E.X.P.O “Antonio José de Sucre” Vice-rectorado “Luis Caballero Mejías” Núcleo Charallave ASIGNACIÓN # 4 Profesor(a): Bachiller: Echenique, Gioconda. Briceño, Leonardo. Computación II 2011 147 167 Charallave, Oct. 2012
  • 2.
    Expresiones Lógicas enLenguaje C: De la evaluación de una expresión lógica siempre se obtiene un valor de tipo lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar dos tipos de operadores: *Relacionales. *Lógicos.
  • 3.
    Operadores Relacionales enLenguaje C Un operador relacional se utiliza para comparar los valores de dos expresiones. Éstas deben ser del mismo tipo (aritméticas, lógicas o de carácter). Ejemplos: *En C, el operador igual que (=) se escribe con los caracteres igual-igual (==). *En C, el operador distinto que (<>) se escribe con los caracteres admiración-igual (!=). Ejemplo, a partir de las variables: Comparación entre operadores En pseudocódigo: En lenguaje C: en pseudocódigo y en lenguaje C. entero p = 45, q = 186 int p=45, q=186
  • 4.
    Operadores Lógicos enLenguaje C Un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas. Ejemplo: Habiendo declarado las variables: En pseudocódigo: En lenguaje C: entero r = 2, s = 9, t = 8 int r = 2,s = 9, t = 8; Comparación de los operadores lógicos en pseudocódigo y en lenguaje C.
  • 5.
    La Función strcaten Lenguaje C ¿Para qué sirve la función strcat en C? En lenguaje C, no existe el operador concatenación (+), que sí existe en otros lenguajes. Sin embargo, para concatenar cadenas, se puede utilizar la función strcat, que está disponible en la biblioteca estándar de C.
  • 6.
    Ejemplo:: Dadas las siguientesdeclaraciones de arrays de caracteres: En pseudocódigo: cadena nombre = "Ana", apellido = "Luz" En lenguaje C: char nombre[8] = "Ana", apellido[4] = "Luz"
  • 7.
    Operadores de Asignaciónen Lenguaje C En lenguaje C existen expresiones de asignación y, para escribirlas, se utilizan los siguientes operadores de asignación:
  • 8.
    De ellos, elmás utilizado es el operador de asignación (=). Su funcionalidad es equiparable a la de una instrucción de asignación en pseudocódigo, y su sintaxis es muy similar. *En vez del símbolo reservado flecha izquierda (←), se utiliza el carácter igual (=). *Se debe escribir un punto y coma (;) al final. Ejemplo : Dada la siguiente declaración de variables: int m = 4, n = 1.
  • 9.
    La Función strcpyen Lenguaje C En lenguaje C, para asignar una expresión de cadena a un array de caracteres, no se puede utilizar el operador de asignación (=). Para ello, se puede utilizar la función strcpy, que está disponible en la biblioteca estándar de C. *La sintaxis de una llamada a strcpy es: strcpy( <variable_destino>, <cadena_fuente> ) *La función strcpy copia el contenido de la <cadena_fuente> en la <variable_destino>, siendo ésta un array de caracteres. Habiendo declarado el siguiente array de caracteres: Ejemplo: En pseudocódigo: En lenguaje C: cadena ciudad char ciudad[6];
  • 10.
    En pseudocódigo: ciudad ←"Roma" (instrucción de asignación) En lenguaje C: strcpy( ciudad, "Roma" ) (instrucción de expresión) Por tanto, en memoria tendremos:
  • 11.
    Los Operadores Incremento(++) y Decremento (--) en Lenguaje C En lenguaje C, tanto el operador incremento (++) como el operador decremento (--) actúan siempre sobre un solo operando, normalmente una variable. Por tanto, son operadores monarios, y sirven para incrementar o decrementar en una unidad el valor de dicho operando. Ejemplo: Declaradas las En resumen, cuando en una expresión el variables: operador incremento (++) o decremento (-- ) precede al operando sobre el que actúa int r = 8, s = 3 (por ejemplo ++k), antes de utilizar el valor de dicho operando para otro propósito, este se incrementa. De ser al revés, es decir, si es el operando quien precede al operador (por ejemplo i++), el valor de dicho operando se incrementa después de ser utilizado para otro fin.
  • 12.
    Prioridad de Operadoresen Lenguaje C La prioridad de todos los operadores del lenguaje C estudiados hasta el momento son:
  • 13.
    Es importante resaltaralgunos aspectos, de los operadores en lenguaje C: Que, en lenguaje C, tanto los Por otra parte, los operadores incremento paréntesis "()" que se utilizan para (++), decremento (--) y conversión de tipo llamar a una función, como los "( <tipo> )" entran dentro de la categoría corchetes "[]" que albergan el índice de de operadores monarios. De manera un array, también son considerados que, al igual que los operadores signo más operadores. Además, son los (+), signo menos (-), negación (!) y de operadores más prioritarios y, en una asignación, todos ellos se evalúan de expresión, se evalúan de izquierda a derecha a izquierda en una expresión, al derecha. revés que todos los demás.
  • 14.
    Entrada y SalidaEstándar en Lenguaje C En lenguaje C no existen palabras reservadas para realizar entradas y salidas. Para ello, el programador puede hacer uso de las funciones de entrada y salida estándar proporcionadas por la biblioteca estándar de lenguaje C, como son printf y scanf, entre otras que estudiaremos más adelante en este curso/tutorial. La función printf permite llevar hacia la La función scanf de la biblioteca salida estándar (la pantalla) los valores estándar del lenguaje C permite (datos) obtenidos de la evaluación de una asignar a una o más variables, uno o lista de argumentos. La sintaxis de su más valores (datos) recibidos desde la llamada es: entrada estándar (el teclado). Ejemplo: scanf( Ejemplo: printf( <cadena_de_control> <cadena_de_control> [, <lista_de_argumentos> [, <lista_de_argumentos> ] ) ])
  • 15.
    La Función printfen Lenguaje C ¿Qué es el texto ordinario en la función printf de C? En la función printf de la biblioteca estándar del lenguaje C, el texto ordinario que se puede utilizar es texto normal y corriente, a diferencia de los especificadores de formato y de las secuencias de escape, que se les considera texto especial. Ejemplo: En la llamada a la función printf de nuestro primer programa de este curso/tutorial, la cadena de control sólo contenía texto ordinario: Nótese que, en este ejemplo, a la función printf no se le pasa ningún #include <stdio.h> argumento, aparte de la cadena de int main() control. {printf( "Hola mundo" );return 0;} Por pantalla aparecerá: “Hola mundo “
  • 16.
    ¿Cómo utilizar unespecificador de formato en la función printf de C? Cuando a la función printf de la biblioteca estándar del lenguaje C se le pase una lista de argumentos (expresiones), se debe escribir un especificador de formato por cada argumento. En la función printf, los especificadores de formato establecen el formato de salida por pantalla de los argumentos. Ejemplo: Dada la constante simbólica #define NOMBRE "Raquel" si escribimos printf( "Hola %s", NOMBRE ); por pantalla se verá: “Hola Raquel”
  • 17.
    ¿Cómo utilizar lassecuencias de escape en la función printf de C? Una secuencia de escape siempre representa a un carácter del ASCII. Dichos caracteres se pueden clasificar en: •Gráficos (se corresponden con los símbolos más usados para escribir por los humanos). •No gráficos (representan a acciones, como por ejemplo, mover el cursor de la pantalla al principio de la línea siguiente).
  • 18.
    La Función scanfen Lenguaje C ¿Cómo utilizar un especificador de formato en la función scanf de C? En la función scanf, por cada argumento (variable) que se le pase, se debe escribir un especificador de formato, que establecerá el formato de entrada por teclado del argumento. Ejemplo: Dado el ejemplo. Include <stdio.h> int main() {int numero; printf( "n Introduzca un numero entero: " ); scanf( "%d", &numero ); return 0}
  • 19.
    Ejemplo: Si sedesea desarrollar un programa para leer un nombre de persona: Introduzca nombre: Elsa se puede escribir: #include <stdio.h> int main() {char nombre[5]; printf( "n Introduzca nombre: " ); scanf( "%s", nombre ); return 0;}
  • 20.
    Ejemplo de unejercicio en lenguaje C: #include <stdio.h> #include <stdlib.h> // Predefinición de funcione int EsPrimo(int); // Función principal int main(int argc,char *argv[]) {int numero; int valores; // Solicitar por pantalla el numero printf(“Teclear No.: “); scanf(“ %d”,&numero); // Visualizar todos los números primos entre 1 y el numero // se utilizara una función para saber si un numero es primo o no for(valores=1;valores<=numero;valores++) {if(EsPrimo(valores)==0)
  • 21.
    Continuación: printf(“El valor %d es primon”);} return 0;} // Funciones desarrolladas // la funcion devuelve 0 si el numero es primo en caso contrario 1 int EsPrimo(int Valor) {int primo=0;int divisores=0; // Calcular divisores del numero for(divisores=2;divisores<Valor-1 && primo==0;divisores++) {// Comprobar si existe un divisor if(Valor%divisores==0) primo=1;} return primo; Se mostrara en pantalla “Primo=1” FIN FIN