2
Centro de Engenharias da Mobilidade - UFSC Curso de Programação C em Ambientes Linux Professores Gian Ricardo Berkenbrock e Giovani Gracioli Lista de exercícios da aula 3  1. Implemente uma função para encontrar o maior valor entre três inteiros. Os valores devem ser recebidos como parâmetros. A função deve retornar um inteiro contendo o resultado.  2. Escreva uma função para calcular a distância entre dois pontos (x1, y1) e (x2, y2). O  protótipo da função deve ser d eclarado como: double calcular_distancia(double x1, double  x2, double y1, double y2) . Os pontos devem ser recebidos como parâmetro pela linha de comando. To dos os números e o valor de ret orno devem ser do tipo double. Dica: use a  biblioteca matemática do C (math.h).  3. Uma pessoa investe R$ “vp” em uma conta de poupança que rende juros de “t” por cento. Supondo que os juros sejam deixados na conta, escreva uma função que calcule e apresente o valor existente na conta ao final de cada ano em um período de “n” anos. Use a fórmula a seguir para determinar os valores: vf =vp 1t  n  4. Implemente um programa para calcular o fatorial de um número (N!). 5. Partindo da função que calcula o fatorial de um número, implemente um programa para calcular: S = N! / P! (N – P)! 6. Escreva um algoritmo que:  a) Declare um vetor com 10 posições (inteiros)  b) Leia as 10 posições do usuário  c) Apresente a soma de todos os valores  d) Apresente a média aritmética de todos os valores 7. Escreva um algoritmo para calcular a frequência de notas em uma pesquisa de satisfação:  a) Número de notas: 10  b) Número de opções: 1 até 5 (5 = ótimo)  c) Utilize vetores de inteiros  d) Imprima a fr eqncia final 8. Dado um vetor A de 128 elementos inteiros, verificar se existe um elemento igual a K no vetor . Se existir, imprima a posição onde foi encontrado K; se não, imprima: “Chave K não encontrada”. O vetor A e a chave K devem ser lidos da entrada. 9. Uma loja trabalha com 100 mercadori as diferentes identificada s pelos números inteiros de 1 até 100. O dono da loja possui uma tabela que indica para cada mercadoria o preço de venda e a quantidade. Escreva um programa em C para calcular o faturamento mensal da loja.  10. Existem dua s maneiras de se chamar funçõe s em C: a chamada por valor e a chamada por ref erê nci a. Normal mente , as cha ma das são fei tas por valor , ma s é possí vel simula r a chamada por referência usando os operadores de endereço e indireção. Diferencie os dois tipos de chamada e explique qual impõe maior sobrecarga de execução.

Exercícios Linguagem de programação

Embed Size (px)

DESCRIPTION

Exercícios para treinar para prova de programação

Citation preview

Page 1: Exercícios Linguagem de programação

7/17/2019 Exercícios Linguagem de programação

http://slidepdf.com/reader/full/exercicios-linguagem-de-programacao 1/2

Centro de Engenharias da Mobilidade - UFSC

Curso de Programação C em Ambientes Linux

Professores Gian i!ardo "er#enbro!# e Gio$ani Gra!ioli

Lista de exer!%!ios da aula &

 1. Implemente uma função para encontrar o maior valor entre três inteiros. Os valores devemser recebidos como parâmetros. A função deve retornar um inteiro contendo o resultado.

 2. Escreva uma função para calcular a distância entre dois pontos (x1 !1" e (x2 !2". O prot#tipo da função deve ser declarado como$ double calcular_distancia(double x1, double

 x2, double y1, double y2). Os pontos devem ser recebidos como parâmetro pela lin%a decomando. &odos os n'meros e o valor de retorno devem ser do tipo double. ica$ use a

 biblioteca matem)tica do * (math.h".

 +. ,ma pessoa investe - /vp0 em uma conta de poupança ue rende uros de /t0 por cento.3upondo ue os uros seam deixados na conta escreva uma função ue calcule e apresente

o valor existente na conta ao final de cada ano em um per4odo de /n0 anos. ,se a f#rmula ase5uir para determinar os valores$ vf =vp1t n

 6. Implemente um pro5rama para calcular o fatorial de um n'mero (78".

9. :artindo da função ue calcula o fatorial de um n'mero implemente um pro5rama paracalcular$ 3 ; 78 < :8 (7 = :"8

>. Escreva um al5oritmo ue$ a" eclare um vetor com 1? posiç@es (inteiros" b" eia as 1? posiç@es do usu)rio c" Apresente a soma de todos os valores d" Apresente a mBdia aritmBtica de todos os valores

C. Escreva um al5oritmo para calcular a freuência de notas em uma pesuisa de satisfação$ a" 7'mero de notas$ 1? b" 7'mero de opç@es$ 1 atB 9 (9 ; #timo" c" ,tiliDe vetores de inteiros d" Imprima a freuência final

. ado um vetor A de 12 elementos inteiros verificar se existe um elemento i5ual a F no

vetor. 3e existir imprima a posição onde foi encontrado FG se não imprima$ /*%ave F nãoencontrada0. O vetor A e a c%ave F devem ser lidos da entrada.

H. ,ma loa trabal%a com 1?? mercadorias diferentes identificadas pelos n'meros inteiros de 1atB 1??. O dono da loa possui uma tabela ue indica para cada mercadoria o preço de vendae a uantidade. Escreva um pro5rama em * para calcular o faturamento mensal da loa.

 1?. Existem duas maneiras de se c%amar funç@es em *$ a c%amada por valor e a c%amada por referência. 7ormalmente as c%amadas são feitas por valor mas B poss4vel simular ac%amada por referência usando os operadores de endereço e indireção. iferencie os doistipos de c%amada e expliue ual imp@e maior sobrecar5a de execução.

Page 2: Exercícios Linguagem de programação

7/17/2019 Exercícios Linguagem de programação

http://slidepdf.com/reader/full/exercicios-linguagem-de-programacao 2/2

 

11. Implemente uma função recursiva para c)lculo de exponenciação de inteiros positivos. Afunção deve ser c%amada por um pro5rama ue leia (solicite para o usu)rio" dois inteiros(ar5umentos da função" e ue informe o retorno da função. embre ue

baseexpoente

=base∗baseexpoente−1 . 7ão use funç@es da biblioteca matem)tica.

3i5a o prot#tipo$< função recursiva para calculo de exponenciação <int expo(int base, int expoente);

12. *onsiderando uma turma com 19 alunos e um vetor de double contendo as notas (cada posição do vetor refereJse a um aluno" implemente uma função para informar o n'mero dealunos aprovados em uma disciplina (a nota m4nima para aprovação B C". A função devereceber todos os dados necess)rios como parâmetros.

1+. O m)ximo divisor comum de dois inteiros x e ! B o maior inteiro ue divide x e ! sem 5erar resto. Escreva uma função recursiva mdc ue retorno o m)ximo divisor comum de x e !. O

mdc de x e ! B definido recursivamente da se5uinte forma$ se ! B i5ual a ? então mdc(x !" BxG caso contr)rio mdc(x !" B mdc(! x K !" onde K B o operador de m#dulo (ou resto dadivisão".

 16. 3istema de reservas de passa5ens aBreas$ a" Escreva um pro5rama ue atribuir) assentos em cada voo do 'nico avião de uma

compan%ia aBrea (capacidade de 1? assentos". b" Lenu de alternativas$

• Mavor di5itar 1 para primeira classe

• Mavor di5itar 2 para econNmica

 c" :rimeira classe$ assentos de 1 atB 9 d" EconNmica$ assentos de > atB 1? e" Ap#s a reserva imprima na tela um bil%ete contendo$ classe e n'mero do assento

reservado f" Inicie o vetor com valores ? (livres". Assento reservado valor ; 1. Assentos devem ser 

reservado apenas 1 veD 5" uando uma classe estiver c%eia su5ira ao cliente va5a na outra classe %" *aso aceite efetue a reserva i" *aso recuse informe ue o pr#ximo voo sair) em + %oras

19. ada uma matriD /mat0 de 6 x 9 elementos desenvolva um al5oritmo para somar os

elementos de cada lin%a 5erando um vetor onde cada posição do vetor corresponde a umalin%a da matriD (vetor /vet0". Em se5uida percorra o vetor /vet0 calculando a soma total e amBdia aritmBtica dos valores.

1>. Escreva um pro5rama em * ue leia duas matriDes (double" de dimens@es 2 x 6 calcule eimprima a soma das matriDes.