Lista de exercícios: Algoritmos e Estrutura de Dados

Propaganda
Lista de exercícios: Algoritmos e Estrutura de Dados:
Desenvolva algoritmos que permitam implementar as tarefas descritas nos exercícios 1 a 6 (exemplos ou
adaptações de exemplos encontrados na Internet).
1. Ao ser informado a altura e o sexo de N pessoas (N < 100), que seja calculado e escrito:
1.1. a altura média das N pessoas
1.2. a maior altura encontrada.
1.3. a altura média das mulheres e a altura média dos homens.
1.4. a quantidade de homens.
2. Leia uma lista de no máximo 100 números inteiros, intercalados pelo caractere ESPAÇO (20h), carregando-os em
um vetor, com final de dados indicado pela TECLA ENTER (0Dh). Os números lidos maiores ou iguais que 256
deverão ser ignorados.
2.1. Ordene os números lidos em ordem crescente.
2.2. Informar quantos são ímpares e quantos são pares.
2.3. Apresente a média dos números ímpares maiores que 50.
3. Lei um vetor X de N elementos e que:
3.1. Crie outro vetor Y contendo os elementos de X que estão na faixa entre 10 e 40;
3.2. Crie outro vetor W contendo os números que estão nas posições pares;
3.3. Pesquise a existência de um determinado elemento Z no vetor X;
3.4. Escreva o menor e maior elemento do vetor X.
4. Leia um vetor A e um vetor B, ambos com N elementos e que intercale estes vetores A e B, formando um outro
vetor C da seguinte forma.
C[1] A[1]
C[2] B[1]
C[3] A[2]
C[4] B[2]
5. Calcule a média final (usando a ponderação da UFRN) dadas as notas das 3 avaliações e que produza uma saída
com a média e a situação do aluno de acordo com o seguinte critério:
média 7, aprovado; 5 média < 7, recuperação; média < 5, reprovado.
6. Defina a velocidade máxima permitida na passagem de um semáforo de uma avenida, leia a placa dos automóveis e
a velocidade com que cada motorista passa pelo semáforo e que calcule a multa que este motorista deverá receber,
sabendo que são pagos R$ 5,00 por cada quilômetro que o motorista ultrapassar acima da velocidade permitida, até um
limite de R$ 190,00.
7. Desenvolva um algoritmo que, determine se um determinado número N informado é primo ou não. Se sim, que
encontre e informe os dois primos antecessores de N e os dois primos sucessores de N. O algoritmo só encerra quando
for informado um número N primo.
8. Escreva um algoritmo que receba um vetor de N elementos e verifique a existência de elementos repetidos. Caso
não existam elementos repetidos retorne um “Ok”. Caso contrário, que remova as repetições dos elementos e que
retorne o número de elementos removidos.
9. Desenvolva um algoritmo que imprima os N primeiros termos da série de Fibonacci, lembrando que esta série é
definida da seguinte forma:
Termo 1 = 1
Termo 2 = 1
Termo (x +1) = termo (x) + termo (x − 1)
10. Analise o algoritmo apresentado a seguir e defina a situação dos elementos de A após sua execução, caso A = [2, 4,
1, 4, 6, 12, 21, 6, 10, 12, 23, 3]. Qual um algoritmo alternativo para igual implementação.
inteiro i, j, k, x, A[n];
início
para i de 1 até n - 1 faça
k = i;
x = A[i];
para j de i +1 até n faça
se (A[j] < x) então
k = j;
x = A[k];
fim se
fim para
A[k] = a[i];
A[i] = x;
fim para
fim
Questão de provão
Analise o algoritmo abaixo e responda:
a) O que representam os elementos do vetor Y?
b) O que define o valor final de K?
Variáveis:
Inteira: I, J, N, K
Vetor Inteiro: X, Y
Início do Programa:
N=20
I=1
Laço 1: Enquanto I for menor ou igual a N faça // Inicialização do vetor
X(I)=1 // com números 1
I=I+1
Fim do Laço 1
I=2
Laço 2: Enquanto I for menor ou igual a N faça
J=2
Laço 3: Enquanto (I*J) for menor ou igual a N faça
X(I*J)=0
J=J+1
Fim do Laço 3
I=I+1
Laço 4: Enquanto X(I) for igual a zero e I menor ou igual a N faça
I=I+1
Fim do Laço 4
Fim do Laço 2
I=1
K=1
Laço 5: Enquanto I for menor ou igual a N faça
Se X(I) for igual a 1 então faça // imprimir o valor de I // Imprimir resultados
Y(K) = I
K=K+1
Fim do Se
I=I+1
Fim do Laço 5
K=K-1
Fim do Programa
Download