Você está na página 1de 251

Nvel I - Bsico

Autor-Compilador: Elzevir Jr.


Janeiro, 2007

SUMRIO
EXERCCIOS DO C#.NET........................................................................................................................5
EXERCCIOS 01 ENTRADA E SADA DE DADOS E DECLARAO DE VARIVEIS ................................7
01.01 Volume de uma caixa retangular...........................................................................7
01.02 Converter temperatura em graus Fahrenheit para Ceusius........................8
01.03 - Calcula volume de um cilindro.................................................................................8
01.04 Curso de criao de colhos....................................................................................9
01.05 Calcula consumo de combustvel.........................................................................10
01.06 Calcula o quadrado da diferena entre nmeros...........................................11
01.07 Propriedade distributiva entre 4 nmeros........................................................12
01.08 Calcula o volume de uma esfera..........................................................................14
01.09 Converso de temperaturas..................................................................................15
EXERCCIOS 02 ENTRADAS E SADAS DE DADOS E DECLARAO DE VARIVEIS..........................17
02.01 Calcula o produto e a adio de fraes...........................................................17
02.02 Calcula o salrio de um vendedor.......................................................................18
02.03 Calcula o volume de uma lata de oleo...............................................................19
02.04 Mdia harmnica........................................................................................................20
02.05 Mdia ponderada........................................................................................................21
02.06 L nmeros e calcula operaes..........................................................................22
02.07 Calcula potncia de nmero..................................................................................23
02.08 Quadrado de um nmero........................................................................................24
02.09 rea de um quadrado...............................................................................................25
EXERCCIOS 03 ENTRADA E SADA DE DADOS E DECLARAO DE VARIVEIS..............................27
03.01 Consumo de combustvel............................................................................................27
03.02 Troca de valores entre nmeros..........................................................................28
03.03 Entrada e sada de dados........................................................................................29
03.04 - Converso de temperaturas...................................................................................29
03.05 Prestao em atrazo.................................................................................................30
03.06 Soma do quadrado de nmeros...........................................................................31
03.07 Salrio de funcionrio...............................................................................................32
03.08 Salrio mensal.............................................................................................................33
03.09 Velocidade de veculo...............................................................................................35
EXERCCIOS 04 ESTRUTURA DE SELEO IF E IF / ELSE..............................................................37
04.01 Verifica nmero informado.....................................................................................37
04.02 Verificar o maior e o menor nmero dados...................................................38
04.03 Verificar se medidas informadas um tringulo...........................................40
04.04 Ler dois nmeros e verificar a diferena..........................................................41
04.05 Aceita nmeros e verifica seus divisores..........................................................42
04.06 L dois nmero e verifica suas diferenas.......................................................44
04.07 Calcula mdia de aluno............................................................................................45
04.08 L nmeros e compara valores............................................................................46
04.09 Verifica se aluno foi aprovado...............................................................................48
EXERCCIOS 05 ESTRUTURA DE SELEO IF E IF / ELSE..............................................................52
05.01 Soma nmeros e compara resultado.....................................................................52
05.02 Reajusta salrio..............................................................................................................53
05.03 L nmero e o converte de + para -..................................................................55
05.04 Acha intervado de nmero.....................................................................................56
05.05 Soma funes..............................................................................................................58
05.06 Recebe nmeros e verifica divisores..................................................................59
05.07 Verifica lados de um tringulo..............................................................................61
EXERCCIOS 06 ESTRUTURA DE SELEO IF E IF / ELSE..............................................................65
06.01 Verifica nome e sexo de pessoa...........................................................................65
06.02 Compara soma de nmeros...................................................................................66
06.03 Extrai razes quadradas...........................................................................................67
06.04 Compara valores........................................................................................................68
06.05 Calcula Imposto de Renda......................................................................................71
06.06 Reajusta salrio..........................................................................................................73
06.07 Verifica nmero...........................................................................................................74

EXERCCIOS 07 ESTRUTURA DE SELEO WHILE E OUTRAS..........................................................77


07.01 Calcula tabuada de nmero...................................................................................77
07.02 L nmero e pede novos valores.........................................................................77
07.03 Quadrado entre um intervalo................................................................................78
07.04 Determina idade e percentuais em pesquisa..................................................79
07.05 L valores e verifica-os............................................................................................82
07.06 Gera nmeros e verifica divisores.......................................................................83
07.07 Termos de PA...............................................................................................................83
07.08 Calcula mdia Geral de alunos.............................................................................84
EXERCCIOS 08 ESTRUTURA DE REPETIO WHILE E OUTRAS.......................................................87
08.01 Apresenta valores em uma faixa de nmeros................................................87
08.02 Calcula mdia de idades..........................................................................................87
08.03 Calcula populao de um pas...............................................................................88
08.04 Mdia de uma turma de alunos............................................................................89
08.05 Soma dos primeiros nmeros inteiros...............................................................90
08.06 Resultado de pesquisa.............................................................................................91
08.07 Potencias de um intervalo......................................................................................94
08.08 L nmeros em um intervalo................................................................................94
EXERCCIOS 09 ESTRUTURA DE REPETIO IF, ELSE, WHILE E OUTRAS....................................97
09.01 Utilizando operadores lgicos................................................................................97
09.02 Utilizando while, Match.Pow e cast in................................................................97
09.03 Estruturas de seleo simples e repetio while...........................................99
09.04 Estrutura de repetio while e variveis.........................................................100
09.05 Contadores e incremento e while......................................................................101
09.06 Calcula mdia de notas de aluno.......................................................................102
09.07 Recebe nmeros com e extrai cada dgito.....................................................103
09.08 Aninhamento de escruturas de seleo..........................................................104
09.09 Soma dez primeiros nmeros.............................................................................105
EXERCCIOS 10 ESTRUTURA DE REPETIO WHILE E OUTRAS.....................................................107
10.01 Calcula tabuada de um nmero.........................................................................107
10.02 L valores e pede novos valores........................................................................108
10.03 Seleo composta encadeada e aninhada......................................................109
10.04 L valores e conta os nmeros negativos......................................................112
10.05 Calcula mdia de idade..........................................................................................113
10.06 Calcula tempo............................................................................................................114
10.07 Gera nmeros divisveis.........................................................................................115
10.08 Mdia geral de alunos.............................................................................................116
10.09 Calcula mdia de turma de alunos....................................................................118
EXERCCIOS 11 ESTRUTURA DE REPETIO WHILE, FOR E OUTRAS............................................121
11.01 Calcula soma de nmeros inteiros....................................................................121
11.02 Calcula termos de uma srie...............................................................................122
11.03 Caucula alunos reprovados e aprovados........................................................123
11.04 Resultado de uma pesquisa de aceitao.......................................................124
11.05 Calcula mdia de uma turma de alunos..........................................................127
11.06 L numero e soma entre uma srie..................................................................129
11.07 Calcula uma funo.................................................................................................130
11.08 Calcula termos de PA..............................................................................................131
11.09 Calcula temperaqtura em graus diversos e com variaes.....................132
EXERCCIOS 12 ESTRUTURA DE REPETIO WHILE, FOR E OUTRAS...........................................134
12.01 Calcula a soma de termos de uma srie.........................................................134
12.02 Petencia de 3 com variaes...............................................................................135
12.03 Pesquisa de satisfao...........................................................................................136
12.04 Soma de numeros de um intervalo...................................................................139
12.05 Mdia de uma turma...............................................................................................140
12.06 Juros compostos com MessageBox...................................................................141
12.07 Reajuste de salrio..................................................................................................142
12.08 Repetio controlada por contador...................................................................144
12.09 Calcula bonus de uma faixa salarial.................................................................145
12.10 L nmero de faz multiplicaes........................................................................147

EXERCCIOS 13 ESTRUTURA DE REPETIO FOR, WHILE E OUTRAS...........................................150


13.01 Faz pesquisa de preos por regio....................................................................150
13.02 Reajuste salarial de funcionrio.........................................................................152
13.03 Quadrado de nmeros............................................................................................154
13.04 Peso ideal de uma pessoa com base em dados pessoais........................157
13.05 Recebe informaes de produtos: Preo, regio, etc................................159
13.06 Verifica notas informadas.....................................................................................162
13.07 Valor mximo de gastos de clientes.................................................................164
13.08 Verifica dados com base em classificao......................................................167
13.09 Simples calculadora com MessageBox.............................................................171
13.10 Comparao entre nmeros................................................................................173
EXERCCIOS 14 ESTRUTURA DE REPETIO DO / WHILE E OUTRAS............................................178
14.01 Calcula uma srie.....................................................................................................178
14.02 Reajuste salarial de acordo com critrios..........................................................................179
14.03 Calcula nmero perfeito.................................................................................................182
14.04 L notas escolares e efetua clculos...................................................................................185
14.05 Calcula uma expresso.......................................................................................................186
14.06 Calcula uma srie numrica...............................................................................................188
14.07 Volume de uma esfera.........................................................................................................189
14.08 Imprime srie de 1 a 10......................................................................................................191
14.09 Calcula mdia de um aluno................................................................................................192
14.10 Calcula uma expresso.......................................................................................................196
EXERCCIOS 15 ESTRUTURA DE REPETIO DO /WHILE E OUTRAS.............................................199
15.01 Soma de termos de uma srie.............................................................................................199
15.02 Pesquisa de Mercado..........................................................................................................201
15.03 Bnus salarial.....................................................................................................................205
15.04 Menor nmero.....................................................................................................................208
15.05 Maior nmero dentre assinantes.........................................................................................210
15.06 Gera uma srie Fibonacci...................................................................................................211
15.07 - Fatorial de um nmero........................................................................................................213
15.08 Equao do 2 gru............................................................................................................215
15.09 Converso de temperaturas................................................................................................216
15.10 Termos de uma srie...........................................................................................................218
EXERCCIOS 16 - ESTRUTURA DE SELEO MLTIPLA SWITCH E OUTRAS......................................221
16.01 L idade e classifica categoria...........................................................................................221
16.02 Calcula medidas.................................................................................................................223
16.03 Verifica uma escolha...........................................................................................................226
16.04 Mostra como utilizar estruturas de seleo dupla e composta..........................................229
16.05 Testando a instruo break.................................................................................................233
16.06 Compara nmeros...............................................................................................................234
16.07 Bnus salarial.....................................................................................................................237
16.08 Testando instruo break....................................................................................................242
16.09 Clculo de reas de figuras geomtricas............................................................................244
16.10 Nmeros de votos por candidatos.......................................................................................249

EXERCCIOS DO C#.NET
No Visual Studio.NET para criar seus programas, faa o seguinte:

No Menu File escolha New Project

Escolha o Tipo de Projeto como Visual C# Projects

Depois escolha como Templates o modelo Console Application

D um nome ao seu programa e escolha a pasta desejada e pronto, voc


poder testar o cdigo.

Estes programas tm a finalidade de fazer com que o aluno assimile conceitos


fundamentais no desenvolvimento de aplicaes com o C#, utilizando o Visual
Studio .NET ou o framework SDK para desenvolver os exemplos.

Os referidos programas (exerccios) tem como objetivo ensinar o usurio iniciante a


criar programas simples utilizando entrada e sada de dados (I/O), como tambm a
declarao de variveis, expresses algbricas e estruturas de repetio e seleo.

Se no tiver o Visual Studio, v no .NET Framework SDK utilize o Notepad (Bloco de


Notas) para criar os exemplos e salve com o nome que desejar com a extenso .cs.
(se for utilizar o framework sdk).

Abra o prompt do MS-DOS e execute:

C:\windows\microsoft.net\framework\v1.1.4322

Digite na prompt CSC e o nome do programa.cs na linha de comando.

Se voc no conseguir compilar seus programas copie eles para dentro da pasta
v1.1.4322

Aps a compilao ser gerado um arquivo executvel com o nome do programa


compilado. Digite o nome do programa e seu programa aparecer.

Exerccios 01 Entrada e Sada de Dados e Declarao


de Variveis
01.01 Volume de uma caixa retangular

Calcular o volume de uma caixa retangular mostra de forma simples como declarar
variveis e manipular dados de entrada e sada via console
using System;
namespace Caixaretangular
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Caixa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double volume,
// Conter informaes sobre a medida do volume
da caixa retangular
comprimento,// Conter informaes sobre o
comprimento da caixa retangular
largura,
// Conter informaes sobre a
largura da caixa retangular
altura;
// Conter informaes sobre a
altura da caixa retangular

retangular
em metros: ");

// Solicita e l informaes do usurio sobre o comprimento da caixa


Console.Write("Por favor entre com a medida do comprimento da caixa
comprimento = double.Parse(Console.ReadLine());

retangular
metros: ");

// Solicita e l informaes do usurio sobre a largura da caixa


Console.Write("Por favor entre com a medida da largura da caixa em
largura = double.Parse(Console.ReadLine());

retangular
metros: ");

// Solicita e l informaes do usurio sobre a altura da caixa


Console.Write("Por favor entre com a medida da altura da caixa em
altura = double.Parse(Console.ReadLine());
// Calcula o volume da caixa retangular

volume = comprimento * largura * altura;


// Exibe o resultado do volume da caixa retangular
Console.WriteLine("O volume da caixa retangular com {0} metros de
comprimento, {1} metros de largura e {2} metros de altura de: {3} metros cbicos",
comprimento, largura, altura, volume);
} // fim do mtodo Main
} // Fim da classe Caixa
}

01.02 Converter temperatura em graus Fahrenheit para Ceusius

Converter a temperatura em graus Fahrenheit para graus Celsius. Utiliza console de


entrada e sada de dados.
using System;
namespace Celsius
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Temperatura
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double C,

// Temperatura na escala Celsius


F;
// Temperatura na escla Fahrenheit

// Solicita e l a informao da temperatura fornecida pelo usurio


Console.Write("\tInforme a temperatura na escala Fahrenheit: ");
F = Double.Parse(Console.ReadLine());
// Efetua a converso da temperatura para a escala Celsius
C = ((F - 32)* 5/9);
// Exibe o resultado da converso entre as temperaturas
Console.WriteLine("\tA temperatura de {0} graus Fahrenheit equivale
a: {1} graus Celsius", F, C);
} // Fim do mtodo Main
} // Fim da Classe Temperatura
}

01.03 - Calcula volume de um cilindro

Calcular o volume de um Cilindro. Mostra de forma simples a declarao de


variveis e entrada e sada de dados
using System;
namespace Cilindro
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Cilindro
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double raio,

// Armazenar informaes sobre a medida do raio da

base do cilindro
altura, // Armazenar informaes sobre a medida do
altura do cilindro
volume,

// Armazenar informaes sobre a medida

do volume do cilindro
areab, // Armazenar informaes da rea da base do
cilindro
pi;

// Uma constante...

//Inicializao de Variveis
pi = 3.1415;
// Solicita e l a informao do raio do Cilindro fornecido pelo usurio
Console.Write("Por favor informe a medida do raio da base do cilindro:
");
raio = double.Parse(Console.ReadLine());
// Solicita e l a informao da altura do Cilindro fornecido pelo usurio
Console.Write("Por favor informe a medida da altura do cilindro: ");
altura = double.Parse(Console.ReadLine());
// Realiza o clculo do rea da base do Cilindro
areab = (pi * raio * raio);
// Realiza o clculo do Volume do Cilindro
volume = (areab * altura);
// Exibe o resultado do Volume do Cilindro
Console.WriteLine("O volume do cilindro : {0}", volume);
} // Fim do mtodo Main

} // Fim da classe Cilindro


}

01.04 Curso de criao de colhos

Calcular o custo com a criao de coelhos. Mostra de forma simples como


manipular dados via console e declarar variveis, e expresses algbricas:
using System;
namespace Animais
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Coelhos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double custo;

// Armazenar os custos com a criao de

coelhos
int

");

nr_coelhos;

// Armazenar o nmero de coelhos

// Solicita e l o nmero de coelhos da criao


Console.Write("Por favor informe o nmero total de coelhos da criao:
nr_coelhos = Int32.Parse(Console.ReadLine());
// Calcula o custo com a criao de coelhos
custo = (nr_coelhos * 0.70)/28;

// Exibe o resultado do custo com os coelhos


Console.WriteLine("O custo total com a criao de {0} coelhos, foi de:
{1}", nr_coelhos, custo);
} // Fim do mtodo Main
} // Fim da classe Coelhos
}

01.05 Calcula consumo de combustvel

Calcular o consumo de combustvel por Km. Mostra de forma simples conceitos de


entrada e sada de dados e declarao de variveis:

using System;
namespace Combustvel
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Clculo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double KI,

// Armazenar a Kilometragem Inicial do Percurso

do Veculo
KF,

// Armazenar a Kilometragem Final do

CC,
DP,
GC;

// Armazenar o Consumo de Combustvel


// Armazenar a Distncia Percorrida
// Armazenar o Gasto Total do veculo com

Percurso do Veculo

Combustvel
// Solicita e l a Kilometragem Inicial do Percurso
Console.Write("Por favor informe a Kilometragem Inicial: ");
KI = double.Parse(Console.ReadLine());
// Solicita e l a Kilometragem Final do Percurso
Console.Write("Por favor informe a Kilometragem Final: ");
KF = double.Parse(Console.ReadLine());
// Efetua o clculo da Distncia Percorrida
DP = (KF - KI);
// Solicita e l o Consumo de Combustvel durante o Percurso realizado
pelo veculo Final do Percurso
Console.Write("Por favor informe o Consumo de Combustvel em litros:
");
CC = double.Parse(Console.ReadLine());
// Efetua o clculo do Gasto de Combustvel
GC = (DP/CC);
// Exibe o total de Consumo de Combustvel por Km
Console.Write("A cada Litro consumido o veculo percorreu: {0} Km ",
GC);
} // Fim do mtodo Main
} // Fim da classe Clculo
}

01.06 Calcula o quadrado da diferena entre nmeros

Calcular o quadrado da diferena entre dois nmeros quaisquer. Demonstra de


forma simples o uso de consoles, entrada e sada de dados e o mtodo pow:

using System;
namespace Diferena
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1,
N2,
DIF;

// Nmero qualquer fornecido pelo usurio


// Nmero qualquer fornecido pelo usurio
// Diferena do quadrado entre dois nmeros

// Solicita e l dois nmeros fornecidos pelo usurio


Console.Write("Informe o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.Write("Informe o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
// Calcula o Quadrado da Diferena entre os nmeros fornecidos pelo
usurio
DIF = Math.Pow(N1,2) - Math.Pow(N2,2);
// Exibe o resultado do quadrado da diferena entre os nmeros
fornecidos pelo usurio
Console.WriteLine("O quadrado da diferena entre os nmeros {0} e
{1} de: {2}", N1, N2, DIF);
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

01.07 Propriedade distributiva entre 4 nmeros

Utilizar a propriedade distributiva entre 4 nmeros nos quais devem ser somados e
multiplicados entre si. Simples utilizao de entrada, sada e declarao de
variveis:
using System;
namespace Distributiva
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Atributos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double A,
B,
C,
D,

// Primeiro nmero fornecido pelo usurio


// Segundo nmero fornecido pelo usurio
// Terceiro nmero fornecido pelo usurio
// Quarto nmero fornecido pelo usurio

S_AB,
S_AC,
S_AD,
S_BC,
S_BD,
S_CD,

//
//
//
//
//
//

Soma
Soma
Soma
Soma
Soma
Soma

M_AB,
M_AC,
M_AD,
M_BC,
M_BD,
M_CD;

//
//
//
//
//
//

Multiplicao
Multiplicao
Multiplicao
Multiplicao
Multiplicao
Multiplicao

do
do
do
do
do
do

nmero
nmero
nmero
nmero
nmero
nmero
do
do
do
do
do
do

A
A
A
B
B
C

com
com
com
com
com
com

nmero
nmero
nmero
nmero
nmero
nmero

o
o
o
o
o
o

nmero
nmero
nmero
nmero
nmero
nmero

A
A
A
B
B
C

com
com
com
com
com
com

// Solicita e l o 1 nmero a ser fornecido pelo usurio


Console.Write("\t\tPor favor entre com o 1 nmero: ");
A = Double.Parse(Console.ReadLine());
// Solicita e l o 2 nmero a ser fornecido pelo usurio
Console.Write("\t\tPor favor entre com o 2 nmero: ");
B = Double.Parse(Console.ReadLine());
// Solicita e l o 3 nmero a ser fornecido pelo usurio
Console.Write("\t\tPor favor entre com o 3 nmero: ");
C = Double.Parse(Console.ReadLine());
// Solicita e l o 4 nmero a ser fornecido pelo usurio

o
o
o
o
o
o

B
C
D
C
D
D

nmero
nmero
nmero
nmero
nmero
nmero

B
C
D
C
D
D

Console.Write("\t\tPor favor entre com o 4 nmero: ");


D = Double.Parse(Console.ReadLine());

// Efetua a Propriedade distributiva da Soma


S_AB = A + B;
S_AC = A + C;
S_AD = A + D;
S_BC = B + C;
S_BD = B + D;
S_CD = C + D;
// Efetua a Propriedade distributiva da Multiplicao
M_AB = A * B;
M_AC = A * C;
M_AD = A * D;
M_BC = B * C;
M_BD = B * D;
M_CD = C * D;
// Exibe o resultado da Propriedade distributiva da Soma e Multiplicao
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",A, B, S_AB);
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",A, C, S_AC);
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",A, D, S_AD);
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",B, C, S_BC);
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",B, D, S_BD);
Console.WriteLine();
Console.WriteLine("\t\tO valor da soma {0} + {1} = {2}",C, D, S_CD);
Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",A, B,
M_AB);
Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",A, C,

M_AC);

Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",A, D,
M_AD);
Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",B, C,

M_BC);

Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",B, D,
M_BD);

M_CD);

Console.WriteLine();
Console.WriteLine("\t\tO valor da multiplicao {0} * {1} = {2}",C, D,
Console.WriteLine();
} // Fim do mtodo Main

} // Fim da Classe Atributos


}

01.08 Calcula o volume de uma esfera

Calcular o volume de uma esfera. Mostra como declarar variveis e utilizar console
e o mtodo pow.
using System;
namespace Esfera
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Vesfera
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double raio,

// Raio do dimetro da Esfera


volume,
// Volume da Esfera
pi;
// Uma constante..

// Inicializao de Variveis
pi = 3.14159;
// Solicita e l as informaes sobre a Esfera
Console.Write("\tInforme a medida do comprimento do raio da esfera
em metros: ");
raio = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Realiza o clculo do volume da Esfera
volume = (( 4 * pi * Math.Pow(raio,3)/3));

volume);

// Exibe o resultado do volume da Esfera


Console.WriteLine("\tO volume da esfera : {0} metros cbicos",
Console.WriteLine( );

} // Fim do mtodo Main


} // Fim da classe Vesfera
}

01.09 Converso de temperaturas

Efetuar a converso de temperatura da escala Celsius para a escala Fahrenheit.


Demonstra de forma simples como declarar variveis e utilizar uma console com o
framework ou VS.NET.

using System;
namespace Fahrenheit
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Temperatura
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
// Declarao de Variveis
double C,

// Temperatura na escala Celsius


F;
// Temperatura na escla Fahrenheit

// Solicita e l a informao da temperatura fornecida pelo usurio


Console.Write("\tInforme a temperatura na escala Celsius: ");
C = Double.Parse(Console.ReadLine());
// Efetua a converso da temperatura para a escala Celsius
F = (((9 * C)+ 160)/5);
// Exibe o resultado da converso entre as temperaturas
Console.WriteLine("\tA temperatura de {0} graus Celsius equivale a:
{1} graus Fahrenheit", C, F);
} // Fim do mtodo Main
} // Fim da Classe Temperatura
}

Exerccios 02 Entradas e Sadas de Dados e


Declarao de Variveis
02.01 Calcula o produto e a adio de fraes

Calcular o produto e a adio de duas fraes. Mostra de forma simples como


utilizar variveis e manipular dados via console
using System;
namespace Fraes
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Frao
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de variveis
double NUM1,
NUM2,
DEN1,
DEN2,
FRAC1,

// Numerador1 de uma frao qualquer


// Numerador2 de uma frao qualquer
// Denominador1 de uma frao qualquer
// Denominador1 de uma frao qualquer
// Armazenar o resultado do

numerador1 e denominador1
FRAC2,

// Armazenar o resultado do

numerador2 e denominador2
SOMA,
PRODUTO;

// Armazenar a soma das duas fraes


// Armazenar o produto das duas fraes

//Solicita e l o nmero informado pelo usurio para o 1Numerador


Console.Write("Por favor informe o 1 numerador da frao: ");
NUM1 = double.Parse(Console.ReadLine());
//Solicita e l o nmero informado pelo usurio para o 1Denominador
Console.Write("Por favor informe o 1 denominador da frao: ");
DEN1 = double.Parse(Console.ReadLine());
//Solicita e l o nmero informado pelo usurio para o 2Numerador
Console.Write("Por favor informe o 2 numerador da frao: ");
NUM2 = double.Parse(Console.ReadLine());
//Solicita e l o nmero informado pelo usurio para o 2Denominador
Console.Write("Por favor informe o 2 denominador da frao: ");
DEN2 = double.Parse(Console.ReadLine());

// Calcula as fraes
FRAC1 = (NUM1/DEN1);
FRAC2 = (NUM2/DEN2);
// Calcula a soma das fraes
SOMA = (FRAC1 + FRAC2);
PRODUTO = (FRAC1 * FRAC2);
// Exibe o resultado da adio e multiplicao das fraes
Console.WriteLine("A soma das fraes {0} e {1} foi de: {2}", FRAC1,
FRAC2, SOMA);
Console.WriteLine("O produto das fraes {0} e {1} foi de: {2}",
FRAC1, FRAC2, PRODUTO);
} // Fim do mtodo Main
} // Fim da classe Frao
}

02.02 Calcula o salrio de um vendedor

Calcular o salrio total de um vendedor. Define pontos importantes de como se


utilizar console de entrada e sada de dados
using System;
namespace Vendedor
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Empregado
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cod_funcionario;
// Nmero que identifica o
funcionrio da empresa
double salario_fixo,
// Salrio definido que o funcionrio
receber todo ms (o fixo)
total_vendas,
// Total das Vendas efetuadas pelo
funcionrio
percentual_ganho, // Percentual ganho sobre o total das
vendas efetuadas pelo funcionrio
salario_total;
// a soma do salrio fixo com o
percentual de ganho sobre as vendas
// Solicita e l as informaes do Empregado
Console.Write("Informe o Cdigo do Funcionrio: ");

cod_funcionario = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("Informe o valor do Salrio Fixo do Funcionrio: ");
salario_fixo = Double.Parse(Console.ReadLine());
Console.WriteLine();

Funcionrio: ");

Console.Write("Informe o valor Total das Vendas realizadas pelo


total_vendas = Double.Parse(Console.ReadLine());
Console.WriteLine();

Console.Write("Informe o valor do Percentual Ganho sobre o Total das


Vendas do Funcionrio: ");
percentual_ganho = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Calcula o Salrio Total do Funcionrio
salario_total = (salario_fixo + (total_vendas * (percentual_ganho/100)));
// Exibe o Valor do Salrio Total do Funcionrio
Console.WriteLine("O Funcionrio de cdigo n {0} tem Salrio total
de: {1}", cod_funcionario, salario_total);
} // Fim do mtodo Main
} // Fim da classe Empregado
}

02.03 Calcula o volume de uma lata de oleo

Calcular o volume de uma lata de leo. Demonstra de forma simples como declarar
variveis, expresses e apresentar os dados via console
using System;
namespace Lata
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Calculo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
leo

volume,
raio,

// Volume da lata de leo


// Raio da base da circunferncia da lta de

altura; // Altura da lata de leo

// Solicita e l as informaes da lata de leo


Console.Write("\tPor favor informe a medida do raio: ");
raio = Double.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\tPor favor informe a medida da altura: ");
altura = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Calcula o volume da lata de leo
volume = ((3.14159 * raio)-(2 * altura));
// Exibe o resultado do volume da lata de leo
Console.WriteLine("\tO volume da lata de leo : {0}", volume);
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Clculo
}

02.04 Mdia harmnica

Calcular a mdia harmnica das notas de um aluno. Define como utilizar uma
console manipulando dados de entrada e sada e declarando variveis
using System;
namespace MediaHarmnica
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Harmnica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1,
// Primeira nota do aluno
N2,
// Segunda nota do aluno
N3,
// Terceira nota do aluno
N4,
// Quarta nota do aluno
MEDIAH;
// Mdia Harmnica
// Solicita e l as notas de um aluno

Console.Write("Por favor informe a 1 nota do aluno: ");


N1 = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe a 2 nota do aluno: ");
N2 = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe a 3 nota do aluno: ");
N3 = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe a 4 nota do aluno: ");
N4 = Double.Parse(Console.ReadLine());
// Efetua o clculo da Mdia Harmnica
MEDIAH = (4/((1/N1) + (1/N2) + (1/N3) + (1/N4)));
// Exibe a Mdia Harmnica
Console.WriteLine("O valor da Mdia Harmnica : {0}", MEDIAH);
} // Fim do mtodo Main
} // Fim da classe Harmnica
}

02.05 Mdia ponderada

Calcular a Mdia Ponderada de duas provas realizadas por um aluno. Mostra de


forma simples como declarar variveis e manipular dados de entrada e sada
using System;
namespace Mdia_Ponderada
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Mdia
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de variveis
double N1,
// Primeira nota da prova do aluno
N2,
// Segunda nota da prova do aluno
P1,
// Peso da primeira prova do aluno
P2,
// Peso da segunda prova do aluno
MEDIAP;
// Armazenar o resultado da Mdia
Ponderada do Aluno
// Solicita e l a primeira nota de prova do aluno
Console.Write("Por favor informe a 1 nota do aluno: ");

N1 = double.Parse(Console.ReadLine());
// Solicita e l a segunda nota de prova do aluno
Console.Write("Por favor informe a 2 nota do aluno: ");
N2 = double.Parse(Console.ReadLine());
// Solicita e l o peso da 1 prova do aluno
Console.Write("Por favor informe o Peso da 1 prova do aluno: ");
P1 = double.Parse(Console.ReadLine());
// Solicita e l o peso da 2 prova do aluno
Console.Write("Por favor informe o Peso da 2 prova do aluno: ");
P2 = double.Parse(Console.ReadLine());
// Efetua o clculo da Mdia Ponderada do Aluno
MEDIAP = (N1*P1 + N2*P2)/(P1 + P2);
// Exibe o resultado obtido da Mdia Ponderada
Console.WriteLine(" O resultado da mdia do aluno foi de: {0}",
MEDIAP);
} // Fim da mtodo Main
} // Fim da classe Mdia
}

02.06 L nmeros e calcula operaes

Ler dois reais e efetuar as quatro operaes entre eles. Demonstra de forma
simples como efetuar clculos, declarar variveis e utilizar a console para manipular
dados
using System;
namespace Operaes
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Contas
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
N1, N2, // Nmeros a ser fornecidos pelo usurio
SOM, // Armazenar o resultado da soma entre
os dois nmeros
SUB, // Armazenar o resultado da subtrao
entre os dois nmeros

MUL,

// Armazenar o resultado da multiplicao

DIV;

// Armazenar o resultado da diviso entre

entre os dois nmeros


os dois nmeros
// Solicita e l os nmeros
Console.Write("\tEntre com o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\tEntre com o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Realiza as operaes com os nmeros fornecidos
SOM = (N1 + N2);
SUB = (N1 - N2);
MUL = (N1 * N2);
DIV = (N1 / N2);
// Exibe o resultado das operaes
Console.WriteLine("\tA soma dos nmeros {0} e {1} de: {2}",N1, N2,
SOM);

{2}",N1, N2, SUB);

Console.WriteLine();
Console.WriteLine("\tA subtrao dos nmeros {0} e {1} de:
Console.WriteLine();
Console.WriteLine("\tA multiplicao dos nmeros {0} e {1} de:

{2}",N1, N2, MUL);

N2, DIV);

Console.WriteLine();
Console.WriteLine("\tA diviso dos nmeros {0} e {1} de: {2}",N1,
Console.WriteLine();
} // Fim do mtodo Main

} // Fim da classe Contas


}

02.07 Calcula potncia de nmero

Calcular a potncia de um nmero informado. Simples utilizao de entrada, sada


e declarao de variveis e o mtodo Math.Pow
using System;
namespace Potncia
{
/// <summary>
/// Summary description for Class1.

/// </summary>
class Exponencial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N,

// Um nmero fornecido pelo usurio


EXP, // O expoente no qual o nmero ser elevado
POT; // Armazenar a potncia do nmero

// Solicita e l o nmero fornecido pelo usurio


Console.Write("Entre com um nmero: ");
N = Double.Parse(Console.ReadLine());
// Solicita e l o expoente que o nmero ser elevado
Console.Write("Entre com o expoente: ");
EXP = Double.Parse(Console.ReadLine());
// Calcula a Potncia do Nmero informado
POT = Math.Pow(N, EXP);

{2}", N, EXP, POT);

// Exibe o resultado do Nmero elevado ao expoente


Console.WriteLine("A potncia do nmero {0} com expoente {1} de:

} // Fim do mtodo Main


} // Fim da classe Exponencial
}

02.08 Quadrado de um nmero

Calcular o quadrado de um nmero qualquer. Simples utilizao de entrada e sada


de dados via console e o mtodo Math.Pow
using System;
namespace Elevado
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Expoente

{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N,

// Nmero qualquer fornecido pelo usurio


X;
// Armazenar o do nmero elevado ao quadrado

// Solicita e l um nmero qualquer informado pelo usurio


Console.Write("Por favor informe um nmero qualquer: ");
N = Double.Parse(Console.ReadLine());
// Efetua o clculo de um nmero qualquer ao quadrado
X = Math.Pow(N,2);
// Exibe o resultado do nmero elevado ao quadrado
Console.WriteLine("O nmero {0} elevado a potncia 2 : {1}", N, X);
} // Fim do mtodo Main
} // Fim da Classe Expoente
}

02.09 rea de um quadrado

Calcular a rea de um quadrado. Demonstra a simples utilizao de entrada e sada


de dados

using System;
namespace Quadrado
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Clculo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double lado,

// Medida do lado do quadrado


area; // Armazenar o clculo da rea do quadrado

// Solicita e l a informao da medida do lado do quadrado


Console.WriteLine("Por favor informe a medida do lado do quadrado: ");
lado = double.Parse(Console.ReadLine());
// Efetua o clculo da rea do Quadrado
area = lado * lado;
// Exibe o resultado
Console.WriteLine(" A rea do quadrado : {0}", area);
} // Fim da mtodo Main
} // Fim da classe Clculo
}

Exerccios 03 Entrada e Sada de Dados e Declarao


de Variveis
03.01 Consumo de combustvel

Calcular o consumo de combustvel, ou seja a quantidade de litros consumidos em


uma viagem de veculo. Utiliza de forma simples e clara conceitos de declarao de
variveis e console
using System;
namespace Consumo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Combustvel
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
qtde_litros,
// Quantidade de litros consumidos (gastos)
na viagem
tempo,
// Tempo gasto na
viagem (em horas)
velocidade,
// Velocidade mdia do
veculo durante o percurso
km_litros,
// Quantidade de kilometros
por litro que o veculo realiza
distancia;
// Distncia do percurso da
viagem
// Solicita e l as informaes da viagem
Console.Write("\tInforme o tempo em horas do percurso: ");
tempo = Double.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\tInforme a velocidade mdia em Km/h do veculo: ");
velocidade = Double.Parse(Console.ReadLine());
Console.WriteLine();
com 1 litro: ");

Console.Write("\tInforme a quantidade de Kilometros que o veculo faz


km_litros = Double.Parse(Console.ReadLine());
Console.WriteLine();

// Efetua o clculo da distncia percorrida e da quantidade de litros


consumida na viagem
distancia = (velocidade * tempo);
qtde_litros = (distancia / km_litros);

// Exibe a distncia percorrida da viagem


Console.WriteLine("\tA distncia do percurso foi de: {0} Km",
distancia);

Console.WriteLine();
// Exibe o resultado da quantidade de litros de combustvel gasto na

viagem

Console.WriteLine("\tA quantidade de combustvel gasto na viagem foi


de: {0} litros", qtde_litros);
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Combustvel
}

03.02 Troca de valores entre nmeros

Efetuar a troca dos valores de dois nmeros. Utiliza conceitos de declarao de


variveis, entrada e sada de dados
using System;
namespace Trocas
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Troca
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de variveis
double N1,
// Primeiro nmero a ser fornecido pelo usurio
N2,
// Segundo nmero a ser fornecido pelo
usurio
T;
// Varivel auxiliar para efetuar a troca dos
nmeros
// Solicita e l os nmeros a serem fornecidos pelo usurio
Console.Write("Por favor entre com o 1 nmero X: ");
N1 = Double.Parse(Console.ReadLine());
Console.Write("Por favor entre com o 2 nmero Y: ");
N2 = Double.Parse(Console.ReadLine());
// Efetua a troca dos valores fornecidos
T = N1;
N1 = N2;
N2 = T;

// Exibe os nmeros fornecidos pelo usurio de forma invertida


Console.WriteLine("O nmero fornecido X = {0}, agora : {1}", N2,N1);
Console.WriteLine("O nmero fornecido Y = {0}, agora : {1}", N1,N2);
} // Fim do mtodo Main
} // Fim da classe Troca
}

03.03 Entrada e sada de dados

Apresentar conceitos de entrada e sada de dados. Realizar o clculo da rea de um


tringulo.
using System;
namespace Tringulo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Clculo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double baset, // Armazena informaes da base do tringulo
altura, // Armazena informaes da altura do tringulo
area; // Armazenar o resultado do clculo da rea do
tringulo
// Solicita e l a informao da base do tringulo
Console.Write("Por favor informe a medida da Base do Tringulo: ");
baset = Double.Parse(Console.ReadLine());
// Solicita e l a informao da altura do tringulo
Console.Write("Por favor informe a medida da Altura do Tringulo: ");
altura = Double.Parse(Console.ReadLine());
// Efetua o clculo da rea do tringulo
area = (baset * altura)/2;
// Exibe o resultado
Console.WriteLine("A rea do tringulo : {0}", area);
} // Fim da mtodo Main
}

} // Fim da classe Clculo

03.04 - Converso de temperaturas

Fazer a converso de temperatura na escala Fahrenheit para a escala Celsius.


Utiliza os simples conceitos de declarao de variveis e manipulao de dados via
console.
using System;
namespace Converso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Temperatura
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double F,
C;

// Temperatura na escala Fahrenheit


// Temperatura na escala Celsius

//Solicita e l a informao da temperatura na escala Fahrenheit


Console.Write("\t\tPor favor informe a temperatura na escala
Fahrenheit: ");

F = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Efetua a converso de temperatura
C = (((F-32)*5)/9);
// Exibe o resultado da Converso de temperatura
Console.WriteLine("\t\tA temperatura na escala Celsius : {0} ", C);
Console.WriteLine();

} // Fim do mtodo Main


} // Fim da classe Temperatura
}

03.05 Prestao em atrazo

Calcular o valor de uma prestao em atraso. Mostra de forma simples como utilizar
uma console com entrada e sada de dados e declarar variveis.
using System;
namespace Taxas

{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Taxa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
dias;
// Dias em atraso
double valor,
// Valor da prestao em atraso
taxa,
// Valor da taxa de juros
prestacao;
// Valor da prestao a pagar
// Solicita e l o valor da prestao em atraso
Console.Write("Informe o valor da prestao em atraso: ");
valor = Double.Parse(Console.ReadLine());
// Solicita e l a taxa de juros definida pelo funcionrio
Console.Write("Informe a taxa de juros: ");
taxa = Double.Parse(Console.ReadLine());
// Solicita e l a informao dos dias em atraso
Console.Write("Informe a quantidade de dias em atraso: ");
dias = Int32.Parse(Console.ReadLine());
// Calcula o valor da nova prestao a ser paga
prestacao = (valor + (valor * (taxa/100) * dias));
// Exibe o novo valor da prestao a ser paga
Console.WriteLine("O valor a ser paga ser de: {0}", prestacao);
} // Fim do mtodo Main
} // Fim da classe Taxa
}

03.06 Soma do quadrado de nmeros


Calcular a soma dos quadrados de 3 nmeros. Usa conceitos simples de entrada e
sada de dados e declarao de variveis.
using System;
namespace Squadrados
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Quadrados
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]

static void Main(string[] args)


{
// Declarao de Variveis
double N1,

pelo usurio

// Primeiro nmero a ser fornecido pelo usurio


N2,
// Segundo nmero a ser fornecido pelo usurio
N3,
// Terceiro nmero a ser fornecido pelo usurio
S;
// Soma dos quadrados dos nmeros fornecidos

// Solicita e l os nmeros fornecidos pelo usurio


Console.Write("Por favor informe o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe o 3 nmero: ");
N3 = Double.Parse(Console.ReadLine());
// Calcula a soma dos quadrados dos nmeros fornecidos
S = (Math.Pow(N1,2) + Math.Pow(N2,2) + Math.Pow(N3,2));
// Apresenta o resultado da soma dos quadrados
Console.WriteLine(" A soma dos quadrados dos nmeros {0}, {1} e
{2} de: {3}", N1, N2, N3, S);
} // Fim do mtodo Main
} // Fim da classe Quadrados
}

03.07 Salrio de funcionrio

Calcular o salrio de um funcionrio. Mostra como declarar variveis, e utilizar a


console com entrada e sada de dados.
using System;
namespace Salrio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Funcionrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de variveis
double n_horas,
v_hora,

// Nmero de horas trabalhadas


// Valor da hora trabalhada

v_sf,
// Valor do salrio famlia
salario_final;// Valor do salrio do funcionrio
int

funcionrio

n_func,
n_filhos;

// Nmero de identificao do
// Nmero de filhos do funcionrio

// Solicita e l o Cdigo do Funcionrio


Console.Write("Entre com a matrcula do funcionrio: ");
n_func = Int32.Parse(Console.ReadLine());
// Solicita e l a Quantidade de Horas Trabalhadas do Funcionrio
Console.Write("Informe a quantidade de horas trabalhadas do
funcionrio: ");

n_horas = Double.Parse(Console.ReadLine());
// Solicita e l o valor da Hora Trabalhada do Funcionrio
Console.Write("Informe o valor da Hora de Trabalho do funcionrio: ");
v_hora = Double.Parse(Console.ReadLine());
// Solicita e l a Quantidade de filhos menores de 14 anos do

Funcionrio

Console.Write("Informe a quantidade de filhos do funcionrios com


idade menor que 14 anos: ");
n_filhos = Int32.Parse(Console.ReadLine());
// Solicita e l o Valor do Salrio Famlia por criana
Console.Write("Informe o valor do salrio famlia por filho: ");
v_sf = Double.Parse(Console.ReadLine());
// Calcula o valor do Salrio do Funcionrio
salario_final = ((n_horas * v_hora) + (n_filhos * v_sf));
// Exibe o valor do Salrio do Funcionrio
Console.WriteLine("O valor do salrio do funcionrio de matrcula {0}
de: {1}", n_func, salario_final);
// TODO: Add code to start application here
//
} // Fim do mtodo Main
} // Fim da classe Funcionrio
}

03.08 Salrio mensal


Calcular o salrio mensal de um vendedor de uma revendedora de carros. Utiliza
declarao de variveis e manipulao de dados entrada/sada.

using System;
namespace Revendedora
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Vendedor
{
/// <summary>

/// The main entry point for the application.


/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int

vendedor
vendedor

vendas do vendedor
vendedor
carro vendido

cod_vend,

// Nmero de identificao do

car_vend;

// Nmero de carros vendidos pelo

double sal_fixo,
percent,

// Salrio Fixo do vendedor


// Percentual sobre o total das

total_vend,

// Total das vendas com carros do

val_pcar,

// Valor de comisso a ser ganha por

sal_mensal;

// Salrio Mensal do Vendedor

// Inicializao de Variveis
percent = 0.05;
// Cinco por cento
// Solicita e l as informaes do vendedor
Console.Write("Informe a matrcula do vendedor: ");
cod_vend = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Solicita e l o valor do salrio fixo do vendedor
Console.Write("Entre com o valor do salrio fixo do vendedor: ");
sal_fixo = Double.Parse(Console.ReadLine());
Console.WriteLine();

");

// Solicita e l a quantidade de carros vendidos pelo vendedor


Console.Write("Entre com o nmero de carros vendidos pelo vendedor:
car_vend = Int32.Parse(Console.ReadLine());
Console.WriteLine();

// Solicita e l o valor ganho por carro vendido


Console.Write("Entre com o valor de comisso a ser ganho por carro
vendido pelo vendedor: ");
val_pcar = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Solicita e l o valor total das vendas do vendedor
Console.Write("Entre com o valor das vendas do vendedor: ");
total_vend = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Efetua o clculo do salrio total do vendedor
sal_mensal = sal_fixo + (val_pcar * car_vend) + (total_vend * percent);
// Exibe o valor do Salrio Total do Vendedor
Console.WriteLine("O Vendedor {0} tem salrio total de: {1}",
cod_vend, sal_mensal);
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Funcionrio

03.09 Velocidade de veculo

Calcular a velocidade mdia de um veculo qualquer. Mostra de forma simples a


utilizao de entrada e sada de dados via console e como declarar variveis.
using System;
namespace VelocidadeM
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Velocidade
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double velocidade,

veculo

percorrida pelo veculo


tempo gasto no percurso

Kilmetros: ");

// Armazenar informaes da velocidade do

distancia,
tempo;

// Armazenar informaes da distncia


// Armazenar informaes do

// Solicita e l a distncia percorrida pelo veculo


Console.Write("Por favor informe a distncia percorrida pelo veculo em
distancia = double.Parse(Console.ReadLine());
// Solicita e l o tempo gasto no percurso pelo veculo
Console.Write("Por favor informe o tempo gasto na viagem em horas:

");

tempo = double.Parse(Console.ReadLine());
// Efetua o clculo da Velocidade Mdia
velocidade = (distancia/tempo);
// Exibe o resultado da Velocidade Mdia
Console.WriteLine("A velocidade Mdia do veculo : {0} Km/h",

velocidade);
} // Fim do mtodo Main
}

} // Fim da classe Velocidade

Exerccios 04 Estrutura de Seleo IF e IF / ELSE


04.01 Verifica nmero informado

Este programa utiliza conceitos de estruturas de seleo, operadores relacionais e


utilizao de blocos de instrues. Verificar em que faixa est localizada um nmero
informado pelo usurio.
using System;
namespace Verificao
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Faixa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N;

// Nmero a ser fornecido pelo usurio

// Solicita e l um nmero do usurio


Console.Write("\tInforme um nmero: ");
N = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Verifica se o nmero est na faixa de 20 a 90
// Estrutura de Seleo Composta
if ((N >= 20) && (N <= 90))// Utilize chaves para mais de uma
instruo (blocos de instrues)
{
Console.WriteLine("\tO nmero est na faixa de 20 a 90");
// Exibe uma linha em branco
Console.WriteLine();
}
else
{
Console.WriteLine("\tO nmero no est na faixa de 20 a 90");
// Exibe uma linha em branco
Console.WriteLine();

}
} // Fim do mtod Main
}

} // Fim da Classe Faixa

04.02 Verificar o maior e o menor nmero dados

Identificar o maior e o menor nmero dentre 5 nmeros fornecidos pelo usurio


using System;
namespace Valores
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Compara
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
N1, N2, N3, N4, N5,
// Nmeros que sero
fornecidos pelo usurio
MAIOR,
// Armazenar o maior valor
fornecido pelo usurio
MENOR;
// Armazenar o menor valor
fornecido pelo usurio
// Solicita e l os nmeros fornecidos pelo usurio
Console.Write("\t\tInforme o valor de N1: ");
N1 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o valor de N2: ");
N2 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o valor de N3: ");
N3 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o valor de N4: ");
N4 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o valor de N5: ");
N5 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.WriteLine(); // Adiciona uma linha em branco
// Verifica qual o maior dentre os nmeros fornecidos
// Utilize chaves para mais de uma instruo (blocos de instrues)
if (( N1 >= N2) && (N1 >= N3) && (N1 >= N4) && (N1 >= N5))
{
MAIOR = N1;
Console.WriteLine("\t\tO nmero N1 o maior: {0}", MAIOR);
Console.WriteLine();
}
else
{

MAIOR);

if (( N2 >= N1) && (N2 >= N3) && (N2 >= N4) && (N2 >= N5))
{
MAIOR = N2;
Console.WriteLine("\t\tO nmero N2 o maior: {0}",
}
else
{

Console.WriteLine();

if (( N3 >= N1) && (N3 >= N2) && (N3 >= N4) && (N3

>= N5))

{
{0}", MAIOR);
}
else
{

MAIOR = N3;
Console.WriteLine("\t\tO nmero N3 o maior:
Console.WriteLine();

if (( N4 >= N1) && (N4 >= N2) && (N4 >= N3) &&

(N4 >= N5))

{
maior: {0}", MAIOR);
}
else
{

MAIOR = N4;
Console.WriteLine("\t\tO nmero N4 o
Console.WriteLine();

MAIOR = N5;
Console.WriteLine("\t\tO nmero N5 o
maior: {0}", MAIOR);

Console.WriteLine();
}

}
// Verifica qual o menor nmero dentre os nmeros fornecidos
if (( N1 <= N2) && ( N1 <= N3) && ( N1 <= N4) && ( N1 <=
N5))

{
MENOR = N1;
Console.WriteLine("\t\tO nmero N1 o menor: {0}",

MENOR);

Console.WriteLine();
}
else
{

<= N5))

if (( N2 <= N1) && ( N2 <= N3) && ( N2 <= N4) && ( N2


{
MENOR = N2;
Console.WriteLine("\t\tO nmero N2 o menor:

{0}", MENOR);

Console.WriteLine();
}
else
{

&& ( N3 <= N5))

if (( N3 <= N1) && ( N3 <= N2) && ( N3 <= N4)


{
MENOR = N3;

Console.WriteLine("\t\tO nmero N3 o
menor: {0}", MENOR);

Console.WriteLine();
}
else
{

<= N3) && ( N4 <= N5))

if (( N4 <= N1) && ( N4 <= N2) && ( N4


{
MENOR = N4;
Console.WriteLine("\t\tO nmero N4

o menor: {0}", MENOR);

Console.WriteLine();
}
else
{

o menor: {0}", MENOR);


}
}

MENOR = N5;
Console.WriteLine("\t\tO nmero N5
Console.WriteLine();

}
}
} // Fim do mtod Main
}

} // Fim da Classe Compara

04.03 Verificar se medidas informadas um tringulo

Verificar se as medidas informadas formam um tringulo e se for, qual o seu tipo.


using System;
namespace VTriangulos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Tipos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double A, B, C;

// Lados de um tringulo qualquer

// Solicita e l as medidas para um tringulo qualquer


Console.Write("\t\tInforme o 1 lado: ");
A = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco

Console.Write("\t\tInforme o 2 lado: ");


B = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 3 lado: ");
C = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Condies de existncia
/*
* (A
* (A
* (A
* (A
*/

tringulo!");

< B + C) ou (B < A + C) ou (C < A + B)


= B) ou (A = C) ou (B = C) ---> Tringulo Issceles
? B) e (B ? C) ---> Tringulo Escaleno
= B) e (B = C) ---> Tringulo Equiltero

// Verifica a condio de existncia para ser um tringulo


// Utilize chaves para mais de uma instruo (blocos de instrues)
if (( A < B + C) && ( B < A + C) && ( C < A + B))
{
if (( A == B) && ( B == C))
Console.WriteLine("\t\tTringulo Equiltero!");
else
{
if (( A == B) || ( A == C) || ( B == C))
Console.WriteLine("\t\tTringulo Issceles!");
else
Console.WriteLine("\t\tTringulo Escaleno!");
}
}
else
Console.WriteLine("\t\tAs medidas fornecidas no formam um
Console.WriteLine();
} // Fim do mtodo Main

} // Fim da clase Tipos

04.04 Ler dois nmeros e verificar a diferena

Ler dois valores numricos e apresentar a diferena do maior pelo menor.


using System;
namespace Doisnmeros
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Diferena
{
/// <summary>
/// The main entry point for the application.

pelo usurio

/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1, N2,
SUBT;

nmero

// Nmeros que sero fornecidos


// Diferena entre o maior e o menor

// Solicita e l os nmeros
Console.Write("\t\tInforme o valor de N1: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o valor de N2: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Compara qual nmero o maior e o menor

{2}", N1, N2, SUBT);

// Utilize chaves para mais de uma instruo (blocos de instrues)


if (N1 > N2)
{
SUBT = N1 - N2;
Console.WriteLine("\t\tA diferena de {0} " + "-" + " {1} :
}
else
{

Console.WriteLine(); // Adiciona uma linha em branco

SUBT = N2 - N1;
Console.WriteLine("\t\tA diferena de {0} " + "-" + " {1} :
{2}", N2, N1, SUBT);

Console.WriteLine(); // Adiciona uma linha em branco


}

} // Fim do Mtodo Main


}

} // Fim da Classe Diferena

04.05 Aceita nmeros e verifica seus divisores

Aceitar quatro nmeros do usurio e verificar quais so divisveis por 2 ou 3.

using System;
namespace Divisveis
{
/// <summary>
/// Summary description for Class1.
/// </summary>

class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
N1, N2, N3, N4;
usurio

// Nmeros fornecidos pelo

// Solicita os nmeros do usurio


Console.Write("\t\tInforme o 1 nmero: ");
N1 = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\t\tInforme o 2 nmero: ");
N2 = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\t\tInforme o 3 nmero: ");
N3 = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.Write("\t\tInforme o 4 nmero: ");
N4 = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Executa o teste para verificar se N1 divisvel por 2
// Estruturas de Seleo Simples If
// Utilize chaves para mais de uma instruo (blocos de instrues)
if (N1 % 2 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 2", N1);
Console.WriteLine();
}
// Executa o teste para verificar se N1 divisvel por 3
if (N1 % 3 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 3", N1);
Console.WriteLine();
}
// Executa o teste para verificar se N2 divisvel por 2
if (N2 % 2 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 2", N2);
Console.WriteLine();
}
// Executa o teste para verificar se N2 divisvel por 3
if (N2 % 3 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 3", N2);
Console.WriteLine(); // Insere uma linha em branco
}
// Executa o teste para verificar se N3 divisvel por 2
if (N3 % 2 == 0)

{
Console.WriteLine("\t\tO nmero {0} divisvel por 2", N3);
Console.WriteLine(); // Insere uma linha em branco
}
// Executa o teste para verificar se N3 divisvel por 3
if (N3 % 3 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 3", N3);
Console.WriteLine(); // Insere uma linha em branco
}
// Executa o teste para verificar se N4 divisvel por 2
if (N4 % 2 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 2", N4);
Console.WriteLine(); // Insere uma linha em branco
}
// Executa o teste para verificar se N4 divisvel por 3
if (N4 % 3 == 0)
{
Console.WriteLine("\t\tO nmero {0} divisvel por 3", N4);
Console.WriteLine(); // Insere uma linha em branco
}
} // Fim do mtodo Main
} // Fim da Classe Nmeros
}

04.06 L dois nmero e verifica suas diferenas

Ler dois nmero e apresentar a diferena do maior pelo menor


using System;
namespace Diferena
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
N1, N2,
// Nmeros a serem fornecidos pelo usurio
RESULTADO; // O Resultado da diferena do maior nmero pelo
menor
// Solicita e l os nmeros do usurio

Console.Write("\t\tInforme o 1 nmero: ");


N1 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 2 nmero: ");
N2 = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Converte os nmeros se negativos para posivitos
// Estruturas de seleo Simples
if (N1 < 0)
N1 = N1 * (-1);
if (N2 < 0)
N2 = N2 * (-1);
// Estrutura de Seleo Composta
if (N1 > N2)
// Utilize chaves para mais de uma instruo
(blocos de instrues)
{
RESULTADO = N1 - N2;
// Exibe o resultado da diferena do Maior pelo Menor
Console.WriteLine("\t\tA diferena de {0} por {1} : {2}", N1,
N2, RESULTADO);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
RESULTADO = N2 - N1;
// Exibe o resultado da diferena do Maior pelo Menor
Console.WriteLine("\t\tA diferena de {0} por {1} : {2}", N2,
N1, RESULTADO);
Console.WriteLine(); // Adiciona uma linha em branco
}
}// Fim do mtodo Main
} // Fim da Classe Nmeros
}

04.07 Calcula mdia de aluno

Calcular a Mdia de um aluno e verificar se o mesmo foi aprovado ou reprovado.


using System;
namespace Condio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>

[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1, N2, N3, N4, MEDIA; // Notas escolares de um aluno e sua

mdia

// Solicita e l as notas escolares de um aluno


Console.Write("\t\tInforme a 1 nota do aluno: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 2 nota do aluno: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 3 nota do aluno: ");
N3 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 4 nota do aluno: ");
N4 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Calcula a Mdia do Aluno
MEDIA = (N1 + N2 + N3 + N4)/4;
// Verifica se o aluno foi aprovado ou no
if (MEDIA >=7)
// Estrutura de Seleo Composta
Console.WriteLine("\t\tO aluno foi aprovado e sua mdia : {0}",
MEDIA);
{0}", MEDIA);

else
Console.WriteLine("\t\tO aluno foi reprovado e sua mdia :
} // Fim do mtodo Main

} // Fim da classe Alunos


}

04.08 L nmeros e compara valores

Efetuar a leitura de 3 nmeros e compara o valor do 1 nmero com uma tabela e


conforme a situao altera o novo valor dos outros 2 nmeros conforme as
condies de existncia.
using System;
namespace Comparao
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros

{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N,

X,

Y; // Nmeros a ser fornecido pelo usurio


// Double o tipo da varivel como

(real, ponto flutuante).....


// Solicita e l os nmeros fornecidos pelo usurio
Console.Write("\t\tInforme o 1 nmero: ");
N = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 2 nmero (X): ");
X = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 3 nmero (Y): ");
Y = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco

x=x*3
= x * 4y = y + 1
3

y=y+3
x=0

instrues)

// Condies de existncia
/*
N
Valores de X e Y
*
Maior que 15
y=y+2
*
Menor ou igual a 15 e maior que 10
*
*
y=0
*/

Menor ou igual a 10 e maior que 5

x
x=x*

Menor ou igual a 5

// Verifica a condio de Existncia


if (N <= 5)
// Estrura de Seleo Composta IF / ELSE
// Utilize chaves para mais de uma instruo (blocos de
{

X = 0;
Console.WriteLine("\t\tO novo valor de X : {0}", X);
// O
caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em branco
Y = 0;
Console.WriteLine("\t\tO novo valor de Y : {0}", Y);
// O
caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
if (N <= 10)
{
X = X * 3;
Console.WriteLine("\t\tO novo valor de X : {0}", X);
O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em branco
Y = Y + 3;

//

Console.WriteLine("\t\tO novo valor de Y : {0}", Y);


//
O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
if (N <= 15)
{
X = X * 4;
Console.WriteLine("\t\tO novo valor de X : {0}",
X);
// O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em
branco
Y = Y + 1;
Console.WriteLine("\t\tO novo valor de Y : {0}",
Y);
// O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em
branco
}
else
{
X = X * 3;
Console.WriteLine("\t\tO novo valor de X : {0}",
X);
// O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em
branco
Y = Y + 2;
Console.WriteLine("\t\tO novo valor de Y : {0}",
Y);
// O caractere de escape "\t" adiciona tabulaes
Console.WriteLine(); // Adiciona uma linha em
branco
}
}
}
} // fim do mtodo Main
}

}// Fim da Classe Nmeros

04.09 Verifica se aluno foi aprovado

Verificar se o aluno foi aprovado ou no, e se no for aprovado verificar sua nota de
exame, emitindo o conceito para cada nota...
using System;
namespace Alunos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Notas
{
/// <summary>
/// The main entry point for the application.
/// </summary>

[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1, N2, N3, // Notas escolares de um aluno
NME,
// Nota de Mdia dos exerccios resolvidos
MA;
// Mdia de Aproveitamento
// Condies de Aprovao e Reprovao do Aluno
// -----> "//" comentrio de uma nica linha
/* -----> "//" comentrio de uma mltiplas linhas */
/*
Conceito
A
B
C
D
E

Mdia de Aproveitamento

>= 90

>= 75 E < 90

>= 60 E < 75

>= 40 E < 60

< 40

*/

// Solicita e l as notas de um aluno


Console.Write("\t\tInforme a 1 nota do aluno: "); // O caractere de
escape "\t" adiciona tabulaes
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 2 nota do aluno: "); // O caractere de
escape "\t" adiciona tabulaes
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 3 nota do aluno: "); // O caractere de
escape "\t" adiciona tabulaes
N3 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a Nota Mdia dos Exerccios: ");
NME = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Calcula a Mdia de Aproveitamento do Aluno
MA = (N1 + N2 + N3 + NME) / 4;
// Verifica se o aluno foi aprovado ou reprovado, seu conceito.
if (MA < 4)
// Utilize chaves para mais de uma instruo (blocos de
instrues)

{
Console.WriteLine("\t\tAluno Reprovado, Conceito = E");
Console.WriteLine("\t\tA sua Mdia de Aproveitamento : {0}",

MA);

Console.WriteLine(); // Adiciona uma linha em branco


}
else
{

if ((MA >= 4) && (MA < 6))


{
Console.WriteLine("\t\tAluno Reprovado, Conceito = D");
Console.WriteLine("\t\tA sua Mdia de Aproveitamento :

{0}", MA);

}
else
{

Console.WriteLine(); // Adiciona uma linha em branco

if ((MA >= 6) && (MA < 7.5))


{
Console.WriteLine("\t\tAluno Aprovado, Conceito =

C");

Console.WriteLine("\t\tA sua Mdia de

Aproveitamento : {0}", MA);

Console.WriteLine(); // Adiciona uma linha em

branco
}
else
{

if ((MA >= 7.5) && (MA < 9.0))


{
Console.WriteLine("\t\tAluno Aprovado,

Conceito = B");

Console.WriteLine("\t\tA sua Mdia de

Aproveitamento : {0}", MA);

Console.WriteLine(); // Adiciona uma linha

em branco

}
else
{
Console.WriteLine("\t\tAluno Aprovado,

Conceito = A");

Console.WriteLine("\t\tA sua Mdia de

Aproveitamento : {0}", MA);

Console.WriteLine(); // Adiciona uma linha

em branco
}
}

}// Fim do mtodo Main


} // Fim da Classe Notas
}

Exerccios 05 Estrutura de Seleo IF e IF / ELSE


05.01 Soma nmeros e compara resultado

Este programa tem como finalidade mostrar como declarar variveis e utilizar
estruturas de seleo simples. Efetua a soma de dois nmeros e compara a soma, e
se este for maior que 10 apresenta uma mensagem na console
using System;
namespace Adio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
N1, N2, // Nmeros a serem fornecidos pelo usurio
SOMA; // Armazenar a soma dos nmeros N1 e N2
// Solicita e l os nmeros fornecidos pelo usurio
Console.Write("\t\tInforme o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 2 nmero: ");
// Os caracteres de
escape "\t" adicionam duas tabulaes
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Efetua a adio de N1 com N2
SOMA = N1 + N2;
// Adiciona uma linha em branco
Console.WriteLine();
// Efetua a comparao da soma e se o resultado for maior que 10
apresenta uma mensagem na console
if ( SOMA > 10)
// Estrutura de Seleo Simples
Console.WriteLine("\t\tA soma dos valores {0} + {1} = {2}",
N1, N2, SOMA);
Console.WriteLine(); // Adiciona uma linha em branco
} // Fim do mtodo Main

} // Fim da Classe Nmeros


}

05.02 Reajusta salrio

Demonstra como utilizar estruturas de seleo if / else aninhadas, operadores


relacionais, blocos de comando. Este programa tem como finalidade calcular o
reajuste salarial de um funcionrio.
using System;
namespace Funcionrio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double salario_atual,
// O salrio atual do funcionrio
percent_aumento,
// O percentual de aumento do
salrio

int

novo_salario;

// O novo salrio do funcionrio

cod_funcionario;

// Nmero que identifica o

funcionrio
// Solicita e l o cdigo do Funcionrio
Console.Write("Informe o cdigo do Funcionrio: ");
cod_funcionario = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Solicita e l o salrio do Funcionrio
Console.Write("Informe o valor do salrio do Funcionrio: ");
salario_atual = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
/*Condies para Reajuste do Salrio do Funcionrio
*

de Aumento
10%
11%

Salrio Atual
R$ 0,00 - R$ 300,00
R$ 300,01 - R$ 600,00

ndice

R$ 600,01 - R$ 900,00
12%
R$ 900,01 - R$1500,00
6%
R$1500,01 - R$2000,00
3%
ACIMA DE R$ 2000,00
sem aumento
*/
// Utilize chaves para mais de uma instruo (blocos de instrues)
if (salario_atual <= 300)
{
percent_aumento = (salario_atual * 0.10);
novo_salario = (salario_atual + percent_aumento);
Console.WriteLine("O funcionrio {0}, teve um aumento de R$
{1}, e agora seu salrio : R${2}", cod_funcionario, percent_aumento, novo_salario);
Console.WriteLine();
}
else
{
if (salario_atual <= 600)
{
percent_aumento = (salario_atual * 0.11);
novo_salario = (salario_atual + percent_aumento);
Console.WriteLine("O funcionrio {0}, teve um aumento
de R$ {1}, e agora seu salrio : R${2}", cod_funcionario, percent_aumento, novo_salario);
Console.WriteLine();
}
else
{
if (salario_atual <= 900)
{
percent_aumento = (salario_atual * 0.12);
novo_salario = (salario_atual + percent_aumento);
Console.WriteLine("O funcionrio {0}, teve um
aumento de R$ {1}, e agora seu salrio : R${2}", cod_funcionario, percent_aumento,
novo_salario);
Console.WriteLine();
}
else
{
if (salario_atual <= 1500)
{
percent_aumento = (salario_atual * 0.06);
novo_salario = (salario_atual +
percent_aumento);
Console.WriteLine("O funcionrio {0}, teve
um aumento de R$ {1}, e agora seu salrio : R${2}", cod_funcionario, percent_aumento,
novo_salario);
Console.WriteLine();
}
else
{
if (salario_atual <= 2000)
{
percent_aumento = (salario_atual *
0.03);

novo_salario = (salario_atual +
percent_aumento);
Console.WriteLine("O funcionrio
{0}, teve um aumento de R$ {1}, e agora seu salrio : R${2}", cod_funcionario,
percent_aumento, novo_salario);
Console.WriteLine();
}
else
{
percent_aumento = (salario_atual *
0.00);
novo_salario = (salario_atual +
percent_aumento);
Console.WriteLine("O funcionrio
{0}, no teve aumento, o salrio : R${1}", cod_funcionario, novo_salario);
Console.WriteLine();
}
}
}
}
}
}
}
}

05.03 L nmero e o converte de + para -

Utiliza estrutura de seleo composta if / else aninhada e blocos de comando. Este


programa tem como finalidade ler um nmero qualquer fornecido pelo usurio e se
o nmero for negativo dever converter o mesmo para positivo.
using System;
namespace Negativo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Mdulo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N, // Um nmero qualquer que ser fornecido pelo usurio
X; // O mdulo do nmero
// Solicita um nmero do usurio
Console.Write("\tInforme um nmero qualquer: ");
N = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco

// Verifica se o nmero positivo ou negativo


// Utilize chaves para mais de uma instruo (blocos de instrues)
if (N > 0)
{
X = N;
Console.WriteLine("\tO valor agora de {0} agora : {1}", N, X);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
X = -N;
Console.WriteLine("\tO valor agora de {0} agora : {1}", N, X);
Console.WriteLine(); // Adiciona uma linha em branco
}
} // Fim do mtodo Main
} // Fim da Classe Mdulo
}

05.04 Acha intervado de nmero

Este programa utiliza conceitos de estruturas de seleo composta encadeadas,


operadores relacionais, operadores lgicos e blocos de comando. O objetivo deste
programa achar o intervalo ao qual um nmero pertence e verificar se o mesmo
pertence ao intervalo [A,B] ou somente ao intervalo [C,D] ou se pertence a ambos
ou se no pertence a nenhum dos dois.
using System;
namespace Intervalos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Extremidades
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N,
// Um nmero qualquer que ser fornecido pelo usurio
A,
B,
C,
D;

//
//
//
//

Extremidade
Extremidade
Extremidade
Extremidade

/* Condies de Existncia

de
de
de
de

um
um
um
um

intervalo
intervalo
intervalo
intervalo

[A,B]
[A,B]
[C,D]
[C,D]

A < B respectivamente
A < C respectivamente
C < D respectivamente
*/
// Solicita e l o nmero do usurio
Console.Write("\t\tPor favor informe o nmero: ");
N = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Solicita e l os valores dos intervalos
Console.Write("\t\tPor favor informe o valor da extremidade A: ");
A = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tPor favor informe o valor da extremidade B: ");
B = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tPor favor informe o valor da extremidade C: ");
C = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tPor favor informe o valor da extremidade D: ");
D = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Verifica as condies de existncia
// Estrutura de Seleo Composta Encadeadas
if ((A < B)&& (C < D) && (A < C)) // Utilize chaves para mais de uma
instruo (blocos de instrues)
{
if ((N < A) || ( N > D))
// Operador Lgico Ou...
{
Console.WriteLine("\t\tO nmero {0} no pertence ao
intervalo: [{1},{2}] *** [{3},{4}] ", N, A, B, C, D);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
if ((N >= A) && ( N <= B) && (N >= C) && (N <= D))
//
Operador Lgico E..
{
Console.WriteLine("\t\tO nmero {0} pertence aos
intervalos: [{1},{2}] *** [{3},{4}] ", N, A, B, C, D);
Console.WriteLine(); // Adiciona uma linha em
branco
}
else
{
if ((N >= A) && (N <= B))
{
Console.WriteLine("\t\tO nmero {0}
pertence ao intervalo: [{1},{2}]", N, A, B);

Console.WriteLine(); // Adiciona uma linha


em branco
}
else
{
pertence ao intervalo: [{1},{2}]", N, C, D);

Console.WriteLine("\t\tO nmero {0}


Console.WriteLine(); // Adiciona uma linha

em branco
}
}
}
}
else
{

Console.WriteLine("\t\tNmeros invlidos!");
Console.WriteLine(); // Adiciona uma linha em branco
}
} // Fim do mtodo Main
} // Fim da Classe Extremidades
}

05.05 Soma funes

Este programa utiliza estrutura de seleo composta (if / else) aninhadas, mtodo
Math.Pow para calcular a exponencial de um nmero qualquer, operadores
relacionais. O objetivo calcular a soma de duas funes como F(N) e G(N)
atribuindo o resultado a Y.
using System;
namespace Funes
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Clculos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N, Y, H, F, G;
// Solicita e l um nmero qualquer do usurio
Console.Write("\t\tPor favor informe um nmero: ");
N = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco

// Efetua o clculo da funo H(N) =(N **2) - 16


H = (Math.Pow(N,2) - 16);
// Estrutura de Seleo Composta
// Efetua o clculo da funo F comparando o valor da funo H
if (H >= 0)
F = H;
else
F = 1;
// Estrutura de Seleo
// Efetua o clculo da funo G comparando o valor da funo F
if (F == 0)
G = (Math.Pow(N,2)+16);
else
G = 0;
// Efetua a soma das funes F(N) + G(N)
Y = F + G;
// Exibe o resultado das funes
Console.WriteLine("\t\tA funo H tem como valor: {0}", H);
Console.WriteLine(); // Adiciona uma linha em branco
Console.WriteLine("\t\tA funo F tem como valor: {0}", F);
Console.WriteLine(); // Adiciona uma linha em branco
Console.WriteLine("\t\tA funo G tem como valor: {0}", G);
Console.WriteLine(); // Adiciona uma linha em branco
Console.WriteLine("\t\tA soma das funes F({0}) + G({1}) : {2}", F,
G, Y);
Console.WriteLine(); // Adiciona uma linha em branco
} // Fim do Mtodo Main
} // Fim da classe Clculos
}

05.06 Recebe nmeros e verifica divisores

Este programa tem por finalidade apresentar conceitos de estruturas de seleo,


utilizao do operador mdulo e operadores de igualdade. Recebe quatro nmeros
do usurio e verifica quais so divsiveis por 2 e por 3.
using System;
namespace Diviso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.

/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1, N2, N3, N4;

// Nmeros informados pelo usurio

// Solicita e l os nmeros
Console.Write("\t\tInforme o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 3 nmero: ");
N3 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 4 nmero: ");
N4 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Adiciona uma linha em branco
Console.WriteLine();
// Estruturas de Seleo Simples
if ((N1 % 2 == 0) && (N1 % 3 == 0))
// Utiliza o operador
mdulo para pegar o resto da diviso "%"
Console.WriteLine("O nmero: {0} divisvel por 2 e por 3",
N1);
if ((N2 % 2 == 0) && (N2 % 3 == 0))
Console.WriteLine("O nmero: {0} divisvel por 2 e por 3",

N2);

if ((N3 % 2 == 0) && (N3 % 3 == 0))


Console.WriteLine("O nmero: {0} divisvel por 2 e por 3",

N3);

if ((N4 % 2 == 0) && (N4 % 3 == 0))


Console.WriteLine("O nmero: {0} divisvel por 2 e por 3",

N4);

N1, N2, N3, N4);

// Exibe os nmeros digitados


Console.WriteLine("Os nmeros informados foram: {0}, {1}, {2}, {3}",
Console.WriteLine(); // Adiciona uma linha em branco

} // Fim do mtodo Main


} // Fim da Classe Nmeros
}

05.07 Verifica lados de um tringulo

Este programa tem por finalidade ensinar a utilizao de estruturas de seleo


aninhadas e encadeadas. Operadores relacionais, operadores lgicos, Mtodo Pow,
Declarao de Variveis. O objetivo do programa determinar se os lados
fornecidos formam um tringulo, e ordenar os mesmos em ordem decrescente.
using System;
namespace TTringulos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Tipos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double A, B, C, // Os lados de um tringulo qualquer
MAIOR, // O lado maior de um tringulo qualquer
MEDIO, // O lado mdio de um tringulo qualquer
MENOR; // O lado menor de um tringulo qualquer
// Inicializao de Variveis
MAIOR = 0;
MEDIO = 0;
MENOR = 0;
// Solicita e L as medidas do lado do tringulo
Console.Write("Por favor informe a 1 medida do lado do tringulo: ");
A = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe a 2 medida do lado do tringulo: ");
B = Double.Parse(Console.ReadLine());
Console.Write("Por favor informe a 3 medida do lado do tringulo: ");
C = Double.Parse(Console.ReadLine());
// Exibe uma linha em branco
Console.WriteLine();
// Verifica qual o maior dos lados, o mdio e o menor
if ((A >= B) && (A >= C))
{
MAIOR = A;
if (B >= C)
{
MEDIO = B;

MENOR = C;
}
else
{
MEDIO = C;
MENOR = B;
}
Console.WriteLine("O lado maior tem medida de: {0}",MAIOR);
Console.WriteLine("O lado mdio tem medida de: {0}",MEDIO);
Console.WriteLine("O lado menor tem medida de: {0}",MENOR);
}
else
{
if ((B >= A) && (B >= C))
{
MAIOR = B;
if (A >= C)
{
MEDIO = A;
MENOR = C;
}
else
{
MEDIO = C;
MENOR = A;
}
Console.WriteLine("O lado maior tem medida de:

{0}",MAIOR);

Console.WriteLine("O lado mdio tem medida de:

{0}",MEDIO);

Console.WriteLine("O lado menor tem medida de:

{0}",MENOR);
}
else
{

if ((C >= A) && (C >= B))


{
MAIOR = C;
if (A >= B)
{
MEDIO = A;
MENOR = B;
}
else
{
MEDIO = B;
MENOR = A;
}
Console.WriteLine("O lado maior tem medida de:

{0}",MAIOR);

Console.WriteLine("O lado mdio tem medida de:

{0}",MEDIO);

Console.WriteLine("O lado menor tem medida de:

{0}",MENOR);
}
}
}

// Exibe uma linha em branco


Console.WriteLine();
// Verifica se as medidas dos trs lados formam um tringulo
if (((MAIOR) > ((MEDIO) + (MENOR))))
Console.WriteLine("Os lados no formam um tringulo!");
else
{
// Verifica se o tringulo Retngulo
if ((Math.Pow(MAIOR,2)) == ((Math.Pow(MEDIO,2)) +
(Math.Pow(MENOR,2))))
Console.WriteLine("Tringulo Retngulo!");
else
{
// Verifica se o tringulo Obtusngulo
if ((Math.Pow(MAIOR,2)) > ((Math.Pow(MEDIO,2)) +
(Math.Pow(MENOR,2))))
Console.WriteLine("Tringulo Obtusngulo!");
else
{
if((Math.Pow(MAIOR,2)) < ((Math.Pow(MEDIO,2)) +
(Math.Pow(MENOR,2))))
Console.WriteLine("Tringulo Acutngulo!");
}
}
}
// Verifica qual o tipo de tringulo
if((MAIOR == MEDIO) && (MEDIO == MENOR))
Console.WriteLine("Tringulo Equiltero!");
else
{
if ((MAIOR == MEDIO) || ((MAIOR == MENOR) || (MEDIO ==
MENOR)))
Console.WriteLine("Tringulo Issceles!");
else
{
Console.WriteLine("Tringulo Escaleno!");
}
}
} // Fim do mtodo Main
} // Fim da Classe Tipos
}

Exerccios 06 Estrutura de Seleo IF e IF / ELSE


06.01 Verifica nome e sexo de pessoa

Demonstra de forma simples como declarar variveis do tipo string, e o uso de


estruturas de seleo, operadores lgicos. O programa ir efetuar a leitura do sexo
e do nome de uma pessoa...
using System;
namespace Pessoa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Dados
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
string nome, //Nome de uma pessoa
sexo; //Sexo de uma pessoa
//Solicita e l os Dados da Pessoa
Console.Write("Informe o seu nome: ");
nome = Console.ReadLine();
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("Informe o seu sexo: ");
sexo = Console.ReadLine();
Console.WriteLine(); // Adiciona uma linha em branco
// Verifica o sexo da pessoa
// Estrutura de Seleo Composta IF / ELSE

"Masculino"))

if ((sexo == "masculino") || (sexo == "MASCULINO")|| (sexo ==


Console.WriteLine("Ilmo Sr. {0}", nome);
else
Console.WriteLine("Ilma Sra. {0}", nome);
} // Fim do mtodo Main

} // Fim da Classe Dados


}

06.02 Compara soma de nmeros

Utiliza estrutura de seleo composto if / else aninhada. Este programa compara a


soma de dois nmeros e se o valor for maior que 10 incrementa a soma em 5. Se o
valor da soma for menor que 10, decrementa a soma em 7.
using System;
namespace Soma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Adio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double

N1, N2, // Nmeros que sero fornecidos pelo usurio


SOMA; // Soma os nmeros N1 e N2

// Solicita e l os nmeros fornecidos pelo usurio


Console.Write("Informe o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("Informe o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Efetua a soma de N1 e N2
SOMA = N1 + N2;

conforme a condio

// Compara o resultado da soma e apresenta uma mensagem na tela


// Utilize chaves para mais de uma instruo (blocos de instrues)
if ( SOMA >= 10)
{
SOMA = SOMA + 5; //Poderia ser escrito ---> SOMA += 5;
Console.WriteLine("O novo valor da soma agora : {0}", SOMA);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
SOMA = SOMA - 7; //Poderia ser escrito ---> SOMA -= 5;
Console.WriteLine("O novo valor da soma agora : {0}", SOMA);
Console.WriteLine(); // Adiciona uma linha em branco
}

}// Fim do mtodo Main


} // Fim da classe Adio
}

06.03 Extrai razes quadradas

Utiliza estruturas de seleo composta encadeadas, mtodo Math.Pow para calcular


expoencial e blocos de comando. Este programa tem por finalidade extrair as razes
de uma equao do 2 Grau.
using System;
namespace Segundograu
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Equaes
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double A, B, C, // Coeficientes da equao do 2 grau (a*x**2 + b*x +
c)
DELTA, // O Valor de (b**2 - 4*a*c)
R1, R2;
// Razes da equao do 2 grau
// Solicita e l os coeficientes da Equao do 2 grau
Console.Write("\tInforme o valor de A: ");
A = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\tInforme o valor de B: ");
B = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\tInforme o valor de C: ");
C = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Realiza o clculo das razes da Equao do 2 Grau
// Verifica a condio de existncia para ser uma equao do 2 grau
/*
* (A > 0) ou (A < 0)
*/

// Estruturas de Seleo Composta Encadeadas


// Utilize chaves para mais de uma instruo (blocos de instrues)
if ((A > 0) || (A < 0)) // Operadores relacionais e lgicos
{
DELTA = (Math.Pow(B,2) - 4 * A * C);
if (DELTA >= 0)
{
R1 = ((-B + (Math.Pow(DELTA,0.5)))/(2 * A));
R2 = ((-B - (Math.Pow(DELTA,0.5)))/(2 * A));
Console.WriteLine("\tAs razes da equao so: {0},{1}",

R1, R2);

Console.WriteLine(); // Adiciona uma linha em branco


}
else
{
Console.WriteLine("\tA equao apresenta razes

imaginrias!!!");

Console.WriteLine(); // Adiciona uma linha em branco


}
}
else
Console.WriteLine("\tOs nmeros fornecidos {0}, {1} e {2} no
formam uma equao do 2 grau!", A, B, C);
Console.WriteLine(); // Adiciona uma linha em branco
} // Fim do mtodo Main
} // Fim da classe Equaes
}

06.04 Compara valores

Este programa tem por finalidade utilizar estruturas de seleo composta


encadeadas e operadores relacionais. Compara trs valores fornecidos pelo usurio,
e demonstra qual deles o maior, mdio e o menor
using System;
namespace Variveis
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{

// Declarao de Variveis
double A, B, C, // Nmeros a ser fornecido pelo usurio
MAIOR, MEDIO, MENOR; // Armazenar respectivamente o
lado maior, lado mdio e menor lado
// Solicita e l os nmeros
Console.Write("\t\tInforme o valor de A: ");
A = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o o valor de B: ");
B = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o o valor de C: ");
C = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Verifica qual o maior lado, o mdio e o menor
// Utilize chaves para mais de uma instruo (blocos de instrues)
if ((A > B) && (A > C))
{
MAIOR = A;
Console.WriteLine("\t\tLado Maior A: {0}", MAIOR);
Console.WriteLine(); // Adiciona uma linha em branco
if (B > C)
{
MEDIO = B;
Console.WriteLine("\t\tLado Mdio B: {0}", MEDIO);
Console.WriteLine(); // Adiciona uma linha em branco
MENOR = C;
Console.WriteLine("\t\tLado Menor C: {0}", MENOR);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
MEDIO = C;
Console.WriteLine("\t\tLado Mdio C: {0}", MEDIO);
Console.WriteLine(); // Adiciona uma linha em branco
MENOR = B;
Console.WriteLine("\t\tLado Menor B: {0}", MENOR);
Console.WriteLine(); // Adiciona uma linha em branco
}
}
else
{
if ((B > A) && (B > C))
{
MAIOR = B;
Console.WriteLine("\t\tLado Maior B: {0}", MAIOR);
Console.WriteLine(); // Adiciona uma linha em branco
if (A > C)
{
MEDIO = A;
Console.WriteLine("\t\tLado Mdio A: {0}",
MEDIO);

Console.WriteLine(); // Adiciona uma linha em


branco
MENOR = C;
Console.WriteLine("\t\tLado Menor C: {0}",

MENOR);

Console.WriteLine(); // Adiciona uma linha em

branco
}
else
{

MEDIO = C;
Console.WriteLine("\t\tLado Mdio C: {0}",

MEDIO);

Console.WriteLine(); // Adiciona uma linha em

branco

MENOR = A;
Console.WriteLine("\t\tLado Menor A: {0}",
MENOR);
Console.WriteLine(); // Adiciona uma linha em
branco
}
}
else
{
if ((C > A) && (C > B))
{
MAIOR = C;
Console.WriteLine("\t\tLado Maior C: {0}",

MAIOR);

Console.WriteLine(); // Adiciona uma linha em

branco

if (A > B)
{
MEDIO = A;
Console.WriteLine("\t\tLado Mdio A:
{0}", MEDIO);
Console.WriteLine(); // Adiciona uma linha
em branco
MENOR = B;
Console.WriteLine("\t\tLado Menor B:

{0}", MENOR);

Console.WriteLine(); // Adiciona uma linha

em branco
}
else
{

MEDIO = B;
Console.WriteLine("\t\tLado Mdio B:

{0}", MEDIO);

Console.WriteLine(); // Adiciona uma linha

em branco

MENOR = A;
Console.WriteLine("\t\tLado Menor A:
{0}", MENOR);
Console.WriteLine(); // Adiciona uma linha
em branco
}
}
}

}
} // Fim do mtodo Main
} // Fim da classe Nmeros
}

06.05 Calcula Imposto de Renda

Este programa tem por finalidade demonstrar a utilizao de estruturas de seleo


composta encadeadas, operadores relacionais e declarao de variveis. O objetivo
calcular o imposto de renda de um contribuinte.
using System;
namespace Imposto
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Rendas
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double salario_minimo,
// Salrio Mnimo do Contribuinte
renda_mensal,
// Renda Mensal do Contribuinte
desconto,
// Desconto a ser efetuado do
Imposto para cada dependente do Contribuinte
renda_liquida,// a Renda Mensal menos o Desconto
imposto_renda;
// Imposto de Renda do Contribuinte
int

ndep; // Nmero de Dependentes do Contribuinte

// Solicita e l o valor do slario Mnimo do Contribuinte


Console.Write("\t\tInforme o valor do Salrio Mnimo: ");
salario_minimo = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Solicita e l o nmero de dependentes do Contribuinte
Console.Write("\t\tInforme a Quantidade de Dependentes: ");
ndep = Int32.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Solicita e l o valor da Renda Mensal do Contribuinte
Console.Write("\t\tInforme o valor da Renda Mensal do Contribuinte: ");
renda_mensal = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Efetua o clculo do Desconto do Salrio Mnimo por Dependente

// O desconto por dependente ser de 5% do salrio mnimo


desconto = (ndep * 0.05 * salario_minimo);
Console.WriteLine("\t\tDesconto igual a: {0}", desconto);
Console.WriteLine(); // Adiciona uma linha em branco
// Efetua o clculo da Renda Lquida
renda_liquida = (renda_mensal - desconto);
Console.WriteLine("\t\tRenda lquida igual a: {0}", renda_liquida);
Console.WriteLine(); // Adiciona uma linha em branco
/* Alquotas
* At 2 salrios mnimos
* 2 a 3 salrios mnimos
* 3 a 5 salrios mnimos
* 5 a 7 salrios mnimos
* acima de 7 salrios mnimos
*/

Alquota
isento
5%
10%
15%
20%

// Estruturas de Seleo
// Compara a renda lquida para verificar qual o valor da alquota e
// Calcular o Imposto de Renda
if ((renda_liquida) <= (salario_minimo*2)) // Utilize chaves para mais de
uma instruo (blocos de instrues)
{
imposto_renda = 0;
Console.WriteLine("\t\tO valor do imposto de renda do
contribuinte : {0}", imposto_renda);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
if ((renda_liquida) <= (salario_minimo*3))
{
imposto_renda = (renda_liquida*0.05);
Console.WriteLine("\t\tO valor do imposto de renda do
contribuinte : {0}", imposto_renda);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
if ((renda_liquida) <= (salario_minimo*5))
{
imposto_renda = (renda_liquida*0.10);
Console.WriteLine("\t\tO valor do imposto de
renda do contribuinte : {0}", imposto_renda);
Console.WriteLine(); // Adiciona uma linha em
branco
}
else
{
if ((renda_liquida) <= (salario_minimo*7))
{
imposto_renda = (renda_liquida*0.15);
Console.WriteLine("\t\tO valor do imposto
de renda do contribuinte : {0}", imposto_renda);
Console.WriteLine(); // Adiciona uma linha
em branco

}
else
{
imposto_renda = (renda_liquida*0.20);
Console.WriteLine("\t\tO valor do imposto
de renda do contribuinte : {0}", imposto_renda);
Console.WriteLine(); // Adiciona uma linha
em branco
}
}
}
}
} // Fim do mtodo Main
} // Fim da Classe Rendas
}

06.06 Reajusta salrio

Utiliza estruturas de seleo encadeadas. Este programa tem por finalidade realizar
o clculo do reajuste salarial de um funcionrio.
using System;
namespace Reajuste
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Funcionrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
salario_inicial,// Salrio inicial do funcionrio
salario_final;
// Salrio final do funcionrio
// Solicita e l o salrio do funcionrio
Console.Write("\t\tInforme o valor do salrio do funcionrio: ");
salario_inicial = Double.Parse(Console.ReadLine());
// Exibe uma linha em branco
Console.WriteLine();
/* Condies de Existncia
*
Salrio Inicial (Atual)
Reajuste Salarial (Salrio Final)

salrio menor ou igual a R$ 500,00

salrio maior ou igual a R$ 1000,00

salrio maior que R$ 1000,00

15%
10%
5%
*/
// Verifica a condio de existncia e calcula o novo salrio
// Utilize chaves para mais de uma instruo (blocos de instrues)
if (salario_inicial <= 500)
{
salario_final = (salario_inicial + (salario_inicial * 0.15));
Console.WriteLine("\t\tO novo salrio do funcionrio igual a:
{0}", salario_final);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{

igual a: {0}", salario_final);

if (salario_inicial <= 1000)


{
salario_final = (salario_inicial + (salario_inicial * 0.10));
Console.WriteLine("\t\tO novo salrio do funcionrio
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
salario_final = (salario_inicial + (salario_inicial * 0.05));
Console.WriteLine("\t\tO novo salrio do funcionrio

igual a: {0}", salario_final);


Console.WriteLine(); // Adiciona uma linha em branco
}
}
} // Fim do mtodo Main
} // Fim da Classe Funcionrio
}

06.07 Verifica nmero

Este programa testa a estrutura de seleo composta if / else e o operador no


lgico -> ! . Verifica um nmero fornecido pelo usurio e se o seu valor for maior
que 5 executa as instrues.
using System;
namespace Testalgica
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>

/// The main entry point for the application.


/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double N1, N2, N3, // Nmeros que sero fornecidos pelo usurio
C;
// Armazenar o resultado dependendo do
valor do terceiro nmero
// Solicita e l os nmeros fornecidos pelo usurio
Console.Write("\t\tInforme o 1 nmero: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 2 nmero: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme o 3 nmero: ");
N3 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Efetua a comparao de N3
// Operador no lgico * ! *

instrues)

if (!(N3 > 5)) // Utilize chaves para mais de uma instruo (blocos de
{
C = (N1 + N2) * N3;
// Exibe o resultado
Console.WriteLine("\t\tO resultado : {0}", C);
Console.WriteLine(); // Adiciona uma linha em branco
}
else
{
C = (N1 - N2) * N3;
// Exibe o resultado
Console.WriteLine("\t\tO resultado : {0}", C);
Console.WriteLine(); // Adiciona uma linha em branco
}
} // Fim do mtodo Main

} // Fim da classe Nmeros


}

Exerccios 07 Estrutura de Seleo While e Outras


07.01 Calcula tabuada de nmero

Estrutura de repetio while. Calcula a tabuada de um nmero qualquer.


using System;
namespace Tabuada
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
NUM, CONT, TAB;
// Inicializao de Variveis
CONT = 1;
TAB = 0;
// Solicita e l o nmero fornecido pelo usurio
Console.Write("Informe o nmero desejado: ");
NUM = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Estrutura de repetio while executando a tabuada
while ( CONT <=10)
{
TAB = NUM * CONT;
Console.WriteLine("A Tabuada do nmero {0} X {1} : {2}\n",
NUM, CONT, TAB);
CONT = CONT + 1;
}
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

07.02 L nmero e pede novos valores

Estrutura de repetio while. Este programa faz a leitura de um valor e continuar a


pedir novos valores com base na deciso do usurio, o valor para continuar dever
ser "sim".

using System;
namespace Usurio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Responde
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double resultado,
// Resultado da expresso algbrica
n;
// Nmero qualquer fornecido pelo
usurio
string resposta;

// Sim ou No

resposta = "sim";
while (resposta == "sim")
{
// Solicita e l um nmero do usurio
Console.Write("Informe um nmero qualquer: ");
n = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Efetua a expresso algbrica
resultado = n * 3;
// Exibe o resultado da expresso algbrica
Console.WriteLine("O resultado do nmero {0} multiplicado por
3 : {1}\n", n, resultado);
// Pergunta ao usurio se ele deseja executar
Console.Write("Digite " + "\"sim\"" + " para continuar ou
pressione " + "\"qualquer tecla\"" + " para sair.: ");
resposta = Console.ReadLine();
Console.WriteLine();
} // Fim do lao de repetio
} // Fim do Mtodo Main
} // Fim da Classe
}

07.03 Quadrado entre um intervalo

Utiliza estrutura de repetio while. Este programa tem por finalidade apresentar os
quadrados compreendidos entre 1 a 20.

using System;
namespace Quadrados
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int cont,
num;
// Inicializao de Variveis
cont = 1;
num = 0;
while (cont <= 20) // Utilize chaves para mais de uma instruo
(blocos de instrues)
{
num = cont * cont;
Console.WriteLine("O quadrado do nmero {0} : {1}", cont,
num);
cont = cont + 1;
}
} // Fim do mtodo Main
} // Fim da Classe Nmeros
}

07.04 Determina idade e percentuais em pesquisa

Estrutura de repetio while e seleo composta. Este programa tem como


finalidade determinar a maior idade fornecida em uma pesquisa numa certa regio
e calcular a porcentagem de mulheres que esto com idade entre 18 e 35 ((idade
>= 18 && (idade <= 35)) e que tenham cabelos louros e olhos verdes com um
nmero indeterminado de habitantes...
using System;

namespace Pesquisa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Entrevistados
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
idade,
// Idade do Entrevistado
m_idade,
// Maior idade fornecida de um entrevistado
na pesquisa
c_pessoas,
// Nmero de pessoas entrevistadas que
participaram da pesquisa
c_mulheres, // Nmeros de nmeros entrevistas na
pesquisa
cisf;
// Nmero de pessoas do sexo feminino
(que esto nas condies de existncia)
string sexo,

double pisf;

// sexo do entrevistado
c_olhos,
// Cor dos olhos do entrevistado
c_cabelos;
// Cor dos cabelos do entrevistado
// Porcentagem de pessoas do sexo feminino

// Inicializao de Variveis
c_pessoas = 0;
c_mulheres = 0;
cisf = 0;
m_idade = 0;
/* Amostragem de uma pesquisa de uma populao de uma certa
regio, a qual coletou os
* seguintes dados referentes a cada habitante para serem analisados:
* sexo (masculino ou feminino)
* cor dos cabelos (louros, pretos e castanhos)
* cor dos olhos (azuis, verdes e castanhos)
*/

18 e 35 anos

/* Calcular:
* A maior idade dos habitantes
* A percentagem de indivduos do sexo feminino cuja idade est entre
* inclusive e que tenham olhos verdes e cabelos louros
* O final do conjunto de habitantes reconhecido pelo valor -1 entrado

com idade...
*/
// Solicita e l a Idade de um Entrevistado
Console.Write("\tInforme a Idade do Entrevistado, -1 para Sair: ");
idade = Int32.Parse(Console.ReadLine());
Console.WriteLine();

// Atribuindo a idade lida como sendo a maior idade, pois a primeira


idade fornecida
while (idade != -1)
{
if (idade >= m_idade)
{
m_idade = idade;
}
// Solicita e l o sexo do entrevistado
Console.Write("\tInforme o sexo do entrevistado: ");
sexo = Console.ReadLine();
// Verifica o total de Mulheres que participaram da pesquisa
if ((sexo == "Feminino") ||(sexo == "FEMININO") ||(sexo ==

"feminino"))

c_mulheres = c_mulheres + 1;
// Solicita e l a Cor dos Olhos do Entrevistado
Console.Write("\tInforme a cor dos olhos do entrevistado: ");
c_olhos = Console.ReadLine();
// Solicita e l a Cor dos Cabelos Entrevistado
Console.Write("\tInforme a cor dos cabelos do entrevistado: ");
c_cabelos = Console.ReadLine();
Console.WriteLine();
// Calcula as mulheres nesta condio
/*
* Porcentagem de indivduos do sexo feminino cuja idade est
entre 18 e 35 anos inclusive
* e que tenham olhos verdes e cabelos louros
*/
if (((sexo == "FEMININO") || (sexo == "feminino") ||(sexo ==
"Feminino")) && ((idade >= 18)&&(idade <= 35)) && ((c_olhos == "Verdes") ||(c_olhos ==
"verdes") || (c_olhos == "VERDES")) && ((c_cabelos == "Louros")||(c_cabelos == "louros")||
(c_cabelos == "LOUROS")))
{
cisf = cisf + 1;
}
// Solicita e l a Idade de um Entrevistado
Console.Write("\tInforme a Idade do Entrevistado, -1 para Sair:
");
idade = Int32.Parse(Console.ReadLine());
Console.WriteLine();

pesquisa

// Calcula a quantidade de pessoas que participaram da


c_pessoas = c_pessoas + 1;
} // Fim do lao while

// Verifica a porcentagem de mulheres que esto nesta condio entre


o total de mulheres entrevistadas

if (cisf > 0)
{
pisf = ((cisf * 100) / c_mulheres);
Console.WriteLine();
Console.WriteLine("\tMulheres que esto na condio
especificadas so: {0}%\n",pisf);
}
// Exibe a maior idade encontrada
if (m_idade == 0)
{
Console.WriteLine("\t\tNo foi entrevistado nenhuma
pessoa!\n");
}
else
{
Console.WriteLine("O total de entrevistas foi de: {0}
pessoas",c_pessoas);
Console.WriteLine("O total de pessoas do sexo feminino na
pesquisa foi de: {0} mulheres",c_mulheres);
Console.WriteLine("A maior idade fornecida na pesquisa de:
{0} anos",m_idade);
}
} // Fim do mtodo Main
} // Fim da Classe Entrevistados
}

07.05 L valores e verifica-os

Estrutura de repetio while. L 5 valores para um nmero qualquer, um de cada


vez, e conta quantos destes valores so negativos.

using System;
namespace Negativos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont, neg;
double num;
// Inicializao de variveis

cont = 1;
neg = 0;
while( cont <=5)
// Utilize chaves para mais de uma instruo
(blocos de instrues)
{
Console.Write("\t\tInforme um nmero: ");
num = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Imprime uma linha em branco
if (num < 0)
neg = neg + 1;
cont = cont + 1;
}
Console.WriteLine("\t\tA quantidade nmeros negativos : {0}\n", neg);
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

07.06 Gera nmeros e verifica divisores

Estrutura de repetio while e operador mdulo. Gera os nmeros de 10 a 100 que


so divididos por 11 onde o resto da diviso igual a 5.
using System;
namespace Divididos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Onze
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont;
// Inicializao de Variveis
cont = 10;

cont);

// Utilize chaves para mais de uma instruo (blocos de instrues)


while (cont <= 100)
{
if (cont % 11 == 5)
Console.WriteLine("O nmero {0} divisvel por 11",

cont = cont + 1;
}
} // Fim do Mtodo Main
} // Fim da Classe Onze
}

07.07 Termos de PA

Estrutura de repetio while. Este programa tem por finalidade calcular os termos
de uma progresso aritmtica de N elementos.
using System;
namespace Progresso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Aritmtica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
A1,
// Primeiro termo da Progresso Aritmtica
AN,
// Ensimo termo da Progresso Aritmtica
N,
// Nmero de elementos de Progresso Aritmtica
R,
// Razo da Progresso Aritmtica
CONT; // Contador
// Inicializao de Variveis
A1 = 0;
CONT = 1;
AN = 0;

Aritmtica: ");

// Solicita e l o nmeros de elementos da PA


Console.Write("\tInforme o nmero de elementos da Progresso
N = Int32.Parse(Console.ReadLine());
// Solicita e l a razo da PA
Console.Write("\tInforme a razo desta Progresso Aritmtica: ");
R = Int32.Parse(Console.ReadLine());
while (N >= CONT )
{
AN = (A1 + ((N - 1)* R));

Console.WriteLine("\tO {0} elemento da Progresso Aritmtica


: {1}\n", N, AN);
N = (N - CONT);
}
} // Fim do mtodo Main
} // Fim da Classe Aritmtica
}

07.08 Calcula mdia Geral de alunos

Estrutura de repetio while. Este programa tem por finalidade calcular a Mdia
Geral de uma Turma de alunos.
using System;
namespace Turma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
N_ALUNOS, // Nmero de alunos
CONT;
// Contador de alunos
double N1, N2, N3, N4, // Notas de um aluno
MEDIA,
// Mdia de um aluno
MEDIAT;
// Mdia da turma de alunos
// Inicializao de Variveis
CONT = 1;
MEDIA = 0;
MEDIAT = 0;
// Solicita o nmero de alunos
Console.Write("\t\tInforme o nmero de alunos: ");
N_ALUNOS = Int32.Parse(Console.ReadLine());
Console.WriteLine();
while (CONT <= N_ALUNOS)
{
// Solicita e l as notas de um aluno
Console.Write("\t\tInforme a 1 nota do aluno: ");
N1 = Double.Parse(Console.ReadLine());

Console.Write("\t\tInforme a 2 nota do aluno: ");


N2 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 3 nota do aluno: ");
N3 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 4 nota do aluno: ");
N4 = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Calcula a Mdia do Aluno
MEDIA = ((N1 + N2 + N3 + N4) / 4);
Console.WriteLine("\t\tA Mdia do {0} aluno : {1}\n", CONT,
MEDIA);
// Calcula a Mdia da Turma
MEDIAT = ((MEDIAT + MEDIA) / CONT);
CONT = CONT + 1;
} // Fim do lao de Repetio
// Exibe a mdia da turma
Console.WriteLine("\t\tA Mdia geral da turma : {0}\n", MEDIAT);
} // Fim do Mtodo Main
} // Fim da Classe Alunos
}

Exerccios 08 Estrutura de Repetio While e outras


08.01 Apresenta valores em uma faixa de nmeros

Este programa tem por finalidade explicar o funcionamento da estrutura de


repetio While. Apresenta todos os valores numricos mpares situados na faixa de
0 a 20.
using System;
namespace Valores
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Impares
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont = -1;
while (cont < 19)
// Repete o lao 10 vezes
{
cont = cont + 2;
Console.WriteLine("\t\tOs valores mpares menores que 20 so:
{0}", cont);
Console.WriteLine(); // Imprime uma linha em branco
}
Console.WriteLine(); // Imprime uma linha em branco
} // Fim do mtodo Main
} // Fim da classe mpares
}

08.02 Calcula mdia de idades

Estrutura de repetio while e converso para double (cast). Este programa tem por
finalidade calcular a mdia de idades de um grupo de pessoas.
using System;

namespace Idade
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Grupo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
s_idade,
// soma das idades do grupo de pessoas
idade,
// idade de uma pessoa
c_pessoas;
// contador de pessoas
double m_idade;

// mdia das idades

// Inicializao de Variveis
m_idade = 0;
s_idade = 0;
c_pessoas = 1;
// Solicita e l a idade do Indivduo
Console.Write("\t\tInforme a idade da pessoa: ");
idade = Int32.Parse(Console.ReadLine());
while (idade > 0 )
{
s_idade = s_idade + idade;
m_idade = (double) s_idade / c_pessoas;
c_pessoas = c_pessoas + 1;
// Solicita e l a idade do Indivduo
Console.Write("\t\tInforme a idade da pessoa: ");
idade = Int32.Parse(Console.ReadLine());
} // Fim do lao de repetio
// Apresenta a mdia de idades do grupo de pessoas
Console.Write("\n\t\tA mdia das idades fornecidas : {0}\n", m_idade);
} // Fim do mtodo Main
} // Fim da classe Grupo
}

08.03 Calcula populao de um pas


Estruturas de repetio while. Calcula o tempo necessrio para que um Pas A se
iguale ou ultrapasse o nmero de habitantes de um Pas B.

using System;
namespace Populao
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Habitantes
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont_anos;
// Nmero de anos para a populao se
igualar
double popA,
// Nmero de habitantes do Pas A
popB;
// Nmero de habitantes do Pas B
// Inicializao de Variveis
popA = 90000000; // 90.000.000 habitantes
popB = 120000000; // 120.000.000 habitantes
cont_anos = 0;
while(popA <= popB)
{
popA = (popA + (popA * 0.03));
// Populao A com
3% de crescimento anual
popB = (popB + (popB * 0.015));
// Populao B com
1.5 % de crescimento anual
cont_anos = cont_anos + 1;
}
Console.WriteLine("O Pas A se igualou em nmero de habitantes ao
Pas B em {0} anos\n", cont_anos);
} // Fim do mtodo Main
} // Fim da Classe Habitantes
}

08.04 Mdia de uma turma de alunos

Estrutura de repetio while. Este programa calcula a mdia de uma turma de 20


alunos.
using System;
namespace Notas
{
/// <summary>
/// Summary description for Class1.

/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont; // Contador de Alunos
double n1, n2, n3, n4, // Notas escolares de um aluno
media, // mdia de um aluno
mediat;
// Mdia de uma turma de 20 alunos
// Inicializao de Variveis
cont = 0;
media = 0;
mediat = 0;
while (cont < 20)
// Repete o lao 20 vezes
{
// Solicita e l a nota de um aluno
Console.WriteLine();
Console.Write("\t\tInforme a 1 nota de um aluno: ");
n1 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 2 nota de um aluno: ");
n2 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 3 nota de um aluno: ");
n3 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 4 nota de um aluno: ");
n4 = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Calcula a Mdia de um aluno
media = (n1 + n2 + n3 + n4)/4;
cont = cont + 1;
// Exibe a Mdia do Aluno
Console.WriteLine("\t\tA mdia do {0} aluno : {1}", cont,
media);
// Calcula a Mdia da turma de alunos
mediat = ((mediat + media)/cont);
} // Fim do lao de repetio while

cont, mediat);

// Exibe a Mdia da Turma de Alunos


Console.WriteLine("\n\t\tA mdia da turma de {0} aluno(s) : {1}\n",

} // Fim do mtodo Main

} // Fim da Classe Alunos


}

08.05 Soma dos primeiros nmeros inteiros

Este programa tem por finalidade apresentar o funcionamento da estrutura de


repetio While. Apresenta o total da soma obtido dos cem primeiros nmeros
inteiros.
using System;
namespace Soma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont,
// Conta os nmeros
soma;
// total dos cem nmeros inteiros
// Inicializao de Variveis
cont = 0;
soma = 0;
while ( cont < 100)
{
cont = cont + 1;
soma = soma + cont;
}
// Exibe o resultado
Console.WriteLine("\tA soma dos cem primeiros inteiros : {0}", soma);
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

08.06 Resultado de pesquisa

Estrutura de repetio while encadeada com if / else e aninhadas. Calcula os


resultados de uma pesquisa de aceitao de um produto com base na resposta do
entrevistado (sim ou no), sabendo-se que foram entrevistados 500 pessoas.
using System;
namespace Firma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Pesquisa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
c_pessoas,
//
participaram da pesquisa
nprs,
//
responderam sim
nprn,
//
responderam no
c_psf,
//
feminino
c_psm,
//
masculino
c_psfrs,
//
feminino que responderam sim
c_psmrn;
//
masculino que responderam no
double ppsfrs,
feminino que responderam sim

Nmero de pessoas que


Nmero de pessoas que
Nmero de pessoas do sexo
Nmero de pessoas do sexo
Nmero de pessoas do sexo
Nmero de pessoas do sexo

// Porcentagem de pessoas do sexo

ppsmrn;
do sexo masculino que responderam no
string sexo,

Nmero de Pessoas que

// Porcentagem de pessoas

// Sexo Masculino ou Feminino


resposta;
// sim ou no

// Inicializao de Variveis
c_pessoas = 0;
nprs = 0;
nprn = 0;
c_psf = 0;
c_psm = 0;
c_psfrs = 0;
c_psmrn = 0;
ppsfrs = 0;
ppsmrn = 0;
while( c_pessoas < 5 )
{
// Solicita e l o sexo do entrevistado

Console.Write("\t\tInforme o sexo do entrevistado: ");


sexo = Console.ReadLine();
// Solicita e l a resposta do entrevistado
Console.Write("\t\tInforme a resposta do entrevistado: ");
resposta = Console.ReadLine();
Console.WriteLine();
// Calcula o nmero de pessoas que responderam sim ou no
if ((resposta == "SIM")||(resposta == "Sim")||(resposta ==
"sim")||(resposta == "S")||(resposta == "s"))
nprs = nprs + 1;
else
nprn = nprn + 1;
// Calcula o nmero de pessoas que pertencem ao sexo feminino

ou masculino

if ((sexo == "FEMININO")||(sexo == "Feminino")||(sexo ==

"feminino"))

c_psf = c_psf + 1;
else
c_psm = c_psm + 1;
// Calcula o nmero de pessoas do sexo feminino que

respoderam sim

if (((sexo == "FEMININO")||(sexo == "Feminino")||(sexo ==


"feminino"))&& ((resposta == "SIM")||(resposta == "Sim")||(resposta == "sim")||(resposta
== "S")||(resposta == "s")))
c_psfrs = c_psfrs + 1;
// Calcula o nmero de pessoas do sexo masculino que
respoderam no
if (((sexo == "MASCULINO")||(sexo == "Masculino")||(sexo ==
"masculino"))&& ((resposta == "NO")||(resposta == "No")||(resposta == "no")||(resposta
== "N")||(resposta == "n")))
c_psmrn = c_psmrn + 1;
// Incrementa o contador de pessoas
c_pessoas = c_pessoas + 1;
} // Fim do lao de repetio while

responderam sim

// Verifica se houve pessoas do sexo feminino na pesquisa


if (c_psf > 0)
{
// Calcula a porcentagem de pessoas do sexo feminino que
ppsfrs = ((c_psfrs * 100)/c_psf);
Console.WriteLine("\t\tMulheres que responderam sim so:

{0}%\n", ppsfrs);
}
else
{
Console.WriteLine("\t\tNenhuma mulher participou da

pesquisa!\n");
}

// Verifica se houve pessoas do sexo masculino na pesquisa

if (c_psm > 0)
{
// Calcula a porcentagem de pessoas do sexo masculino que
responderam no
ppsmrn = ((c_psmrn * 100)/c_psm);
Console.WriteLine("\t\tHomens que responderam no so:

{0}%\n", ppsmrn);
}
else
{

Console.WriteLine("\t\tNenhum homem participou da


pesquisa!");
}

{0}\n", nprs);
{0}\n", nprn);

// Exibe os resultados dos clculos


Console.WriteLine("\t\tO total de pessoas que responderam sim :
Console.WriteLine("\t\tO total de pessoas que responderam no :

} // Fim do mtodo Main


} // Fim da Classe Pesquisa
}

08.07 Potencias de um intervalo

Demonstra como utilizar estruturas de repetio e o mtodo Pow. Apresenta as


potncias de 3 variando de 0 a 15.
using System;
namespace Potncias
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double
NUM, EXP, POT;
// Inicializao de Variveis
EXP = 0;
NUM = 3;
// Fase de Processamento

NUM, EXP, POT);

while( EXP <= 15)


{
POT = Math.Pow(NUM, EXP);
Console.WriteLine("\tA Potncia de {0} elevado a {1} : {2}\n",
EXP = EXP + 1;

}
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

08.08 L nmeros em um intervalo

Utilizao da estrutura de seleo simples If com estrutura de repetio While. Este


programa tem por finalidade ler um nmero qualquer menor ou igual a 50 e
apresentar o valor obtido da multiplicao sucessiva do nmero por 3 (N * 3)
enquanto o produto for menor que 250.
using System;
namespace Multiplicao
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Sucessiva
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int

N, PRODUTO;

// Inicializao de Variveis
PRODUTO = 0;
Console.Write("\t\tInforme um nmero: ");
N = Int32.Parse(Console.ReadLine());
if (N <= 50)

// Utilize chaves para mais de uma instruo (blocos de

instrues)
{
PRODUTO = N * 3;
while(PRODUTO < 250)
{
Console.WriteLine("\t\tO produto : {0}", PRODUTO);

PRODUTO = PRODUTO * 3;
}
}
} // Fim do Mtodo Main
} // Fim da classe Sucessiva
}

Exerccios 09 Estrutura de Repetio IF, ELSE, While


e outras
09.01 Utilizando operadores lgicos

Este programa tem por finalidade verificar o sexo de uma pessoa. Demonstra como
utilizar operadores lgicos, relacionais e declarar strings.
using System;
namespace Sexo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Pessoa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
string sexo;
// Solicita e l o sexo de uma pessoa
Console.Write("\n\t\tInforme o seu sexo: ");
sexo = Console.ReadLine();

if ((sexo == "MASCULINO") || (sexo == "Masculino") || (sexo ==


"masculino")|| (sexo == "FEMININO")|| (sexo == "Feminino")|| (sexo == "feminino"))
{
Console.WriteLine("\n\t\tO seu sexo vlido!");
}
else
{
Console.WriteLine("\n\t\tO seu sexo invlido!");
}
} // Fim do Mtodo Main
} // Fim da Classe Pessoa
}

09.02 Utilizando while, Match.Pow e cast in

Calcula o quadrado dos nmeros entre 1 e 5. Demonstra como utilizar a estrutura


de repetio while, mtodo Math.Pow ou utilizar um cast int.

using System;
namespace Quadrados
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int cont, num;// Se utilizar o Mtodo Math.Pow declare a varivel como
// sendo do tipo double ou crie um cast do
tipo (int)
// Inicializao de Variveis
cont = 1;
num = 0;

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");

// Estrutura de repetio while


while (cont <= 5)
{
num = cont * cont; // num = (int)Math.Pow(cont,2);
// Exibe o resultado
Console.WriteLine("\n\t\t\tO quadrado do nmero " + cont + " :
" + num);
cont++;

// Incrementa o contador em 1

}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main

} // Fim da classe Nmeros


}

09.03 Estruturas de seleo simples e repetio while

Este programa l um nmero menor ou igual a 50 e apresenta o valor obtido da


multiplicao do nmero por 3 sucessivamente enquanto o produto for menor que
250. Demonstra a utilizao de estrutura de seleo simples, e estrutura de
repetio while.

using System;
namespace Produto
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int n, produto;
// Inicializao de Variveis
produto = 0;
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Solicita e l um nmero do usurio
Console.Write("\n\t\tInforme um nmero qualquer: ");
n = Int32.Parse(Console.ReadLine());
if (n <= 50) // Estrutura de seleo simples
{
produto = n * 3;
// Estrutura de repetio while
while ( produto < 250)
{
// Exibe o resultado na tela
Console.WriteLine("\n\t\tO produto : {0}", produto);
produto *= 3; // Poderia ser escrito (produto = produto *
3);
}
}

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Nmeros
}

09.04 Estrutura de repetio while e variveis

Este programa calcula a mdia de uma turma de 10 alunos. Utiliza mtodos de


console, estrutura de repetio while e inicializao de variveis.
using System;
namespace Classes
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int contador;
double media, nota, total;
// Inicializao de Variveis
total = 0;
contador = 1;

contador);

while (contador <= 10)


{
// Solicita e l a nota do usurio
Console.Write("\n\t\tEntre com a {0} nota do aluno: ",
nota = Double.Parse(Console.ReadLine());
// Adiciona nota ao total
total = total + nota;
// Adiciona 1 ao contador

contador = contador + 1;
}
// Fase de Concluso
media = total / 10;
// Exibe o resultado
Console.WriteLine("\n\t\tClasse com mdia igual a: " + media);
} // Fim do Mtodo Main
} // Fim da Classe Alunos
}

09.05 Contadores e incremento e while

Este programa tem por finalidade apresentar os nmeros mpares situados na faixa
de 0 a 10. Demonstra a utilizao da estrutura de repetio while, contadores e
incremento.
using System;
namespace mpares
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int n, cont;

// Inicializao de Variveis
n = 1; // Primeiro nmero mpar
cont = 1;

10!");

Console.WriteLine("\n\t\t Exibe os nmeros mpares situados entre 0 e

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
while (n <= 10)
{
// Estrutura de repetio while

//Exibe os nmeros mpares situados na faixa entre 0 e 10


Console.WriteLine("\n\t\t\t\tO {0} nmero mpar : {1}", cont,
n);
// Incrementa os nmeros a serem impressos de 2 em 2
n += 2;
// cont = cont + 2;
cont++;
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

09.06 Calcula mdia de notas de aluno

Utiliza estruturas de seleo composta, operadores relacionais e caracteres de


escape. Este programa tem por finalidade calcular a Mdia de um aluno e verificar
se o mesmo foi aprovado ou reprovado. Se foi para exame solicitar a nota para a
condio final de aprovao ou no.
using System;
namespace Condio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis

exame)

double N1, N2, N3, N4, // Notas escolares de um aluno


NE, // Nota do exame
NM, // Nova mdia (Mdia Final depois de efetuado o
MEDIA; // Mdia escolar do aluno

// Solicita e l as notas escolares de um aluno


Console.Write("\n\t\tInforme a 1 nota do aluno: ");
N1 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 2 nota do aluno: ");
N2 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 3 nota do aluno: ");
N3 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
Console.Write("\t\tInforme a 4 nota do aluno: ");
N4 = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Adiciona uma linha em branco
// Calcula a Mdia do Aluno
MEDIA = (N1 + N2 + N3 + N4)/4;
// Verifica se o aluno foi aprovado ou no
if (MEDIA >=7)
// Estrutura de Seleo Composta
Console.WriteLine("\t\tO aluno foi aprovado e sua mdia : {0}",
MEDIA);
else
{
// Utilize chaves em bloco de instrues
Console.Write("\t\tInforme a nota do exame: ");
NE = Double.Parse(Console.ReadLine());
// Calcula a nova mdia do aluno
NM = (NE + MEDIA)/2;
if ( NM >= 7)
{
Console.WriteLine("\n\t\tAluno \"Aprovado\" no exame
com mdia final igual a: " + NM + "\n\n");
}
else
{
Console.WriteLine("\n\t\tAluno \"Reprovado\" no exame
com mdia final igual a: " + NM + "\n\n");
}
}
} // Fim do mtodo Main
} // Fim da classe Alunos
}

09.07 Recebe nmeros com e extrai cada dgito

Este programa recebe um nmero com 4 dgitos entre 1000 e 9999 e extrai cada
dgito. Utiliza os operadores mdulos, mtodos de console.
using System;
namespace Digitos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numericos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int num,
// Nmero a ser fornecido pelo usurio
d1, d2, d3, d4; // Dgitos a serem extrados do nmero fornecido
pelo usurio
// Solicita e l um nmero de 4 dgitos
Console.Write("\n\t\tInforme o Nmero: ");
num = Int32.Parse(Console.ReadLine());
// Extrai os
d1 = (num
d2 = (num
d3 = (num
d4 = (num

4 dgitos do nmero fornecido


/ 1000) % 10;
/ 100) % 10;
/ 10) % 10;
% 10);

// Exibe o nmero
Console.WriteLine("\n\t\tO nmero fornecido : " + d1 + " " + d2 + "
" + d3 + " " + d4 + "\n\n");
} // Fim do Mtodo Main
} // Fim da Classe Numricos
}

09.08 Aninhamento de escruturas de seleo

Este programa tem por finalidade mostrar a utilizao do aninhamento de


estruturas de seleo dupla if / else.
using System;
namespace Aninhamento
{
/// <summary>
/// Summary description for Class1.
/// </summary>

class Estruturas
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
int nota;
// Solicita e l a nota final de um aluno
Console.Write("Informe a nota final do aluno: ");
nota = Int32.Parse(Console.ReadLine());

D");

if (nota >= 90)


{
Console.WriteLine("Categoria do aluno : A");
Console.WriteLine("Aluno Aprovado!");
}
else
{
if (nota >= 80)
{
Console.WriteLine("Categoria do aluno : B");
Console.WriteLine("Aluno Aprovado!");
}
else
{
if (nota >= 70)
{
Console.WriteLine("Categoria do aluno : C");
Console.WriteLine("Aluno Aprovado!");
}
else
{
if (nota >= 60)
{
Console.WriteLine("Categoria do aluno :
Console.WriteLine("Aluno Reprovado!");
}
else
{
Console.WriteLine("Categoria do aluno :

E");

Console.WriteLine("Aluno Reprovado!");
}
}
}
}
} // Fim do Mtodo Main
} // Fim da Classe Estruturas
}

09.09 Soma dez primeiros nmeros

Tem por finalidade efetuar a soma dos dez primeiros nmeros inteiros. Demonstra
como utilizar a estrutura de repetio while, incremento e contadores.
using System;
namespace Somatorio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int cont, soma;
cont = 1;
soma = 0;

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
while (cont <= 10) // Estrutura de repetio while
{
soma += cont;
cont++;
}
// Exibe o resultado da soma dos dez primeiros nmeros
Console.WriteLine("\n\t\tA soma dos 10 primeiros nmeros inteiros : "
+ soma);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

Exerccios 10 Estrutura de Repetio While e outras


10.01 Calcula tabuada de um nmero

Estrutura de repetio while.Calcula a tabuada de um nmero qualquer.


using System;
namespace Tabuada
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
NUM, CONT, TAB;
// Inicializao de Variveis
CONT = 1;
TAB = 0;
Console.WriteLine("\n\t\t\tExibe a tabuada de um nmero qualquer!");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

// Solicita e l o nmero fornecido pelo usurio


Console.Write("\t\tInforme o nmero desejado: ");
NUM = Int32.Parse(Console.ReadLine());
Console.WriteLine();
Console.WriteLine();
// Estrutura de repetio while executando a tabuada
while ( CONT <=10)
{
TAB = NUM * CONT;
Console.WriteLine("\t\t\t\t\t{0} X {1} = {2}", NUM, CONT, TAB);
CONT++;
}
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

10.02 L valores e pede novos valores

Estrutura de repetio while e manipulao com strings. Este programa faz a leitura
de um valor e continuar a pedir novos valores com base na deciso do usurio, o
valor para continuar dever ser "sim".
using System;
namespace Usurio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Responde
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double resultado,
// Resultado da expresso algbrica
n;
// Nmero qualquer fornecido pelo
usurio
string resposta;

// Sim ou No

resposta = "sim";
while (resposta == "sim")
{
// Solicita e l um nmero do usurio
Console.Write("Informe um nmero qualquer: ");
n = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Efetua a expresso algbrica
resultado = n * 3;
// Exibe o resultado da expresso algbrica
Console.WriteLine("O resultado do nmero {0} multiplicado por
3 : {1}\n", n, resultado);

// Pergunta ao usurio se ele deseja executar


Console.Write("Digite " + "\"sim\"" + " para continuar ou
pressione " + "\"qualquer tecla\"" + " para sair.: ");
resposta = Console.ReadLine();
Console.WriteLine();
} // Fim do lao de repetio
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe
}

10.03 Seleo composta encadeada e aninhada

Estrutura de repetio while e seleo composta, encadeamento e aninhamento de


estruturas.

Este programa tem como finalidade determinar a maior idade fornecida em uma
pesquisa numa certa regio e calcular a porcentagem de mulheres que esto com
idade entre 18 e 35 ((idade >= 18 && (idade <= 35)) e que tenham cabelos louros
e olhos verdes com um nmero indeterminado de habitantes...
using System;
namespace Pesquisa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Entrevistados
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
idade,
// Idade do Entrevistado
m_idade,
// Maior idade fornecida de um entrevistado
na pesquisa

c_pessoas,

// Nmero de pessoas entrevistadas que

c_mulheres,

// Nmeros de nmeros entrevistas na

participaram da pesquisa
pesquisa
cisf;
(que esto nas condies de existncia)
string sexo,

double pisf;

// Nmero de pessoas do sexo feminino

// sexo do entrevistado
c_olhos,
// Cor dos olhos do entrevistado
c_cabelos;
// Cor dos cabelos do entrevistado
// Porcentagem de pessoas do sexo feminino

// Inicializao de Variveis
c_pessoas = 0;
c_mulheres = 0;
cisf = 0;
m_idade = 0;
/* Amostragem de uma pesquisa de uma populao de uma certa
regio, a qual coletou os
* seguintes dados referentes a cada habitante para serem analisados:
* sexo (masculino ou feminino)
* cor dos cabelos (louros, pretos e castanhos)
* cor dos olhos (azuis, verdes e castanhos)
*/

18 e 35 anos

/* Calcular:
* A maior idade dos habitantes
* A percentagem de indivduos do sexo feminino cuja idade est entre
* inclusive e que tenham olhos verdes e cabelos louros
* O final do conjunto de habitantes reconhecido pelo valor -1 entrado

com idade...
*/
// Solicita e l a Idade de um Entrevistado
Console.Write("\tInforme a Idade do Entrevistado, -1 para Sair: ");
idade = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Atribuindo a idade lida como sendo a maior idade, pois a primeira
idade fornecida
while (idade != -1)
{
if (idade >= m_idade)
{
m_idade = idade;
}
// Solicita e l o sexo do entrevistado
Console.Write("\tInforme o sexo do entrevistado: ");
sexo = Console.ReadLine();

"feminino"))

// Verifica o total de Mulheres que participaram da pesquisa


if ((sexo == "Feminino") ||(sexo == "FEMININO") ||(sexo ==
c_mulheres = c_mulheres + 1;

// Solicita e l a Cor dos Olhos do Entrevistado


Console.Write("\tInforme a cor dos olhos do entrevistado: ");
c_olhos = Console.ReadLine();
// Solicita e l a Cor dos Cabelos Entrevistado
Console.Write("\tInforme a cor dos cabelos do entrevistado: ");
c_cabelos = Console.ReadLine();
Console.WriteLine();
// Calcula as mulheres nesta condio
/*
* Porcentagem de indivduos do sexo feminino cuja idade est
entre 18 e 35 anos inclusive
* e que tenham olhos verdes e cabelos louros
*/
if (((sexo == "FEMININO") || (sexo == "feminino") ||(sexo ==
"Feminino")) && ((idade >= 18)&&(idade <= 35)) && ((c_olhos == "Verdes") ||(c_olhos ==
"verdes") || (c_olhos == "VERDES")) && ((c_cabelos == "Louros")||(c_cabelos == "louros")||
(c_cabelos == "LOUROS")))
{
cisf = cisf + 1;
}
// Solicita e l a Idade de um Entrevistado
Console.Write("\tInforme a Idade do Entrevistado, -1 para Sair:
");
idade = Int32.Parse(Console.ReadLine());
Console.WriteLine();

pesquisa

// Calcula a quantidade de pessoas que participaram da


c_pessoas = c_pessoas + 1;
} // Fim do lao while

// Verifica a porcentagem de mulheres que esto nesta condio entre


o total de mulheres entrevistadas
if (cisf > 0)
{
pisf = ((cisf * 100) / c_mulheres);
Console.WriteLine();
Console.WriteLine("\tMulheres que esto na condio
especificadas so: {0}%\n",pisf);
}
// Exibe a maior idade encontrada
if (m_idade == 0)
{
Console.WriteLine("\t\tNo foi entrevistado nenhuma
pessoa!\n");
}
else
{
Console.WriteLine("O total de entrevistas foi de: {0}
pessoas",c_pessoas);

Console.WriteLine("O total de pessoas do sexo feminino na


pesquisa foi de: {0} mulheres",c_mulheres);
Console.WriteLine("A maior idade fornecida na pesquisa de:
{0} anos",m_idade);
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Entrevistados
}

10.04 L valores e conta os nmeros negativos

Estrutura de repetio while. L 5 valores para um nmero qualquer, um de cada


vez, e conta quantos destes valores so negativos.
using System;
namespace Negativos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont, neg;
double num;
// Inicializao de variveis
cont = 1;
// contador de nmeros informados pelo usurio
neg = 0;
// contador de nmeros negativos
Console.WriteLine("\n\t\tExibe o total de nmeros negativos informados
pelo usurio!");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

// Estrutura de repetio while


while( cont <=5)
// Utilize chaves para mais de uma instruo
(blocos de instrues)
{
// Solicita e l um nmero informado pelo usurio
Console.Write("\t\tInforme um nmero: ");
num = Double.Parse(Console.ReadLine());
Console.WriteLine(); // Imprime uma linha em branco
if (num < 0) // Estrutura de seleo simples
neg++;
cont += 1;
}
// Exibe o resultado na tela
Console.WriteLine("\t\tA quantidade nmeros negativos : {0}\n", neg);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

10.05 Calcula mdia de idade

Estrutura de repetio while e converso para double (cast). Este programa tem por
finalidade calcular a mdia de idades de um grupo de pessoas.
using System;
namespace Idade
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Grupo
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)

{
// Declarao de Variveis
int
s_idade,
// soma das idades do grupo de pessoas
idade,
// idade de uma pessoa
c_pessoas;
// contador de pessoas
double m_idade;

// mdia das idades

// Inicializao de Variveis
m_idade = 0;
s_idade = 0;
c_pessoas = 1;
// Solicita e l a idade do Indivduo
Console.Write("\t\tInforme a idade da pessoa, \"-1 para Sair\": ");
idade = Int32.Parse(Console.ReadLine());
while (idade > 0 )
{
s_idade = s_idade + idade;
m_idade = (double) s_idade / c_pessoas;
c_pessoas = c_pessoas + 1;
// Solicita e l a idade do Indivduo
Console.Write("\t\tInforme a idade da pessoa, \"-1 para Sair\": ");
idade = Int32.Parse(Console.ReadLine());
} // Fim do lao de repetio
// Apresenta a mdia de idades do grupo de pessoas
Console.Write("\n\t\tA mdia das idades fornecidas : {0}\n", m_idade);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Grupo
}

10.06 Calcula tempo

Estruturas de repetio while. Calcula o tempo necessrio para que um Pas A se


iguale ou ultrapasse o nmero de habitantes de um Pas B.
using System;
namespace Populao
{

/// <summary>
/// Summary description for Class1.
/// </summary>
class Habitantes
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont_anos;
// Nmero de anos para a populao se
igualar
double popA,
popB;

// Nmero de habitantes do Pas A


// Nmero de habitantes do Pas B

// Inicializao de Variveis
popA = 90000000; // 90.000.000 habitantes
popB = 120000000; // 120.000.000 habitantes
cont_anos = 0;

Console.WriteLine("\n\tCalcula o tempo (anos) para dois pases


igualarem suas populaes!");
// Exibe uma linha na tela
Console.WriteLine("\t________________________________________________________________");

while(popA <= popB) // Estrutura de repetio while


{
popA = (popA + (popA * 0.03));
// Populao A com
3% de crescimento anual
popB = (popB + (popB * 0.015));
// Populao B com
1.5 % de crescimento anual
cont_anos = cont_anos + 1;
}
// Exibe o resultado
Console.WriteLine("\n\n\n\n\tO Pas A se igualou em nmero de
habitantes ao Pas B em {0} anos\n", cont_anos);
// Exibe uma linha na tela
Console.WriteLine("\n\n\n\t________________________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Habitantes
}

10.07 Gera nmeros divisveis

Estrutura de repetio while e operador mdulo e estrutura de seleo simples


encadeada. Gera os nmeros de 10 a 100 que so divididos por 11 onde o resto da
diviso igual a 5.
using System;
namespace Divididos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont;
// Inicializao de Variveis
cont = 10;
Console.WriteLine("\n\t\tExibe os nmeros que so divisveis por 11
com resto igual a 5!");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

11", cont);

// Utilize chaves para mais de uma instruo (blocos de instrues)


while (cont <= 100)
{
if (cont % 11 == 5)
Console.WriteLine("\n\t\tO nmero {0} divisvel por

cont += 1;
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main

} // Fim da Classe Nmeros


}

10.08 Mdia geral de alunos

Estrutura de repetio while. Este programa tem por finalidade calcular a Mdia
Geral de uma Turma de alunos.
using System;
namespace Turma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
N_ALUNOS, // Nmero de alunos
CONT;
// Contador de alunos

turma de alunos

double N1, N2, N3, N4, // Notas de um aluno


MEDIA,
MEDIAT,
MEDIAG;

// Mdia de um aluno
// Mdia da
// Mdia Geral

// Inicializao de Variveis
CONT = 1;
MEDIAG= 0;
MEDIA = 0;
MEDIAT = 0;
// Solicita o nmero de alunos
Console.Write("\t\tInforme o nmero de alunos: ");
N_ALUNOS = Int32.Parse(Console.ReadLine());
Console.WriteLine();
while (CONT <= N_ALUNOS)
{
// Solicita e l as notas de um aluno
Console.Write("\t\tInforme a 1 nota do aluno: ");
N1 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 2 nota do aluno: ");
N2 = Double.Parse(Console.ReadLine());

Console.Write("\t\tInforme a 3 nota do aluno: ");


N3 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 4 nota do aluno: ");
N4 = Double.Parse(Console.ReadLine());
Console.WriteLine();

MEDIA);

// Calcula a Mdia do Aluno


MEDIA = ((N1 + N2 + N3 + N4) / 4);
Console.WriteLine("\t\tA Mdia do {0} aluno : {1}\n", CONT,

// Calcula a Mdia da Turma


MEDIAT = (MEDIAT + MEDIA);
CONT = CONT + 1;
} // Fim do lao de Repetio
MEDIAG = MEDIAT/N_ALUNOS;
// Exibe a mdia da turma
Console.WriteLine("\t\tA Mdia geral da turma : {0}\n", MEDIAG);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Alunos
}

10.09 Calcula mdia de turma de alunos

Estrutura de repetio while. Este programa calcula a mdia de uma turma de 10


alunos.
using System;
namespace Notas
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>

[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
int
cont; // Contador de Alunos
double n1, n2, n3, n4, // Notas escolares de um aluno
media, // mdia de um aluno
mediat,
// Mdia Total
mediag; // Mdia Geral da Turma
// Inicializao de Variveis
cont = 0;
media = 0;
mediat = 0;
mediag = 0;
Console.WriteLine("\n\t\t\tCalcula a mdia de uma turma de 10
alunos!");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
while (cont < 10)
// Repete o lao 10 vezes
{
// Solicita e l a nota de um aluno
Console.WriteLine();
Console.Write("\t\tInforme a 1 nota de um aluno: ");
n1 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 2 nota de um aluno: ");
n2 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 3 nota de um aluno: ");
n3 = Double.Parse(Console.ReadLine());
Console.Write("\t\tInforme a 4 nota de um aluno: ");
n4 = Double.Parse(Console.ReadLine());
Console.WriteLine();
// Calcula a Mdia de um aluno
media = (n1 + n2 + n3 + n4)/4;
cont = cont + 1;
// Exibe a Mdia do Aluno
Console.WriteLine("\t\tA mdia do {0} aluno : {1}", cont,
media);
// Calcula a Mdia Total
mediat = (mediat + media);
} // Fim do lao de repetio while
// Calcula a Mdia Total da Turma

mediag = (mediat/cont);

cont, mediag);

// Exibe a Mdia da Turma de Alunos


Console.WriteLine("\n\t\tA mdia da turma de {0} aluno(s) : {1}\n",

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.msdnbrasil.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Alunos
}

Exerccios 11 Estrutura de Repetio While, For e


outras
11.01 Calcula soma de nmeros inteiros

Estrutura de repetio for. Calcula a soma dos nmeros inteiros, enquanto a soma
no ultrapassar o valor de 50.
using System;
namespace Soma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Numeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t\tCalcula a soma dos nmeros inteiros!!!");
Console.WriteLine("\n\t\t______________________________________________________");
// Declarao de Variveis
int
n;
double soma;
// Inicializao de Variveis
soma = 0;
// Solicita e l um nmero
Console.Write("\t\tInforme um nmero: ");
n = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Exibe o cabealho da tabela
Console.WriteLine("\t\tn\t\tsoma");
// Estrutura de repetio for
for (int cont = 1; cont <= 50; cont++)
{
if (soma <= 50)
{
soma = soma + n;
Console.WriteLine("\t\t{0}\t\t {1}", n, soma);

n = n + 1;
Console.WriteLine();
}
} // fim da estrutura for
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe
Nmeros
}

11.02 Calcula termos de uma srie

Estrutura de repetio For. Calcula os 10 primeiros termos da srie: (2/500) (5/450) + (2/400) - (5/350) + ...
using System;
namespace Srie
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Termos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t Calcula os 10 primeiros termos de uma
srie!!!");
Console.WriteLine("\t\t______________________________________________________");

// Declarao de Variveis
double parcela,
s;

// parcela da srie
// valor total da srie

double num, // numerador


den, // denominador
m,
// sinal
aux; // auxiliar

// Inicializao de Variveis
s = 0;
parcela = 0;
num = 2;
den = 500;
m = 1;
aux = 0;
// Estrutura de repetio for
for( int cont = 1; cont <= 10; cont++)
{
parcela = (((num + aux)/den)* m);
s = s + parcela;
den = den - 50;
num = num * (-1) + 2;
aux = aux * (-1) + 5;
m = m * (-1);
} // Fim da estrutura de repetio for
// Exibe o resultado
Console.WriteLine("\n\t\t\tO resultado da soma : {0}", s);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Termos
}

11.03 Caucula alunos reprovados e aprovados

Calcula o nmero de alunos reprovados e reprovados com base nas notas de um


exame. Estrutura de repetio while.
using System;
namespace Anlise
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Anlise
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)

{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tCalcula o nmero de alunos reprovados e
reprovados!");
int aprovados = 0,
// nmero de aprovados
reprovados = 0,
// nmero de reprovados
alunos = 1, // contador de alunos
resultado;
// resultado do exame

reprovado): ");

// processa 10 alunos; lao controlado por contador


while (alunos <=10)
{
Console.Write("\n\t\tEntre com o resultado(1 = aprovado, 2 =
resultado = Int32.Parse(Console.ReadLine());
if (resultado == 1)
{
aprovados = aprovados + 1;
}
else
{
reprovados = reprovados + 1;
}
alunos = alunos + 1;
}// Fim da estrutura de repetio while
// fase de Concluso
Console.WriteLine();
Console.WriteLine("\t\t\t\tAprovados: " + aprovados + "\n");
Console.WriteLine("\t\t\t\tReprovados: " + reprovados + "\n");
if (aprovados > 8)
{
Console.WriteLine("\t\t\tAumentar o preo do curso\n");
}
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // fim do mtodo Main
} // Fim da classe Anlise
}

11.04 Resultado de uma pesquisa de aceitao

Estrutura de repetio while encadeada com if / else e aninhadas. Calcula os


resultados de uma pesquisa de aceitao de um produto com base na resposta do
entrevistado (sim ou no), sabendo-se que foram entrevistados 500 pessoas.
Calcular:
* O nmero de pessoas que responderam sim;
* O nmero de pessoas que responderam no;
* A porcentagem de pessoas do sexo feminino que respondem sim;
* A porcentagem de pessoas do sexo masculino que respondem no.
using System;
namespace Firma
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Pesquisa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tPesquisa de aceitao de um produto!!");
Console.WriteLine("\t\t______________________________________________________\n");

// Declarao de Variveis
int
c_pessoas,
participaram da pesquisa
nprs,
responderam sim
nprn,
responderam no
c_psf,
feminino
c_psm,
masculino
c_psfrs,
feminino que responderam sim
c_psmrn;
masculino que responderam no
double ppsfrs,
feminino que responderam sim

// Nmero de pessoas que


// Nmero de pessoas que
// Nmero de pessoas do sexo
// Nmero de pessoas do sexo
// Nmero de pessoas do sexo
// Nmero de pessoas do sexo

// Porcentagem de pessoas do sexo

ppsmrn;
do sexo masculino que responderam no
string sexo,

// Nmero de Pessoas que

// Porcentagem de pessoas

// Sexo Masculino ou Feminino


resposta;
// sim ou no

// Inicializao de Variveis
c_pessoas = 0;
nprs = 0;
nprn = 0;
c_psf = 0;
c_psm = 0;
c_psfrs = 0;
c_psmrn = 0;
ppsfrs = 0;
ppsmrn = 0;
while( c_pessoas < 5 ) // Estrutura de repetio while
{
// Solicita e l o sexo do entrevistado
Console.Write("\t\tInforme o sexo do entrevistado: ");
sexo = Console.ReadLine();
// Solicita e l a resposta do entrevistado
Console.Write("\t\tInforme a resposta do entrevistado: ");
resposta = Console.ReadLine();
Console.WriteLine();
// Calcula o nmero de pessoas que responderam sim ou no
if ((resposta == "SIM")||(resposta == "Sim")||(resposta ==
"sim")||(resposta == "S")||(resposta == "s"))
nprs++;
else
nprn++;
// Calcula o nmero de pessoas que pertencem ao sexo feminino

ou masculino

if ((sexo == "FEMININO")||(sexo == "Feminino")||(sexo ==

"feminino"))

c_psf++;
else
c_psm++;
// Calcula o nmero de pessoas do sexo feminino que

respoderam sim

if (((sexo == "FEMININO")||(sexo == "Feminino")||(sexo ==


"feminino"))&& ((resposta == "SIM")||(resposta == "Sim")||(resposta == "sim")||(resposta
== "S")||(resposta == "s")))
c_psfrs++;
// Calcula o nmero de pessoas do sexo masculino que
respoderam no
if (((sexo == "MASCULINO")||(sexo == "Masculino")||(sexo ==
"masculino"))&& ((resposta == "NO")||(resposta == "No")||(resposta == "no")||(resposta
== "N")||(resposta == "n")))
c_psmrn++;
// Incrementa o contador de pessoas
c_pessoas++;
} // Fim do lao de repetio while
// Verifica se houve pessoas do sexo feminino na pesquisa
if (c_psf > 0)

{
// Calcula a porcentagem de pessoas do sexo feminino que

responderam sim

ppsfrs = ((c_psfrs * 100)/c_psf);


Console.WriteLine("\t\tMulheres que responderam sim so:
{0}%\n", ppsfrs);
}
else
{
Console.WriteLine("\t\tNenhuma mulher participou da

pesquisa!\n");
}

// Verifica se houve pessoas do sexo masculino na pesquisa


if (c_psm > 0)
{
// Calcula a porcentagem de pessoas do sexo masculino que
responderam no
ppsmrn = ((c_psmrn * 100)/c_psm);
Console.WriteLine("\t\tHomens que responderam no so:

{0}%\n", ppsmrn);
}
else
{

Console.WriteLine("\t\tNenhum homem participou da


pesquisa!");
}
// Exibe os resultados dos clculos
Console.WriteLine("\t\tO total de pessoas que responderam sim :

{0}\n", nprs);

Console.WriteLine("\t\tO total de pessoas que responderam no :

{0}\n", nprn);

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Pesquisa
}

11.05 Calcula mdia de uma turma de alunos

Este programa calcula a mdia de uma turma de alunos. Utiliza mtodos de


console, estrutura de repetio while e inicializao de variveis.
using System;
namespace Classes

{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tCalcula a mdia de uma turma de alunos!!!");
// Declarao de Variveis
int contador;
double media, nota, total;
// Inicializao de Variveis
total = 0;
contador = 0;
// Fase de processamento
Console.Write("\n\t\tEntre com a nota do aluno, -1 para Sair: ");
nota = Double.Parse(Console.ReadLine());

// Estrutura de repetio while


while (nota != -1)
{
// Adiciona nota ao total
total = total + nota;
// Adiciona 1 ao contador
contador = contador + 1;
// Fase de processamento
Console.Write("\n\t\tEntre com a nota do aluno, -1 para Sair: ");
nota = Double.Parse(Console.ReadLine());
} // Fim da estrutura de repetio while
// Fase de Concluso
if( contador !=0)
{
media = total / contador;
// Exibe a mdia das notas do teste
Console.WriteLine("\n\t\tClasse com mdia igual a: " + media);
}
else
{
// Exibe o resultado

Console.WriteLine("\n\t\tNenhuma nota foi informada!!!");


}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Alunos
}

11.06 L numero e soma entre uma srie

Estrutura de repetio for. L um nmero inteiro (N) fornecido pelo usurio e soma
os nmeros entre 1 e N.
using System;
namespace Indeterminado
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Quantidade
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tL um nmero inteiro (N) fornecido pelo
usurio!");
// Declarao de Variveis
int
N, SOMA;
// Inicializao de variveis
SOMA = 0;
// Solicita e l um nmero do usurio
Console.Write("\t\tInforme um nmero: ");
N = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();

// Exibe o cabealho da tabela


Console.WriteLine("\t\t\tN\t\t\tSOMA");
// Estrutura de repetio for
for (int CONT = 1; CONT <= N; CONT++)
{
SOMA = SOMA + CONT;
Console.WriteLine("\t\t\t{0}\t\t\t {1}", CONT, SOMA);
} // fim da estrutura de repetio for
// Exibe uma linha em branco na tela
Console.WriteLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Quantidade
}

11.07 Calcula uma funo

Estrutura de repetio For. Calcula a seguinte funo:


* F(X,Y) = (((X**2) + 3X + (Y**2))/((XY) - 5Y - 3X + 15))
* Para cada valor de x = 1 at 100 e y = de 0 at 5
using System;
namespace Funo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Quadratica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\tCalcula uma funo!");
Console.WriteLine("\t\t______________________________________________________");

// Declarao de Variveis
double F;
//Funo
// Inicializao de variveis
F = 0;
Console.WriteLine("\t\tX\t\tY\t\tF\n");
for ( int X = 1; X <= 5; X++)
// Para cada valor de x calcula Y
{
// N = Math.Pow(X,2);
for ( int Y = 0; Y <= 5; Y++)
{
F = (Math.Pow(X,2)) + 3*X + (Math.Pow(Y,2));
Console.WriteLine("\t\t{0}\t\t{1}\t\t{2}",X,Y,F);
}
Console.WriteLine();
} // Fim da estrutura de repetio For
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Quadrtica
}

11.08 Calcula termos de PA

Estrutura de repetio while. Este programa tem por finalidade calcular os termos
de uma progresso aritmtica de N elementos...
using System;
namespace Progresso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Aritmtica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tCalcula os termos de uma progresso
aritmtica!");
// Declarao de Variveis
int
A1,
// Primeiro termo da Progresso Aritmtica
AN,
// Ensimo termo da Progresso Aritmtica
N,
// Nmero de elementos de Progresso Aritmtica
R,
// Razo da Progresso Aritmtica
CONT; // Contador
// Inicializao de Variveis
CONT = 1;
AN = 0;
// Solicita e l o nmeros de elementos da PA
Console.Write("\tInforme o nmero de elementos da Progresso

Aritmtica: ");

N = Int32.Parse(Console.ReadLine());

// Solicita e l o 1 elemento da PA
Console.Write("\tInforme o 1 elemento da Progresso Aritmtica: ");
A1 = Int32.Parse(Console.ReadLine());

// Solicita e l a razo da PA
Console.Write("\tInforme a razo desta Progresso Aritmtica: ");
R = Int32.Parse(Console.ReadLine());
Console.WriteLine();
while (N >= CONT )
{
AN = (A1 + ((N - 1)* R));
Console.WriteLine("\tO {0} elemento da Progresso Aritmtica
: {1}\n", N, AN);
N = (N - CONT);
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Aritmtica
}

11.09 Calcula temperaqtura em graus diversos e com variaes

Estrutura de repetio For. Este programa tem por finalidade converter a


temperatura em graus Fahrenheit para Centgrados variando de 1 em 1 de 32 a 64.
using System;
namespace Converso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Temperatura
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\tConverso de Temperatura de graus Fahrenheit
para Celsius!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
double C,

// Temperatura em graus Celsius


F;
// Temperatura em graus Fahrenheit

// Inicializao de Variveis
F = 32;
C = 0;
Console.WriteLine("\t\tFahrenheit\t\tCelsius");
// Estrutura de repetio for
for (int cont = 50; cont <= 150; cont++)
{
C = (5*(F - 32))/9;
Console.WriteLine("\t\t {0}" + "\t\t\t {1}", F, C);
F = F + 1;
} // Fim da estrutura de repetio for
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Temperatura
}

Exerccios 12 Estrutura de Repetio While, For e


outras
12.01 Calcula a soma de termos de uma srie
Estrutura de repetio for. Calcula a soma 50 termos da srie:
s = 1000/1 - 997/2 + 994/3 - 991/4 + ...
using System;
namespace termos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Serie
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tCalcula a soma 50 termos de uma srie!!!");
Console.WriteLine("\t\t______________________________________________________");

// Declarao de Variveis
double parc, // parcela da expresso algbrica
s,
// somatrio da expresso algbrica
num, // numerador
den, // denominador
m;
// troca o sinal
// Inicializao de Variveis
parc = 0;
s = 0;
num = 1000;
den = 1;
m = 1;
// Estrutura de repetio for
for( int cont = 1; cont <=50; cont++)
{
parc = ((num/den)*m);
s = s + parc;
m = m * (-1);
num = num - 3;
den = den + 1;

} // Fim da estrutura de repetio for


Console.WriteLine("\n\n\t\t\tO somatrio da srie : {0}", s);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Srie
}

12.02 Petencia de 3 com variaes

Demonstra como utilizar estruturas de repetio e o mtodo Pow. Apresenta as


potncias de 3 variando de 0 a 15. Estrutura de repetio while.
using System;
namespace Potncias
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t Apresenta as potncias de 3 variando de 0 a
15!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
double
NUM, EXP, POT;
// Inicializao de Variveis
EXP = 0;
NUM = 3;
// Fase de Processamento
// Estrutura de repetio while
while( EXP <= 15)

{
POT = Math.Pow(NUM, EXP);
Console.WriteLine("\tA Potncia de {0} elevado a {1} : {2}\n",
NUM, EXP, POT);
EXP = EXP + 1;
} // Fim da estrutura de repetio while
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

12.03 Pesquisa de satisfao

Estrutura de repetio for.


Este programa tem por finalidade calcular a resposta (sim ou no) em uma
pesquisa de:
* satisfao de um produto lanado no mercado, tanto para homens quanto para
mulheres
* num total de 2000 pessoas, conforme os seguintes dados:
* O nmero de pessoas que responderam sim;
* O nmero de pessoas que responderam no;
* A porcentagem de pessoas do sexo masculino que responderam no;
* A porcentagem de pessoas do sexo feminino que responderam sim.

using System;
namespace Pesquisa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Produtos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]

static void Main(string[] args)


{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tCalcula a resposta (sim ou no) em uma
pesquisa de satisfao!\n");
// Declarao de Variveis
string sexo,

// sexo do funcionrio
resposta;
// resposta do funcionrio (sim ou no)

int

cpsf,
cpsm,
nprs,

// Nmero de pessoas do sexo feminino


// Nmero de pessoas do sexo masculino
// Nmero de pessoas que responderam

nprn,

// Nmero de pessoas que responderam

npsfrs,

// Nmero de pessoas do sexo feminino que

sim na pesquisa
no na pesquisa
responderam sim
masculino que responderam no
double ppsfrs,

npsmrn;

// Nmero de pessoas do sexo

// Porcentagem de pessoas do sexo feminino que

responderam sim
ppsmrn;

// Porcentagem de pessoas do sexo

masculino que responderam no


// Inicializao de variveis
cpsm = 0;
cpsf = 0;
nprs = 0;
nprn = 0;
npsfrs = 0;
npsmrn = 0;
ppsfrs = 0;
ppsmrn = 0;
// Estrutura de repetio for
for ( int cont = 1; cont <= 5; cont++)
{
// Solicita e l os dados do entrevistado(a)
Console.Write("Informe o sexo, F: (Feminino) ou M: (Masculino):
");
sexo = Console.ReadLine();
Console.Write("Informe a resposta, S: (Sim) ou N: (No): ");
resposta = Console.ReadLine();
// Verifica o nmero de entrevistados que disseram sim ou no
if ((resposta == "s")||(resposta == "S")||(resposta == "Sim")||
(resposta == "SIM")||(resposta == "sim"))
{
nprs += 1;
// Poderia ser escrito assim nprs++ ou nprs
= nprs + 1;
}

else
{
nprn += 1;

// Poderia ser escrito assim nprn++ ou nprn

= nprn + 1;
}
// Verifica o nmero de entrevistados que so do sexo feminino
ou masculino
if ((sexo == "F")||(sexo == "f")||(sexo == "feminino")||(sexo ==
"Feminino")||(sexo == "FEMININO"))
{
cpsf = cpsf + 1;
}
else
{
cpsm = cpsm + 1;
}
// Verifica o nmero de entrevistados que so do sexo feminino e
responderam sim
if ((sexo == "F")||(sexo == "f")||(sexo == "feminino")||(sexo ==
"Feminino")||(sexo == "FEMININO")&&(resposta == "S")||(resposta == "Sim")||(resposta ==
"SIM")||(resposta == "sim"))
{
npsfrs = npsfrs + 1;
}

e responderam no

// Verifica o nmero de entrevistados que so do sexo masculino

if ((sexo == "M")||(sexo == "m")||(sexo == "masculino")||(sexo


== "Masculino")||(sexo == "MASCULINO")&&(resposta == "n")||(resposta == "N")||
(resposta == "No")||(resposta == "NO")||(resposta == "no"))
{
npsmrn = npsmrn + 1;
}
}// Fim da estrutura de repetio For
// Verifica se houve pessoas do sexo feminino entrevistadas
// E calcula a porcentagem de pessoas entrevistadas que disseram sim
if (cpsf > 0)
{
ppsfrs = ((npsfrs * 100)/cpsf);
Console.WriteLine();
Console.WriteLine("A porcentagem de pessoas do sexo feminino
que participaram da pesquisa e \ndisseram sim foi de: {0}%", ppsfrs);
}
else
{
Console.WriteLine();
Console.WriteLine("Nenhuma mulher gostou do produto lanado
no mercado...");
}
if (cpsm > 0)
{
ppsmrn = ((npsmrn * 100)/cpsm);
Console.WriteLine();
Console.WriteLine("A porcentagem de pessoas do sexo
masculino que participaram da pesquisa e \ndisseram no foi de: {0}%", ppsmrn);

}
else
{
Console.WriteLine();
Console.WriteLine("Nenhum homem gostou do produto lanado
no mercado...");
}
// Exibe o resultado total de pessoas que responderam sim
Console.WriteLine();
Console.WriteLine("O total de pessoas que responderam sim foi de: {0}
pessoas", nprs);

{0} pessoas", nprn);

// Exibe o resultado total de pessoas que responderam no


Console.WriteLine();
Console.WriteLine("O total de pessoas que responderam no foi de:
Console.WriteLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Pesquisa
}

12.04 Soma de numeros de um intervalo

Efetua a soma dos nmeros de 2 a 100. Estrutura de repetio for e o mtodo


MessageBox.
using System;
using System.Windows.Forms;
namespace Numeros
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Somatrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela

Console.WriteLine("\t\tEfetua a soma dos nmeros de 2 a 100!!!");


Console.WriteLine("\n\t\t______________________________________________________");
int soma = 0;
// Estrutura de repetio for
for (int numero = 2; numero <=100; numero += 2)
{
soma += numero;
}
// Exibe a soma numa caixa de mensagem
MessageBox.Show(" A soma : " + soma,
"Soma todos os interios de 2 at 100",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
} // Fim do Mtodo Main
} // Fim da Classe Somatrio
}

12.05 Mdia de uma turma

Este programa calcula a mdia de uma turma de 10 alunos. Utiliza mtodos de


console, estrutura de repetio while e inicializao de variveis.
using System;
namespace Classes
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Alunos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\tCalcula a mdia de uma turma de 10 alunos!!!");
// Declarao de Variveis
int contador;
double media, nota, total;
// Inicializao de Variveis

total = 0;
contador = 1;

contador);

// Estrutura de repetio while


while (contador <= 10)
{
// Solicita e l a nota do usurio
Console.Write("\n\t\tEntre com a {0} nota do aluno: ",
nota = Double.Parse(Console.ReadLine());
// Adiciona nota ao total
total = total + nota;
// Adiciona 1 ao contador
contador = contador + 1;
}
// Fase de Concluso
media = total / 10;
// Exibe o resultado
Console.WriteLine("\n\t\tClasse com mdia igual a: " + media);
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Alunos
}

12.06 Juros compostos com MessageBox

Estrutura de repetio for e utilizao de MessageBox. Calculando juros compostos.


using System;
using System.Windows.Forms;
utilizar uma MessageBox.

// Adicione uma referncia no Solution Explorer para

namespace Conta
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Banco
{
/// <summary>
/// The main entry point for the application.

/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tCalcula juros compostos!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
decimal montante, principal = (decimal) 1000.00;
double juros = 0.05; // 5% (cinco por cento)
string saida;
saida = "Anos\tMontante em deposito\n";
// Estrutura de repetio for
for (int ano = 1; ano <= 10; ano++)
{
// Frmula para calcular o montante
montante = principal * (decimal) Math.Pow(1.0 + juros, ano);
saida += ano + "\t" +
String.Format( "{0:c}", montante) + "\n";
}
MessageBox.Show(saida, "Total em Banco depositado",
MessageBoxButtons.OK, MessageBoxIcon.Information );
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Banco
}

12.07 Reajuste de salrio

Estrutura de repetio for. Este programa tem por finalidade calcular o reajuste
salarial e o novo salrio de 10 funcionrios.
using System;
namespace Funcionrio
{
/// <summary>
/// Summary description for Class1.
/// </summary>

class Pessoa
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t Calcula o reajuste salarial de 10
funcionrios!\n");

// Declarao de Variveis
double salario,
reajuste,
salarion;

// salrio do funcionrio
// reajuste do salrio do funcionrio
// novo salrio do funcionrio

// Inicializao de variveis
reajuste = 0;
salarion = 0;
// Estrutura de repetio for
for(int cont = 1; cont <= 10; cont++)
{
Console.Write("Informe o salrio do funcionrio R$: ");
salario = Double.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
/* Verifica a situao do salrio com base nas seguintes
condies:
* Os funcionrios com salrio inferior a 10.000,00 devem ter
reajuste de 55%
* Os funcionrios com salrio entre 10.000,00 (inclusive) e
25.000,00 (inclusive)

reajuste de 20%

* devem ter reajuste de 30%


* Os funcionrios com salrio superior a 25.000,00 devem ter

*/
if (salario < 10000)
{
reajuste = (salario * 0.55);
salarion = salario + reajuste;
Console.WriteLine("O reajuste salarial R${0} do
funcionrio e seu novo salrio so: R${1}\n", reajuste, salarion);
}
else
{
if (salario <= 25000)
{
reajuste = (salario * 0.30);
salarion = salario + reajuste;

Console.WriteLine("O reajuste salarial R${0} do


funcionrio e seu novo salrio so: R${1}\n", reajuste, salarion);
}
else
{
reajuste = (salario * 0.20);
salarion = salario + reajuste;
Console.WriteLine("O reajuste salarial R${0} do
funcionrio e seu novo salrio so: R${1}\n", reajuste, salarion);
}
}
} // Fim da estrutura de repetio For

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Pessoa
}

12.08 Repetio controlada por contador

Exemplos utilizando a estrutura de repetio for. Repetio controlada por contador


using System;
namespace Fores
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Exemplosfor
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t Exemplos utilizando a estrutura de repetio
for!");
Console.WriteLine("\t\t______________________________________________________\n");
// Varia a varivel de controle de 1 a 100, em incrementos de 1
for (int i = 1; i <= 100; i++)
Console.Write(i + "\t");
Console.WriteLine("========================\n");

// Varia a varivel de controle de 100 a 1, em incrementos de -1


// decrementos de 1
for (int j = 100; j >= 1; j--)
Console.Write(j + "\t");
Console.WriteLine("========================\n");
// Varia a varivel de controle de 7 a 77, em passos de 7
for (int k = 7; k <= 77; k += 7)
Console.Write(k + "\t");
Console.WriteLine("\n========================\n");
// Varia a varivel de controle de 20 a 2, em passos de -2
for (int l = 20; l >= 2; l -= 2)
Console.Write(l + "\t");
Console.WriteLine("========================\n");
// Varia a varivel de controle de 2 a 20, em passos de 3
for (int m = 2; m <= 20; m += 3)
Console.Write(m + "\t");
Console.WriteLine("\n========================\n");
// Varia a varivel de controle de 99 a 0, em passos de -11
for (int j= 99; j >= 0; j-= 11)
Console.Write(j + "\t");
Console.WriteLine("========================");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Exemplofor
}

12.09 Calcula bonus de uma faixa salarial

Estrutura de repetio For. Calcular o bnus salarial que vai dar aos seus 10
funcionrios antes do Natal. E tambm o total do bnus (montante) aplicado a
todos os seus funcionrios...
using System;
namespace Empresa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Bonus

{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\tCalcula o bnus salarial!!!\n");

funcionrios

// Declarao de variveis
double salario,
// salrio do funcionrio
reajuste,
// reajuste salarial do funcionrio (bnus)
montante;
// total dos bnus aplicados aos 30

int

cont_anos;

// tempo que o funcionrio atua na

empresa em anos
string sexo;

// sexo do funcionrio(a)

// Inicializao de Variveis
reajuste = 0;
montante = 0;
// Estrutura de repetio for
for (int cont = 1; cont <= 10; cont++)
{
// Solicita e l o sexo do funcionrio(a)
// Lendo um valor do tipo string
Console.Write("Informe o sexo do funcionrio(a): ");
sexo = Console.ReadLine();
// Pula uma linha
Console.WriteLine();
// Solicita e l o valor do salrio do funcionrio(a)
// Lendo um valor do tipo double
Console.Write("Informe o salrio do funcionrio(a):R$ ");
salario = Double.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
// Solicita e l a quantidade de tempo de casa do funcionrio(a)
// Lendo um valor do tipo int
Console.Write("Informe o quantidade de anos trabalhados na
empresa: ");
cont_anos = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
/* Verifica a condio em que se enquadra o salrio do
funcionrio(a)
* para o tempo de servio executado na empresa, conforme a
seguinte tabela:
* Os funcionrios do sexo masculino com tempo de casa
superior a 15 anos tero

direito a um bnus

* direito a um bnus de 20% do seu salrio;


* As funcionrias com tempo de casa superior a 10 anos tero
* de 25% do seu salrio;
* Os demais funcionrios tero direito a um bnus de R$

5.000,00
*/
if (((sexo == "masculino")||(sexo == "Masculino")||(sexo ==
"MASCULINO")||(sexo == "masc")||(sexo == "MASC")||(sexo == "Masc"))&& (cont_anos >
15))
{
reajuste = (salario * 0.20);
Console.WriteLine("O reajuste salarial do funcionrio foi
de: R${0}\n", reajuste);
}
else
{
if (((sexo == "feminino")||(sexo == "Feminino")||(sexo
== "FEMININO")||(sexo == "fem")||(sexo == "FEM")||(sexo == "Fem"))&& (cont_anos > 10))
{
reajuste = (salario * 0.25);
Console.WriteLine("O reajuste salarial da
funcionria foi de: R${0}\n", reajuste);
}
else
{
reajuste = 5000.00;
Console.WriteLine("O reajuste salarial da
funcionrio(a) foi de: R${0}\n", reajuste);
}
}
// Calcula o montante (total de bnus) gasto com os funcionrios
montante = montante + reajuste;
} // Fim do lao de repetio for

R${0}", montante);

// Exibe o resultado
Console.WriteLine("O montante gasto com os funcionrios(as) foi de:

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Bnus
}

12.10 L nmero de faz multiplicaes

Efetua a leitura de um nmero qualquer e multiplica o mesmo por 3, isso em 5


vezes. Estrutura de repetio for.
using System;
namespace Valor
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Qualquer
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\tEfetua a multiplicao de um nmero por 3 e faz
isso em 5 vezes!");
Console.WriteLine("\t
______________________________________________________");
// Declarao de variveis
int

numero, resposta;

for(int cont = 1; cont <=5; cont++)

// Executa o teste de

repetio 5 vezes
{
Console.Write("\t\tInforme o " + cont + " valor: ");
numero = Int32.Parse(Console.ReadLine());
Console.WriteLine();
// Efetua a multiplicao do nmero informado por * 3
resposta = numero * 3;
Console.WriteLine("\t\tO valor agora : {0}\n", resposta);
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
}
}

Exerccios 13 Estrutura de Repetio For, While e


outras
13.01 Faz pesquisa de preos por regio

Estrutura de seleo composta (switch). Verifica a regio e o preo do produto e


informa ao usurio o local
using System;
namespace Regio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Produto
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tVerifica a regio e o preo do produto\n\t\t\t\t
e informa ao usurio o local!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
double preco; // Preo do Produto
int

produtos

origem;

string resposta;

// Cdigo da origem do produto

// Respota do usurio para verificar novos

// Inicializao de variveis
resposta = "SIM";
while (resposta == "SIM" ||resposta == "Sim" || resposta == "sim" ||
resposta == "s" || resposta == "S")
{
// Solicita e l o Preo do produto
Console.Write("\t\t Informe o preo do produto: ");
preco = Double.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
// Solicita e l o cdigo de origem do produto
Console.Write("\t\t1 - Sul\t" + "\t\t5 ou 6 - Nordeste\n"

+ "\t\t2 - Norte\t" + "\t7, 8 ou 9 - Sudeste\n"


+ "\t\t3 - Leste\t" + "\t10 - Centro-Oeste\n"
+ "\t\t4 - Oeste\t" + "\t11 - Centro-Leste\n\n");
Console.Write("\t\tInforme o cdigo de origem do produto: ");
origem = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
switch(origem)
{
case 1:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Sul\n");
break;
case 2:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Norte\n");
break;
case 3:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Leste\n");
break;
case 4:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Oeste\n");
break;
case 5: // Intervalo de 5 at 6 a mesma opo
case 6: // Intervalo de 5 at 6 a mesma opo
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Nordeste\n");
break;
case 7: // Intervalo de 7 at 9 a mesma opo
case 8: // Intervalo de 7 at 9 a mesma opo
case 9: // Intervalo de 7 at 9 a mesma opo
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Sudeste\n");
break;
case 10:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Centro-Oeste\n");
break;
case 11:
Console.WriteLine("\tO preo do produto de R$"
+ preco + " e sua regio a Centro-Leste\n");
break;
default:
esto na opo inicial

// Verifica todos os outros cdigos que no

Console.WriteLine("\tVoc no informou um cdigo


de origem de produto correto!\n");
break;
} // Fim de switch
// Verifica se o usurio deseja continuar pesquisando.
Console.Write("\tVoc deseja continuar?" + " Digite \"SIM\" para

prosseguir: \a\a");

resposta = Console.ReadLine();
// Pula uma linha
Console.WriteLine();
} // Fim do while
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe
}

13.02 Reajuste salarial de funcionrio

Utiliza estrutura de seleo mltipla switch aninhado em um while. Calcula o


reajuste salarial de um funcionrio.
using System;
using System.Windows.Forms;
// Adicione uma referncia para o Mtodo MessageBox.Show
namespace Reajuste
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salarial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t Calcula o reajuste salarial de um
funcionrio!!!");

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
char cargo;

// cargo do funcionrio

double salario, // salrio mensal do funcionrio


salariof = 0; // salrio reajustado do funcionrio
string resposta = "SIM";
// Estrutura de repetio while para verificar a iterao com o usurio
while (resposta == "sim" || resposta == "SIM" || resposta == "Sim" ||
resposta == "S" || resposta == "s")
{
// Solicita e l o salrio do funcionrio
Console.Write("\n\t\tInforme o valor do salrio do funcionrio:
R$");
salario = Double.Parse(Console.ReadLine());

50%"

// Apresenta os cargos da empresa


Console.Write("\n\t\tDigite: " + "\n\t\t\tT - Tcnico - reajuste de
+ "\n\t\t\tG - Gerente - reajuste de 30%" + "\n\t\t\tO -

Outros - reajuste de 20%"

+ "\n\n\t\t\tInforme a opo: ");


// L o cargo do funcionrio
cargo = Char.Parse(Console.ReadLine());
// Estrutura de seleo mltipla switch para verificar o cargo
selecionado
switch (cargo)
{
case 't': // Reajuste salarial de 50%
case 'T':
salariof = salario + (salario * 0.50);
Console.WriteLine("\n\t\t\tO salrio reajustado do
Tcnico de: R${0}",salariof);
break;
case 'g': // Reajuste salarial de 30%
case 'G':
salariof = salario + (salario * 0.30);
Console.WriteLine("\n\t\t\tO salrio reajustado do
Gerente de: R${0}",salariof);
break;

funcionrio de: R${0}",salariof);

case 'o': // Reajuste salarial de 20%


case 'O':
salariof = salario + (salario * 0.20);
Console.WriteLine("\n\t\t\tO salrio reajustado do
break;
default:

// Considera todas as outros caracteres

MessageBox.Show("Opo invlida: " + cargo,


"Verificando sua opo!", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
}
// Verifica se o usurio deseja continuar fazendo a pesquisa
Console.Write("\n\t\tDeseja continuar? Informe \"Sim\" para

continuar: ");

resposta = Console.ReadLine();
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Salarial
}

13.03 Quadrado de nmeros

Estrutura de repetio while com switch aninhado. Calcula o quadrado de 4


nmeros.
using System;
using System.Windows.Forms;
// Adicione uma referncia parar MessageBox.Show
namespace Quadrados
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Declarao de Variveis
double num1, num2, num3, num4, // Nmeros que sero fornecidos
pelo usurio
nux1, nux2, nux3, nux4;
// Nmero obtidos elevados
ao quadrado
string resposta;

char opc;
// Inicializao de Variveis
resposta = "sim";

quatro nmeros",

// Exibe uma linha na tela


MessageBox.Show("
Informe 4 nmeros!", "Calcula o quadrado de
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
while (resposta == "sim" || resposta == "Sim" || resposta == "SIM" ||
resposta == "s" || resposta == "S")
{
// Solicita e l quatro nmeros fornecidos pelo usurio
Console.Write("\n\t\tInforme o 1 nmero: ");
num1 = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme o 2 nmero: ");
num2 = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme o 3 nmero: ");
num3 = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme o 4 nmero: ");
num4 = Double.Parse( Console.ReadLine() );

quadrado" +

Console.Write("\n\t\tInforme uma letra para voc ver o


"\n\t\tde um dos quatro nmeros informados: " +
"\n\n\t\t\t\tA - Quadrado do 1 nmero" +
"\n\t\t\t\tB - Quadrado do 2 nmero" +
"\n\t\t\t\tC - Quadrado do 3 nmero" +
"\n\t\t\t\tD - Quadrado do 4 nmero" +
"\n\t\t\t\t\tInforme sua opo: ");
opc = Char.Parse( Console.ReadLine() );
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________\n");
switch( opc )
{
case 'a':
case 'A':
nux1 = Math.Pow(num1,2);
Console.WriteLine("\n\t\tO quadrado de " + num1
+ " : " + nux1);

maior que 10", nux1);

// Verifica se o quadrado obtido maior que 10


if (nux1 >= 10)
Console.WriteLine ("\n\t\tO nmero {0}
else
Console.WriteLine ("\n\t\tO nmero {0}

menor que 10", nux1);

Console.WriteLine("\t\t______________________________________________________\n");
break;
case 'b':
case 'B':
nux2 = Math.Pow(num2,2);
Console.WriteLine("\n\t\tO quadrado de " + num2
+ " : " + nux2);

maior que 100", nux2);

// Verifica se o quadrado obtido maior que 100


if (nux2 >= 100)
Console.WriteLine ("\n\t\tO nmero {0}
else
Console.WriteLine ("\n\t\tO nmero {0}

menor que 100", nux2);


Console.WriteLine("\t\t______________________________________________________\n");
break;
case 'c':
case 'C':
nux3 = Math.Pow(num3,2);
Console.WriteLine("\n\t\tO quadrado de " + num3
+ " : " + nux3);

maior que 1000", nux3);

// Verifica se o quadrado obtido maior que 1000


if (nux3 >= 1000)
Console.WriteLine ("\n\t\tO nmero {0}
else
Console.WriteLine ("\n\t\tO nmero {0}

menor que 1000", nux3);


Console.WriteLine("\t\t______________________________________________________\n");
break;
case 'd':
case 'D':
nux4 = Math.Pow(num4,2);
Console.WriteLine("\n\t\tO quadrado de " + num4
+ " : " + nux4);

maior que 10000", nux4);

// Verifica se o quadrado obtido maior que 10000


if (nux4 >= 10000)
Console.WriteLine ("\n\t\tO nmero {0}
else
Console.WriteLine ("\n\t\tO nmero {0}

menor que 10000", nux4);


Console.WriteLine("\t\t______________________________________________________\n");
break;
default:
Console.WriteLine("\t\t Opo Invlida, informe
um das letras acima!!!");

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________\n");
break;
} // Fim do switch
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?" + "\n\t\tDigite \"Sim\"

para prosseguir: ");

resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________\n");
} // Fim do while

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Nmeros
}

13.04 Peso ideal de uma pessoa com base em dados pessoais

Estrutura de seleo mltipla switch. Calcula o peso ideal de uma pessoa tendo
como base:
* sua altura e seu sexo.
* utiliza as seguintes frmulas:
* para homens : (72.7* altura)-58
* para mulheres : (62.1*altura)-44.7
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Peso
{
/// <summary>
/// Summary description for Class1.
/// </summary>

class Ideal
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tCalcula o peso ideal de uma pessoa!!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
string sexo, resposta;
int opc;
double altura, peso;
// Inicializao de Variveis
peso = 0;
resposta = "sim";
// Estrutura para verificar se o usurio deseja continuar calculando seu
peso ideal
while ( resposta == "sim" || resposta == "Sim" || resposta == "SIM" ||
resposta == "s" || resposta == "S")
{
// Solicita e l o sexo de uma pessoa
Console.Write("\n\t\tInforme o seu sexo: ");
sexo = Console.ReadLine();
// Solicita e l a altura de uma pessoa
Console.Write("\n\t\tInforme sua altura: ");
altura = Double.Parse( Console.ReadLine() );
switch (sexo)
{
case "MASCULINO" :
case "Masculino" :
case "masculino" :
peso = (72.7 * altura)-58;
MessageBox.Show("O peso ideal de: " + peso +
" Kg", "Calculando seu peso...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;

" Kg", "Calculando seu peso...",

case "FEMININO" :
case "Feminino" :
case "feminino" :
peso = (62.1 * altura)- 44.7;
MessageBox.Show("O peso ideal de: " + peso +
MessageBoxButtons.OK,

MessageBoxIcon.Information);
break;
default:

// Sexo diferente

MessageBox.Show("Sexo desconhecido!!! " +


sexo, "Verificando seu sexo",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
break;
}
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Verifica se o usurio deseja continuar pesquisando
Console.Write("\n\t\tDeseja continuar pesquisando?" +
"\n\t\t\tDigite \"Sim\" para continuar: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do while
} // Fim do Mtodo Main
} // Fim da Classe Ideal
}

13.05 Recebe informaes de produtos: Preo, regio, etc

Estrutura de seleo composta (switch). Este programa tem por finalidade receber
as seguintes informaes do usurio:
* Preo de um produto
* Cdigo da regio onde o produto foi adquirido
* Informar a regio e o preo do produto

using System;

namespace Produto
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Tipos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tInformar a regio e o preo do produto!!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
double preco; // Preo do Produto
int

origem;

// Cdigo da origem do produto

// Solicita e l o Preo do produto


Console.Write("\t\t Informe o preo do produto: R$");
preco = Double.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
// Solicita e l o cdigo de origem do produto
Console.Write("\t\t1 - Sul\t" + "\t\t5 ou 6 - Nordeste\n"
+ "\t\t2 - Norte\t" + "\t7, 8 ou 9 - Sudeste\n"
+ "\t\t3 - Leste\t" + "\t10 at 24 - Centro-Oeste\n"
+ "\t\t4 - Oeste\t" + "\t25 at 50 - Nordeste\n\n");
Console.Write("\t\tInforme o cdigo de origem do produto: ");
origem = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
switch(origem)
{
case 1:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Sul\n");
break;
case 2:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Norte\n");
break;
case 3:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Leste\n");

break;
case 4:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Oeste\n");
break;
case 5:
case 6:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Nordeste\n");
break;
case 7:
case 8:
case 9:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Sudeste\n");
break;
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case

10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Centro-Oeste\n");
break;
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case
case

25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:

case
case
case
case
case
case
case
case

43:
44:
45:
46:
47:
48:
49:
50:
Console.WriteLine("\tO preo do produto de R$" +
preco + " e sua regio a Nordeste\n");
break;
default:

// Emite uma mensagem caso o cdigo de origem

seja incorreto.
Console.WriteLine("\tVoc no informou um cdigo de
origem de produto correto!");
break;
} // fim de switch
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

} // Fim do mtodo Main


} // Fim da classe Tipos
}

13.06 Verifica notas informadas

Estrutura de seleo mltipla switch e estrutura de repetio for. Este programa


verifica entre 10 notas informadas e quantas so do tipo A, B, C, D e F.
using System;
using System.Windows.Forms;
namespace Notas
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Escolares
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela

Console.WriteLine("\n\tVerifica entre 10 notas e quantas so do tipo A,


B, C, D e F!!");
Console.WriteLine("\t______________________________________________________________\n");
char nota;
// uma nota informada
int aCont = 0,// contador de notas A
bCont = 0,
// contador de notas
cCont = 0,
// contador de notas
dCont = 0,
// contador de notas
fCont = 0;
// contador de notas

B
C
D
F

for (int i = 1; i <= 10; i++)


{
// Solicita e l a nota de um aluno
Console.Write("\n\tInforme a nota do Aluno: ");
nota = Char.Parse( Console.ReadLine());
switch ( nota )
// estrutura de seleo mltipla switch
{
case 'A':
// a nota A maisculo
case 'a':
// a nota a minsculo
++aCont;
break;
case 'B':
// a nota B maisculo
case 'b':
// a nota b minsculo
++bCont;
break;
case 'C':
// a nota C maisculo
case 'c':
// a nota c minsculo
++cCont;
break;

case 'D':
// a nota D maisculo
case 'd':
// a nota d minsculo
++dCont;
break;
case 'F':
// a nota F maisculo
case 'f':
// a nota f minsculo
++fCont;
break;

informados
incorreta" +

default:

// Verifica todos os outros caracteres

Console.WriteLine("\n\t\t\tNota informada foi


"\n\t\t\tA nota no ser adicionada aos

totais!!!");
break;

} // fim da estrutura de seleo mltipla switch


} // fim da estrutura de repetio for

// Exibe os resultados obtidos


MessageBox.Show("As notas informadas foram: " +
"\n\nA: " + aCont + "\tB: " + bCont + "\tC: " + cCont + "\tD: " +
dCont + "\tF: " + fCont,
"Verifica as notas informadas num teste com 10 alunos",
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // fim do mtodo Main
} // Fim da Classe Escolares
}

13.07 Valor mximo de gastos de clientes

Estrutura de seleo mltipla switch. Este programa calcula o valor que um cliente
poder gastar em uma loja de eletrodomsticos.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Crdito
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salarial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t Calcula o valor que um cliente poder
gastar!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
double salario,
mediasal,

// Salrio do cliente
// Mdia salarial do cliente

credito,
somasal;

cliente
int

contsal;

// Crdito do cliente
// soma os salrios informados do

// Contador de salrios do cliente

char classe;
string resposta;
// Inicializao de Variveis
contsal = 1;
mediasal = 0;
somasal = 0;
credito = 0;
resposta = "sim";
// Verifica se o funcionrio deseja continuar verificando a situao do
cliente
while ( resposta == "sim" || resposta == "Sim" || resposta == "SIM" ||
resposta == "s" || resposta == "S")
{
// Estrutura para solicita os salrios do cliente
while ( contsal <= 3)
{
// Solicita os 3 ltimos salrios do cliente
Console.Write("\n\t\tInforme o {0} salrio do cliente: R$
", contsal);
salario = Double.Parse( Console.ReadLine() );
somasal += salario;
contsal++;
} // Fim do while
// Calcula a media salarial do cliente
mediasal = somasal/3;
// Exibe a mdia salarial do cliente
MessageBox.Show("Mdia salarial: R$ " + mediasal, "Mdia dos
3 ltimos salrios do cliente",
MessageBoxButtons.OK, MessageBoxIcon.Information);

/*
* Mdia

Classe

Crdito
* R$ 0,00 ---> R$ 400,00

No tem

*
*
*
*
*

B
C
D
E

10%
12%
15%
18%

crdito

digite: " +

R$ 401,00 -> R$ 600,00


R$ 601,00 -> R$ 800,00
R$ 801,00 -> R$ 1000,00
Acima de --> R$ 1001,00
*/

// Solicita e l a classe salarial do cliente


Console.Write("\n\t\tInforme a classe que o cliente se enquadra,
"\n\t\t\tA - Mdia salarial at R$ 400,00" +

"\n\t\t\tB - Mdia salarial de R$ 401,00 ---> R$ 600,00" +


"\n\t\t\tC - Mdia salarial de R$ 601,00 ---> R$ 800,00" +
"\n\t\t\tD - Mdia salarial de R$ 801,00 --> R$ 1000,00" +
"\n\t\t\tE - Mdia salarial acima de R$ 1001,00" +
"\n\n\t\t\tInforme a opo: ");
classe = Char.Parse( Console.ReadLine() );
// Estrutura de seleo mltipla switch
switch (classe)
{
case 'a':
// Para clientes que no tem crdito
case 'A':
credito = mediasal * 0;
Console.WriteLine("\n\t\t\tCliente no tem crdito
de: R$ {0}", credito + "\n");
break;

R$ {0:C}", credito + "\n");

case 'b':
case 'B':
credito = mediasal * 0.10;
Console.WriteLine("\n\t\t\tCliente tem crdito de:
break;
case 'c':
case 'C':
credito = mediasal * 0.12;
Console.WriteLine("\n\t\t\tCliente tem crdito de:

R$ {0:C}", credito + "\n");


break;

R$ {0:C}", credito + "\n");

case 'd':
case 'D':
credito = mediasal * 0.15;
Console.WriteLine("\n\t\t\tCliente tem crdito de:
break;
case 'e':
case 'E':
credito = mediasal * 0.18;
Console.WriteLine("\n\t\t\tCliente tem crdito de:

R$ {0:C}", credito + "\n");


break;

invlida!" + "\n");

default:
Console.WriteLine("\n\t\t\tClasse informada
break;
} // Fim do switch
// Zera todos os valores para nova pesquisa
contsal = 1;
mediasal = 0;
somasal = 0;

// Imprime uma linha em branco


Console.WriteLine("\t\t______________________________________________________\n");

para prosseguir: \a\a");

// Verifica se o usurio deseja continuar pesquisando.


Console.Write("\t\tVoc deseja continuar?" + " Digite \"SIM\"
resposta = Console.ReadLine();

} // fim do while
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da Classe Salarial
}

13.08 Verifica dados com base em classificao

Estrutura de seleo composta switch aninhada em while. Verifica o grau do ao


com base nos seguintes dados:
* Um certo ao classificado de acordo com o resultado de trs testes, nos quais
so informados:
* nmero de amostra,
* contedo de carbono (em %),
* a dureza Rokwell,
* e a resistncia trao (em psi).
using System;
using System.Windows.Forms;
namespace Metal
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Ao
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)

{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tVerifica a classificao de amostras de
ao!!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
int namostra,
// nmero da amostra
dureza,
// grau de dureza (Rokwell)
resistencia, // grau de resistncia trao (em psi)
testes,
// nmero do teste
grau;
// Grau final obtido com o Ao
double quantidade;

// contedo de carbono (em %)

string resposta;
// Inicializao de Variveis
resposta = "sim";

amostragens

// Verifica se o usurio deseja continuar pesquisando outras

while ( resposta == "sim" || resposta == "Sim" || resposta == "SIM" ||


resposta == "s" || resposta == "S")
{
// Solicita e l o nmero da amostra
Console.Write("\n\t\tInforme o nmero da amostragem: ");
namostra = Int32.Parse( Console.ReadLine() );
// Solicita e l a porcentagem de carbono
Console.Write("\n\t\tInforme a % de carbono da amostra: ");
quantidade = Double.Parse( Console.ReadLine() );
// Solicita e l a dureza do carbono (rokwell)
Console.Write("\n\t\tInforme o grau de dureza do carbono: ");
dureza = Int32.Parse( Console.ReadLine() );

");

// Solicita e l a resistncia do carbono a trao


Console.Write("\n\t\tInforme o grau de resistncia do carbono:
resistencia = Int32.Parse( Console.ReadLine() );
// Efetuar os testes
Console.Write("\n\t\tVerifique o grau do Ao obtido: " +
"\n\t\tDigite: " + "\n\t\t\t1 - Grau 10" +
"\n\t\t\t2 - Grau 9" + "\n\t\t\t3 - Grau 8" +
"\n\t\t\t4 - Grau 7" + "\n\t\t\tInforme sua opo: ");
testes = Int32.Parse( Console.ReadLine() );

trs testes

// Estrutura de seleo mltipla switch


switch (testes)
{
case 1: // Ao ao atribudo o grau 10, se passa pelos
{
// Teste 1: Contedo de carbono abaixo de 7%
if ( quantidade < 7)

Console.WriteLine("\n\t\t\t\tAprovado no
teste 1!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 1!");

// Teste 2: Dureza Rokwell maior que 50


if (dureza > 50)
Console.WriteLine("\n\t\t\t\tAprovado no
teste 2!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 2!");

// Teste 3: Resistncia trao maior do que


80.000 psi.
if ( resistencia > 80000)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 3!");

else
Console.WriteLine("\n\t\t\t\tReprovado no
teste 3!");
grau = 10;

"Amostra aprovada em todos os testes",

MessageBox.Show("Ao com grau: " + grau,


MessageBoxButtons.OK,

MessageBoxIcon.Information);
}
break;

nos testes 1 e 2

case 2: // Ao ao atribudo o grau 9, se passa apenas


{
// Teste 1: Contedo de carbono abaixo de 7%.
if ( quantidade < 7)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 1!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 1!");

// Teste 2: Dureza Rokwell maior que 50.


if (dureza > 50)
Console.WriteLine("\n\t\t\t\tAprovado no
teste 2!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 2!");

// Teste 3: Resistncia trao maior do que


80.000 psi.

teste 3!");

if ( resistencia > 80000)


Console.WriteLine("\n\t\t\t\tAprovado no
else

Console.WriteLine("\n\t\t\t\tReprovado no
teste 3!");
grau = 9;
MessageBox.Show("Ao com grau: " + grau,
"Amostra aprovada apenas nos testes 1 e 2",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
break;
case 3: // Ao ao atribudo o grau 8, se passa apenas no
teste 1
{
// Teste 1: Contedo de carbono abaixo de 7%.
if ( quantidade < 7)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 1!");

else
Console.WriteLine("\n\t\t\t\tReprovado no
teste 1!");
// Teste 2: Dureza Rokwell maior que 50.
if (dureza > 50)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 2!");

else
Console.WriteLine("\n\t\t\t\tReprovado no
teste 2!");
// Teste 3: Resistncia trao maior do que

80.000 psi.

if ( resistencia > 80000)


Console.WriteLine("\n\t\t\t\tAprovado no
teste 3!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 3!");

grau = 8;
MessageBox.Show("Ao com grau: " + grau,
"Amostra aprovada apenas nos teste 1",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
break;

nenhum dos testes

case 4: // // Ao ao atribudo o grau 7, se no passa em


{
// Teste 1: Contedo de carbono abaixo de 7%.
if ( quantidade < 7)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 1!");
else

Console.WriteLine("\n\t\t\t\tReprovado no
teste 1!");
// Teste 2: Dureza Rokwell maior que 50.
if (dureza > 50)
Console.WriteLine("\n\t\t\t\tAprovado no

teste 2!");

else
Console.WriteLine("\n\t\t\t\tReprovado no
teste 2!");
// Teste 3: Resistncia trao maior do que

80.000 psi.

if ( resistencia > 80000)


Console.WriteLine("\n\t\t\t\tAprovado no
teste 3!");
else
Console.WriteLine("\n\t\t\t\tReprovado no

teste 3!");

grau = 7;
MessageBox.Show("Ao com grau: " + grau,
"Amostra reprovada em todos os testes",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
break;
default: // Teste no encontrado.
Console.WriteLine("\n\t\t\t\tInformaes
incorretas!!!");
break;
} // Fim do switch

para continuar: ");

// Verifica se o usurio deseja continuar


Console.Write("\n\t\tDeseja continuar?" + "\n\t\t\tDigite \"Sim\"
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do lao while
} // Fim do mtodo Main
} // Fim da Classe Ao
}

13.09 Simples calculadora com MessageBox

Estrutura de seleo mltipla switch aninhada em while, MessageBox, etc. Uma


simples calculadora.
using System;
using System.Windows.Forms;
// Defina uma referncia para o mtodo MessageBox.Show
namespace Calculadora
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Matemtica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\t\tCalculadora simples!!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de variveis
double NUM1, NUM2, RESULTADO;
int OPC;
string RESPOSTA;
// Inicializao de Variveis
RESULTADO = 0;
RESPOSTA = "SIM";
// Verifica se o usurio deseja continuar calculando
while ( RESPOSTA == "SIM" || RESPOSTA == "Sim" || RESPOSTA ==
"sim" || RESPOSTA == "S" || RESPOSTA == "s")
{
// Solicita e l dois nmeros informados pelo usurio
Console.Write("\n\t\tInforme o 1 nmero: ");
NUM1 = Double.Parse( Console.ReadLine() );
// Solicita e l dois nmeros informados pelo usurio
Console.Write("\n\t\tInforme o 2 nmero: ");
NUM2 = Double.Parse( Console.ReadLine() );

efetuar? " +

// Solicita e l o operador matemtica para efetuar o clculo


Console.Write("\n\t\tQual operao matemtica voc deseja

"\n\n\t\t\t\t1 - Adio" + "\n\t\t\t\t2 - Subtrao" +


"\n\t\t\t\t3 - Diviso" +
"\n\t\t\t\t4 - Multiplicao" + "\n\t\t\t\t5 - Exponenciao"
+
"\n\n\t\t\t\t\tInforme a opo: ");
OPC = Int32.Parse( Console.ReadLine() );
// Estrutura de seleo switch
switch (OPC)
{
case 1:
// Adio
RESULTADO = NUM1 + NUM2;
MessageBox.Show("O resultado : " +
RESULTADO, "Calculando a soma", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;
case 2: // Subtrao
RESULTADO = NUM1 - NUM2;
MessageBox.Show("O resultado : " +
RESULTADO, "Calculando a subtrao", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
break;
case 3: // Diviso
RESULTADO = NUM1 / NUM2;
MessageBox.Show("O resultado : " +
RESULTADO, "Calculando a diviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
break;
case 4: // Multiplicao
RESULTADO = NUM1 * NUM2;
MessageBox.Show("O resultado : " +
RESULTADO, "Calculando a multiplicao", MessageBoxButtons.OK, MessageBoxIcon.Stop);
break;
case 5: // Exponenciao
RESULTADO = Math.Pow(NUM1,NUM2);
MessageBox.Show("O resultado : " +
RESULTADO, "Calculando a multiplicao", MessageBoxButtons.OK, MessageBoxIcon.None);
break;
default:
// Considera outras opes
MessageBox.Show("Opo invlida!!! " +
RESULTADO, "Tente novamente!", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
} // Fim do switch
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Efetua novas pesquisas dependendo do resultado informado
pelo usurio
Console.Write("\n\t\tVoc deseja continuar?" + "\tDigite \"SIM\"
para continuar: ");
RESPOSTA = Console.ReadLine();

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Estrutura de repetio while
} // Fim do mtodo Main
} // Fim da classe Matemtica
}

13.10 Comparao entre nmeros

Estrutura de seleo composta (Switch), Simples (if / else), e estrutura de


repetio (while). Este programa tem por finalidade apresentar ao usurio qual o
maior nmero, menor nmero ou se eles so iguais.
using System;
namespace Usurio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Condio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
Console.WriteLine("\n\t\t\tFaz comparao entre 2 nmeros!!");
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao de Variveis
int

N1,

// Nmero a ser fornecido pelo

N2,

// Nmero a ser fornecido pelo

usurio
usurio
MAIOR,
// Armazernar o maior nmero
MENOR,
// Armazernar o maior nmero
OPC;
// Opo de entrada do usurio para ver o
maior, ou menor ou se os nmeros so iguais ou diferentes.

condio

string RESP;

/* Resposta do usurio para continuar a verificar a


* dos nmeros*/

// Inicializao de Variveis
MENOR = 0;
MAIOR = 0;
RESP = "SIM";
// Verifica se o usurio deseja continuar a pesquisa
while (RESP == "SIM" ||RESP == "sim" || RESP == "Sim" || RESP == "s"
|| RESP == "S" )
{
// Solicita e l os nmeros informados pelo usurio
Console.Write("\t\tInforme o 1 nmero: ");
N1 = Int32.Parse(Console.ReadLine());
Console.Write("\t\tInforme o 2 nmero: ");
N2 = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
Console.Write("\t\tInforme: 1 para ver o maior nmero\n" +
"\t\tInforme: 2 para ver o menor nmero\n" + "\t\tInforme: 3 para ver se os nmeros so
iguais---> ");
OPC = Int32.Parse(Console.ReadLine());
// Pula uma linha
Console.WriteLine();
switch (OPC) // Estrutura de seleo switch
{
case 1:
// Maior nmero
if (N1 == N2)
Console.WriteLine("\n\t\t\tOs nmeros
informados so iguais!\n\n");
else
{
if (N1 > N2)
{
MAIOR = N1;
MENOR = N2;
Console.WriteLine("\t\tO Maior
nmero : {0}\n", MAIOR);
}
else
{
MAIOR = N2;
MENOR = N1;
Console.WriteLine("\t\tO Maior
nmero : {0}\n", MAIOR);
}
}
break;

case 2:

// Menor nmero
if (N1 == N2)
Console.WriteLine("\n\t\t\tOs

nmeros informados so iguais!\n\n");

else
{
if (N2 > N1)
{
MAIOR = N2;
MENOR = N1;
Console.WriteLine("\t\tO

Menor nmero : {0}\n", MENOR);

}
else
{
MAIOR = N1;
MENOR = N2;
Console.WriteLine("\t\tO
Menor nmero : {0}\n", MENOR);
}
}
break;
case 3:
// Iguais
if (N2 == N1)
{
Console.WriteLine("\t\tOs nmeros {0} e

{1} so iguais.\n", N1, N2);

}
else
{
Console.WriteLine("\t\tOs nmeros {0} e
{1} so diferentes.\n", N1, N2);
}
break;
default:
// Verifica se a opo est entre 1, 2 ou 3
Console.WriteLine("\t\tVoc no informou uma
opo correta!\n");
break;
} // fim da estrutura de seleo composta switch
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________\n");
// Solicita ao usurio para verificar se o mesmo deseja continuar
a executar o programa
Console.Write("\t\tDeseja continuar? " + "Digite \"SIM\" para
continuar: ");
RESP = Console.ReadLine();
// Pula uma linha
Console.WriteLine();
} // Fim do While

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
// Exibe uma linha em branco na tela
Console.WriteLine();

} // Fim do mtodo Main


} // Fim da classe condio
}

Exerccios 14 Estrutura de Repetio Do / While e


outras
14.01 Calcula uma srie

Estrutura de repetio do/while. Calcula a seguinte srie:


* S = 1/1 + 3/2 + 5/3 + 7/4 + ... + 99/50
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Somatrio
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Verifique o cdigo do programa para aprender
do/while!", "Calcula uma srie de nmeros....",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Inicializao e Declarao de Variveis
int numerador = 1, denominador = 1;
double s = 0, parc;
do
{
// Efetuando um cast...
parc = (double)numerador/denominador;
s += parc;
numerador += 2;
denominador++;
}while (denominador <= 50);
//Exibe o resultado

Console.WriteLine("\n\t\t\t\tA soma da srie : {0:n}", s);

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

14.02 Reajuste salarial de acordo com critrios

Estrutura de repetio do/while. Calcula o reajuste salarial de uma empresa que


possui 5 funcionrios, de acordo com os seguintes critrios:
* os funcionrios com salrio inferior a R$ 10.000,00 devem ter reajuste de 55%;
* os funcionrios com salrio entre R$ 10.000,00 (inclusive) e R$ 25.000,00
(inclusive) devem ter reajuste de 30%;
* os funcionrios com salrio superior a R$ 25.000,00 devem ter um reajuste de
20%
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Reajuste
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salarial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)

{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

para o clculo",

// Exibe uma linha na tela


MessageBox.Show("Calcula o reajuste salarial", "Informe os valores
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int codfunc, // cdigo do funcionrio
contf = 1;
// contador de funcionrios
double salario,
// Salrio do funcionrio
reajuste = 0, // Reajuste salarial
salarion = 0, // Novo salrio
reajustet = 0; // Reajuste total com todos os funcionrios
string nome; // Nome do funcionrio
string mensagem;
string resposta = "sim";
// Estrutura de repetio do/while
do
{
// Solicita e l os dados do funcionrio
do
{
Console.Write("\n\t\tDigite os dados do {0} funcionrio:
", contf);
Console.Write("\n\n\t\t\t\tInforme o cdigo: ");
codfunc = Int32.Parse(Console.ReadLine());
Console.Write("\n\t\t\t\tInforme o nome: ");
nome = Console.ReadLine();
Console.Write("\n\t\t\t\tInforme o salrio: R$ ");
salario = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\n\t\t______________________________________________________");
// Compara o salrio dos funcionrios para o clculo
// do reajuste salarial
if (salario > 25000)
{
reajuste = (salario * (0.2));
salarion = salario + reajuste;
mensagem = "Dados do funcionrio:\n\n\tCdigo:
" + String.Format("{0}",codfunc) +
"\n\tNome: " + String.Format("{0}",nome)
+

"\n\tSalrio de: " +


String.Format("{0:c}",salario) +
"\n\tReajuste salarial de: " +
String.Format("{0:c}",reajuste) +
"\n\tSalrio reajustado de: " +
String.Format("{0:c}",salarion);
MessageBox.Show(mensagem, "Verificando os

dados do funcionrio...",

MessageBoxButtons.OK,

MessageBoxIcon.Information);
}
else
{

if (salario >= 10000)


{
reajuste = (salario * (0.3));
salarion = salario + reajuste;
mensagem = "Dados do
funcionrio:\n\n\tCdigo: " + String.Format("{0}",codfunc) +
"\n\tNome: " +
String.Format("{0}",nome) +
"\n\tSalrio de: " +
String.Format("{0:c}",salario) +
"\n\tReajuste salarial de: " +
String.Format("{0:c}",reajuste) +
"\n\tSalrio reajustado de: " +
String.Format("{0:c}",salarion);
MessageBox.Show(mensagem, "Verificando
os dados do funcionrio...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{
reajuste = (salario * (0.55));
salarion = salario + reajuste;
mensagem = "Dados do
funcionrio:\n\n\tCdigo: " + String.Format("{0}",codfunc) +
"\n\tNome: " +
String.Format("{0}",nome) +
"\n\tSalrio de: " +
String.Format("{0:c}",salario) +
"\n\tReajuste salarial de: " +
String.Format("{0:c}",reajuste) +
"\n\tSalrio reajustado de: " +
String.Format("{0:c}",salarion);
MessageBox.Show(mensagem, "Verificando

os dados do funcionrio...",

MessageBoxButtons.OK,

MessageBoxIcon.Information);
}
}

// Calcula o valor do reajuste globlal

reajustet += reajuste;
contf++;
}while(contf <= 5);

// Exibe o resultado do reajuste global


Console.WriteLine("\n\t\tO reajuste total de: {0:c}" , reajustet);
// Exibe uma linha na tela
Console.WriteLine("\t\t\t\t\t _________");
// Reinicializao dos valores (funcionrios e reajuste total)
contf = 1;
reajustet = 0;

prosseguir: ");

// Verifica se o usurio deseja continuar


Console.Write("\n\t\tVoc deseja continuar?, digite \"sim\" para
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
}// Fim da Classe Salarial
}

14.03 Calcula nmero perfeito

Estrutura de repetio do/while aninhadas. Verifica se um nmero perfeito ou


no.
* Obs: Nmero perfeito aquele cuja soma de seus divisores, exceto ele prprio,
igual a ele mesmo.

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Nmero
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Perfeito
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Efetua cada pesquisa para 5 nmeros inteiros...!",
"Verifica se um nmero perfeito ou no!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");

// Declarao e Inicializao de Variveis


int num,
// Nmero a ser informado pelo usurio
cont = 1,
cont1 = 0, // Conta quantas vezes o lao executado
cont2 = 1, // Contador de divisores
soma = 0, // Soma dos restes das diviso
div = 0; // pega divisor
double resto = 0;
string resposta = "sim";
// Verificar quantas vezes o usurios desejar efetuar a pesquisa
do
{
// Solicita e l um nmero informado pelo usurio
Console.Write("\t\tInforme um nmero: ");
num = Int32.Parse( Console.ReadLine() );
// Executar o lao 5 vezes
do
{
/* Somar os divisores que tem resto igual a zero
enquanto
* eles forem menor que o nmero informado */
do
{
resto = num % cont;
if (resto == 0)

{
if (cont < num)
{
div = cont;
// Exibe o seu divisor quando o resto
for zero
Console.WriteLine("\n\t\t\tO {0}
divisor do nmero {1} : {2}", cont2, num, div);
cont2++;
soma += div;
}
}
cont++;
}while(num >= cont);
// Exibe a soma dos divisores
Console.WriteLine("\n\t\t\t\t\t\tA soma dos divisores :
{0}", soma);
Console.WriteLine("\t\t\t\t\t\t__________________________\n");
if (soma == num)
{
Console.WriteLine("\n\t\t\t\tO nmero perfeito!");
// Exibe a data e hora!
Console.WriteLine("\t\t______________________________________________________\n");
}
else
{
Console.WriteLine("\n\t\t\t\tO nmero no
perfeito!");
// Exibe a data e hora!
Console.WriteLine("\t\t______________________________________________________\n");
}
// Reinicializao de Variveis
cont = 1;
cont2 = 1;
soma = 0;
num++;
cont1++;
}while(cont1 < 5);
cont1 = 0;
// Solicitar ao usurio para continuar pesquisando nmeros
perfeitos e imperfeitos!
Console.Write("\n\t\tVoc deseja continuar verificando
nmeros?" +
"\n\t\tDigite \"Sim\" para pesquisar: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\n\t\t______________________________________________________");

}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||


resposta == "S" || resposta == "s");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Perfeito
}

14.04 L notas escolares e efetua clculos

Estrutura de repetio do/while. L 10 notas escolares e calcula a mdia aritmtica


dessas notas.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Notas
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Escolares
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
MessageBox.Show("Voc dever informar 10 notas!", "Calcula a mdia
aritmtica!",

MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
double nota, // Uma nota escolar
soma = 0, // Soma as notas obtidas
media = 0; // Mdia das notas escolares
int contador = 0;

//

Contador de notas fornecidas

do
{
Console.Write("\t\t\tInforme a {0} nota do aluno: ",

contador+1);

nota = Double.Parse( Console.ReadLine() );


soma += nota;
contador++;
} while (contador < 10);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Calcula a mdia aritmtica das notas obtidas
media = soma/10;
// Exibe o resultado
MessageBox.Show("A mdia das 10 notas : " + media, "Calculando a
mdia...", MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe uma linha na tela
MessageBox.Show("\thttp://www.gupnet.com.br", "Voc j deu uma
espiadinha no site do Gup .Net hoje?",
MessageBoxButtons.OK, MessageBoxIcon.Question);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET\n");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
}
}
}

14.05 Calcula uma expresso

Estrutura de repetio do/while. Calcula uma expresso da seguinte forma:


* S = 1/1 - 2/4 + 3/9 - 4/16 + 5/25 - 6/36 + ... - 10/100

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Valor
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Expresso
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Neste programa voc s ver o resultado final!",
"Analise o cdigo do programa!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int num = 1, // numerador
m = 1,
// inversor de sinal
cont = 0;
double s = 0, // soma de todas as parcelas da srie
parc; // cada parcela (frao separadas)
// Estrutura de repetio do/while
do
{
parc = (num/(Math.Pow(num,2)))*m;
m *= -1;
s += parc;
num += 1;
cont++;
}while (num <= 10); // Fim do lao de repetio
// O lao de repetio do/while sempre ocorrer uma vez!
// Exibe o resultado
Console.WriteLine("\n\t\tA soma dos {0} termos da srie : {1:n}",
cont, s +"\n" );
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("
http://www.gupnet.com.br",
"Voc j deu uma espiadinha no site do Gup .Net hoje?",
MessageBoxButtons.OK, MessageBoxIcon.Question);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Expresso
}

14.06 Calcula uma srie numrica

Estrutura de repetio do/while. Este programa calcula a seguinte srie:


* (X**25)/1 - (X**24)/2 + (X**23)/3 - (X**22)/4 + ... + (X)/25
* Obs.: X elevado a um expoente...
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Valor
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Somatrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Digite o nmero 1!", "Faz clculos de uma srie!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e inicializao de variveis
int
contador = 1, // contador
m = 1,
// inverte o sinal
exp = 25;
// expoente

double s = 0,
parc,
x;

// somatrio final
// parcela
// nmero fornecido na entrada

string mensagem = "Parcela\t\tValor\t\tSomatrio\n\n";


// Solicita e l um nmero
Console.Write("\n\t\tInforme um nmero: ");
x = Double.Parse( Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Estrutura de repetio do/while
do
{
parc = ((Math.Pow(x,exp))/contador)*m;
s += parc;
mensagem += String.Format("{0}",contador) + "\t\t" +
String.Format("{0:n}",parc) + "\t\t" +
String.Format("{0:n}",s) + "\n";
m *= -1;
exp--;
contador++;
}while( contador <=25);
// Exibe o resultado
MessageBox.Show(mensagem,"Calculando a
srie",MessageBoxButtons.OK,MessageBoxIcon.Information);
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Somatrio
}

14.07 Volume de uma esfera

Estrutura de repetio do / while. Calcula o volume de uma esfera em funo da


medida do seu raio. O raio dever variar de 0 a 20 cm de 0.5 em 0.5.

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Volume
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Esfera
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Calcula o volume de uma esfera!", "Preste ateno
nesse cdigo!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int contador = 1;
double raio = 0, volume = 0;
string mensagem = "Raio\t\tVolume\n\n";
do
{

"\n";

volume",

// Calcula o volume da esfera


volume = 4 *Math.PI*Math.Pow(raio,3)/3;
raio += 0.5;
contador++;
mensagem += raio + "\t\t" + String.Format("{0:n}", volume) +

// Exibe o resultado do volume da esfera a cada iterao do lao


MessageBox.Show(mensagem, "Efetuando os clculos para o
MessageBoxButtons.OK, MessageBoxIcon.Information);

}while(contador <= 20);


// Exibe uma linha na tela

MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de


estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Esfera
}

14.08 Imprime srie de 1 a 10

Estrutura de repetio do/while aninhados. Imprime nmeros de 1 at 10


using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace DowhileLoop
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class TesteDoWhile
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
MessageBox.Show(" Pressione \"OK\" para testar o programa!", "Teste
de repetio Do/While",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t__________________________________________________________________");
// Declarao e Inicializao de Variveis
int counter = 1;
string resposta = "sim";
// Exibe uma linha em branco na tela
Console.WriteLine();

do
{
// Estrutura de repetio do/while
do
{
Console.Write(" " + counter + " ");
MessageBox.Show("Os nmeros so: " + counter, "Veja
os nmeros",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
counter++;

}while ( counter <= 10);


// Exibe uma linha na tela
Console.WriteLine("\t__________________________________________________________________");
Console.Write("\n\t\tDeseja continuar?" + "\n\t\t\tDigite \"Sim\"
para prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t__________________________________________________________________\n");
counter = 1;
} while ( resposta == "SIM" || resposta == "Sim" || resposta == "sim"
|| resposta == "S" || resposta == "s");
Console.WriteLine("\n");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

Console.WriteLine("\t__________________________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe TesteDoWhile
}

14.09 Calcula mdia de um aluno

Estrutura de repetio do /while. Calcula a mdia de um nmero de alunos


informado pelo usurio...
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Notas
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Escola
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe as notas de um conjunto de alunos!",
"Calcula a mdia ponderada...",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t____________________________________________________________\n");
int alunos,
// nmero de alunos
codalu,
// cdigo do aluno (matrcula)
contal = 1;
// contador de alunos
double n1, n2, n3,
// notas escolares de um aluno
maior = 0,
// maior nota do aluno
medio = 0,
// segunda nota maior nota do aluno
menor = 0,
// menor nota do aluno
mediap = 0;
// mdia ponderada do aluno
string resposta = "sim";

do
{
// Solicita e l o nmero total de alunos
Console.Write("\n\t\tInforme o nmero total de alunos: " );
alunos = Int32.Parse( Console.ReadLine());

do
{

contal);

// Solicita e l a matrcula do aluno


Console.Write("\n\t\tInforme a matrcula do {0} aluno: ",
codalu = Int32.Parse( Console.ReadLine() );
// Solicita e l as notas escolares de um aluno
Console.Write("\n\n\t\t\t\tInforme a 1 nota do aluno: ");
n1 = Double.Parse( Console.ReadLine());
Console.Write("\n\t\t\t\tInforme a 2 nota do aluno: ");
n2 = Double.Parse( Console.ReadLine());
Console.Write("\n\t\t\t\tInforme a 3 nota do aluno: ");
n3 = Double.Parse( Console.ReadLine());
// Verificar qual a maior nota, a nota mdia e a menor

nota.

if (n1 >= n2 && n1 >= n3)


{
maior = n1;
if (n2 >= n3)
{
medio = n2;
menor = n3;
}
else
{
medio = n3;
menor = n2;
}
// Calcula a Mdia Ponderada do aluno
mediap = (((maior*4) + (medio*3) + (menor*3))/
(4+3+3));
MessageBox.Show("A mdia do aluno : "+
mediap, "Calculando a Mdia Ponderada",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
if (n2 >= n1 && n2 >= n3)
{
maior = n2;
if (n1 >= n3)
{
medio = n1;
menor = n3;
}
else
{
medio = n3;
menor = n1;
}

// Calcula a Mdia Ponderada do aluno


mediap = (((maior*4) + (medio*3) +

(menor*3))/(4+3+3));

MessageBox.Show("A mdia do aluno : "+

mediap, "Calculando a Mdia Ponderada",

MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
maior = n3;
if (n1 >= n2)
{
medio = n1;
menor = n2;
}
else
{
medio = n2;
menor = n1;
}
// Calcula a Mdia Ponderada do aluno
mediap = (((maior*4) + (medio*3) +
(menor*3))/(4+3+3));
MessageBox.Show("A mdia do aluno : "+
mediap, "Calculando a Mdia Ponderada",
MessageBoxButtons.OK,MessageBoxIcon.Information);
}
}
// Verifica se o aluno foi aprovado ou no
if (mediap >= 5)
{
Console.WriteLine("\n\n\t\t\t\t\t\tO aluno {0} foi
aprovado! ", codalu);
// Exibe uma linha na tela
Console.WriteLine("\t\t\t\t\t\t____________________________");
// Exibe uma linha na tela
Console.WriteLine("\t\t____________________________________________________________");
}
else
{
Console.WriteLine("\n\n\t\t\t\t\t\tO aluno {0} foi
reprovado! ", codalu);
// Exibe uma linha na tela
Console.WriteLine("\t\t\t\t\t\t____________________________");
// Exibe uma linha na tela
Console.WriteLine("\t\t____________________________________________________________");
}
contal++;

// Incrementa o contador de alunos

}while(contal <= alunos);


// Reinicializamdo o contador de alunos
contal = 1;
// Verifica se o professor deseja continuar a pesquisar outros
alunos
Console.Write("\n\t\tDeseja continuar?, Digite \"Sim\" para
prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t____________________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\n\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t____________________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Escola
}

14.10 Calcula uma expresso

Estrutura de repetio do/while aninhada em do/while. Calcula uma expresso com


base em um nmero fornecido pelo usurio da seguinte forma:
* H = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + ... + 1/N
* N ---> dever ser lido pelo usurio...
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Valor
{
/// <summary>
/// Summary description for Class1.

/// </summary>
class Somatrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Neste programa voc s ver o resultado final!",
"Analise o cdigo do programa!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int cont = 1;
double parc, // Parcela de cada frao
h = 0; // Soma de todos os membros da srie
string resposta = "sim";
// Estrutura de repetio do/while
do
{
// Solicita e l um nmero do usurio
Console.Write("\n\t\tInforme um nmero: ");
int num = Int32.Parse(Console.ReadLine());

informado

// Estrutura de repetio do/while


/* Executar o lao at que o contador seja igual ao nmero
pelo usurio */
do
{
// Efetuando um cast
parc = (double)1/cont;
h += parc;
cont++;
}while(cont <= num);
// A estrutura sempre ser executada ao menos uma vez!
// Exibe o resultado
Console.WriteLine("\n\t\tA soma dos {0} termos da srie :

{1:n}", num, h);


// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Prepara os valores para o reincio do looping
cont = 1;
h = 0;

para prosseguir: ");

// Verifica se o usurio deseja continuar


Console.Write("\n\t\tDeseja continuar?" +"\n\t\t\tDigite \"Sim\"
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "s" || resposta == "S");
// Exibe uma linha na tela
MessageBox.Show("
http://www.gupnet.com.br",
"Voc j deu uma espiadinha no site do Gup .Net hoje?",
MessageBoxButtons.OK, MessageBoxIcon.Question);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Expresso
}

Exerccios 15 Estrutura de Repetio Do /While e


outras
15.01 Soma de termos de uma srie

Estrutura de repetio do/while aninhada em do/while. Calcula a seguinte a soma


dos seguintes termos da srie:
* S = 1000/1 - 997/2 + 994/3 - 991/4 + ...
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Srie
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe a quantidade de termos da expresso!",
"Calcula o somatrio de vrios termos!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
double s = 0, // soma dos termos
n,
// nmero de parcelas
parc; // frao
int num = 1000,
den = 1,
m = 1,
cont = 1;

//
//
//
//

numerador da frao
denominador da frao
inversor de sinal
contador de parcelas

string resposta = "sim",


mensagem = "Parcela\t\t\tSoma\n\n";
// Estrutura de repetio do / while

do
{
// Solicita e l a quantidade de termos da srie
Console.Write("\n\t\tInforme a quantidade de termos: ");
n = Int32.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

parcelas

// Estrutura de repetio do while calculando a soma e as


do
{

parc = (num/den)* m;
s += parc;
m *= -1;
num -= 3;
den += 1;
mensagem += cont + " = " +
String.Format("{0:n}",parc) + "\t\t" +
String.Format("{0:n}", s) + "\n";
cont++;
}while (cont <= n);
// Exibe o resultado
MessageBox.Show(mensagem, "Calculando a soma dos termos "
+ n + " termos",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Reinicializao de Variveis
cont = 1;
s = 0;
parc = 0;
num = 1000;
den = 1;
m = 1;
mensagem = "Parcela\t\t\tSoma\n\n";
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?" + "\n\t\t\tDigite \"Sim\"
para prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}while( resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmeros
}

15.02 Pesquisa de Mercado

Estrutura de repetio do/while. Este programa efetua uma pesquisa de mercado


verificando se as pessoas gostaram ou no de um produto lanado no mercado.
Para isso, dever ser fornecido o sexo e sua resposta (sim ou no), sendo
entrevistados 200 pessoas, dever ser calculado:
* o nmero de pessoas que responderam sim.
* o nmero de pessoas que respnderam no.
* a porcentagem de pessoas do sexo feminino que responderam sim.
* a porcentagem de pessoas do sexo masculino que responderam no.

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Pesquisa
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Produto
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Verifique a situao da pesquisa", "Pesquisa de
satisfao de produto...",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
//Declarao e Inicializao de Variveis
int entrevistados,
// nmero de pessoas entrevistadas
mulheres = 0,
// nmero de mulheres entrevistadas
homens = 0,
// nmero de homens entrevistados
nsim = 0,
// nmero de pessoas que disseram sim
nnao = 0,
// nmero de pessoas que disseram no
cont = 1,
// contador de pessoas
chn = 0,
// contador de homens que disseram no
cms = 0;
// contador de mulheres que disseram sim
double phn = 0,// porcentagem de homens que disseram no
pms = 0;// porcentagem de mulheres que disseram sim
string sexo, // Sexo do entrevistado
resposta, // resposta do entrevistado quanto ao produto
resposta2 = "sim"; // resposta do usurio para continuar
a verificar a pesquisa
// Estrutura de repetio do / while
do
{
// Solicita e l a quantidade de pessoas entrevistadas
Console.Write("\n\t\tInforme a quantidade de entrevistados: ");
entrevistados = Int32.Parse( Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Estrutura de repetio do / while
do
{
// Solicita e l os dados do entrevistado
Console.Write("\n\t\tDigite os dados do {0}
entrevistado: ", cont);
Console.Write("\n\n\t\t\t\t\t\t\tSexo: ");
sexo = Console.ReadLine();
Console.Write("\n\n\t\t\t\t\t\t\tResposta: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Verifica o nmero de pessoas que disseram sim ou no
if ( resposta == "SIM" || resposta == "Sim" || resposta
== "sim" || resposta == "S" || resposta == "s")
nsim++;
else
nnao++;

feminino

// Verifica o nmero de pessoas do sexo masculino ou

if (sexo == "MASCULINO" || sexo == "Masculino" || sexo


== "masculino" || sexo == "M" || sexo == "m")
homens++;
else
mulheres++;
// Verifica o nmero de mulheres que disseram sim
if ((sexo == "FEMININO" || sexo == "Feminino" || sexo
== "feminino" || sexo == "F" || sexo == "f")&&( resposta == "SIM" || resposta == "Sim" ||
resposta == "sim" || resposta == "S" || resposta == "s"))
cms++;
// Verifica o nmero de homens que disseram no
if ((sexo == "MASCULINO" || sexo == "Masculino" || sexo
== "masculino" || sexo == "M" || sexo == "m")&&( resposta == "NO" || resposta == "No"
|| resposta == "no" || resposta == "N" || resposta == "n"))
chn++;
// Incrementa o contador de pessoas entrevistadas
cont++;
}while (cont <= entrevistados); // Fim do / while
if (mulheres > 0)
{
pms = cms * 100/mulheres;
Console.WriteLine("\n\t\tA porcentagem de mulheres que
disseram sim : {0:n} %", pms);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}
if (homens > 0)
{
phn = chn * 100/homens;
Console.WriteLine("\n\t\tA porcentagem de homens que
disseram no : {0:n} %", phn);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}
// Exibe o resultado
Console.WriteLine("\n\t\tO nmero de pessoas que disseram sim
foi de: " + nsim);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

foi de: " + nnao);

Console.WriteLine("\n\t\tO nmero de pessoas que disseram no

// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");

// Solicita e l a resposta do usurio para continuar pesquisando


Console.Write("\n\t\tDeseja continuar pesquisando?" +
"\n\t\t\tDigite \"Sim\" para prosseguir: ");
resposta2 = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Reinicializamdo as variveis para o novo lao
cont = 1;
phn = 0;
pms = 0;
mulheres = 0;
homens = 0;
nsim = 0;
nnao = 0;
chn = 0;
cms = 0;
}while(resposta2 == "SIM" || resposta2 == "Sim" || resposta2 ==
"sim" || resposta2 == "S" || resposta2 == "s");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Produtos
}

15.03 Bnus salarial

Estrutura de repetio do/while.


Clculo de bnus salarial de 3 funcionrios do seguinte modo:
* os funcionrios do sexo masculino com tempo de casa superior a 15 anos tero
direito a um bnus de 20% de seu salrio.

* as funcionrias com tempo de servio superior a 10 anos tero direito a um


bnus de 25% de seu salrio.
* os demais funcionrios tero direito a um bnus de R$ 5.000,00
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Bonus
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salarial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Verifique o seu bnus!", "Clcula o bnus salarila
de alguns funcionrios",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
string sexo;
string mensagem = "Os dados do funcionrio(a) so:\n ";
string resposta = "sim";
int c_anos, // tempo de casa do funcionrio
n_func = 3, // nmero de funcionrios
cont = 1;// contador de funcionrios
double salario, // Salrio do funcionrio
salarion = 0, // Novo salrio do funcionrio
bonus = 0,
// Bnus do funcionrio
montante = 0; // Montante total
// Estrutura de repetio do/while
do
{
do
{
// Solicita e l os dados dos funcionrios
Console.Write("\n\t\tInforme os dados do {0}
funcionrio(a): ", cont);
Console.Write("\n\n\t\t\tSexo: ");
sexo = Console.ReadLine();

Console.Write("\n\t\t\tTempo de casa: ");


c_anos = Int32.Parse(Console.ReadLine());
Console.Write("\n\t\t\tSalrio: R$ ");
salario = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Bnus salarial de 20%
if (( sexo == "MASCULINO" || sexo == "Masculino" || sexo
== "masculino" || sexo == "M" || sexo == "m")&&(c_anos > 15))
{
bonus = salario * 0.20;
salarion = salario + bonus;
mensagem = "\n\tSexo: " + String.Format("{0}",
sexo) +
"\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " + String.Format("{0:c}",
salario) +
"\n\tBnus: " + String.Format("{0:c}",
bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);

bnus salarial...",
MessageBoxIcon.Information);

MessageBox.Show(mensagem, "Calculando o
MessageBoxButtons.OK,

}
else
{ // Bnus salarial de 25%
if (( sexo == "FEMININO" || sexo == "Feminino" ||
sexo == "feminino" || sexo == "F" || sexo == "f")&&(c_anos > 10))
{
bonus = salario * 0.25;
salarion = salario + bonus;
mensagem = "\n\tSexo: " +
String.Format("{0}", sexo) +
"\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);
MessageBox.Show(mensagem, "Calculando
o bnus salarial...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
else
{ // Bnus salarial de R$ 5000,00
bonus = 5000.00;
salarion = salario + bonus;

mensagem = "\n\tSexo: " +


String.Format("{0}", sexo) +
"\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);
MessageBox.Show(mensagem, "Calculando

o bnus salarial...",

MessageBoxButtons.OK,

MessageBoxIcon.Information);
}
}

// Clculo do reajuste salarial


montante += bonus;
cont++;
}while(cont <= n_func);
// Exibe o valor total gasto com o bnus para todos os
funcionrios
Console.WriteLine("\n\t\t\t\t\tBnus total de: {0:c}", montante);
Console.WriteLine("\t\t\t\t\t\t\t____________\n");
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?, \"Sim\" para prosseguir:

");

resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Reinicializao dos valores
montante = 0;
cont = 1;
}while(resposta == "Sim" || resposta == "sim" || resposta == "SIM" ||
resposta == "S" || resposta == "s");

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Salarial
}

15.04 Menor nmero

Estrutura de repetio do/while. Verifica qual o menor nmero lido.


using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Menor
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Valor
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe um nmero!", "Verifica qual o menor valor
lido",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
double menor,
// Menor valor lido
numero;
// Nmero a ser informado pelo usurio
string resposta = "sim";
do
{

");

// Solicita e l um nmero do usurio


Console.Write("\n\t\t\tInforme um nmero, digite \"-1\" para sair:
numero = Double.Parse(Console.ReadLine());

menor = numero;
// Estrutura de repetio do/while
do
{
if (numero < menor)
menor = numero;
// Solicita e l um nmero do usurio
Console.Write("\n\t\t\tInforme um nmero, digite \"-1\"
para sair: ");
numero = Double.Parse(Console.ReadLine());
}while(numero != -1);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

menor valor",

// Exibe o menor valor lido


MessageBox.Show("O menor valor : " + menor, "Verificando o
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tVoc deseja continuar?, digite \"Sim\" para

prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Valor
}

15.05 Maior nmero dentre assinantes

Estrutura de repetio do/while. Descobre o maior nmero de impulsos por


assinantes e indica quantos assinantes atingiram este valor.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Impulsos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Telefone
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Vamos verificar seu telefone...", "Verifica a
quantidade de impulsos por assinante.",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int impulsos, // Contm o nmero de impulsos por assinante
quantos,
// contm quantos assinantes atingiram o maior
nmero de impulsos
maiorpulsos; // conter o maior nmero de impulsos
encontrados
quantos = 0;
// Solicita e l a quantidade de impulsos por assinante
Console.Write("\n\t\tInforme a quantidade de impulsos: ");
impulsos = Int32.Parse(Console.ReadLine());
maiorpulsos = impulsos;

// Supondo que o primeiro j o maior

do
{
if (impulsos > maiorpulsos)
{
maiorpulsos = impulsos;
quantos = 1;
}
else if (impulsos == maiorpulsos)

quantos++;
// Solicita e l a quantidade de impulsos por assinante
Console.Write("\n\t\tInforme a quantidade de impulsos, -1

para \"Sair\": ");

impulsos = Int32.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}while(impulsos != -1);
// Exibe o resultado
MessageBox.Show("Maior nmero de impulsos no ms: " +
maiorpulsos, "Verificando a quantidade de pulsos mensal",
MessageBoxButtons.OK, MessageBoxIcon.Information);
MessageBox.Show("Nmero de Assinantes: " + quantos, "Verificando o
nmero de assinantes",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Telefone
}

15.06 Gera uma srie Fibonacci

Estrutura de repetio do/while. Gera e imprime a srie de Fibonacci.


using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Fibonacci
{

/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmeros
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe a quantidade de termos da srie!", "Gera e
imprime a srie de Fibonacci.",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int ANT1 = 1, ANT2 = 1, ATUAL, N, CONT = 1;
string MENSAGEM = "Ant1\t\tAnt2\t\tAtual\n\n";
string RESPOSTA = "Sim";
// Estrutura de repetio do/while
do
{
Console.Write("\n\t\tInforme a quantidade de termos da srie de
Fibonacci: ");
N = Int32.Parse(Console.ReadLine());
do
{
ATUAL = ANT1 + ANT2;
MENSAGEM += String.Format("{0}",ANT1) + "\t\t" +
String.Format("{0}",ANT2) + "\t\t" +
String.Format("{0}",ATUAL) + "\n";
ANT1 = ANT2;
ANT2 = ATUAL;
CONT++;
}while(CONT <= N);

Fibonacci",

// Exibe o resultado
MessageBox.Show(MENSAGEM, "Verificando a srie de
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Reinicializao de variveis
ANT1 = 1;
ANT2 = 1;
CONT = 1;
MENSAGEM = "Ant1\t\tAnt2\t\tAtual\n\n";

prosseguir: ");

// Verifica se o usurio deseja continuar a gerar novas sries...


Console.Write("\n\t\tDeseja continuar?, digite \"Sim\" para
RESPOSTA = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
}while(RESPOSTA == "SIM" || RESPOSTA == "Sim" || RESPOSTA ==
"sim" || RESPOSTA == "S" || RESPOSTA == "s");

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Nmeros
}

15.07 - Fatorial de um nmero

Estrutura de repetio do/while... Calcula o fatorial de um nmero qualquer.


using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Fatorial
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Nmero
{
/// <summary>
/// The main entry point for the application.
/// </summary>

[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

nmero...",

// Exibe uma linha na tela


MessageBox.Show("Informe um nmero!", "Calcula o fatorial de um
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t________________________________________________________\n");
// Declarao e Inicializao de Variveis
int n, // Nmero a ser fornecido pelo usurio
cont = 1, // Contador
fat = 1; // Fatorial
string resposta = "sim";
do
{
// Solicita e l um nmero de um usurio
Console.Write("\n\t\tInforme um nmero: ");
n = Int32.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t________________________________________________________");
// Estrutura de repetio do/while
do
{
if (n == 0) // No existe fatorial de nmero negativo!
fat = 1;
else
fat *= cont;
cont++;
}while(cont <= n);
// Exibe o resultado
Console.WriteLine("\n\t\t\t\t\t\tO fatorial de {0} = {1}", n, fat);
// Reinicializao de variveis
cont = 1;
fat = 1;
// Exibe uma linha na tela
Console.WriteLine("\t\t\t\t\t\t________________________");

de um nmero qualquer
prosseguir: ");

// Verifica se o usurio deseja continuar pesquisando o fatorial


Console.Write("\n\t\tDeseja continuar?, digite \"Sim\" para
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t________________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t________________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Nmero
}

15.08 Equao do 2 gru

Estrutura de repetio do/while aninhada em do/while. Calcula a seguinte equao


do segundo grau:
* para X = 1, 2, 3, 4, ... 10
* F(X) = ( X**2 -3X -4)

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Funo
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Matemtica
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

equao...",

// Exibe uma linha na tela


MessageBox.Show("Verifique o cdigo do programa!", "Calcula uma
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int X = 1;
double F = 0, X1 = 0, X2 = 0;
do
{
F = (Math.Pow(X,2) -3*X - 4);
Console.WriteLine("\n\t\t\t\tPara X = {0} a funo F(X) = {1}",

X, F);

X++;
}while( X <= 10);
// Calculando as razes da equao
X1 = ((3)+ Math.Sqrt(Math.Pow(3,2)-4*1*-4))/2;
X2 = ((3)- Math.Sqrt(Math.Pow(3,2)-4*1*-4))/2;
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
Console.WriteLine("\n\t\t\tSuas razes so: " +
" X1 = {0}\tX2 = {1}", X1, X2 + "\n");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
}// Fim do mtodo Main
} // Fim da Classe Matemtica
}

15.09 Converso de temperaturas

Estrutura de repetio do/ while. Efetua a converso de temperatura de graus


Fahrenheit para graus Celsius.
* A frmula :
* C = 5/9 *(F - 32)
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Converso
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Temperatura
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe a temperatura!", "Converte temperaturas",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int contador = 1;
double celsius = 0, // Temperatura na escala Celsius
fahrenheit; // Temperatura na escala Fahrenheit
string mensagem = "Fahrenheit\tCelsius\n";
string resposta = "sim";

");

// Esrutura de repetio do / while


do
{
// Solicita e l a temperatura na escala Fahrenheit
Console.Write("\n\t\tInforme a temperatura em graus Fahrenheit:
fahrenheit = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________\n");
// Estrutura de repetio do while
do
{
celsius = 5 * (fahrenheit - 32)/9;
fahrenheit++;
mensagem += " " + fahrenheit + " F" + "\t\t" +
String.Format( "{0:n}", celsius) + " C\n";
MessageBox.Show(mensagem, "Convertendo

temperaturas",

MessageBoxButtons.OK,

MessageBoxIcon.Information);

contador++;
}while( contador < 50);

Console.Write("\n\t\tDeseja continuar?" +
"\n\t\t\t\t\tDigite \"Sim\" para prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________\n");
// Reinicializao de Variveis
celsius = 0;
contador = 1;
mensagem = "Fahrenheit\tCelsius\n";
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Temperatura
}

15.10 Termos de uma srie

Estrutura de repetio do / while. Calcula os termos de uma srie:


* S = 2/500 - 5/450 + 2/400 - 5/350 + ...
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Termos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Somatrio
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

expresso...",

// Exibe uma linha na tela


MessageBox.Show("Verifique o cdigo!", "Calcula os termos de uma
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
int cont = 1, // Contador de parcelas
quant,
// quantidade de termos
m = 1,
// inverte o sinal da parcela
num = 2,
// numerador da parcela (frao)
den = 500,
// denominador da parcela (frao)
aux = 0;
// auxiliar para alternar o valor do numerador
double s = 0, // efetuar o somatrio da expresso
parc; // parcela (frao)
string mensagem = " Soma = ";
// Solicita e l o nmero de parcelas da expresso
Console.Write("\n\t\tInforme a quantidade de termos da expresso: ");
quant = Int32.Parse( Console.ReadLine() );

// Estrutura de repetio do while


do
{
parc = (double)(num + aux)*m/den;//2
s = s + parc;

aux = aux * (-1) + 5;


m = m * (-1);
den = den - 50;
num = num*(-1) + 2;
// Exibe o valor de cada parcela
Console.WriteLine("\n\t\tA {0} parcela : {1}",cont, parc);
cont++;
}while( cont <= quant);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Exibe o resultado da soma
mensagem += String.Format("{0}", s) + "\n";
MessageBox.Show(mensagem, "Calculando o somatrio...",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe o valor de cada parcela
Console.WriteLine("\n\t\tA soma das {0} parcelas : {1}",cont-1, s +
"\n");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Somatrio
}

Exerccios 16 - Estrutura de Seleo Mltipla Switch e


outras
16.01 L idade e classifica categoria

Estrutura de seleo mltipla switch. Este programa l a idade de um nadador e


classifica o mesmo em uma das categorias:
* Infantil A = 5 a 7 anos
* Infantil B = 8 a 11 anos
* Juvenil A = 12 a 13 anos
* Juvenil B = 14 a 17 anos
* Adultos = Maiores de 18 anos

using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Nadador
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Categoria
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
MessageBox.Show("Verifique a categoria do nadador! ", "Classifica um
nadador em alguma categoria",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
//int idade;

// Idade de um nadador

string resposta = "sim";


// Verifica se o usurio deseja continuar a pesquisa
while ( resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s")
{

// Solicita e l a idade do nadador


Console.Write("\n\t\tInforme a idade do nadador: ");
int idade = Int32.Parse( Console.ReadLine() );
// Verifica a categoria que o nadador se enquadra
switch ( idade )
{
case 1: // Infantil A = 0 a 4 anos
case 2:
case 3:
case 4:
Console.WriteLine("\n\t\t\t\tInfantil Mirim");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;
case 5:
// Infantil A = 5 a 7 anos
case 6:
case 7:
Console.WriteLine("\n\t\t\t\tInfantil A");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;
case
case
case
case

8: // Infantil B = 8 a 11 anos
9:
10:
11:
Console.WriteLine("\n\t\t\t\tInfantil B");
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
break;
case 12: // Juvenil A = 12 a 13 anos
case 13:
Console.WriteLine("\n\t\t\t\tJuvenil A");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;
case
case
case
case

14: // Juvenil B = 14 a 17 anos


15:
16:
17:
Console.WriteLine("\n\t\t\t\tJuvenil B");
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
break;
} // Fim do switch
// Verifica Adultos = Maiores de 18 anos

if (idade >= 18)


{
Console.WriteLine("\n\t\t\t\tAdultos");
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
}
// Verifica se o usurio deseja continuar a pesquisar
Console.Write("\n\t\tDeseja continuar?" +
"\n\t\tDigite \"Sim\" para continuar: ");
resposta = Console.ReadLine();
} // Fim do while

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Categorias
}

16.02 Calcula medidas


Estrutura de seleo mltipla switch. Calcula as mdias: Aritmtica, Harmnica e
Geomtrica.

using System;
using System.Windows.Forms;
namespace Mdias
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Clculos
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)

{
// Exibe uma linha na tela
MessageBox.Show("Escolha as opes do menu!", "Calcula Mdias!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Varivies
double num1, num2, num3, // Nmeros a serem fornecidos pelo usurio
mediah = 0,
// Mdia Harmnica
mediag = 0,
// Mdia Geomtrica
mediaar = 0; // Mdia Aritmtica
char opc;

// Opo do Menu

string resposta = "sim";

// Resposta para o usurio

while (resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||


resposta == "S" || resposta == "s")
{
//Apresenta o menu ao usurio
Console.Write("\n\tQual mdia deseja calcular? " +
"\n\t\t\t1 - Mdia Harmnica" +
"\n\t\t\t2 - Mdia Geomtrica" +
"\n\t\t\t3 - Mdia Aritmtica" +
"\n\t\t\t\tDigite sua opo: ");
opc = Char.Parse( Console.ReadLine() );
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________\n");
// Estrutura de seleo mltipla switch
switch ( opc )
{
case '1': // Calcula a Mdia Harmnica
// Solicita e l os nmeros para efetuar o clculo
Console.Write("\t\tInforme o 1 nmero: ");
num1 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 2 nmero: ");
num2 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 3 nmero: ");
num3 = Double.Parse( Console.ReadLine() );
mediah = ((num1 * num2 * num3)/
((num1*num2)+(num1*num3)+(num2*num3)));
// Exibe o resultado da Mdia
MessageBox.Show("A mdia Harmnica : " +
mediah,
"Calculando a Mdia...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);

break;
case '2': // Calcula a Mdia Geomtrica
// Solicita e l os nmeros para efetuar o clculo
Console.Write("\t\tInforme o 1 nmero: ");
num1 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 2 nmero: ");
num2 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 3 nmero: ");
num3 = Double.Parse( Console.ReadLine() );
mediag = Math.Pow(num1*num2*num3,3);
// Exibe o resultado da Mdia
MessageBox.Show("A mdia Geomtrica : " +
mediag,
"Calculando a Mdia...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
case '3': // Calcula a Mdia Aritmtica
// Solicita e l os nmeros para efetuar o clculo
Console.Write("\t\tInforme o 1 nmero: ");
num1 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 2 nmero: ");
num2 = Double.Parse( Console.ReadLine() );
Console.Write("\t\tInforme o 3 nmero: ");
num3 = Double.Parse( Console.ReadLine() );
mediaar = (num1 + num2 + num3)/3;
// Exibe o resultado da Mdia
MessageBox.Show("A mdia Aritmtica : " +
mediaar,
"Calculando a Mdia...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
default:
MessageBox.Show("Opo Invlida!!!",

"Verificando sua opo...",

MessageBoxButtons.OK,
MessageBoxIcon.Error);
break;
}
// Verifica se o usurio deseja prosseguir calculando as mdias
Console.Write("\n\t\tDeseja continuar calculando as mdias?" +
"\n\t\tDigite \"Sim\" para prosseguir: ");
resposta = Console.ReadLine();

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________\n");
} // Fim do while
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de

estudos!",

MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Clculos
}

16.03 Verifica uma escolha

Estrutura de seleo composta (switch) aninhado em do / while. Verifica qual a


linguagem escolhida por um desenvolvedor.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Linguagens
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Desenvolvedor
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Informe sua linguagem de programao!",
"Aprenda .NET!!!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");

// Declarao e Inicializao de Variveis


string nome, // Nome da linguagem
resposta = "sim";
// Estrutura de repetio do/while
do
{
// Solicita e l a linguagem preferida do programador
Console.Write("\n\t\t\tInforme sua linguagem preferida: ");
nome = Console.ReadLine();
// Estrutura de seleo composta
switch( nome)
{
case "C#" :
case "c#" :
MessageBox.Show("A linguagem escolhida : "
+ nome, "tima escolha!!!",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
case
case
case
case
case
case
case
case
case
+ nome, "Excelente escolha!!!",

"VB.NET" :
"Vb.NET" :
"vb.NET" :
"VB.Net" :
"Vb.Net" :
"vb.Net" :
"VB.net" :
"Vb.net" :
"vb.net" :
MessageBox.Show("A linguagem escolhida : "
MessageBoxButtons.OK,

MessageBoxIcon.Information);
break;
case
case
case
case
case
case
+ nome, "Boa escolha!!!",

"C++.NET" :
"c++.NET" :
"C++.Net" :
"c++.Net" :
"C++.net" :
"c++.net" :
MessageBox.Show("A linguagem escolhida : "
MessageBoxButtons.OK,

MessageBoxIcon.Information);
break;
case
case
case
case
case
case
case

"DELPHI.NET" :
"Delphi.NET" :
"delphi.NET" :
"DELPHI.Net" :
"Delphi.Net" :
"delphi.Net" :
"DELPHI.net" :

case "Delphi.net" :
case "delphi.net" :
MessageBox.Show("A linguagem escolhida : "
+ nome, "Legal escolha!!!",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
case "JAVA" :
case "Java" :
case "java" :
MessageBox.Show("A linguagem escolhida : "
+ nome, "Voc ter dor de cabea!!!",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
default:
// Verifica as outras opes
MessageBox.Show("A linguagem escolhida : "
+ nome, "Conhea .NET!!!",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
break;
} // Fim do switch

prosseguir: ");

// Verifica se o usurio deseja continuar


Console.Write("\n\t\tVoc deseja continuar?, digite \"Sim\" para
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);

.NET");

Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Desenvolvedor
}

16.04 Mostra como utilizar estruturas de seleo dupla e composta

Mostrar ao usurio como utilizar estruturas de seleo dupla (if/else), composta


(switch) e estruturas de repetio como while, do/while e for.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show.
namespace Diversos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Testes
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show(" Teste de estruturas!", "Testando as estruturas
aninhadas!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t___________________________________________________________\n");
// Declarao e Inicializao de Variveis
int opc;
// Opo a ser informada pelo usurio
string mensagem = " ";
string resposta = "sim";

20" +
cubo" +

// Estrutura de repetio do/while


do
{
// Solicita e l a opo do usurio
Console.Write("\n\t\tEscolha uma opo do menu: " +
"\n\n\t\t\t1 - Efetuar a soma de nmeros mpares de 1 a
"\n\t\t\t2 - Calcula a potncia de um nmero elevado ao
"\n\t\t\t3 - Imprime 5 nmeros em cada linha" +
"\n\t\t____________________________________________________

_______\n" +
"\n\t\t\t\tQual sua opo?: ");
opc = Int32.Parse(Console.ReadLine());
// Exibe uma linha na tela

Console.WriteLine("\t\t___________________________________________________________\n");
// Estrutura de seleo composta (mltipla) switch
switch (opc)
{
case 1:
// Declarao e Inicializao de Variveis
int sum = 0;
// Estrutura de repetio for
for (int cont = 1; cont <= 99; cont += 2)
{
sum += cont;
}

"Calculando a soma",

// Exibe o resultado
MessageBox.Show("A soma : " + sum,
MessageBoxButtons.OK,

MessageBoxIcon.Information);
break;

case 2:
// Declarao e Inicializao de Variveis
double num, // Nmero a ser informado pelo
usurio
resultado = 0;

// Resultado da

potncia do nmero
// Estrutura de repetio do/while
do
{
// Solicita e l um nmero informado pelo
usurio
Console.Write("\n\t\tInforme um nmero
qualquer: ");
num = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t___________________________________________________________");
// Calcula a potncia do nmero elevado a
3
resultado = Math.Pow(num,3);
mensagem = "A potncia do nmero " +
num + " : " + String.Format("{0}", resultado);
// Exibe o resultado
MessageBox.Show(mensagem, "Calculando
a potncia", MessageBoxButtons.OK, MessageBoxIcon.Information);
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja recalcular a
potncia?, digite \"Sim\" para prosseguir: ");

resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\n\t\t___________________________________________________________");
}while(resposta == "SIM" || resposta == "Sim" ||
resposta == "sim" || resposta == "S" || resposta == "s");
break;
case 3:
// Estrutura de repetio while.
while (resposta == "SIM" || resposta == "Sim" ||
resposta == "sim" || resposta == "S" || resposta == "s")
{
// Declarao e Inicializao de Variveis
int x;
string saida = " ";

usurio
qualquer: ");

// Solicita e l o nmero informado pelo


Console.Write("\n\t\tInforme um nmero
x = Int32.Parse(Console.ReadLine());
// Exibe uma linha na tela

Console.WriteLine("\t\t___________________________________________________________");
// Estrutura de repetio for
for ( ;x <= 20; x++)
{
if ( x % 5 == 0)
// Estrutura de
seleo composta (dupla)
{
saida += x + " " + "\n";
MessageBox.Show(saida,
"Imprime os inteiros de 1 at 20", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
saida += x + " " + "\t";
MessageBox.Show(saida,
"Imprime os inteiros de 1 at 20", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
} // Fim do for
// Reinicializao de Variveis
saida = " ";
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja reimprimir?,
digite \"Sim\" para prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t\t___________________________________________________________");
} // Fim do while
break;
case 4:
// Sair do Programa
break;
default:
// Mensagem para opo incorreta
// Exibe uma linha na tela
MessageBox.Show("Opo Invlida!!!", "Tente
outra vez!",
MessageBoxButtons.OK,
MessageBoxIcon.Warning);
break;
} // Fim do switch
// Exibe uma linha na tela
Console.WriteLine("\n\t\t___________________________________________________________");
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?, digite \"Sim\" para
prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\n\t\t___________________________________________________________");
// Fim da estrutura do / while
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Hand);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t___________________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Testes
}

16.05 Testando a instruo break


Estrutura de repetio do while com for. Testando a instruo break.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace BreakTest
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class BreakTest
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

com continue!",

// Exibe uma linha na tela


MessageBox.Show("Testando a instruo continue", "Lao de repetio
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
string output = "";
string resposta = "sim";
int count;
do
{

// Estrutura de repetio do/while


for (count = 1; count <= 10; count++)
{
if (count == 5)
// Pula o cdigo restante no lao
continue;
// apenas se count == 5
output += count + " ";
} // fim do lao for
output += "\nContinua o lao, mas no imprime quando o

contador = 5";
// Exibindo a mensagem
MessageBox.Show(output, "Demonstrando a instruo break",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe uma linha na tela

MessageBox.Show("http://www.gupnet.com.br", "Visite nosso


grupo de estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran -

Plataforma .NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?, \n\t\t\tdigite \"Sim\" para
prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

// Reinicializao de Variveis
count = 1;
output = "";
}while(resposta == "SIM"|| resposta == "Sim"|| resposta == "sim"||
resposta == "S"|| resposta == "s");
} // fim do mtodo Main
} // Fim da classe ContinueTest
}

16.06 Compara nmeros


Utiliza estrutura de seleo simples (if /else), seleo composta (switch) e repetio
(while). Compara dois nmeros e verifica qual o maior, menor e se so iguais ou
diferentes.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Nmeros
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Compara
{
/// <summary>
/// The main entry point for the application.
/// </summary>

[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
MessageBox.Show("Informe os nmeros!", "Compara 2 nmeros
quaisquer!",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
double num1, num2;

// Dois nmeros a serem fornecidos pelo

usurio
char opc;
string resposta = "sim";

nmeros

// Verifica se o usurio deseja continuar a comparao entre os dois

while ( resposta == "sim" || resposta == "SIM" || resposta == "Sim" ||


resposta == "s" || resposta == "S")
{
// Solicita e l os nmeros a serem fornecidos pelo usurio
Console.Write("\n\t\tInforme o 1 nmero: ");
num1 = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme o 2 nmero: ");
num2 = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tO que voc deseja fazer?" +
"\n\t\t\t1 - Verificar o maior nmero fornecido?" +
"\n\t\t\t2 - Verificar o menor nmero fornecido?" +
"\n\t\t\t3 - Verificar se os nmeros so iguais?" +
"\n\n\t\t\t\t\tInforme sua opo: ");
opc = Char.Parse( Console.ReadLine() );
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
switch ( opc )
{
case '1': // Verifica qual o maior nmero
if (num1 > num2)
Console.WriteLine("\n\t\t\tO nmero {0}
o maior nmero!", num1);
else
Console.WriteLine("\n\t\t\tO nmero {0}

o maior nmero!", num2);


break;

case '2': // Verifica qual o menor nmero


if (num1 < num2)

Console.WriteLine("\n\t\t\tO nmero {0}


o menor nmero!", num1);
else
Console.WriteLine("\n\t\t\tO nmero {0}

o menor nmero!", num2);


break;

e {1} so iguais!!!", num1, num2);

case '3': // Verifica se os nmeros so iguais ou diferentes


if (num1 == num2)
Console.WriteLine("\n\t\t\tOs nmeros {0}
else
Console.WriteLine("\n\t\t\tOs nmeros {0}

e {1} so diferentes!!!", num1, num2);


break;
default: // Verifica as outras possveis opes
Console.WriteLine("\n\t\t\t\tOpo invlida!!!");
break;
}
Console.Write("\n\t\tVoc deseja continuar?" +
"\n\t\tDigite \"Sim\" para continuar a pesquisa: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
} // Fim do while
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da classe Compara
}

16.07 Bnus salarial


Estrutura de seleo mltipla switch. Clculo de bnus salarial de 3 funcionrios do
seguinte modo:
* os funcionrios do sexo masculino com tempo de casa superior a 15 anos tero
direito a um bnus de 20% de seu salrio.

* as funcionrias com tempo de servio superior a 10 anos tero direito a um


bnus de 25% de seu salrio.
* os demais funcionrios tero direito a um bnus de R$ 50,00
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Bonus
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Salarial
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("\tEscolha a categoria!", "Clcula o bnus salarial de
alguns funcionrios",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
string mensagem = "Os dados do funcionrio(a) so:\n ";
string resposta = "sim";
int opc;
int c_anos; // tempo de casa do funcionrio
double salario, // Salrio do funcionrio
salarion = 0, // Novo salrio do funcionrio
bonus = 0,
// Bnus do funcionrio
montantep = 0, // Montante parcial
montante = 0; // Montante total

Mulheres" +

// Estrutura de repetio do/while


do
{
// Informa o menu ao usurio
Console.Write("\t\tCalcula o bnus salarial para: " +
"\n\n\t\t\t1 - Adultos Homens" + "\n\t\t\t2 - Adultos
"\n\t\t\t3 - Outros..." + "\n\t\t\t\t\t\tDigite sua opo: ");
opc = Int32.Parse(Console.ReadLine());

// Exibe uma linha na tela


Console.WriteLine("\t\t\t\t\t\t______________________");
// Estrutura de seleo switch
switch (opc)
{
case 1:

funcionrio: ");

// Solicita e l os dados dos funcionrios


Console.Write("\n\t\tInforme os dados do

Console.Write("\n\t\t\tTempo de casa: ");


c_anos = Int32.Parse(Console.ReadLine());
Console.Write("\n\t\t\tSalrio: R$ ");
salario = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
if (c_anos > 15) // Bnus salarial de 20%
{
bonus = salario * 0.20;
salarion = salario + bonus;
mensagem = "\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);

o bnus salarial...",
MessageBoxIcon.Information);

MessageBox.Show(mensagem, "Calculando
MessageBoxButtons.OK,

// Clculo do reajuste salarial parcial


montantep += bonus;

para todos os funcionrios


de: {0:c}", montantep);

// Exibe o valor total gasto com o bnus


Console.WriteLine("\n\t\t\t\t\tBnus parcial

Console.WriteLine("\t\t\t\t\t\t\t______________\n");
}
else // Bnus de R$ 50,00
{
bonus = 50.00;
salarion = salario + bonus;
mensagem = "\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +

"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);
MessageBox.Show(mensagem, "Calculando

o bnus salarial...",

MessageBoxButtons.OK,

MessageBoxIcon.Information);

// Clculo do reajuste salarial parcial


montantep += bonus;
// Exibe o valor total gasto com o bnus

para todos os funcionrios

Console.WriteLine("\n\t\t\t\t\tBnus parcial

de: {0:c}", montantep);

Console.WriteLine("\t\t\t\t\t\t\t______________\n");
}
break;
case 2:

funcionria: ");

// Solicita e l os dados dos funcionrios


Console.Write("\n\t\tInforme os dados do
Console.Write("\n\t\t\tTempo de casa: ");
c_anos = Int32.Parse(Console.ReadLine());
Console.Write("\n\t\t\tSalrio: R$ ");
salario = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");

String.Format("{0}", c_anos) +
String.Format("{0:c}", salario) +
String.Format("{0:c}", bonus) +
String.Format("{0:c}", salarion);

if (c_anos > 10) // Bnus salarial de 25%


{
bonus = salario * 0.25;
salarion = salario + bonus;
mensagem = "\n\tTempo de Servio: " +
"\n\tSalrio: " +
"\n\tBnus: " +
"\n\tSalrio reajustado: " +

MessageBox.Show(mensagem, "Calculando
o bnus salarial...",
MessageBoxButtons.OK,
MessageBoxIcon.Information);

// Clculo do reajuste salarial parcial


montantep += bonus;

para todos os funcionrios


de: {0:c}", montantep);

// Exibe o valor total gasto com o bnus


Console.WriteLine("\n\t\t\t\t\tBnus parcial

Console.WriteLine("\t\t\t\t\t\t\t______________\n");
}
else // Bnus de R$ 50,00
{
bonus = 50.00;
salarion = salario + bonus;
mensagem = "\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);

o bnus salarial...",

MessageBox.Show(mensagem, "Calculando
MessageBoxButtons.OK,

MessageBoxIcon.Information);

// Clculo do reajuste salarial parcial


montantep += bonus;

para todos os funcionrios


de: {0:c}", montantep);

// Exibe o valor total gasto com o bnus


Console.WriteLine("\n\t\t\t\t\tBnus parcial

Console.WriteLine("\t\t\t\t\t\t\t______________\n");
}
break;
case 3: // Bnus salarial de R$ 50,00

funcionrio(a): ");

// Solicita e l os dados dos funcionrios


Console.Write("\n\t\tInforme os dados do
Console.Write("\n\t\t\tTempo de casa: ");
c_anos = Int32.Parse(Console.ReadLine());
Console.Write("\n\t\t\tSalrio: R$ ");
salario = Double.Parse(Console.ReadLine());
// Exibe uma linha na tela

Console.WriteLine("\t\t______________________________________________________");
if (c_anos <= 50)
{

bonus = 50.00;
salarion = salario + bonus;
mensagem = "\n\tTempo de Servio: " +
String.Format("{0}", c_anos) +
"\n\tSalrio: " +
String.Format("{0:c}", salario) +
"\n\tBnus: " +
String.Format("{0:c}", bonus) +
"\n\tSalrio reajustado: " +
String.Format("{0:c}", salarion);
MessageBox.Show(mensagem, "Calculando

o bnus salarial...",

MessageBoxButtons.OK,

MessageBoxIcon.Information);

// Clculo do reajuste salarial parcial


montantep += bonus;
// Exibe o valor total gasto com o bnus

para todos os funcionrios

Console.WriteLine("\n\t\t\t\t\tBnus parcial

de: {0:c}", montantep);

Console.WriteLine("\t\t\t\t\t\t\t______________\n");
}
break;

"Verificando sua opo....",

default: // Considera todas as outras opes


MessageBox.Show("Opo incorreta!",

MessageBoxButtons.OK,MessageBoxIcon.Error);
break;
} // Fim do switch

");

// Verifica se o usurio deseja continuar


Console.Write("\n\t\tDeseja continuar?, \"Sim\" para prosseguir:
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Clculo do reajuste salarial global
montante += montantep;
// Reinicializao do valor do montante parcial
montantep = 0;

}while(resposta == "Sim" || resposta == "sim" || resposta == "SIM" ||


resposta == "S" || resposta == "s");

// Exibe o valor total gasto com o bnus para todos os funcionrios


Console.WriteLine("\n\t\t\t\t\tBnus global de: {0:c}", montante);

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Salarial
}

16.08 Testando instruo break


Estrutura de repetio do while com for. Testando a instruo break.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace BreakTest
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class BreakTest
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);

com break!",

// Exibe uma linha na tela


MessageBox.Show("Testando a instruo break", "Lao de repetio
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e Inicializao de Variveis
string output = "";
string resposta = "sim";
int count;
do
{

// Estrutura de repetio do/while


for (count = 1; count <= 10; count++)
{
if (count == 5)
// Pula o cdigo restante no lao
break;
// se count == 5
output += count + " ";
} // fim do lao for
output += "\nSai do lao de repetio quanto contador = " +

count;
// Exibindo a mensagem
MessageBox.Show(output, "Demonstrando a instruo break",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso
grupo de estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran -

Plataforma .NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
// Verifica se o usurio deseja continuar
Console.Write("\n\t\tDeseja continuar?, \n\t\t\tdigite \"Sim\" para
prosseguir: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");

// Reinicializao de Variveis
count = 1;
output = "";
}while(resposta == "SIM"|| resposta == "Sim"|| resposta == "sim"||
resposta == "S"|| resposta == "s");
} // fim do mtodo Main

} // Fim da classe BreakTest


}

16.09 Clculo de reas de figuras geomtricas


Estrutura de seleo composta switch. Calcula as ares de algumas figuras
geomtricas
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Calcula
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Areas
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe uma linha na tela
MessageBox.Show("Pressione \"OK\" para prosseguir...", "Calcula rea
de algumas figuras geomtricas",
MessageBoxButtons.OK, MessageBoxIcon.Question);
Console.WriteLine("\t\t______________________________________________________\n");
// Declarao e inicializao de variveis
double area = 0;
string resposta = "sim";
// Verifica se o usurio deseja calcular mais uma vez
while (resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s")
{
// Solicita e apresenta um menu de escolha ao usurio
Console.Write("\n\t\tEscolha a sua opo abaixo: " +
"\n\n\t\t\t1 - Calcular rea do quadrado" +
"\n\t\t\t2 - Calcular rea do retngulo" +
"\n\t\t\t3 - Calcular rea da crculo" +
"\n\t\t\t4 - Calcular rea do tringulo equiltero" +
"\n\t\t\t5 - Calcular rea do cubo" +
"\n\t\t\t6 - Calcular rea do cilindro" +
"\n\t\t\t7 - Calcular rea do paralelogramo" +
"\n\t\t\t8 - Calcular rea do tringulo qualquer" +
"\n\t\t\t9 - Calcular rea do losango" +

"\n\t\t\t10 - Calcular rea do trapzio");


// Exibe uma linha na tela
Console.WriteLine("\n\t\t______________________________________________________");
Console.Write("\n\n\t\t\tInforme sua opo: ");
// L a opo que o usurio deseja calcular
int opc = Int32.Parse( Console.ReadLine());
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
// Estrutura de seleo composta switch
switch ( opc )
{
case 1: // Calcula a rea do quadrado
Console.Write("\n\t\tInforme a medida do lado do
quadrado: ");
double lado1 =
Double.Parse( Console.ReadLine() );
area = Math.Pow(lado1,2);
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do quadrado :
{0:n}", area);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;

retngulo: ");

case 2: // Calcula a rea do retngulo


Console.Write("\n\t\tInforme a medida da base do

Double.Parse( Console.ReadLine() );

double base1 =
Console.Write("\n\t\tInforme a medida da altura do

retngulo: ");
Double.Parse( Console.ReadLine() );

double altura1 =
area = (base1 * altura1)/2;
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do retngulo :

{0:n}", area);

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
break;
case 3: // Calcula a rea da crculo
Console.Write("\n\t\tInforme a medida do raio da
circunferncia: ");
double raio1 =
Double.Parse( Console.ReadLine() );
area = (3.1415 * Math.Pow(raio1,2));
// Exibe o resultado

Console.WriteLine("\n\t\tA rea do retngulo :


{0:n}", area);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;

tringulo equiltero: ");

case 4: // Calcula a rea do tringulo equiltero


Console.Write("\n\t\tInforme a medida do lado do

Double.Parse( Console.ReadLine() );

double lado2 =
area = ((Math.Pow(lado2,2))* Math.Sqrt(3.0))/4;
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do tringulo

equiltero: {0:n}", area);

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
break;
case 5: // Calcula a rea do cubo
Console.Write("\n\t\tInforme a medida do lado do
cubo: ");
double lado3 =
Double.Parse( Console.ReadLine() );
area = Math.Pow(lado3,3);
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do cubo : {0:n}",
area);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;

cilindro: ");

case 6: // Calcula a rea do cilindro


Console.Write("\n\t\tInforme a medida da altura do

Double.Parse( Console.ReadLine() );

Console.Write("\n\t\tInforme a medida do raio da

base do cilindro: ");


Double.Parse( Console.ReadLine() );

{0:n}", area);

double altura2 =

double raio2 =
area = ((2* (Math.PI)* raio2)* (altura2 + raio2));
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do cilindro :

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
break;
case 7: // Calcula a rea do paralelogramo

Console.Write("\n\t\tInforme a medida da base do


paralelogramo: ");
double base2 =
Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme a medida da altura do
paralelogramo: ");
double altura3 =
Double.Parse( Console.ReadLine() );
area = (base2 * altura3);
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do paralelogramo
: {0:n}", area);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;

tringulo: ");

case 8: // Calcula a rea de um tringulo qualquer


Console.Write("\n\t\tInforme a medida da base do

Double.Parse( Console.ReadLine() );

Console.Write("\n\t\tInforme a medida da altura do

tringulo: ");
Double.Parse( Console.ReadLine() );

{0:n}", area);

double base3 =

double altura4 =
area = (base3 * altura4)/2;
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do tringulo :

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
break;
case 9: // Calcula a rea do losango
Console.Write("\n\t\tInforme a medida da diagonal
maior: ");

menor: ");

double D = Double.Parse( Console.ReadLine() );


Console.Write("\n\t\tInforme a medida da diagonal
double d = Double.Parse( Console.ReadLine() );
area = (D * d)/2;
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do losango :

{0:n}", area);
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
break;

maior: ");

case 10: // Calcula a rea do trapzio


Console.Write("\n\t\tInforme a medida da base
double B = Double.Parse( Console.ReadLine() );

Console.Write("\n\t\tInforme a medida da base


menor: ");
double b = Double.Parse( Console.ReadLine() );
Console.Write("\n\t\tInforme a medida da altura do

trapzio: ");
Double.Parse( Console.ReadLine() );

double altura5 =
area = ((B + b)*altura5)/2;
// Exibe o resultado
Console.WriteLine("\n\t\tA rea do trapzio :

{0:n}", area);

// Exibe uma linha na tela


Console.WriteLine("\t\t______________________________________________________");
break;
default: // Verifica as outras opes
MessageBox.Show("Opo invlida, tente outra
vez!!!", "Verificando sua opo",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
break;
} // Fim do switch
// Verifica se o usurio efetuar mais um clculo
Console.Write("\n\t\tDeseja continuar calculando reas?" +
"\n\t\tDigite \"Sim\" para continuar: ");
resposta = Console.ReadLine();
// Exibe uma linha na tela
Console.WriteLine("\t\t______________________________________________________");
} // Fim do while

estudos!",

// Exibe uma linha na tela


MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");

Console.WriteLine("\t\t______________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do mtodo Main
} // Fim da classe Areas
}

16.10 Nmeros de votos por candidatos

Estrutura de seleo composta (switch). Verifica o nmero de votos por candidado


em uma eleio, e o nmero de votos brancos e nulos.
using System;
using System.Windows.Forms;
// Adicione uma referncia para MessageBox.Show
namespace Votos
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Urnas
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
// Exibe a data e hora!
Console.WriteLine("\n\t\tData: " + DateTime.Now);
// Exibe uma linha na tela
MessageBox.Show("Vote certo!", "Iniciando a votao...",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
Console.WriteLine("\t________________________________________________________________");
// Declarao e Inicializao de Variveis
int nvcand1 = 0,
// nmero de votos do candidato 1
nvcand2 = 0, // nmero de votos do candidato 2
nvcand3 = 0, // nmero de votos do candidato 3
nvbrancos = 0,
// nmero de votos em branco
nvnulos = 0, // nmero de votos nulos
neleitores = 0,
// nmero de total de eleitores que
compareceram urnas
opc; // Opo para o eleitor escolher no menu
string resposta = "sim";
string mensagem = "Opes\t\tTotal de votos\n\n";
// Estrutura de repetio do/while
do
{
// Solicita e l a opo do usurio
Console.Write("\tInforme sua opo: \n\n\t\t1 - MSDN Brasil http://www.msdnbrasil.com.br\n" +
"\t\t2 - TechNet Brasil http://www.technetbrasil.com.br\n" +
"\t\t3 - The Spoke .Net - http://br.thespoke.net\n" +
"\t\t4 - Outro site\n" + "\t\t5 - No conhece!!!\n" +
"\n\tA opo : ");

opc = Int32.Parse(Console.ReadLine());
// Estrutura de seleo mltipla
switch (opc)
{
case 1:
nvcand1++;
break;
case 2:
nvcand2++;
break;
case 3:
nvcand3++;
break;
case 4:
nvbrancos++;
break;
case 5:
nvnulos++;
break;
default:
MessageBox.Show("Opo invlida", "Verificando
sua opo", MessageBoxButtons.OK, MessageBoxIcon.Error);
break;
} // Fim do switch

prosseguir: ");

// Verifica se o usurio deseja continuar votando


Console.Write("\n\t\tDeseja continuar?, digite \"Sim\" para
resposta = Console.ReadLine();
// Exibe uma linha na tela

Console.WriteLine("\t________________________________________________________________\n");
}while(resposta == "SIM" || resposta == "Sim" || resposta == "sim" ||
resposta == "S" || resposta == "s");
// Calcula o nmero de eleitores
neleitores = nvcand1 + nvcand2 + nvcand3 + nvbrancos + nvnulos;
mensagem += "MSDN Brasil = " + "\t\t" + String.Format("{0}",
nvcand1) + "\n"
+ "TechNet Brasil = " + "\t\t" + String.Format("{0}", nvcand2) +
"\n"
+ "The Spoke .Net = " + "\t\t" + String.Format("{0}", nvcand3)
+ "\n"
+ "Outro site = " + "\t\t" + String.Format("{0}", nvbrancos) +
"\n"
+ "No conhece = " + "\t\t" + String.Format("{0}", nvnulos) +
"\n\n";

// Exibe o total de eleitores


MessageBox.Show("O nmero de eleitores : " + neleitores,
"Calculando o nmero de eleitores",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe o total de votos por candidato
MessageBox.Show(mensagem,"Calculando o total de votos por opo",
MessageBoxButtons.OK, MessageBoxIcon.Information);
// Exibe uma linha na tela
Console.WriteLine("\t________________________________________________________________\n");
// Exibe uma linha na tela
MessageBox.Show("http://www.gupnet.com.br", "Visite nosso grupo de
estudos!",
MessageBoxButtons.OK, MessageBoxIcon.Information);
Console.WriteLine("\t\t

Grupo de Usurios do Paran - Plataforma

.NET");
Console.WriteLine("\t\t\t\thttp://www.gupnet.com.br");
Console.WriteLine("\t________________________________________________________________");
// Exibe uma linha em branco na tela
Console.WriteLine();
} // Fim do Mtodo Main
} // Fim da Classe Urnas
}