Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Guia 1 lenguajeDeProgramacionC PDF
Guia 1 lenguajeDeProgramacionC PDF
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 1 de 9
II. OBJETIVOS
Como puede notarse, las palabras reservadas son similares a las utilizadas en lenguajes
de programación como Java, C++ y C#. Esto se debe a que C++ es una extensión de C,
mientras que Java se creó como un lenguaje alternativo a C, pero con una sintaxis que
permitiera a los programadores una transición sencilla.
C#, un lenguaje de programación moderno y promovido como el lenguaje de desarrollo
preferido de Microsoft. También mantiene la sintaxis de C, por las razones que Java lo
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 2 de 9
ESTRUCTURAS DE BIFURCACION
if (CONDICION)
{ // condicion = Verdadero
Instrucciones_V;
}
else
{ // CONDICION = Falso
Instrucciones_F;
}
Ejemplo:
int nota;
if (nota > 10)
{
// La nota es mayor a diez
printf("La nota es aprobatoria");
}
else
{
// La nota es menor o igual a diez : nota <= 10
printf("La nota es desaprobatoria");
}
switch (EXPRESION)
{
case literal1:
// EXPRESION == literal1
Instrucciones_1;
break;
case literal2:
// EXPRESION == literal2
Instrucciones_2;
break;
...
default:
// EXPRESION != literal1, literal2, ...
Instrucciones_D;
break;
}
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 3 de 9
Ejemplo:
int opcion;
switch (opcion)
{
case 1:
printf("La variable opcion es igual a 1");
break;
case 2:
case 3:
printf("La variable opcion es igual a 2 o 3");
break;
case 4:
printf("La variable opcion es igual a 4");
break;
default:
printf("La variable opcion es igual a 4");
break;
}
ESTRUCTURAS ITERATIVAS
ESTRUCTURA WHILE
while (CONDICION)
{ //CONDICION = verdadero
Mientras CONDICION sea verdadero, se ejecutarán las instrucciones parte del cuerpo del
bucle.
Ejemplo:
int cnt=0;
while (cnt < 1000)
{
//cnt < 1000
printf("El valor de cnt es: %d\n",cnt);
cnt++;
}//cnt >= 1000
Estructura DO – WHILE
do
{ //cuerpo del bucle
Instrucciones;
} while(CONDICION);
El cuerpo del bucle se ejecuta por lo menos una vez (la primera vez) y luego se vuelve a
ejecutar, siempre que CONDICION sea verdadera, en caso contrario, se continúa la
ejecución del programa, desde la instrucción inmediatamente después del bucle
Ejemplo:
int nroEntrada=50;
do
{
printf("%d\n",nroEntrada);
nroEntrada--;
} while(nroEntrada>0);
//nroEntrada <= 0
Estructura FOR
Ejemplo:
int contador;
for(contador = 0;contador < 10; contador++)
{
printf("%d\n",contador);
}
V. DESARROLLO DE LA PRACTICA
1. Escriba un programa que lea tres segmentos y si estos forman un triangulo, que
muestre su área y perímetro
Solución
//Nombre : Triangulo.c
//Proposito : Muestra el area y perimetro de un triangulo
//Autor : Edwin Carrasco
//FCreacion : 29/01/2008
//FModificacion : --
#include<stdio.h>
#include<math.h>
#include<stdbool.h>
int main()
{
//Variables
int ladoA;
int ladoB;
int ladoC;
float area;
float perimetro;
float sp;
bool esTriangulo=false;
//Leer datos
printf("Ingrese el primer lado: ");
scanf("%d",&ladoA);
printf("Ingrese el segundo lado: ");
scanf("%d",&ladoB);
printf("Ingrese el tercer lado: ");
scanf("%d",&ladoC);
esTriangulo = true;
if (esTriangulo)
{
perimetro = ladoA+ladoB+ladoC;
sp = perimetro/2;
area = sqrt(sp*(sp-ladoA)*(sp-ladoB)*(sp-ladoC));
printf("El area del triangulo es %.2f\n",area);
printf("El perimetro del triangulo es %6.3f\n",perimetro);
}
else
printf("Los lados ingresados no forman un triangulo\n");
return 0;
}
Solución
//Nombre : nrosPerfectos.c
//Proposito : Muestra los N primeros numeros perfectos
//Autor : Edwin Carrasco
//FCreacion : 29/01/2008
//FModificacion : --
#include<stdio.h>
int main()
{
//Variables
int N;
int i;
int nroEvaluado=1;
int divisores=0;
//Leer datos
printf("Ingrese el valor de N: ");
scanf("%d",&N);
//Procesar
while ( N > 0 )
{
divisores=0;
for (i = 1; i < nroEvaluado; i++)
{
if (nroEvaluado % i == 0)
{
divisores = divisores + i;
}
}
if (divisores == nroEvaluado)
{
printf("%d\n",nroEvaluado);
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 7 de 9
N--;
}
nroEvaluado++;
}
return 0;
}
3. Escriba un programa que lea como entrada una fecha (dd/mm/aaaa) y muestre la
fecha correspondiente al día siguiente
Solución
//Nombre : diaSgte.c
//Proposito : Muestra el dia siguiente a la fecha ingresada por
el usuario
//Autor : Edwin Carrasco
//FCreacion : 30/01/2008
//FModificacion : --
#include<stdio.h>
#include<stdbool.h>
int main()
{
//Variables
int diaActual;
int mesActual;
int anioActual;
int diaSgte;
int mesSgte;
int anioSgte;
bool fechaValida=true;
//Leer datos
printf("Ingrese el dia: ");
scanf("%d",&diaActual);
printf("Ingrese el mes (1 - 12): ");
scanf("%d",&mesActual);
printf("Ingrese el año (4 digitos): ");
scanf("%d",&anioActual);
switch (mesActual)
{
case 1:
case 3:
case 5:
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 8 de 9
case 7:
case 8:
case 10:
if (diaActual > 31)
fechaValida = false;
if (diaActual == 31)
{
diaSgte = 1;
mesSgte = mesActual + 1;
}
break;
case 4:
case 6:
case 9:
case 11:
if (diaActual > 30)
fechaValida = false;
if (diaActual == 30)
{
diaSgte = 1;
mesSgte = mesActual+1;
}
break;
case 12:
if (diaActual > 31)
fechaValida = false;
if (diaActual == 31)
{
diaSgte = 1;
mesSgte = 1;
anioSgte = anioActual + 1;
}
break;
case 2:
if (anioActual % 4 == 0)
{
if (diaActual > 29)
fechaValida = false;
if (diaActual == 29)
{
diaSgte = 1;
mesSgte = mesActual + 1;
}
}
else
{
if (diaActual > 28)
fechaValida = false;
if (diaActual == 28)
{
diaSgte = 1;
mesSgte = mesActual + 1;
}
}
break;
default:
fechaValida = false;
break;
}
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
SISTEMAS DE OPERACIONES I
GUIA DE LABORATORIO
ecp 9 de 9
//Mostrar resultados
if (fechaValida == true)
printf("La fecha sera %d/%d/%d\n",diaSgte,mesSgte,anioSgte);
else
printf("Los datos ingresados no son correctos\n");
return 0;
}
VII. BIBLIOGRAFIA