Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Atividades de programação - listac07, Notas de estudo de Engenharia de Telecomunicações

atividades de programação(entrada e saida atéstructs)

Tipologia: Notas de estudo

2016

Compartilhado em 29/04/2016

simao-carlos-12
simao-carlos-12 🇧🇷

4.6

(33)

36 documentos

1 / 7

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Universidade Federal de Uberlˆ
andia - UFU
Faculdade de Computac¸ ˜
ao - FACOM
Lista de exerc´
ıcios de programac¸ ˜
ao em linguagem C
Exerc´ıcios: Func¸ ˜
oes
1. Crie uma func¸ ˜
ao que recebe como parˆ
ametro um n´
umero inteiro e devolve o seu dobro.
2. Fac¸a uma func¸ ˜
ao que receba a data atual (dia, mˆ
es e ano em inteiro) e exiba-a na tela
no formato textual por extenso. Exemplo: Data: 01/01/2000, Imprimir: 1 de janeiro de
2000.
3. Fac¸a uma func¸ ˜
ao para verificar se um n´
umero ´
e positivo ou negativo. Sendo que o valor
de retorno ser ´
a 1 se positivo, -1 se negativo e 0 se for igual a 0.
4. Fac¸a uma func¸ ˜
ao para verificar se um n´
umero ´
e um quadrado perfeito. Um quadrado
perfeito ´
e um n´
umero inteiro n˜
ao negativo que pode ser expresso como o quadrado de
outro n´
umero inteiro. Ex: 1, 4, 9...
5. Fac¸a uma func¸ ˜
ao e um programa de teste para o c´
alculo do volume de uma esfera.
Sendo que o raio ´
e passado por parˆ
ametro.
V= 4/3πR3
6. Fac¸a uma func¸ ˜
ao que receba 3 n´
umeros inteiros como parˆ
ametro, representando horas,
minutos e segundos, e os converta em segundos.
7. Fac¸a uma func¸ ˜
ao que receba uma temperatura em graus Celsius e retorne-a convertida
em graus Fahrenheit. A f´
ormula de convers˜
ao ´
e: F=C(9.0/5.0) + 32.0, sendo Fa
temperatura em Fahrenheit e Ca temperatura em Celsius.
8. Sejam aebos catetos de um tri ˆ
angulo, onde a hipotenusa ´
e obtida pela equac¸ ˜
ao:
hipotenusa =a2+b2. Fac¸ a uma func¸ ˜
ao que receba os valores de aebe calcule o
valor da hipotenusa atrav´
es da equac¸ ˜
ao.
9. Fac¸a umam func¸ ˜
ao que receba a altura e o raio de um cilindro circular e retorne o volume
do cilindro. O volume de um cilindro circular ´
e calculado por meio da seguinte f´
ormula:
V=πraio2altura, onde π= 3.141592.
10. Fac¸a uma func¸ ˜
ao que receba dois n´
umeros e retorne qual deles ´
e o maior.
11. Elabore uma func¸ ˜
ao que receba trˆ
es notas de um aluno como parˆ
ametros e uma letra.
Se a letra for A, a func¸ ˜
ao dever´
a calcular a m´
edia aritm ´
etica das notas do aluno; se for P,
dever´
a calcular a m´
edia ponderada, com pesos 5, 3 e 2.
12. Escreva uma func¸ ˜
ao que receba um n´
umero inteiro maior do que zero e retorne a soma
de todos os seus algarismos. Por exemplo, ao n ´
umero 251 corresponder´
a o valor 8 (2
+ 5 + 1). Se o n ´
umero lido n˜
ao for maior do que zero, o programa terminar´
a com a
mensagem “N´
umero inv´
alido”.
13. Fac¸a uma func¸ ˜
ao que receba dois valores num´
ericos e um s´
ımbolo. Este s´
ımbolo repre-
sentar´
a a operac¸ ˜
ao que se deseja efetuar com os n´
umeros. Se o s´
ımbolo for +dever´
a
ser realizada uma adic¸ ˜
ao, se for uma subtrac¸ ˜
ao, se for /uma divis˜
ao e se for ser´
a
efetuada uma multiplicac¸ ˜
ao.
1
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Atividades de programação - listac07 e outras Notas de estudo em PDF para Engenharia de Telecomunicações, somente na Docsity!

Universidade Federal de Uberl ˆandia - UFU Faculdade de Computac¸ ˜ao - FACOM Lista de exerc´ıcios de programac¸ ˜ao em linguagem C

Exerc´ıcios: Func¸ ˜oes

  1. Crie uma func¸ ˜ao que recebe como par ˆametro um n ´umero inteiro e devolve o seu dobro.
  2. Fac¸a uma func¸ ˜ao que receba a data atual (dia, m ˆes e ano em inteiro) e exiba-a na tela no formato textual por extenso. Exemplo: Data: 01/01/2000, Imprimir: 1 de janeiro de
  3. Fac¸a uma func¸ ˜ao para verificar se um n ´umero ´e positivo ou negativo. Sendo que o valor de retorno ser ´a 1 se positivo, -1 se negativo e 0 se for igual a 0.
  4. Fac¸a uma func¸ ˜ao para verificar se um n ´umero ´e um quadrado perfeito. Um quadrado perfeito ´e um n ´umero inteiro n ˜ao negativo que pode ser expresso como o quadrado de outro n ´umero inteiro. Ex: 1, 4, 9...
  5. Fac¸a uma func¸ ˜ao e um programa de teste para o c ´alculo do volume de uma esfera. Sendo que o raio ´e passado por par ˆametro. V = 4/ 3 ∗ π ∗ R^3
  6. Fac¸a uma func¸ ˜ao que receba 3 n ´umeros inteiros como par ˆametro, representando horas, minutos e segundos, e os converta em segundos.
  7. Fac¸a uma func¸ ˜ao que receba uma temperatura em graus Celsius e retorne-a convertida em graus Fahrenheit. A f ´ormula de convers ˜ao ´e: F = C ∗ (9. 0 / 5 .0) + 32. 0 , sendo F a temperatura em Fahrenheit e C a temperatura em Celsius.
  8. Sejam a e b os catetos de um tri ˆangulo, onde a hipotenusa ´e obtida pela equac¸ ˜ao: hipotenusa =

a^2 + b^2. Fac¸a uma func¸ ˜ao que receba os valores de a e b e calcule o valor da hipotenusa atrav ´es da equac¸ ˜ao.

  1. Fac¸a umam func¸ ˜ao que receba a altura e o raio de um cilindro circular e retorne o volume do cilindro. O volume de um cilindro circular ´e calculado por meio da seguinte f ´ormula: V = π ∗ raio^2 ∗ altura, onde π = 3. 141592.
  2. Fac¸a uma func¸ ˜ao que receba dois n ´umeros e retorne qual deles ´e o maior.
  3. Elabore uma func¸ ˜ao que receba tr ˆes notas de um aluno como par ˆametros e uma letra. Se a letra for A, a func¸ ˜ao dever ´a calcular a m ´edia aritm ´etica das notas do aluno; se for P, dever ´a calcular a m ´edia ponderada, com pesos 5, 3 e 2.
  4. Escreva uma func¸ ˜ao que receba um n ´umero inteiro maior do que zero e retorne a soma de todos os seus algarismos. Por exemplo, ao n ´umero 251 corresponder ´a o valor 8 (
  • 5 + 1). Se o n ´umero lido n ˜ao for maior do que zero, o programa terminar ´a com a mensagem “N ´umero inv ´alido”.
  1. Fac¸a uma func¸ ˜ao que receba dois valores num ´ericos e um s´ımbolo. Este s´ımbolo repre- sentar ´a a operac¸ ˜ao que se deseja efetuar com os n ´umeros. Se o s´ımbolo for + dever ´a ser realizada uma adic¸ ˜ao, se for − uma subtrac¸ ˜ao, se for / uma divis ˜ao e se for ∗ ser ´a efetuada uma multiplicac¸ ˜ao.

CONSUMO (Km/l) MENSAGEM menor que 8 Venda o carro! entre 8 e 14 Econ ˆomico! maior que 12 Super econ ˆomico!

  1. Fac¸a uma func¸ ˜ao que receba a dist ˆancia em Km e a quantidade de litros de gasolina consumidos por um carro em um percurso, calcule o consumo em Km/l e escreva uma mensagem de acordo com a tabela abaixo:
  2. Crie um programa que receba tr ˆes valores (obrigatoriamente maiores que zero), repre- sentando as medidas dos tr ˆes lados de um tri ˆangulo. Elabore func¸ ˜oes para:

(a) Determinar se eles lados formam um tri ˆangulo, sabendo que:

  • O comprimento de cada lado de um tri ˆangulo ´e menor do que a soma dos outros dois lados. (b) Determinar e mostrar o tipo de tri ˆangulo, caso as medidas formem um tri ˆangulo. Sendo que:
  • Chama-se equil ´atero o tri ˆangulo que tem tr ˆes lados iguais.
  • Denominam-se is ´osceles o tri ˆangulo que tem o comprimento de dois lados iguais.
  • Recebe o nome de escaleno o tri ˆangulo que tem os tr ˆes lados diferentes.
  1. Fac¸a uma func¸ ˜ao chamada DesenhaLinha. Ele deve desenhar uma linha na tela usando v ´arios s´ımbolos de igual (Ex: ========). A func¸ ˜ao recebe por par ˆametro quantos sinais de igual ser ˜ao mostrados.
  2. Fac¸a uma func¸ ˜ao que receba dois n ´umeros inteiros positivos por par ˆametro e retorne a soma dos N n ´umeros inteiros existentes entre eles.
  3. Fac¸a uma func¸ ˜ao que receba por par ˆametro dois valores X e Z. Calcule e retorne o resultado de XZ^ para o programa principal. Atenc¸ ˜ao n ˜ao utilize nenhuma func¸ ˜ao pronta de exponenciac¸ ˜ao.
  4. Fac¸a uma func¸ ˜ao que retorne o maior fator primo de um n ´umero.
  5. Fac¸a um algoritmo que receba um n ´umero inteiro positivo n e calcule o seu fatorial, n!.
  6. Escreva uma func¸ ˜ao para determinar a quantidade de n ´umeros primos abaixo N.
  7. Crie uma func¸ ˜ao que receba como par ˆametro um valor inteiro e gere como sa´ıda n linhas com pontos de exclamac¸ ˜ao, conforme o exemplo abaixo (para n = 5): ! !! !!! !!!! !!!!!
  8. Escreva uma func¸ ˜ao que gera um tri ˆangulo lateral de altura 2*n-1 e n largura. Por exem- plo, a sa´ıda para n = 4 seria:

cosh x =

n= x^2 n (2n)! = 1 +^

x^2 2! +^

x^4 4! +^...^ para todo^ x

onde x e o valor do ˆ´ angulo em radianos. Considerar π = 3. 141593 e n variando de 0 at ´e 5.

  1. Fac¸a uma func¸ ˜ao para calcular o n ´umero neperiano usando uma s ´erie. A func¸ ˜ao deve ter como par ˆametro o n ´umero de termos que ser ˜ao somados (note que, quanto maior o n ´umero, mais pr ´oxima a resposta estar ´a do valor e).

` =

n=

1 n! =^

1 0! +^

1 1! +^

1 2! +^

1 3! +^

1 4! +^...

  1. Fac¸a uma func¸ ˜ao chamada ‘simplifica’ que recebe como par ˆametro o numerador e o de- nominador de uma frac¸ ˜ao. Esta func¸ ˜ao deve simplificar a frac¸ ˜ao recebida dividindo o numerador e o denominador pelo maior fator poss´ıvel. Por exemplo, a frac¸ ˜ao 36/60 sim- plifica para 3/5 dividindo o numerador e o denominador por 12. A func¸ ˜ao deve modificar as vari ´aveis passadas como par ˆametro.
  2. Fac¸a uma func¸ ˜ao que receba um n ´umero N e retorne a soma dos algarismos de N!. Ex: se N = 4, N! = 24. Logo, a soma de seus algarismos ´e 2 + 4 = 6.
  3. Fac¸a uma func¸ ˜ao n ˜ao-recursiva que receba um n ´umero inteiro positivo impar N e retorne o fatorial duplo desse n ´umero. O fatorial duplo ´e definido como o produto de todos os n ´umeros naturais ´ımpares de 1 at ´e algum n ´umero natural ´ımpar N. Assim, o fatorial duplo de 5 ´e: 5!! = 1 * 3 * 5 = 15
  4. Fac¸a uma func¸ ˜ao n ˜ao-recursiva que receba um n ´umero inteiro positivo n e retorne o fa- torial qu ´adruplo desse n ´umero. O fatorial qu ´adruplo de um n ´umero n e dado por:´

(2n)! n!

  1. Fac¸a uma func¸ ˜ao n ˜ao-recursiva que receba um n ´umero inteiro positivo N e retorne o superfatorial desse n ´umero. O superfatorial de um n ´umero N ´e definida pelo produto dos N primeiros fatoriais de N. Assim, o superfatorial de 4 ´e sf(4) = 1! * 2! * 3! * 4! = 288.
  2. Fac¸a uma func¸ ˜ao n ˜ao-recursiva que receba um n ´umero inteiro positivo n e retorne o hi- perfatorial desse n ´umero. O hiperfatorial de um n ´umero n, escrito H(n), ´e definido por:

H(n) =

∏n k=1 k

k (^) = 1 (^1) · 22 · 33... (n − 1)n− (^1) · nn

  1. Fac¸a uma func¸ ˜ao n ˜ao-recursiva que receba um n ´umero inteiro positivo n e retorne o fa- torial exponencial desse n ´umero. Um fatorial exponencial ´e um inteiro positivo n elevado a pot ˆencia de n − 1 , que por sua vez ´e elevadoa pot ˆencia de n − 2 e assim em diante. Ou seja:

n(n−1)

(n−2)...

  1. Fac¸a uma func¸ ˜ao ‘Troque’, que recebe duas vari ´aveis reais A e B e troca o valor delas (i.e., A recebe o valor de B e B recebe o valor de A).
  2. Fac¸a uma func¸ ˜ao que receba um vetor de inteiros e retorne quantos valores pares ele possui.
  1. Fac¸a uma func¸ ˜ao que receba um vetor de inteiros e retorne o maior valor.
  2. Fac¸a uma func¸ ˜ao que receba um vetor de reais e retorne a m ´edia dele.
  3. Fac¸a uma func¸ ˜ao que receba um vetor de inteiros e o preencha com n ´umeros aleat ´orios sem repetic¸ ˜ao.
  4. Fac¸a uma func¸ ˜ao que receba como par ˆametro um vetor X de 30 elementos inteiros e retorne, tamb ´em por par ˆametro, dois vetores A e B. O vetor A deve conter os elementos pares de X e o vetor B, os elementos ´ımpares.
  5. Fac¸a uma func¸ ˜ao que calcule o desvio padr ˜ao de um vetor v contendo n n ´umeros

Desvio Padr ˜ao:

1 n− 1

∑n i=1(v[i]^ −^ m)^2

onde m e a media do vetor.´

  1. Crie um programa contendo as seguintes func¸ ˜oes que recebem um vetor V n ´umeros re- ais como par ˆametro:
    • Impress ˜ao normal do vetor.
    • Impress ˜ao inversa.
    • Func¸ ˜ao que retorna a m ´edia aritm ´etica dos elementos do vetor.
  2. Fac¸a uma func¸ ˜ao que receba uma matriz 4 x 4 e retorne quantos valores maiores do que 10 ela possui.
  3. Fac¸a uma func¸ ˜ao que receba uma matriz de 3 x 3 elementos. Calcule a soma dos elementos que est ˜ao acima da diagonal principal.
  4. Fac¸a uma func¸ ˜ao que receba uma matriz de 3 x 3 elementos. Calcule e retorne a soma dos elementos que est ˜ao abaixo da diagonal principal.
  5. Fac¸a uma func¸ ˜ao que receba uma matriz de 3 x 3 elementos. Calcule e retorne a soma dos elementos que est ˜ao na diagonal principal.
  6. Fac¸a uma func¸ ˜ao que receba uma matriz de 3 x 3 elementos. Calcule e retorne a soma dos elementos que est ˜ao na diagonal secund ´aria.
  7. Escreva uma func¸ ˜ao que recebe uma matriz quadrada de ordem N e calcule a sua trans- posta (se B ´e a matriz transposta de A ent ˜ao aij = bji).
  8. Fac¸a uma func¸ ˜ao que verifica se uma matriz quadrada de ordem N ´e a matriz identidade.
  9. Fac¸a uma func¸ ˜ao que recebe, por par ˆametro, uma matriz A[4][4] e retorna a soma dos seus elementos.
  10. Fac¸a uma func¸ ˜ao que recebe, por par ˆametro, uma matriz A[3][3] e retorna a soma dos elementos da sua diagonal principal e da sua diagonal secund ´aria
  11. Fac¸a uma func¸ ˜ao que recebe, por par ˆametro, uma matriz A[7][6] e uma linha N e retorne a soma dos elementos dessa linha.
  12. Fac¸a uma func¸ ˜ao que recebe, por par ˆametro, uma matriz A[7][6] e uma coluna N e retorne a soma dos elementos dessa coluna.

(c) uma func¸ ˜ao soma que receba racionais x e y e devolva o racional que representa a soma de x e y; (d) uma func¸ ˜ao mult que receba racionais x e y e devolva o racional que representa o produto de x por y; (e) uma func¸ ˜ao div que receba racionais x e y e devolva o racional que representa o quociente de x por y;

  1. Considerando a estrutura:

struct Ponto{ int x; int y; };

para representar um ponto em uma grade 2D, implemente uma func¸ ˜ao que indique se um ponto p est ´a localizado dentro ou fora de um ret ˆangulo. O ret ˆangulo ´e definido por seus v ´ertices inferior esquerdo v1 e superior direito v2. A func¸ ˜ao deve retornar 1 caso o ponto esteja localizado dentro do ret ˆangulo e 0 caso contr ´ario. Essa func¸ ˜ao deve obedecer ao prot ´otipo:

int dentroRet (struct Ponto* v1, struct Ponto* v2, struct Ponto* p);

  1. Considerando a estrutura

struct Vetor{ float x; float y; float z; };

para representar um vetor no R^3 , implemente uma func¸ ˜ao que calcule a soma de dois vetores. Essa func¸ ˜ao deve obedecer ao prot ´otipo:

void soma (struct Vetor* v1, struct Vetor* v2, struct Vetor* res);

onde os par ˆametros v1 e v2 s ˜ao ponteiros para os vetores a serem somados, e o par ˆametro res ´e um ponteiro para uma estrutura vetor onde o resultado da operac¸ ˜ao deve ser armazenado.

  1. Foi realizada um pesquisa de algumas caracter´ısticas f´ısicas de cinco habitantes de certa regi ˜ao. De cada habitante foram coletados os seguintes dados: sexo, cor dos olhos (A – Azuis ou C – Castanhos), cor dos cabelos (L – Louros, P – Pretos ou C – Castanhos) e idade.
    • Fac¸a uma func¸ ˜ao que leia esses dados em um vetor.
    • Fac¸a uma func¸ ˜ao que determine a m ´edia de idade das pessoas com olhos casta- nhos e cabelos pretos.
    • Fac¸a uma func¸ ˜ao que determine e devolva ao programa principal a maior idade entre os habitantes.
    • Fac¸a uma func¸ ˜ao que determine e devolva ao programa principal a quantidade de indiv´ıduos do sexo feminino cuja idade est ´a entre 18 e 35 (inclusive) e que tenham olhos azuis e cabelos louros.