Baixe o app para aproveitar ainda mais
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(); } } }
Compartilhar