Buscar

Análise e Desenvolvimento de Sistemas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Exercícios
1)Desenvolva uma sub-rotina que, dados um vetor inteiro e o seu tamanho
como parâmetros, compute e desenvolva a média dos valores do vetor.
Faça ainda um programa que declare um vetor de dados com 10 valores
aleatórios (entre o e 100) e calcule a média de seus valores utilizando a
sub-rotina que você criou.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
int[] v = new int[10];
Random rnd = new Random();
for (int i = 0; i < 10; i++)
{
v[i] = rnd.Next(0, 101);
Console.Write("{0}", v[i]);
}
Console.WriteLine(" A média dos dados é{0}");
media(v,10);
}
static double media(int[] dados, int tam)
{
double soma = 0;
for (int i = 0; i < tam; i++)
soma = soma + dados[i];
return soma / tam;
}
}
}
2)Desenvolva uma sub-rotina para a exibição de menus de opções ao
usuário com base em uma lista de strings informada como parâmetro, a
função deverá exibir e validar a escolha do usuário, retornando um
número correspondente a opção selecionada. Afim de testar a corretude
da sub-rotina, faça um programa que defina um vetor de strings com as
opções inserir, alterar, remover, e sair; invoque a sub-rotina passando-o
como argumento e escreva a opção retornada para ela.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int op;
string[] opçoes = new string[4] { " inserir", "alterar",
"remover", "sair" };
do
{
op = menu(opçoes, 4);
switch (op)
{
case 1: Console.WriteLine("Escolheu inserir");
break;
case 2: Console.WriteLine("Escolheu alterar");
break;
case 3: Console.WriteLine("Escolheu remover");
break;
}
}
while (op != 4);
}
static int menu (string[] itens, int qtde){
Console.WriteLine("Menu de Opções");
for (int i=0; i<qtde; i++)
Console.WriteLine("{0}-{1}", i+1, itens[i]);
Console.Write("opção");
int n = Convert.ToInt32(Console.ReadLine());
while ((n<=0)||(n>qtde)){
Console.Write("valor inválido! informe a opção:");
n = Convert.ToInt32(Console.ReadLine());
}
return n;
}
}
}
1)Em estática temos dois conceitos importantes relacionados a um conjunto de dados: a média
e a variância.
A média corresponde a um valor intermediário entre os dados, sendo dado por:
M= ∑^nx/n
Por sua vez, a variância faz referência ao espalhamento dos dados em relação ao valor médio e
pode ser calculado como:
O^2=∑^n(x-m)^2/n-1
Faça um programa que gere 20 valores aleatoriamente; Compute e exiba sua média e variância.
static void Main(string[] args)
{
Random Rnd = new Random();
int n = 20;
int[] x = new int[n];
//carregando os dados
for (int i = 0; i < n; i++)
x[i] = Rnd.Next(0, 101);
//Computando a média dos valores
Double soma = 0;
for (int i = 0; i < n; i++)
soma = soma + x[i];
double media = soma / n;
// variância
soma = soma + Math.Pow(x[i] - media, 2);
double variancia= soma/ (n-1);
Console.ReadKey();
}
}
}
2) O triângulo de Pascal é bastante usado em Análise combinatória e fornece a quantidade de
combinações de n elementos k.a.k
Trata-se de uma estrutura tabular com as seguintes propriedades
● Os elementos da 1° coluna é sempre iguais a 1
● Os elementos da diagonal principal são sempre iguais a 1
● O valor de um elemento interno pode ser definido a partir de dos dois valores
localizados acima dele (linha anterior, imediatamente acima a esquerda).
Ex:
1
1 1
1 2 3
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Faça um programa que, dada a altura desejada e informada pelo usuário, calcule e
exiba o triângulo de Pascal.
static void Main(string[] args)
{
int h;
Console.WriteLine("Triângulo Pascal");
Console.Write("Quantas linhas deseja construir?");
h = Convert.ToInt32(Console.ReadLine());
// triângulo de pascoal (matriz quadrada de ordem h)
int[,] tp = new int[h, h];
for (int linha = 0; linha < h; linha++) // para cada
linha...
{
for (int coluna =0; coluna <= linha ; coluna++) // cada
coluna...
{
if (coluna == 0) // se for a 1°
célula
tp[linha, coluna] = 1;
else if (coluna == linha) // se for da
diagonal principal
tp[linha, coluna] = 1;
else
{
tp[linha,coluna] = tp[linha-1,coluna] +
tp[linha-1,coluna-1];
}
}
}
for (int linha = 0; linha < h; linha++)
{
for (int coluna = 0; coluna <= linha; coluna++)
{
Console.Write("{0}", tp[linha,coluna]);
}
Console.WriteLine("");
}
Console.ReadKey();
}
}
}
Variáveis compostas
● capazes de armazenar mais do que apenas uma informação, sob o mesmo
identificador
● heterogêneas: congregam dados de tipos diferentes ex: Registros
● homogêneas: agrupam dados sempre ao mesmo tipo ex: Arranjos (Arrays) ->
vetores e matrizes
Em C#, diferentemente do que ocorre com as variáveis simples é necessário
1. declarar o arranjo
2. alocar memória para armazenamento
Sintaxe
1)Tipo [] identificador;
2)Identificador = new tipo [ tamanho];
Ex:
Double [] vetor =new Double [10];
//declara e aloca um vetor com 10
//posições para armazenar números reais
1)Faça um programa que leia as três notas de um aluno. Calcule a sua média final. Obs:
Ao invés de usar três variáveis , utilize um array.
static void Main(string[] args)
{
Double soma = 0;
Double[] notas = new Double[3];
Console.WriteLine("Calculo de média (provas)");
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Digite a{0}nota", i + 1);
notas[i] = Convert.ToDouble(Console.ReadLine());
}
for (int i = 0; i < 3; i++)
{
soma = soma + notas[i];
Console.WriteLine("A média é{0}", soma / 3);
Console.ReadKey();
}
2) Faça um programa que leia um número inteiro (dado no intervalo de o intervalo de 0
a 255) e o converta para binário.
static void Main(string[] args)
{
int[] bin = new int[8];
int num, i=0,valor;
Console.Write("Informe o número[0-255]");
num = Convert.ToInt32(Console.ReadLine());
while ((num < 0) || (num > 255))
{
Console.WriteLine("O valor {0} não é válido!", num);
Console.Write("Dê um número de 0 a 255");
num = Convert.ToInt32(Console.ReadLine());
}
valor = num;
while (valor > 0)
{
bin[i] = valor % 2;
valor = valor / 2;
i++;
}
Console.Write("O número {0} na base 10 corresponde a:",num);
for (i--; i >= 0; i--)
{
Console.Write("{0}", bin[i]);
Console.WriteLine(" na base 2");
}
Console.ReadKey();
}
}
}

Continue navegando