Escolar Documentos
Profissional Documentos
Cultura Documentos
produto e a diviso deles. Dever ainda, caso alguma operao possa correr mal, devolver
false,
caso contrrio dever devolver true.*/
public static bool Calculadora(int valorOne, int valorTwo, out int soma,
out int sub, out int mut, out int divi, out int resto)
{
bool verdade = true;
soma = valorOne + valorTwo;
sub = valorOne - valorTwo;
mut = valorOne * valorTwo;
if (valorTwo == 0)
{
verdade = false;
divi = 0;
resto = 0;
}
else
{
divi = valorOne / valorTwo;
resto = valorOne % valorTwo;
}
return verdade;
}
/*Defina o mtodo MultiplicaMultiplosN que, numa sequncia de 0 a 100, calcu
la o
produto dos 4 primeiros valores que sejam mltiplos de N. Por exemplo, no caso em
que N=7,
i.e., MultiplicaMultiplosN(7), dever devolver o produto dos 4 primeiros valores e
ntre 0 e 100 que
sejam mltiplos de 7*/
public static int MultiplicaMultiplosN(int a)
{
int cont=0;
int resultado = 1;
for (int i = 1; i <= 100; i++)
{
if (i % a == 0 && cont < 4)
{
resultado = resultado * i;
cont++;
}
}
return resultado;
}
/*Defina um mtodo ValidaNumero que, ao receber um valor numrico em formato
de
texto, verifica se esse valor se encontra numa determinada gama de valores. Caso
se verifique,
devolve verdade e esse valor numrico. Caso contrrio, devolve falso.*/
public static bool ValidaNumero(string a, out int valorNumerico)
{
int result;
bool verdade = false;
valorNumerico=0;
bool teste=int.TryParse(a, out result);
if (teste == true)
{
verdade = true;
valorNumerico = result;
}
return verdade;
}
/*Defina o mtodo GetDateValues que, dado o valor de uma data, devolve os
valores
do Dia, Ms e Ano. Dever ainda verificar se o ano bissexto ou no. O algoritmo da frmu
la de
clculo de um ano bissexto pode ser representado por:*/
public static bool GetDateValues(DateTime a, out int dia, out int mes, o
ut int ano)
{
dia = a.Day;
mes = a.Month;
ano = a.Year;
bool bissexto=false;
if(a.Year%400==0)
{
bissexto=true;
}
if (a.Year % 4 == 0 && a.Year % 100 != 0)
{
bissexto = true;
}
else
{
bissexto = false;
}
return bissexto;
}
/* Defina o mtodo de instncia CalcOper que, dados dois valores e um operad
or,
devolve: i) o resultado do clculo da operao sobre os valores de entrada e ii) Verda
deiro ou
Falso consoante a operao se realizou bem ou no. Deve contemplar pelo menos as 4
operaes bsicas (+, -, *, /). Exemplos:*/
public static bool CalcOper(double a, double b, char op, out double tota
l)
{
bool verdade = false;
total = 0;
if (op == '+')
{
total = a + b;
verdade = true;
return verdade;
}
if (op == '-')
{
total = a - b;
verdade = true;
return verdade;
}
if (op == '*')
{
total = a * b;
verdade = true;
return verdade;
}
if (op == '/')
{
if (b == 0)
{
total = 0;
verdade = false;
return verdade;
}
else
{
total = a / b;
verdade = true;
return verdade;
}
}
if (op == '%')
{
if (b == 0)
{
total = 0;
verdade = false;
return verdade;
}
else
{
total = a % b;
verdade = true;
return verdade;
}
}
return verdade;
}
/*Defina o mtodo de instncia GetAllValues que, dado um texto e um array de
strings
(so indiferentes maisculas e minsculas), realiza as seguintes operaes:
{
break;
}
if (j == a.Length - 1)
{
posicoes++;
}
}
}
int[] final = new int[posicoes];// definido o tamanho do array fazen
do a contagem dos valores diferentes
int pos = 0;
for (int i = 0; i < a.Length; i++)
{
for (int j = 0; j < b.Length; j++)
{
if (a[i] == b[j])
{
break;
}
if (j == b.Length - 1)
{
final[pos] = a[i];
pos++;
}
}
}
for (int i = 0; i < b.Length; i++)
{
for (int j = 0; j < a.Length; j++)
{
if (b[i] == a[j])
{
break;
}
if (j == a.Length - 1)
{
final[pos] = b[i];
pos++;
}
}
}
return final;
}
/*Descubra a forma de implementar, e implemente, um mtodo capaz de devolv
er o maior dos
parmetros inseridos: Exemplos:*/
public static int Max(params int[] a)
{
int aux = int.MinValue;
return devolve;
}
/*Defina o mtodo de instncia SomaSoPositivos que, dado um array de valores numrico
s, devolva
a soma apenas dos que so positivos.*/
public static int SomaSoPositivos(int[] dado)
{
int soma = 0;
for (int i = 0; i < dado.Length; i++)
{
if (dado[i] > 0)
{
soma = soma + dado[i];
}
}
return soma;
}
/*Defina o mtodo instncia GetYearDate que verifica se uma data vlida ou no. Caso sej
a vlida
e corresponda a um ano Bissexto, devolve tambm o ano dessa data. Caso contrrio dev
olve o
ano -1 .*/
public static bool GetYearDate(string a, out int ano)
{
bool bissexto = false;
ano = -1;
DateTime testado;
bool teste = DateTime.TryParse(a, out testado);
if (teste == true)
{
if (testado.Year % 400 == 0)
{
bissexto = true;
ano = testado.Year;
}
if (testado.Year % 4 == 0 && testado.Year % 100 != 0)
{
bissexto = true;
ano = testado.Year;
}
}
return bissexto;
}
}
novo = new int[cont];
cont = 0;
//meteos numa array nova
for (int i = 0; i < one.Length - 1; i++)
{
if (one[i] == one[i + 1])
numero = one[i];
if (i == one.Length - 2 && (one.Length - 1 != one.Length - 2) ||
one[i] != one[i + 1])
{
if (one[i] != one[i + 1])
{
novo[cont] = one[i];
cont++;
}
if (i == one.Length - 2 && (one.Length - 1 != one.Length - 2
))
{
novo[cont] = one[i + 1];
cont++;
continue;
}
}
if (numero == one[i] && i == one.Length - 2)
{
novo[cont] = one[i];
break;
}
}
int t;
for (int i = 0; i < novo.Length; i++)
{
for (int y = i; y < novo.Length; y++)
{
if (novo[i] > novo[y])
{
t = novo[i];
novo[i] = novo[y];
novo[y] = t;
}
}
}
return novo;
}
/*Desenvolva um projeto TesteG2 no qual implemente o mtodo Executa de tal
forma que:
a) Dado um conjunto de trs parmetros (Executa (p1, p2, p3)), o mtodo consegue d
evolver os
seguintes resultados:
? Caso p2 seja o smbolo * , executa a multiplicao dos restantes parmetros
? Caso p2 seja o smbolo > devolve o maior entre o primeiro e o terceiro parmetro
? Caso p2 seja o smbolo ^ executa a potncia do primeiro levantado ao terceiro pa
rmetro (p1 p3)
? Caso p2 seja o smbolo U concatena o primeiro ao terceiro parmetro. Por exemplo
, as instrues
seguintes dariam como resultados:*/
public static double Executa(string p1, string p2, string p3, out bool f
inal, out string uni)
{
int tot=0;
int pp1;
int pp3;
double oj;
uni = "";
final = false;
bool dasd=int.TryParse(p1,out pp1);
bool dasd1 = int.TryParse(p3, out pp3);
if (p2 == "*" && dasd == true && dasd1 == true)
{
final = true;
return tot = pp1 * pp3;
}
else
{
tot = 0;
final = false;
}
if (p2 == ">" && dasd == true && dasd1 == true)
{
if (pp1 > pp3)
{
final = true;
return pp1;
}
else
{
final = true;
return pp3;
}
}
{
final = true;
oj=Math.Pow(pp1, pp3);
return oj;
}
if (p2 == "U")
{
final = true;
uni = p1 + p3;
}
return tot;
}