Beruflich Dokumente
Kultur Dokumente
2.
Escreva um subprograma capaz de calcular a rea de qualquer figura geomtrica do tipo circunferncia.
Lembre-se:
x n en.ln( x )
3.
4.
Escreva um subprograma capaz de trocar o contedo de 2 variveis inteiras passadas como parmetro. Dica:
use passagem de parmetros POR REFERNCIA.
5.
Modifique o exerccio que calcula a mdia de trs nmeros para que seja calculada a mdia aritmtica de um
vetor inteiro passado como parmetro. Dica: passe tambm como parmetro a quantidade de elementos a
serem considerados.
6.
Faa um subprograma que calcule o seno de um nmero passado como parmetro. Use o algoritmo
representado no exerccio 1 dos desafios da Lista de Exerccios 2.
7.
Escrever um subprograma que receba como parmetro uma string de at 80 caracteres e a devolva ordenada
em ordem ascendente. Use passagem de parmetro por referncia.
8.
Escreva um subprograma que, recebendo duas strings como parmetro, seja capaz de verificar se a primeira
existe dentro da segunda.
9.
Nmeros palndromos so aqueles que escritos da direita para a esquerda tm o mesmo valor. Ex. 929, 545,
97379. Escrever um subprograma que, recebendo um nmero inteiro como parmetro, retorne o mesmo escrito
ao contrrio.
10. Usando o subprograma que calcula nmeros invertidos, escrever um programa que calcule todos os palndromos
entre 1 e 1000.
11. Escrever um subprograma que retorne se uma palavra existe ou no dentro de um vetor de 1000 posies de
strings de tamanho 30. Aplique o mtodo de busca binria, considerando que este vetor est ordenado pelo valor
das strings.
12. Escrever um subprograma que ordene o vetor de strings do exerccio nmero 7. Use qualquer algoritmo que
voc tenha conhecimento ("Bubble", Seleao, etc.).
13. Escrever um subprograma que, recebendo como parmetros uma matriz (por referncia) e um inteiro (por valor),
multiplique a matriz pelo inteiro.
14. Escrever um subprograma capaz de multiplicar duas matrizes A e B, passadas por referncia.
15. Escreva um subprograma que devolva o valor numrico 1 (um) caso uma matriz passada como parmetro seja
simtrica e 0 (zero) caso contrrio. Os parmetros devem incluir as dimenses da matriz.
16. escreva um subprograma capaz de calcular a rea de uma figura geomtrica do tipo Circunferncia, Tringulo
ou uma figura de 4 lados (quadrado, trapzio, paralelogramo). As frmulas para clculo das reas so as que
seguem:
Implemente o algoritmo do QuickSort, que usa subprogramas e recurso. Compare-o aos outros algoritmos que
voc conhece de ordenao ("Bubble-sort" ou bolha, seleo, intercalao) em relao ao nmero de
operaes de troca efetuadas.
2.
Implemente o algoritmo de classificao por Intercalao Mltipla (Tremblay, pg. 155) usando os conceitos de
subprogramas.
3.
4.
5.
Os ns do grafo, apresentado abaixo, representam cidades, e os arcos, a presena de uma estrada ligando
estas duas cidades. Os nmeros ao lado dos arcos representam a distncia medida em quilmetros:
180
2
100
4
101
200
40
45
15
120
90
Pode-se representar este grafo atravs de uma varivel composta bidimensional (uma matriz) D, na qual a existncia
de conexo entre duas cidades i,j indicada pelo elemento D[i,j] diferente de 0. Assim:
1
1
0 100 15
2 100 0
40 180 200 0
15 40
0 180 45
0 101
0 200 90
0 120
45 90
Matriz de Distncias D
0 101 120 0
O problema todo consiste, ento, em se descobrir qual o menor caminho entre duas cidades quaisquer. Este
problema foi resolvido pelo matemtico Dijkstra em 1971 e tem aplicaes marcantes em diversos problemas de
otimizao, como planejamento de vo, linhas de nibus, percursos de trens de carga, colocao de semforos etc.
Pesquise e implemente o algoritmo de Dijkstra para a soluo deste problema.