15 de mai de 2011

Exercícios de algoritmos (mais)

Mais exercícios de algoritmos. Não lembro nem qual professor nem qual faculdade vi isto (e olha que só fiz uma e meia), mas parecem ser para linguagem C e/ou Pascal.
Boa diversão!

Algoritmos – mais exercícios

  1. Escrever um algoritmo que lê um vetor com 6 elementos e depois mostra cada um deles. Em seguida, conte quantos elementos tem valor negativo e escreva esta informação.


  1. Escrever um algoritmo que leia um vetor com 100 números e o mostre. A seguir, substitua todos os valores iguais a 5 por 1 e mostre novamente o vetor.

  1. Escreva um algoritmo que lê um vetor com 80 elementos e o escreve. A seguir encontre o valor do menor elemento (m) e sua posição no vetor (p) e mostre o seguinte:
    “o menor elemento é = “, m, “e sua posição é = “, p

  1. Refazer o algoritmo do exercício anterior de modo que ele também mostre o maior valor e sua posição.

  1. Escrever um algoritmo que leia um vetor com 15 elementos e o mostre. A seguir, ordene os elementos em ordem crescente e os mostre novamente.

  1. Escrever um algoritmo que lê um vetor com 20 elementos e o mostra. A seguir, troque o primeiro elemento com o último, o segundo com o penúltimo, etc., até o décimo com o décimo primeiro e mostre o vetor assim modificado.

  1. Refazer o exercício anterior, desta vez para um vetor cujo número de elementos não é conhecido com antecedência. O término da leitura do vetor deve ocorrer ao ser informado um valor -1, que não deve ser incluído no vetor

  1. Escrever um algoritmo que lê um vetor com 20 elementos e o mostra. A seguir, troque os elementos de ordem ímpar com os de ordem par imediatamente seguintes e mostre o vetor assim modificado.

  1. Refazer o exercício anterior, desta vez para um vetor cujo número de elementos não é conhecido com antecedência. O término da leitura do vetor deve ocorrer ao ser informado um valor -1, que não deve ser incluído no vetor.

  1. Escrever um algoritmo que lê um vetor com 20 elementos e o mostra. A seguir, troque o primeiro elemento com o décimo primeiro, o segundo com o décimo segundo, etc., e mostre o vetor assim modificado.

  1. Refazer o exercício anterior, desta vez para um vetor cujo número de elementos não é conhecido com antecedência. O término da leitura do vetor deve ocorrer ao ser informado um valor -1, que não deve ser incluído no vetor. Observe que é preciso tratar da possibilidade de o número de elementos do vetor ser menor do que o esperado.

  1. Escrever um algoritmo que lê um vetor com 10 elementos e um outro valor. A seguir, fazer o produto do valor pelo vetor e mostrar o vetor e seu produto.

  1. Escrever um algoritmo que lê 2 vetores com 10 elementos cada um e calcula o produto escalar entre eles, mostrando os vetores lidos e o produto calculado. O produto escalar é calculado da seguinte forma: cada valor do primeiro vetor deve ser multiplicado pelo valor do elemento correspondente do segundo vetor e os resultados devem ser somados. Por exemplo:
    u = [3, 5, 2, 6, 9, 2, 3, 4, 6, 1]
    v = [2, 1, 5, 7, 2, 4, 2, 1, 4, 3]
    então u * v = 3*2 + 5*1 + 2*5 + 6*7 + 9*2 + 2*4 + 3*2 + 4*1 +6*4 + 1*3
  2. Escrever um algoritmo que lê 2 vetores com 10 elementos cada um e os mostra. Considerando cada vetor como sendo um conjunto, crie um terceiro vetor que seja a união dos dois primeiros e o mostre.
  3. Escrever um algoritmo que lê 2 vetores com 10 elementos cada um e os mostra. Considerando cada vetor como sendo um conjunto, crie um terceiro vetor que seja a intersecção dos dois primeiros e o mostre.
  4. Escrever um algoritmo que lê 2 vetores com 10 elementos cada um e os mostra. Em seguida, crie um terceiro vetor, que seja a soma dos dois primeiros, e um quarto, que seja a diferença entre os dois primeiros, e os mostre.
  5. Refazer os três exercícios anteriores, desta vez para vetores cujo número de elementos não é conhecido com ante. O término da leitura de cada vetor deve ocorrer ao ser informado um valor -1, que não deve ser incluído no vetor.
  6. Escrever um algoritmo que lê um vetor com 6 elementos, que é o resultado da Sena, e o mostra. Em seguida ler outro vetor, também com 6 elementos, que é a aposta de um apostador. Em seguida comparar os vetores e mostrar o número de acertos do apostador.
  7. Escrever um algoritmo que lê um vetor com 20 elementos e o mostra. A seguir, retire dele todos os valores negativos e mostre o vetor resultante.
  8. Escrever um algoritmo que lê um vetor com 15 elementos e o escreve. Crie, a seguir, um segundo vetor, que contém todos os valores primos do primeiro, e mostre esse valor.
  9. Escrever um algoritmo que lê um vetor com 20 elementos e o mostra. A seguir, retire os elementos em duplicata, compactando o vetor V e mostrando o vetor compactado.
  10. Escrever um algoritmo que lê um conjunto de 30 valores e os coloca em 2 vetores conforme forme pares ou ímpares. O tamanho dos vetores é de 5 posições. Se algum vetor estiver cheio, escrevê-lo. Terminada a leitura escrever o conteúdo dos 2 vetores. Cada vetor pode ser preenchido e escrito tantas vezes quantas for necessário.
  11. Escrever um algoritmo que gera os 10 primeiros números primos acima de 100 e os armazena em um vetor. Em seguida, mostra o vetor.
  12. Escrever um algoritmo que lê um vetor com 20 elementos e o escreve. A seguir, mostre cada um dos valores distintos que aparecem no vetor, dizendo quantas vezes cada valor aparece.
  13. Escrever um algoritmo que lê uma matriz 5 por 5 e calcula as somas:
  • dos elementos da 4ª linha da matriz
  • dos elementos da 2ª coluna da matriz
  • dos elementos da diagonal principal
  • dos elementos da diagonal secundária
  • de todos os elementos da matriz.
    Mostrar todas essas somas e a matriz.

  1. Escrever um algoritmo que lê uma matriz de 10 por 10 e a escreve. A seguir, troque a 2ª linha com a 8ª linha, a 4ª coluna com a 10ª coluna, a diagonal principal com a secundária e, por fim, a 5ª linha com a 10ª coluna. Mostre a matriz assim modificada.
  2. Escrever um algoritmo que lê duas matrizes 4 por 6 e cria uma terceira matriz, que seja a soma das duas primeiras, e uma quarta, que seja a diferença entre a primeira e a segunda. Mostrar as matrizes lidas e calculadas.
  3. Escrever um algoritmo que lê uma matriz 6 por 6 e um valor, multiplicando a matriz pelo valor e colocando o resultado na própria matriz. Depois lineariza a matriz, colocando os valores contidos nela em um vetor de 36 elementos e mostra o vetor.
  4. Escrever um algoritmo que lê uma matriz 5 por 5 e cria 2 vetores de 5 elementos cada um, o primeiro contendo as somas das linhas e o segundo as somas das colunas da matriz. Mostrar a matriz e os valores criados.
  5. Escrever um algoritmo que lê uma matriz 12 por 13 e divide os 13 elementos de cada uma das 12 linhas pelo valor do maior elemento, em módulo, daquela linha. Mostrar a matriz lida e a matriz modificada.
  6. Escrever um algoritmo que lê uma matriz 8 por 8, verifica se há elementos duplicados e a mostra. Se não houver elementos duplicados, ler um número não determinado de valores e verificar para cada um deles se ele está ou não na matriz. Se estiver, encerrar a pesquisa escrevendo o valor ea mensagem “O valor x foi encontrado na posição lc”; caso contrário, mostrar o valor e a mensagem: “o valor x não está na matriz”.
  7. Escrever um algoritmo que lê uma matriz 10 por 10 e a mostra. Depois, encontra e mostra o menor da linha em que se encontra o maior valor, bem como a sua posição.
  8. Fazer um programa em C que leia 10 números e armazene num vetor. Ordene os números em ordem crescente e escreva o vetor novamente.
  9. Fazer um programa em C que leia 10 números e armazene num vetor. Leia a seguir um número a ser pesquisado no vetor e escreva a posição em que o mesmo se encontra ou uma mensagem informando que o mesmo não está no vetor.
  10. Fazer um programa em C que leia 10 números de identificação do aluno e a nota obtida para cada um dos 10 alunos, armazenando numa matriz (10x2). Ordene a matriz em ordem crescente de número de identificação e escreva juntamente com a respectiva nota. Ordene novamente em ordem decrescente de nota e escreva o número de identificação e a nota de cada aluno.
  11. Fazer um programa em C que leia 10 números de identificação do aluno e a nota obtida para cada um dos 10 alunos armazenando numa matriz. Leia a seguir um número de identificação a ser pesquisado na matriz, informando a nota do mesmo ou uma mensagem informando que o aluno não está cadastrado. Ao final do programa perguntar se deseja pesquisar novamente ou encerrar o programa.
  12. Fazer um programa em C que leia uma dezena para aposta no jogo do bicho e, de acordo com a tabela abaixo, escreva a dezena a ser apostada, o bicho e o número do grupo a quem ela pertence:
    Grupo
    Bicho
    Dezenas
    1
    Avestruz
    1, 2, 3, 4
    2
    Águia
    5, 6, 7, 8
    3
    Burro
    9, 10, 11, 12
    4
    Borboleta
    13, 14, 15, 16
    5
    Cachorro
    17, 18, 19, 20
    6
    Cabra
    21, 22, 23, 24
    7
    Carneiro
    25, 26, 27, 28
    8
    Camelo
    29, 30, 31, 32
    9
    Cobra
    33, 34, 35, 36
    10
    Coelho
    37, 38, 39, 40
    11
    Cavalo
    41, 42, 43, 44
    12
    Elefante
    45, 46, 47, 48
    13
    Galo
    49, 50, 51, 52
    14
    Gato
    53, 54, 55, 56
    15
    Jacaré
    57, 58, 59, 60
    16
    Leão
    61, 62, 63, 64
    17
    Macaco
    65, 66, 67, 68
    18
    Porco
    69, 70, 71, 72
    19
    Pavão
    73, 74, 75, 76
    20
    Peru
    77, 78, 79, 80
    21
    Touro
    81, 82, 83, 84
    22
    Tigre
    85, 86, 87, 88
    23
    Urso
    89, 90, 91, 92
    24
    Veado
    93, 94, 95, 96
    25
    Vaca
    97, 98, 99, 00
  13. Considerando a necessidade de desenvolver uma agenda que contenha nomes, endereços e telefones de 10 pessoas, defina a estrutura de registro apropriada, o diagrama de blocos e a codificação de um programa que por meio do uso de um menu de opções, execute as seguintes opções, execute as seguintes opções:
  • cadastrar os 10 registros;
  • pesquisar um dos 10 registros de cada vez pelo campo nome (usar o método sequencial);
  • classificar por ordem de nome os registros cadastrados;
  • apresentar todos os registros;
  • sair do programa de cadastro.
  1. Considerando a necessidade de um programa que armazene o nome e as notas bimestrais de 20 alunos do curso de Técnicas de Programação, defina a estrutura de registro apropriada, o diagrama de blocos e a codificação de um programa que, por meio do uso de um menu de opções, execute as seguintes etapas:
    • cadastrar os 20 registros (após o cadastro de cada nome, efetuar a classificação por nome);
    • pesquisar os 20 registros, de cada vez, pelo campo nome (usar o método binário), nesta pesquisa o programa deverá apresentar também a média do aluno e as mensagens: “Aprovado” caso a média seja maior ou igual a 5, ou “Reprovado” para média abaixo de 5.
    • Apresentar todos os registros, médias e a mensagem de aprovação ou reprovação.
    • Sair do programa de cadastro.
  1. Elaborar um programa que armazene o nome e a altura de 15 pessoas, por meio do uso de registros. O programa deverá ser manipulado por um menu que execute as seguintes etapas:
    • cadastrar os 15 registros;
    • apresentar os registros (nome e altura) das pessoas menores ou iguais a 1,5m;
    • apresentar os registros (nome e altura) das pessoas maiores ou iguais a 1,5m;
    • apresentar os registros (nome e altura) das pessoas maiores que 1,5m e menores que 2,0m;
    • apresentar todos os registros com a média extraída de todos os registros;
    • sair do programa de cadastro.
  1. Considerando os registros de 20 funcionários, contendo os campos matrícula, nome e salário, desenvolver um programa que por meio de um menu, execute as seguintes etapas:
    • cadastrar 20 empregados;
    • classificar os registros pelo número da matrícula;
    • pesquisar um determinado empregado pelo número de matrícula (usar o método binário);
    • apresentar de forma ordenada os registros dos empregados com salário acima de R$ 1000,00;
    • apresentar de forma ordenada os registros dos empregados com salário abaixo de R$ 1000,00;
    • apresentar de forma ordenada os registros dos empregados com salários iguais a R$ 1000,00;
    • sair do programa de cadastro.

Nenhum comentário: