You are on page 1of 90

ALGORITMO A

FONDO 2
ESTRUCTURAS BASICAS
DE CONTROL Y LOGICA
ALGORITMICA
OBJETIVOS
Analizar y resolver algoritmos utilizando las
estructuras de control bsicas: secuencial,
condicional e iterativa.
Conocer, identificar y aplicar recursos
algortmicos: contadores, acumuladores,
mximos, mnimos. Etctera.
Hacer un seguimiento paso a paso del
algoritmo.
Analizar y resolver problemas
contextualizados.
ESTRUCTURA
SECUENCIAL

Consiste en ejecutar, secuencialmente,


una accin simple detrs de otra.
Se considera accin simple a las acciones
de leer. Escribir, asignar valor a una
variable e invocar a un modulo o funcin.
ESTRUCTURA DE
DECISION
La estructura de decisin permite
decidir entre ejecutar uno u otro
conjunto de acciones en funcin de que
se cumpla o no una determinada
condicin lgica.
En el tema anterior se explico el uso
del IF. Posteriormente veremos que
existen otras estructuras selectivas
como por ejemplo la decisin mltiple
(swicth) y el if-inline.
EJERCICIO
Leer dos valores numricos
enteros e indicar cual es el
mayor y cual es el menor.
Considerar que ambos
valores son diferentes.
ANALISIS EJERCICIO
Los datos de entrada para este problema
son los dos valores que ingresara el usuario.
El objetivo principal ser comparar los dos
nmeros para determinar cual es el mayor
y cual es el menor.
El enunciado dice que debemos considerar
que los valores sern diferentes. Por lo
tanto, para nuestro anlisis la posibilidad
de que los valores sean iguales no ser
tomada en cuenta.
Llamaremos a al primer valor y b al
segundo. Para compararlos utilizaremos
una estructura de decisin que nos
permitir determinar si a es mayor que
b. si esto resulta verdadero , entonces
a ser el mayor y b ser el menor . De
lo contrario, si la condicin anterior
resulta falsa, b ser mayor y a el menor
ya que como se mencionaba
anteriormente a y b no sern iguales.
La proposicin if-else se usa para
expresar decisiones. La sintxis
es:

if(expresin)
proposicin1;
else
proposicin2;
#include <stdio.h>

Int main()
{
Int a,b;
Int mayor,menor;

Printf( ingrese dos valores: );


Scanf(%d %d , &a, &b);

If ( a>b)
{
mayor= a;
menor=b;
}
Else
{
mayor=b;
menor=a;
}

Printf (Mayor : %d , mayor);


Printf (menor: %d, menor);

Return 0;
}
Si la expresin es verdadera, se ejecuta la
proposicin1, de lo contrario se realiza la
proposicin2.
Por ejemplo:

int x=4;
if(x<10)
printf(es menor que diez);
Else
printf(es mayor que diez);
EJERCICIOS
A- Escribe un programa que pida un nmero entero,
y conteste al usuario: Has introducido el numero
(x), gracias

B- Escribe un programa que pregunte al usuario


cuntos aos tiene, y conteste al usuario: Ahora se
que tienes (x) aos, gracias.

C- Escribe un programa que pregunte la hora, y


conteste con un mensaje: Hora introducida ok. Son
las 18:30:00 (por ejemplo).

D-Escribe un programa que pregunte al usuario sus


iniciales y conteste diciendo: Sus iniciales son:
E- Escribe un programa que pregunte al usuario su altura
aproximada, sus iniciales y conteste diciendo: Sus
iniciales son: A.J.R. y su altura 1.34 (por ejemplo)

F- Escribe un programa que pregunte el precio, el tanto


por ciento de descuento, y te diga el precio con
descuento. Por ejemplo, si el precio que introduce el
usuario es 300 y el descuento 20, el programa dir que
el precio final con descuento es de 240.

G- Escribe un programa que pregunte al usuario los dos


lados de un rectngulo y presente por pantalla el clculo
del permetro (suma de los lados) y el rea (base por
altura).

H- Suponiendo que 1 Dlar = 3086 Pesos colombianos.


Escribe un programa que pida al usuario un nmero de
Pesos y calcule el cambio en dolares.
I- Suponiendo que pi = 3.1416. Escribe un
programa que pida al usuario que introduzca el
radio, y presente por pantalla el clculo del
permetro de la circunferencia (2*pi*r), el rea del
crculo (pi*r2 ), y el volumen de la esfera (V =
4*pi*r3 /3).

J- Escribe un programa que pida al usuario los


siguientes datos: das, horas y minutos. Y le
conteste con la cantidad de segundos totales que
son esos datos.

K- Escribe un programa que pida al usuario que


introduzca los segundos, y le conteste dicindole el
nmero de das, horas, minutos y segundos que
son.
ESTRUCTURAS DE
DECISION ANIDADAS
Cuando en una estructura de decisin utilizamos
otra estructura de decisin, decimos que ambas
son estructuras anidadas .

EJERCICIO
Leer tres valores numricos enteros, indicar cual es
el mayor, cual es el medio, cual es el menor.
Considerar que los tres valores sern diferentes .
ANALISIS
Leemos los tres valores y comenzamos a
comparar preguntando si a>b, si esto se verifica
entonces preguntamos si a>c, si esto tambin se
verifica, como a>b y a>c no hay dudas de que a
es mayor.
Luego tenemos que comparar b y c para ver cual
esta en segundo y tercer lugar.
Si resulta que a>b pero no se verifica que a>c
( es decir que c es mayor que a) ser por que c es
el mayor, a el medio y b el menor.
Por otro lado si no se verifica que a>b
preguntamos si b>c, si esto es as entonces el
mayor ser b(ya que b es mayor que a y b es
mayor que c) preguntamos si a>c y podremos
deducir cual esta en segundo y tercer lugar.
Para finalizar si es falso que b>c entonces el mayor
ser c , medio b y menor a:

#include <stdio.h>

Int main()
{
int a, b, c;
int mayor, medio, menor;

printf ( ingrese tres valores : );


scanf ( %d %d %d , &a, &b, &c);
If (a>b)
{
if ( a>c)
{
mayor=a;
if (b>c)
{
medio=b;
menor=c;
}
else
{
medio=c;
menor=b;
}
}
else
{
if (b>c)
{
mayor=b;
if(a>c)
{
medio=a;
menor=c;
}
else
{
medio=c;
menor=a;
}
}
else
{
mayor=c;
medio=b;
menor=a;
}
}
Printf (mayor: %d, mayor);

Printf (medio: %d, medio);

Printf (menor: %d, menor);

Return 0;

}
SELECCIN EN LINEA O
IF-INLINE
Esta estructura implementa un if en una nica
lnea de cdigo y funciona as:

Resultado= condicin ? Expresion1: expresion2;

Si condicin resulta verdadero el if-inline


retorna la expresin ubicada entre el signo de
interrogacin y los dos puntos.
Si condicin resulta falsa entonces el valor de
retorno ser la expresin ubicada
inmediatamente despus de los dos puntos.
Por ejemplo: sean las variables a y b enteras y
cada una con un valor numrico, y la variable
mayor tambin entera, entonces:

Mayor= a> b? a:b;


// asigno a mayor el mximo valor entre a y b

Esta lnea debe interpretarse de la siguiente


manera:
Si se verifica que a>b entonces el if-inline
retorna a (expresin ubicada entre el signo de
interrogacin y los dos puntos).
Si la expresin lgica no se verifica entonces el
valor de retorno del if-inline ser b (expresin
lgica ubicada luego de los dos puntos).
El resultado del if-inline lo asignamos a
la variable mayor.
Utilizando el if-inline podemos codificar
la segunda versin del programa
haciendo que sea mas legible al reducir
la cantidad de if anidados:

#include <stdio.h>
{
Int a,b,c;
Int mayor, medio,menor;
Printf (ingrese tres valores: );
Scanf (%d %d %d, &a, &b, &c);

If ( a>b && a>c)


{
mayor=a;
medio= b>c? b:c; // el mayor entre b y c
menor =b<c? b:c; // el menor entre b y c
}
Else
{
if (b>a && b>c)
{
mayor=b;
medio= a>c? b:c; // el mayor entre a y c
menor =a<c? b:c; // el menor entre a y c
}
Else
{
mayor=c;
medio= a>b? b:c; // el mayor entre a y b
menor =a<b? b:c; // el menor entre a y b
}
}
Printf(Mayor : %d , mayor);
Printf(Medio : %d , medio);
Printf(Menor: %d , menor);
Return 0;
}
MACROS
Las macros son directivas de preprocesador con
las que podemos relacionar un nombre con una
expresion:

Por ejemplo:
#define MAX(x,y) x>y?x:y
#define MIN(x,y) x<y?x:y

El preprocesador de C reemplazara cada macro por


la expresion que representa. Asi , podemos invocar
a la macro MAX de la siguiente manera:
mayor= MAX (a,b);
Donde a y b son argumentos que le
pasamos a la macro MAX. El
preprocesador reemplazara la lnea
anterior por la siguiente lnea:

mayor= a>b ?a:b;

Utilizando estas macros podemos mejorar


aun mas la legibilidad del cdigo del
programa anterior:
#include <stdio.h>
//definimos las macros
#define MAX(x,y) x>y?x:y
#define MIN(x,y) x<y?x:y

Int main()
{
int a, b, c;
int mayor, medio, menor;

Printf(ingrese tres valores : );


Scanf(%d %d %d. &a, &b,&c);
If (a>b && a>c)
{
mayor=a;
medio= Max(b,c);
menor= Min(b,c);
}
Else
{
if (b>a && b>c)
{
mayor=b;
medio= Max(a,c);
menor= Min(a,c);
}
Else
{
mayor=c;
medio= Max(a,b);
menor= Min(a,b);
}
Printf(Mayor : %d , mayor);
Printf(Medio : %d , medio);
Printf(Menor: %d , menor);
Return 0;
}
Estructura Caso
Esta se usa como sustituto en algunos casos del si
anidado , por ser mas practico al aplicarlo en la
evaluacin de algunas condiciones.
Sintaxis
caso variable
valor1, valor2, valor3, :
instrucciones
valor1, valor2, valor3, :
instrucciones
.
.
[ sino :
instrucciones]
fin caso
Los valores a evaluar , se separan por comas si hay
varios, tal como aparece en la sintaxis valor1,valor2 etc,
tambin se puede usar el sino que nos indica, que en
caso de no seleccionar ninguna de las instrucciones
anteriores se ejecutan.

Ejemplo sobre la aplicacin de la estructura caso


En el ejercicio Ingresar el nombre del empleado, la zona
de trabajo , las ventas del empleado , luego calcular su
comisin en base a un porcentaje basado en la zona de
trabajo, luego determinar el IHSS y el total a pagar ,
presentar los datos.
Tabla para el caculo de la comisin
Zona Porcentaje de Comisin
A 6%
B 8%
C 9%
ahora usaremos una estructura caso.
caracter zona
cadena[25] nombre
real ventas , comis , ihss, tp
Inicio
escriba "Ingresar el nombre del empleado "
lea nombre
escriba "Ingresar las ventas del empleado "
lea ventas
escriba "Ingresar la zona de trabajo "
lea zona
caso Zona
a,A : comis <- 0.06 * ventas
b,B : comis <-0.08 * ventas
c,C : comis <-0.09 * ventas
sino :
Comis <- 0
fin caso
si comis > 2400 entonces
ihss <- 84
sino
Ihss <-0.035*comis
fin si
Tp <- comis - ihss
Escriba " Comsin ganada " , comis
llamar nueva_linea
Escriba " Segudo Social " , ihss
llamar nueva_linea
Escriba "Total a pagar " , tp
llamar nueva_linea
fin
Estructura de caso o
seleccin mltiple
(switch) en C
La estructura de seleccin mltiple permite tomar
una decisin en funcin de que el valor de una
variable o el resultado de una expresin numrica
entera coincidan o no con alguno de los valores
indicados en diferentes casos o con ninguno de
estos: grficamente, la representaremos as:
UNA VARIABLE
CASE 1: CASE 2: Default:
ACCION 1 ACCION 4 ACCION 6
ACCION 2 ACCION 5
ACCION 3
Este grafico debe interpretarse de la
siguiente manera: si el valor de UNA
VARIABLE es 1 entonces se ejecutaran las
acciones ACCION 1, ACCION 2 Y ACCION
3. En cambio, si UNA VARIABLE vale 2 se
ejecutaran las acciones ACCION 4,
ACCION 5 . Podemos agregar tantos casos
como necesitemos. Por ultimo, podemos
indicar la opcin DEFAULT que representa
a todos los otros casos que no fueron
indicados explcitamente.

La sintaxis genrica de esta estructura es


la siguiente
Switch (expresion)
{ case expresion_cte_1:
sentencia_1;
break;
case expresion_cte_2:
sentencia_2;
break;
:
case expresion_cte_n:
sentencia_n;
break;
[ default:
sentencia;]
}
Los casos deben representarse con valores numricos
literales o constantes. El caso default es opcional.
La proposicin switch, permite la decisin mltiple que
prueba si una expresin coincide con uno de los valores
constantes enteros que se hayan definido previamente.
Su sintxis es:
switch( expresin )
{
case exp-const: proposiciones
break;
case exp-const: proposiciones
break;
case exp-const: proposiciones
break;
default: proposiciones
}
Se compara la "expresin" con cada una de
las opciones "exp-const", y en el momento de
encontrar una constate idntica se ejecutan
las proposiciones correspondientes a ese
caso. Al terminar de realizar las proposiciones
del caso, se debe usar la palabra reservada
"break" para que vaya al final del switch
Si ninguno de los casos cumplen con la
expresin, se puede definir un caso por
omisin, que tambin puede tener
proposiciones.
En todos los casos pueden ser proposiciones
simples o compuestas. En las compuestas se
usan llaves para definir el bloque.
Ejercicio:
Leer un valor numrico que representa un da
de la semana. Se pide mostrar por pantalla el
nombre del da considerando que el lunes es
el da 1, el martes es el da 2 y as,
sucesivamente.

Anlisis del ejercicio:


En el ejercicio el numero de da se lo
asignamos como variable nroDia y luego,
utilizamos una estructura de seleccin
mltiple (switch) con los casos 1,2,3,4,5,6 y
7. Si el usuario ingreso el numero de da 1,
entonces la estructura ingresara por el caso
case 1 donde le asignamos la cadena
Lunes a la variable da. Analogamente,
si el usuario ingresa el valor 2,
entraremos por case 2 y le asignaremos
a da la cadena Martes y asi,
sucesivamente.

#include <stdio.h>
#include <string.h>

Int main ()
{
Int nroDia;
Char dia [10];
Printf( Ingrese dia de la semana : );
Scanf( %d, &nroDia);

Switch (nroDia)
{
case 1:
strcpy (dia, Lunes); // asigno a dia la
cadena Lunes
break;
case 2:
strcpy (dia, Martes);
break;
case 3:
strcpy (dia, Miercoles);
break;
case 4:
strcpy (dia, Jueves);
break;
case 5:
strcpy (dia, Viernes);
break;
case 6:
strcpy (dia, Sabado);
break;
case 7:
strcpy (dia, Domingo);
break;
}
Printf (%d es %s , nroDia);
Return 0;
}
Es muy importante poner la sentencia
break al finalizar el conjunto de acciones
que se ejecutan dentro de cada caso ya
que si la omitimos se ejecutaran
secuencialmente todas las acciones de
todos los casos subsiguientes.
Es decir, supongamos que el usuario
ingresa el da numero 5 y omitimos poner
los breaks entonces el programa ingresara
por case 5, asignara Viernes a dia, luego
le asignara Sabado y luego Domingo.
Por lo tanto, la salida ser:

5 es Domingo

Para Asignar el nombre de cada da a la


variable da , no utilizamos el operador de
asignacin, lo hacemos a travs de la
funcin strcpy.
Biblioteca string.h
Es un archivo de la biblioteca
estndar del lenguaje de
programacin C que contiene
la definicin de macros,
constantes, funciones y tipos y
algunas operaciones de
manipulacin de memoria
Asignacin de valores
alfanumricos
(funcin strcpy)
Las cadenas de caracteres tienen
un tratamiento especial ya que en
C se implementan sobre arrays
(conjuntos) de caracteres. Por este
motivo, no se puede utilizar el
operador de asignacin = para
asignarles valor. Tenemos que
hacerlos a travs de la funcin de
biblioteca strcpy (definida en el
archivo string.h) como se puede
//defino un conjunto de 10 variables de tipo char
Char s[ 10];
// strcpy asigna cada uno de los caracteres de
Hola
// a cada una de la variables del conjunto s
Strcpy (s, hola);

Esta funcin toma cada uno de los


caracteres de la cadena Hola y los asigna
uno a uno a los elementos del conjunto s.
Grficamente podemos verlo as:
1. Definimos un array de 10 caracteres (o un
conjunto de 10 variables de tipo char)
Char s[10];

S= {
}

2. Asignamos uno a uno los caracteres


de la cadena Hola a los caracteres de
s.
Strcpy (s, Hola);
o l a \
H 0

S={
}
Como vemos strcpy asigna el i-simo
carcter de la cadena Hola al i-simo
carcter del conjunto o array s.
Ademas strcpy agrega el carcter especial \
0
Que delimita el final de la cadena. Es decir
que si bien s tiene espacio para almacenar
10 caracteres nosotros estamos utilizando 5.
cuatro para la cadena Hola mas 1 para el
\ 0.
Un aray de n caracteres se puede almacenar
cadenas de , a lo sumo , n-1 caracteres ya
que siempre se necesitara incluir el carcter
de fin de cadena \ 0 al final. En un ejercicio
anterior se expuso lo siguiente:
#include <stdio.h>

Int main ()
{
char nombre [] = Pablo;
Int edad=39;
Double altura =1,70;

Printf (mi nombre es %s, tengo %d aos


y mido %f metros , nombre, edad,
altura);
Return 0;
}
En el anterior ejemplo utilizamos el
operador de asignacin = para asignar el
valor Pablo a la variable nombre. Esto
solo se puede hacer al momento de definir
la variable. Incluso, como no se ha
dimensionado la cantidad de caracteres que
el array nombre puede contener , C
dimensionara el conjunto de caracteres con
tantos elementos como sea necesario para
mantener la cadena Pablo mas 1 para
contener el \ 0 .
Biblioteca stdlib.h
stdlib.h(std-
lib:standardlibraryo biblioteca
estndar) es el archivo de
cabecera de labibliotecaestndar
de propsito general dellenguaje
de programacin C. Contiene los
prototipos de funciones de C para
gestin de memoria dinmica,
control de procesos y otras
Ejercicios
Realizar en C:
Que pida un nmero del 1 al 5 y diga si es primo o
no.
Que pida un nmero y diga si es par o impar.
Que pida un nmero del 1 al 12 y diga el nombre del
mes correspondiente.
Que pida 3 nmeros y los muestre en pantalla de
menor a mayor.
Que pida 3 nmeros y los muestre en pantalla de
mayor a menor.
Que pida 3 nmeros y los muestre en pantalla de
mayor a menor en lneas distintas. En caso de haber
nmeros iguales se imprimen en la misma lnea.
Que pida un nmero y diga si es
positivo o negativo.
Que slo permita introducir los
caracteres S y N.
Que pida un nmero y diga si es mayor
de 100.
Que pida una letra y detecte si es una
vocal.
Que pida tres nmeros y detecte si se
han introducido en orden creciente.
Que pida 10 nmeros y diga cul es el
mayor y cual el menor.
Que pida tres nmeros e indicar si el
tercero es igual a la suma del primero y
el segundo.
Que muestre un men que contemple
las opciones Archivo, Buscar y
Salir, en caso de que no se
introduzca una opcin correcta se
notificar por pantalla.
Que tome dos nmeros del 1 al 5 y
diga si ambos son primos.
Que tome dos nmeros y diga si ambos
son pares o impares.
Que tome tres nmeros y diga si la
multiplicacin de los dos primeros es
igual al tercero.
Que tome tres nmeros y diga si el
tercero es el resto de la divisin de los
dos primeros.
Que muestre un men donde las
opciones sean Equiltero,
Issceles y Escaleno, pida una
opcin y calcule el permetro del
tringulo seleccionado.
Que pase de Kg a otra unidad de
medida de masa, mostrar en pantalla
un men con las opciones posibles.
Que lea un importe bruto y calcule su
importe neto, si es mayor de 15.000 se
le aplicar un 16% de impuestos, en
caso contrario se le aplicar un 10%.
Que lea una hora en
hora:minutos:segundos y diga la hora
que es un segundo despus.
Que calcule el sueldo que le
corresponde al trabajador de una
empresa que cobra 40.000.000 pesos
anuales, el programa debe realizar
los clculos en funcin de los
siguientes criterios:
a.Si lleva ms de 10 aos en la empresa
se le aplica un aumento del 10%.
b.Si lleva menos de 10 aos pero ms que
5 se le aplica un aumento del 7%.
c.Si lleva menos de 5 aos pero ms que 3
se le aplica un aumento del 5%.
d.Si lleva menos de 3 aos se le aplica un
aumento del 3%.
Escribir un programa,enlenguaje C, que:

1) Pida por teclado el resultado (dato entero) obtenido al lanzar un dado de


seis caras.
2) Muestre por pantalla el nmero en letras (dato cadena) de la cara
opuesta al resultado obtenido.

Nota 1: En las caras opuestas de un dado de seis caras estn los nmeros:
1-6, 2-5 y 3-4.

Nota 2: Si el nmero del dado introducido es menor que 1 mayor que 6,


se mostrar el mensaje: "ERROR: Nmero incorrecto.".

En pantalla:

Introduzca nm ero deldado: 5


En la cara opuesta est el"dos".
En la siguiente tabla se muestra el nmero
de camas de las habitaciones de una casa
rural, adems de la planta donde est
ubicada cada una de ellas:
Escribir un programa, enlenguaje C, que:

1) Muestre el listado de las habitaciones de la casa rural.


2) Pida por teclado el nmero (dato entero) asociado a
una habitacin.
3) Muestre por pantalla la planta y el nmero de camas
de la habitacin seleccionada.

Nota: Si el nmero introducido por el usuario, no est


asociado a ninguna habitacin, se mostrar el mensaje:
"ERROR: <nmero> no est asociado a ninguna
habitacin.".

En pantalla:
Listado de habitaciones:

1. Azul
2. Roja
3. Verde
4. Rosa
5. Gris

Introduzca nmero de habitacin: 3


La Verde tiene 3 cama/s y est en la segunda planta.
Listado de habitaciones:

1. Azul
2. Roja
3. Verde
4. Rosa
5. Gris

Introduzca nmero de habitacin: 7


ERROR: 7 no est asociado a ninguna habitacin.
SOLUCION A EJERCICIOS
Realizar un programa en C que pida
un nmero del 1 al 5 y diga si es primo
o no.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int i;
printf("Introduzca nmero del 1 al 5:");
scanf("%d",&i);
if (i!=4) {
printf("Es primo.");
}
else
{
printf("No es primo.");
}

system("PAUSE");
return 0;
}
SYSTEM (PAUSE);
system()es una funcin dellenguaje de
programacin Cincluida en
subibliotecaestndar, dentro de la cabecera
<stdlib.h>. Sirve para ejecutar subprocesos o
comandos del sistema operativo.
system permite ejecutar a su vez otras
funciones como: cls, dir o pause. Por
ejemplo, al escribirsystem ("pause")se est
incorporando una pausa en el programa, es
decir, que se espera a que el usuario
presione alguna tecla para continuar con la
ejecucin del mismo.
Realizar un programa en C que pida un
nmero y diga si es par o impar.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int i;
printf("Introduzca nmero:");
scanf("%d",&i);

if (i%2==0)
{
printf("Es par.");
}
else
{
printf("Es impar.");
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida un
nmero del 1 al 12 y diga el nombre
del mes correspondiente.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int i;
printf("Introduzca nmero del 1 al
12:");
scanf("%d",&i);
switch(i){
case 1:
printf ("Enero\n");
break;
case 2:
printf ("Febrero\n");
break;
case 3:
printf ("Marzo\n");
break;
case 4:
printf ("Abril\n");
break;
case 5:
printf ("Mayo\n");
break;
case 6:
printf ("Junio\n");
break;
case 7:
printf ("Julio\n");
break;
case 8:
printf ("Agosto\n");
break;
case 9:
printf ("Septiembre\n");
break;
case 10:
printf ("Octubre\n");
break;
case 11:
printf ("Noviembre\n");
break;
case 12:
printf ("Diciembre\n");
break;
default:
printf ("Opcin no vlida\n");
break;
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida 3 nmeros y los
muestre en pantalla de menor a mayor.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int num1,num2,num3;

printf("Introduzca nmero 1:");


scanf("%d",&num1);

printf("Introduzca nmero 2:");


scanf("%d",&num2);

printf("Introduzca nmero 3:");


scanf("%d",&num3);
if (num1<num2 && num1<num3)
{
if (num2<num3)
{
printf("%d",num1);
printf("%d",num2);
printf("%d",num3);
}
else
{
printf("%d",num1);
printf("%d",num3);
printf("%d",num2);
}
}
else if (num2<num1 && num2<num3)
{
if (num1<num3)
{
printf("%d",num2);
printf("%d",num1);
printf("%d",num3);
}
else
{
printf("%d",num2);
printf("%d",num3);
printf("%d",num1);
}
}
else if (num3<num1 && num3<num2)
{
if (num1<num2)
{
printf("%d",num3);
printf("%d",num1);
printf("%d",num2);
}
else
{
printf("%d",num3);
printf("%d",num2);
printf("%d",num1);
}
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida 3 nmeros y los muestre
en pantalla de mayor a menor.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int num1,num2,num3;

printf("Introduzca nmero 1:");


scanf("%d",&num1);

printf("Introduzca nmero 2:");


scanf("%d",&num2);

printf("Introduzca nmero 3:");


scanf("%d",&num3);
if (num1>num2 && num1>num3)
{
if (num2>num3)
{
printf("%d",num1);
printf("%d",num2);
printf("%d",num3);
}
else
{
printf("%d",num1);
printf("%d",num3);
printf("%d",num2);
}
}
else if (num2>num1 && num2>num3)
{
if (num1>num3)
{
printf("%d",num2);
printf("%d",num1);
printf("%d",num3);
}
else
{
printf("%d",num2);
printf("%d",num3);
printf("%d",num1);
}
}
else if (num3>num1 && num3>num2)
{
if (num1>num2)
{
printf("%d",num3);
printf("%d",num1);
printf("%d",num2);
}
else
{
printf("%d",num3);
printf("%d",num2);
printf("%d",num1);
}
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida 3 nmeros y los
muestre en pantalla de mayor a menor en lneas distintas.
En caso de haber nmeros iguales se imprimen en la misma
lnea.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int num1,num2,num3;

printf("Introduzca nmero 1:");


scanf("%d",&num1);

printf("Introduzca nmero 2:");


scanf("%d",&num2);

printf("Introduzca nmero 3:");


scanf("%d",&num3);
if (num1>num2 && num1>num3)
{
if (num2>num3)
{
printf("%d\n",num1);
printf("%d\n",num2);
printf("%d\n",num3);
}
else if (num3>num2)
{
printf("%d\n",num1);
printf("%d\n",num3);
printf("%d\n",num2);
}
else
{
printf("%d\n",num1);
printf("%d",num3);
printf("%d\n",num2);
}
}
else if (num2>num1 && num2>num3)
{
if (num1>num3)
{
printf("%d\n",num2);
printf("%d\n",num1);
printf("%d\n",num3);
}
else if (num3>num1)
{
printf("%d\n",num2);
printf("%d\n",num3);
printf("%d\n",num1);
}
else
{
printf("%d\n",num2);
printf("%d",num3);
printf("%d\n",num1);
}
}
else if (num3>num1 && num3>num2)
{
if (num1>num2)
{
printf("%d\n",num3);
printf("%d\n",num1);
printf("%d\n",num2);
}
else if (num2>num1)
{
printf("%d\n",num3);
printf("%d\n",num2);
printf("%d\n",num1);
}
else
{
printf("%d\n",num3);
printf("%d",num2);
printf("%d\n",num1);
}
}
else
{
printf("%d",num1);
printf("%d",num2);
printf("%d",num3);
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida un nmero y diga si es positivo o negativo.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int num1;

printf("Introduzca nmero 1:");


scanf("%d",&num1);

if (num1>0){
printf("Es positivo\n");
}
else if (num1<0){
printf("Es negativo\n");
}
else
{
printf("Es cero\n");
}

system("PAUSE");
return 0;
}
Realizar un programa en C que slo permita introducir los caracteres S y N.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
char c;

printf("Introduzca un carcter:");
scanf("%c",&c);

if (c=='s' || c=='n' ){
printf("Es correcto\n");
}
else
{
printf("Es incorrecto\n");
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida un nmero y diga si es mayor
de 100.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
int num1;

printf("Introduzca un nmero:");
scanf("%d",&num1);

if (num1>100){
printf("Es mayor\n");
}
else
{
printf("Es menor\n");
}

system("PAUSE");
return 0;
}
Realizar un programa en C que pida una letra y detecte si es una vocal.
#include <stdio.h>
#include <stdlib.h>

int main( )
{
char c;

printf("Introduzca un carcter:");
scanf("%c",&c);

switch (c)
{
case 'a':
printf ("Es vocal\n");
break;
case 'e':
printf ("Es vocal\n");
break;
case 'i':
printf ("Es vocal\n");
break;
case 'o':

printf ("Es vocal\n");


break;
case 'u':
printf ("Es vocal\n");
break;
default:
printf ("No es vocal\n");
break;
}

system("PAUSE");
return 0;
}

You might also like