Sunteți pe pagina 1din 10

19/9/2017 Curso: CB411SOT (Parte II)

Usted se ha identificado como Luis Alberto Camacho Segovia (Salir)

Pgina Principal Mis cursos CB411SOT (Parte II)

Ajustes
Diagrama de temas
Administracin del curso
SILABO Lenguaje C Tipo de Datos, Variables y salida a pantalla Calificaciones

Constantes+Operadores+Ingreso por teclado Funciones Matemticas Estructuras Repetitivas Ajustes de mi perfil

Estructuras Condicionales+PC2 Tema 7 PARCIAL Arreglos Aplicaciones de Arreglos+PC3 Funciones


Navegacin
Matrices+PC4 Aplicaciones Matrices+PC5 Cadenas Aplicaciones de Cadenas FINAL SUSTITUTORIO
Pgina Principal
GUI rea personal
Pginas del sitio
Mi perfil
Mis cursos
CONSTANTES
CB411SOT (Parte II)
Las constantes son aquellos datos que no pueden cambiar a lo largo de la ejecucin de un
Participantes
programa. Las constantes proporcionan una mejor comprensin del cdigo fuente.
SILABO
Se definen de la siguiente manera: Tipo de Datos,
Variables y salida a
#define nombre_de_la_constante valor_de_la_constante
pantalla
Ejemplo: Funciones
Matemticas
#define PI 3.1416
CB411SOT Algoritmos
Las constantes se sugiere escribirlas en maysculas.
Slo se puede definir una constante por fila. No se pone ";" al final. Buscar en los foros
A una constante no se le puede dar un valor mientras se ejecuta.
Ir
Otra manera de hacerlo es:
Bsqueda avanzada
const double PI = 3.1416;
ltimas noticias
Ejempo 01C: Programa que define la constante PI y calcula el permetro de una circunferencia cuyo (Sin novedades an)
radio es 20.
Eventos prximos
#include <stdio.h>
#define PI 3.1416 No hay eventos prximos
main() { Ir al calendario...
double radio, perimetro; Nuevo evento...
radio = 20;
perimetro = 2 * PI * radio;
printf( "El perimetro es: %lf\n", perimetro );
Actividad reciente
system("PAUSE"); Actividad desde martes, 19
} de septiembre de 2017, 10:47
Informe completo de la
actividad reciente...
Sin novedades desde el
ltimo acceso

Ejemplo 02C: Programa que muestra como podemos definir una constante usando el valor de otras
constantes (definidas previamente).

#include <stdio.h>
#define BASE 4.2
#define ALTURA 3.5
#define AREA BASE*ALTURA/2
#define TRIANGULOS 4
main() {
double areatotal;
areatotal = AREA*TRIANGULOS;
printf("El area total es: %lf\n", areatotal);
system("PAUSE");
}

OPERADORES

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 1/10
19/9/2017 Curso: CB411SOT (Parte II)
Un operador sirve para manipular datos. Los hay de varios tipos: de asignacin, de relacin, lgicos,
aritmticos y de manipulacin de bits.

Operador de asignacin
Sirve para asignar valor a una variable. Este valor puede ser un nmero que tecleamos directamente u
otra variable:

b = 3; /* Cargamos directamente un valor*/


a = b; /* Asignamos el valor de la variable b a la variable a*/

Podemos dar valores a varias variables a la vez:

a = b = c = 10; /* Asignamos a las variables a,b,c el valor de 10 */

Tambin podemos asignar a varias variables el valor de otra de un slo golpe:

a = b = c = d; /* Asignamos a las variables a,b,c el valor de la variable d */

Ejemplo 03C: Programa que ejemplifica el manejo de operadores de asignacin.

#include <stdio.h>
main() {
int a,b,c,d;
a = 3;
printf("El valor de a es: %i\n", a);
system("PAUSE");
b = a;
printf("El valor de b es: %i\n", b);
system("PAUSE");
a = b = c = 10;
printf("El nuevo valor de a es: %i\n", a);
system("PAUSE");
d = 5;
a = b = c = d;
printf("El nuevo valor de b es: %i\n", b);
system("PAUSE");
}

Operadores aritmticos
Los operadores aritmticos son aquellos que sirven para realizar operaciones tales como suma, resta,
divisin y multiplicacin.

Operador (+) : Suma/Positivo


Ejemplo 04C: Programa que muestra el empleo del operador de suma.

#include <stdio.h>
main() {
int a = 2;
int b = 3;
int c = 1;
int d;
d = a + b + c + 4;
printf ( "Resultado = %i\n", d );
system("PAUSE");
}

Podemos utilizar este operador para incrementar el valor de una variable:

x = x + 5;

Pero existe una forma abreviada:

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 2/10
19/9/2017 Curso: CB411SOT (Parte II)
x += 5;

Ejemplo 05C: Programa que muestra el empleo del operador suma.

#include <stdio.h>
main() {
int x=3, y=5;
x += 2;
printf("x = %i\n", x);
x += y; /* esto equivale a x = x + y */
printf("x = %i\n", x);
system("PAUSE");
}

Operador (++) : Incremento


Este operador equivale a sumar uno a la variable:

x++ es igual a x=x+1

Ejemplo 06C: Programa que ejemplifica el operador de incremento a uno.

#include <stdio.h>
main() {
int x = 5;
printf ( "El valor de x es = %i\n", x );
x++;
printf ( "El nuevo valor de x es = %i\n", x );
system("PAUSE");
}

Operador (-) : Resta/Negativo


Este operador tiene dos usos:

Resta (funciona igual que el operador suma).

x = x - 5;
Se puede usar tambin como: x -= 5;

Cambiar de signo.

Colocndolo delante de una variable o constante equivale a multiplicarla por -1.

Ejemplo 07C: Programa que muestra el empleo del operador negativo.

#include <stdio.h>
main() {
int a, b;
a = 1;
b = -a;
printf("a = %i, b = %i\n", a, b);
system("PAUSE");
}

Operador (--) : Decremento


Es equivalente a ++ pero en vez de incrementar disminuye el valor de la variable. Equivale a restar uno a
la variable:

x-- es igual a x=x-1

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 3/10
19/9/2017 Curso: CB411SOT (Parte II)
Operador (/) : Divisin
Es el operador de divisin. Se debe tener en cuenta lo siguiente:

Si dividimos dos nmeros de coma flotante (float o double) obtenemos el resultado con sus
correspondientes decimales.
Si dividimos dos nmeros enteros obtenemos un nmero entero (cociente).

Es decir que si dividimos 4/3 tenemos como resultado 1.


El resultado se trunca (se eliminan los decimales y se deja el entero).

Si dividimos dos enteros el resultado es un nmero entero, aunque lo almacenmos en una variable real o
lo imprimamos por pantalla usando %f, no obtendremos la parte decimal.

#include <stdio.h>
main() {
double a;
a = 4/3;
printf("lf\n", a);
system("PAUSE");
}

Operador (%) : Resto


Permite obtener el resto de una divisin entre nmeros enteros. Sirve para nmeros del tipo int.

Ejemplo 08C: Programa que muestra el empleo del operador resto.

#include <stdio.h>
main() {
int a, b;
a = 18;
b = 5;
printf("Resto de la division: %i\n", a%b);
system("PAUSE");
}

Ejemplo 09C: Programa que tiene un nmero entero de 3 cifras y muestra por separado cada cifra de
dicho nmero.

#include <stdio.h>
main() {
int num=123;
printf("El primer digito de %i es: %i\n", num, num/100);
printf("El segundo digito de %i es: %i\n", num, (num/10)%10);
printf("El tercer digito de %i es: %i\n", num, (num)%10);
system("PAUSE");
}

Ejemplo 10C: Programa al cual se le ingresa un nmero entero de 4 cifras y muestra por separado
cada cifra del nmero.

#include <stdio.h>
main() {
int num=6432;
printf("El primer digito de %i es: %i\n", num, num/1000);
printf("El segundo digito de %i es: %i\n", num, (num/100)%10);
printf("El tercer digito de %i es: %i\n", num, (num/10)%10);
printf("El tercer digito de %i es: %i\n", num, num%10);
system("PAUSE");
}
http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 4/10
19/9/2017 Curso: CB411SOT (Parte II)

Ejemplo 11C: Programa que convierte un nmero entero del 0 al 15 en binario y lo muestra por
pantalla.

#include <stdio.h>
#include <stdbool.h>
main() {
int num = 6; //numero del 0 al 15
bool bit;
printf("El numero es: %i\n",num);
bit = num%2;
printf("%i\n",bit);
num = num/2;
bit = num%2;
printf("%i\n",bit);
num = num/2;
bit = num%2;
printf("%i\n",bit);
num = num/2;
bit = num%2;
printf("%i\n",bit);
system("PAUSE");
}

Operadores de comparacin
Los operadores de comparacin sirven para comparar variables o valores de nmeros. Los operadores de
comparacin son:

== igual que Se cumple si son iguales

!= distinto que Se cumple si son diferentes

> mayor que Se cumple si el primero es mayor que el segundo

< menor que Se cumple si el primero es menor que el segundo

>= mayor o igual que Se cumple si el primero es mayor o igual que el segundo

<= menor o igual que Se cumple si el primero es menor o igual que el segundo

El resultado de la comparacin puede ser verdadero o falso.

Ejemplo 12C: Programa que muestra el empleo de los operadores de comparacin.

#include <stdio.h>
main(){
printf("10 > 5 da como resultado %i\n", 10>5);
printf("10 < 5 da como resultado %i\n", 10<5);
printf("5 == 5 da como resultado %i\n", 5==5);
printf("10 == 5 da como resultado %i\n", 10==5);
system("PAUSE");
}

Operadores lgicos
Los operadores lgicos son: AND (&&), OR (||), NOT(!)

condicin1 && condicin2 and Es verdadero si las dos condiciones son verdaderas

condicin1 || condicin2 or Es verdadero si una de las dos condiciones es verdadera

operador ! not Niega el operador (el cual debe ser un operador lgico)
http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 5/10
19/9/2017 Curso: CB411SOT (Parte II)

Ejemplo: Queremos saber si la variable A esta en el siguiente rango 2<A<10. Para realizar esta
comparacin debemos hacerlo de la siguiente manera:

(2<A) y (A<10)

(2<A) AND (A<10)

En lenguaje C sera: (2<A) && (A<10)

Los cdigos ASCII de los caracteres para el AND, OR y NOT son:

Ejemplo 13C: Programa que verifica si los lados de un tringulo son vlidos.

#include <stdio.h>
#include <stdbool.h>
main() {
bool val;
int L1=4,L2=5,L3=6;
val=(((L1+L3)>L2)&&((L2+L3)>L1)&&((L1+L2)>L3));
printf(val? "Los lados son correctos\n": "Los lados son incorrectos\n");
system("PAUSE");
}

INGRESANDO DATOS DESDE TECLADO


scanf
Para ingresar datos desde el teclado se debe emplear la funcin scanf (el cual es muy similar a printf) y
los especificadores (%i, %c, etc).

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 6/10
19/9/2017 Curso: CB411SOT (Parte II)

Ejemplo 15C:

#include <stdio.h>
main() {
char letra;
int num1;
float num2;
double num3;
printf("Ingrese un caracter: ");
scanf("%c", &letra);
printf("Ha ingresado el caracter %c\n", letra);
system("PAUSE");

printf("Ingrese un numero entero: ");


scanf("%i", &num1);
printf("Ha ingresado el numero %i\n", num1);
system("PAUSE");

printf("Ingrese un numero decimal tipo float: ");


scanf("%f", &num2);
printf("Ha ingresado el numero %f\n", num2);
system("PAUSE");

printf("Ingrese un numero decimal tipo double: ");


scanf("%lf", &num3);
printf("Ha ingresado el numero %lf\n", num3);
system("PAUSE");
}

Los argumentos de scanf han de ser punteros (direcciones de memoria donde se encuentran
los datos). Para obtener la direccin de memoria de una variable, es necesario aplicarle el
operador &.

Realicemos un cambio en el programa anterior: vamos a leer primero el nmero entero y luego el
caracter. Observe que ocurre:

#include <stdio.h>
main() {
char letra;
int num1;
float num2;
double num3;
printf("Ingrese un numero entero: ");
scanf("%i", &num1);
printf("Ha ingresado el numero %i\n", num1);
system("PAUSE");
printf("Ingrese un caracter: ");
scanf("%c", &letra);
printf("Ha ingresado el caracter %c\n", letra);
system("PAUSE");

printf("Ingrese un numero decimal tipo float: ");


scanf("%f", &num2);
printf("Ha ingresado el numero %f\n", num2);
system("PAUSE");

printf("Ingrese un numero decimal tipo double: ");


scanf("%lf", &num3);
printf("Ha ingresado el numero %lf\n", num3);
system("PAUSE");
}

Ocurre que ya no podemos ingresar el valor de caracter, la computadora nos indica que ya lo hemos
ingresado (?).

Esto ocurre porque cuando ingresamos el nmero entero, presionamos la tecla ENTER, la cual queda
grabada en memoria y cuando queremos ingresar el caracter toma al ENTER como ingreso.

La lectura de un caracter (%c) debe hacerse al inicio, de lo contrario falla. Es una limitacin de la
instruccin scanf, por ello se recomienda hacerlo con la instruccin getch().

El "problema" de scanf, se puede solucionar mediante la funcin fflush, la cual permite


borrar el buffer de memoria donde se almacena las teclas presionadas.

fflush(stdin);
http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 7/10
19/9/2017 Curso: CB411SOT (Parte II)
fflush(stdin);

#include <stdio.h>
main() {
char letra;
int num1;
float num2;
double num3;

printf("Ingrese un numero entero: ");


scanf("%i", &num1);
printf("Ha ingresado el numero %i\n", num1);
system("PAUSE");

fflush( stdin );
printf("Ingrese un caracter: ");
scanf("%c", &letra);
printf("Ha ingresado el caracter %c\n", letra);
system("PAUSE");

printf("Ingrese un numero decimal tipo float: ");


scanf("%f", &num2);
printf("Ha ingresado el numero %f\n", num2);
system("PAUSE");

printf("Ingrese un numero decimal tipo double: ");


scanf("%lf", &num3);
printf("Ha ingresado el numero %lf\n", num3);
system("PAUSE");
}

Ejemplo 16C: Programa que valida si los lados de un tringulo son vlidos.

#include <stdio.h>
#include <stdbool.h>
main() {
bool val;
double L1,L2,L3;
printf("Ingresa el lado 1: ");
scanf("%lf",&L1);
printf("Ingrese el lado 2: ");
scanf("%lf",&L2);
printf("Ingrese el lado 3: ");
scanf("%lf",&L3);
val=(((L1+L3)>L2)&&((L2+L3)>L1)&&((L1+L2)>L3));
printf(val? "Los lados son correctos\n": "Los lados son incorrectos\n");
system("PAUSE");
}

Ejemplo 17C: Programa que muestra en ingreso de tres datos (separados por espacio en blanco)
desde el teclado.

#include <stdio.h>
main() {
int a, b, c;
printf( "Ingrese tres numeros: " );
scanf( "%i %i %i", &a, &b, &c );
printf( "Has tecleado los numeros %i %i %i\n", a, b, c );
system("PAUSE");
}

Verifique que el ingreso de los nmeros tambin funciona con la tecla ENTER.

Ejemplo 18C: Programa que solicita el ingreso del valor del radio de una circunferencia y calcula su
permetro y rea.

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 8/10
19/9/2017 Curso: CB411SOT (Parte II)

#include <stdio.h>
#define PI 3.1416
main() {
double radio, perimetro, area;
printf( "Introduce el valor del radio de la circunferencia: " );
scanf( "%lf", &radio);
perimetro = 2 * PI * radio;
printf( "El perimetro es: %lf\n", perimetro );
area = PI * radio * radio;
printf( "El area es: %lf\n", area );
system("PAUSE");
}

Getch
Es una funcin que permite ingresar un caracter por el teclado.

Ejemplo 19C:

#include <stdio.h>
main() {
char letra1,letra2;
printf("Ingrese un primer caracter: ");
letra1 = getch();
printf("\nHa ingresado la letra: %c\n", letra1);
system("PAUSE");
printf("Ingrese un segundo caracter: ");
letra2 = getch();
printf("\nHa ingresado la letra: %c\n", letra2);
system("PAUSE");
}

LABORATORIO 2: Ejercicios Propuestos


Ejercicio 01C: Elaborar un programa que calcule la sumatoria de los n primeros nmeros (el nmero
es ingresado por teclado), mediante el empleo de la frmula:

Ejercicio 02C: Elaborar un programa que calcule la sumatoria de los n primeros nmeros
cuadrticos (el nmero debe ser ingresado por teclado), mediante el empleo de la frmula:

Ejercicio 03C: Elaborar un programa que calcule la sumatoria de los n primeros nmeros cbicos (el
nmero debe ser ingresado por teclado), mediante el empleo de la frmula:

Ejercicio 04C: Desarrollar un programa que lea por teclado una cantidad en grados centgrados y la
convierta a grados Fahrenheit. La frmula correspondiente es: F = 32 + ( 9 * C / 5). Imprimir el resultado
con tres decimales de aproximacin.

Ejercicio 05C: Elaborar un programa que calcule el rea y volmen de una esfera. El valor del radio
debe ser ingresado por teclado. Las respuestas deben formatearse a 3 decimales de aproximacin.

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 9/10
19/9/2017 Curso: CB411SOT (Parte II)

Ejercicio 06C: Elaborar un programa que calcule el rea de una elipse. El programa debe solicitar los
datos necesarios por el teclado. La respuesta debe ser impresa con 3 decimales de aproximacin.

Ejercicio 07C: Elaborar un programa al cual se le ingrese dos nmeros: num1 y num2 por teclado y
determine si num1 es mltiplo de num2. (Pregunta tomada en la Practica Calificada 1 del curso de
Programacin Digital de la UNI-FIEE, semestre 2014-1).

Ejercicio 08C: Elaborar un programa que lea cuatro valores numricos positivos y calcule la media
aritmtica.

Ir a... Elegir...

Usted se ha identificado como Luis Alberto Camacho Segovia (Salir)

Administrado por: Ing. Mauricio Galvez Legua

http://www.fieeuni.edu.pe/lms/course/view.php?id=706&topic=3 10/10

S-ar putea să vă placă și