• Nenhum resultado encontrado

LISTA DE EXERCÍCIOS. 1.2) Escreva um programa para ler o raio de um círculo, calcular e escrever a sua área (Fórmula: πr 2 ).

N/A
N/A
Protected

Academic year: 2021

Share "LISTA DE EXERCÍCIOS. 1.2) Escreva um programa para ler o raio de um círculo, calcular e escrever a sua área (Fórmula: πr 2 )."

Copied!
7
0
0

Texto

(1)

UDESC- Joinville

DISCIPLINA: Linguagem de Programação TURMA: A SEMESTRE/ANO: 01/2014 SALA: F203 PROFESSORA: Rebeca Schroeder Freitas

Aulas segunda-feira das 19hs às 22h30

LISTA DE EXERCÍCIOS

Sumário

1. VARIÁVÉIS, OPERADORES E EXPRESSÕES...1

2. ESTRUTURAS DE CONTROLE – SELEÇÃO...2

3. ESTRUTURAS DE CONTROLE – REPETIÇÃO...3

4. FUNÇÕES...3

5. VETORES...4

6. PONTEIROS...5

7. E STRUTURA DE DADOS...6

8. ARQUIVOS...7

1. VARIÁVÉIS, OPERADORES E EXPRESSÕES

1.1) Faça um programa que declare uma variável real, atribua a essa variável a expressão 154/254 e mostre o resultado que está armazenado na variável. Faça com que a precisão do resultado desta expressão seja mantida.

1.2) Escreva um programa para ler o raio de um círculo, calcular e escrever a sua área (Fórmula: πR2 ).

1.3) Escreva um programa para ler uma temperatura em graus Fahrenheit, calcular e escrever

o valor correspondente em graus Celsius (Fórmula: C

5=

F −32

9 ).

1.4) Escreva um programa para ler uma temperatura em graus Celsius, calcular e escrever o valor correspondente em graus Fahrenheit.

1.5) Escreva um programa para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado.

1.6) Escreva um programa para ler as dimensões de uma cozinha retangular (comprimento, largura e altura), calcular e escrever a quantidade de caixas de azulejos para se colocar em todas as suas paredes (considere que não será descontada a área ocupada por portas e janelas). Cada caixa de azulejos possui 1,5 m2.

1.7) Um motorista de táxi deseja calcular o rendimento de seu carro na praça. Sabendo-se que o preço do litro de combustível é de R$ 2,90, escreva um programa para ler: a marcação do odômetro (Km) no início do dia, a marcação (Km) no final do dia, o número de litros de combustível gasto e o valor total (R$) recebido dos passageiros. Calcular e escrever: a média do consumo em Km/l e o lucro do dia.

1.8) A equipe Renault deseja calcular o número mínimo de litros que deverá colocar no tanque de seu carro para que ele possa percorrer um determinado número de voltas até o primeiro reabastecimento. Escreva um programa que leia o comprimento da pista (em metros), o número total de voltas a serem percorridas no grande prêmio, o número de reabastecimentos desejados e o consumo de combustível do carro (em Km/l). Calcular e escrever o número mínimo de litros necessários para percorrer até o primeiro reabastecimento. OBS: Considere que o número de voltas entre os reabastecimentos é o mesmo.

(2)

1.9) Uma equação do segundo grau, que tem a forma ax2+bx+c , pode ter duas, uma ou nenhuma raiz real. Pode-se verificar o número de raízes reais calculando-se o valor de Δ=b² −4ac . Se Δ for maior do que 0, a equação tem duas raízes reais. Se ∆ for igual a 0, tem uma única raiz. Se ∆ for menor do que 0, então a equação não tem nenhuma raiz real. Faça um programa que leia os coeficientes de uma equação do segundo grau e calcule o número de raízes reais que a respectiva equação apresenta.

2. ESTRUTURAS DE CONTROLE – SELEÇÃO

2.1) Escreva um programa que leia o código de origem de um produto e imprima na tela a região de sua procedência conforme a tabela abaixo:

código 1 : Sul código 5 ou 6: Nordeste código 2 : Norte código 7, 8 ou 9 : Sudeste código 3 : Leste código 10 : Centro-Oeste código 4 : Oeste código 11 : Noroeste

Observação: Caso o código não seja nenhum dos especificados o produto deve ser classificado como Importado.

2.2) Escreva um programa que leia as notas das duas avaliações obrigatórias e a nota de uma avaliação optativa. Caso o aluno não tenha feito a optativa deve ser fornecido o valor –1. Calcular a média do semestre considerando que a prova optativa substitui a nota mais baixa entre as duas primeiras avaliações. Escrever a média e mensagens que indiquem se o aluno foi aprovado, reprovado ou está em exame, de acordo com as informações abaixo:

Aprovado : media >= 7.0 Reprovado: media < 3.0 Exame: media >= 3.0 e < 7.0

2.3) As maçãs custam R$ 0,30 cada se forem compradas menos do que uma dúzia, e R$ 0,25 se forem compradas pelo menos doze. Escreva um programa que leia o número de maçãs compradas, calcule e escreva o valor total da compra.

2.4) Escreva um programa para ler 3 valores inteiros (considere que não serão lidos valores iguais) e escreva-os em ordem crescente.

2.5) Tendo como entrada a altura e o sexo (codificado da seguinte forma: 1:feminino 2:masculino) de uma pessoa, construa um programa que calcule e imprima seu peso ideal, utilizando as seguintes fórmulas:

- para homens : (72.7 * altura) – 58 - para mulheres : (62.1 * altura) – 44.7

2.6) Escreva um programa que leia as medidas dos lados de um triângulo e escreva se ele é Equilátero, Isósceles ou Escaleno.

2.7) Faça um programa em C que apresente ao usuário o seguinte menu: MENU 1- Somar 2 números 2- Subtrair 2 números 3- Multiplicar 2 números 4- Dividir 2 números Opção:

O programa deve ler a opção escolhida pelo usuário, em seguida pedir que ele informe 2 números e por fim executar a operação desejada de acordo com a opção selecionada

(3)

mostrando seu resultado. Utilize a estrutura switch-case para tratar a opção do menu selecionada pelo usuário.

3. ESTRUTURAS DE CONTROLE – REPETIÇÃO

3.1) Considere que a população de um país A é de 90 milhões de habitantes e a população de um país B é de 200 milhões. Considere também que a taxa de crescimento do país A é de 3% ao ano, e a de B 1,5% ao ano. Escreva um programa em C que considere estas informações e calcule e escreva a quantidade de anos que serão necessários para que a população de A se iguale ou ultrapasse a população de B.

3.2) Um número primo é aquele que é divisível somente por ele mesmo e por um. Faça um programa em C que mostre todos os números primos entre 1 e 100.

3.3) Ache o primeiro número, entre 1 e 1 milhão que é divisível por 11, 13 e 17.

3.4) Elabore um programa em C para controlar uma pesquisa entre os eleitores de Joinville que votaram no candidato a prefeito Rogério Novaes. O programa deve ler o salário de cada um dos 150 eleitores que devem ser entrevistados. Ao final da leitura dos 150 salários, o programa deve exibir na tela as seguintes informações:

a) A média de salário dos eleitores entrevistados;

b) A diferença entre o maior salário e o menor salário dos entrevistados;

c) A quantidade de entrevistados que pertencem a classe média. Considere que o salário da classe média deve estar entre R$ 1064 e R$ 4591.

3.5) O quadrado de um número natural n é dado pela soma dos n primeiros números ímpares consecutivos. Por exemplo, 12=1, 22=1+3, 32=1+3+5, 42=1+3+5+7, etc. Faça um programa em C em que dado um número n informado pelo usuário, o programa calcule seu quadrado usando a soma de ímpares ao invés de produto.

3.6) Faça um programa em C para resolver o seguinte somatório. O usuário deve informar o valor de n e o programa deve exibir o resultado do somatório.

n

(i*(i-1))

i=2

3.7) Escreva um programa em C que leia um número inteiro N e em seguida imprima N linhas do triângulo de Floyd: Ex: N=6 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 4. FUNÇÕES

4.1) Construa um programa que unifique os exercícios 1.3 e 1.4 de forma que uma mesma função seja capaz de converter uma temperatura na unidade de medida desejada pelo usuário 4.2) Faça um programa para ler um inteiro N > 0 e calcular o seguinte somatório:

S = N + N-1 + N-2 + N-3 + ... + 0.

A função deve receber o valor de N e devolver o valor de S.

4.3) Escreva um programa para mostrar o N termo da série de Fibonacci: 1, 1, 2, 3, 5, 8, 13, 21,... Crie uma função chamada FIB que deve receber N como parâmetro, calcula e imprime o termo de número N da série.

(4)

4.4) Escreva um programa que implemente um conversor de sistemas numéricos. Inicialmente o programa deverá apresentar um menu com as seguintes opções para posterior escolha do usuário:

Conversão: 1- Decimal para binário 2- Binário para decimal 3- Decimal para hexadecimal 4- Sair do programa.

Opção:

O programa deverá esperar que o usuário escolha sua opção e, em seguida, deverá solicitar que o número a converter seja informado (caso a escolha for uma das opções de 1-3). Faça com que as opções de 1-3 do menu sejam implementadas por funções distintas que recebem um número como parâmetro. A impressão do menu também deverá ser implementada por uma função. Após a conversão de um número, o menu deverá ser apresentado novamente, e o programa será finalizado apenas quando a opção 4 for escolhida.

4.5) Escreva um programa com uma função chamada MM que recebe dois parâmetros, A e B, e devolve o menor dos dois em A e o maior dos dois em B. Caso sejam passados valores repetidos, a ordem da resposta entre eles não importa.

Use passagem de parâmetros por referência.

4.6) Escreva um programa com uma função que recebe um número decimal de dois algarismos por referência e altere-o de forma que o número fique invertido. Exemplo: o número 23 é transformado em 32.

4.7) Reescreva os exercícios 4.2 de forma a resolvê-lo através de uma função recursiva. 4.8) Reescreva os exercícios 4.3 de forma a resolvê-lo através de uma função recursiva. 4.9) Escreva uma função recursiva para resolver o seguinte somatório:

n

(i*i)

i=1

A função recursiva deve receber n como parâmetro e retornar o resultado do somatório.

5. VETORES

5.1) Faça um programa que solicite ao usuário o preenchimento de um vetor de floats A com

10 posições. Criar e imprimir um segundo vetor seguindo as regras:

a) os elementos de índice par (posição 0, 2, 4, 6 e 8) são calculados pelos correspondentes em A dividido por 2;

b) os elementos de índice ímpar são calculados pelos correspondentes em A multiplicados por 3.

5.2) Faça um programa que leia dois vetores A e B de N elementos inteiros, intercale os elementos formando um novo vetor C. Imprima o vetor C.

5.3) Um palíndromo é uma seqüência de caracteres cuja leitura é idêntica se feita da esquerda para a direita ou vice-versa. Por exemplo , OSSO e OVO são palíndromos. Em frases, os espaços são ignorados. Por exemplo, SUBI NO ONIBUS é uma frase palíndromo. Fazer um

(5)

programa que leia uma string e diga se ela é ou não um palíndromo.

5.4) Faça um programa em C que leia duas strings, sendo a primeira o nome de uma pessoa, e a segunda seu sobrenome. Concatenar essas strings em uma terceira string, obedecendo o seguinte formato: sobrenome, vírgula, espaço, primeiro nome. Apresentar a string concatenada.

5.5) Faça um programa que leia uma matriz 5 X 5 e calcule e escreva a média dos elementos localizados na área marcada com '*'.

* * * *

* * *

* *

*

6. PONTEIROS

6.1) Desenvolver um programa que leia um vetor de números inteiros contendo 10 elementos e exiba na tela todos os números armazenados nas posições pares do vetor. Usar aritmética de ponteiros.

6.2) Desenvolver um programa que leia uma string qualquer e mostre quais foram as vogais encontradas na string. Usar aritmética de ponteiros.

6.3) Implemente um programa, que leia 3 números inteiros. Some uma unidade ao maior nú-mero lido através de ponteiros e escreva seu valor e seu endereço de memória. Subtraia uma unidade do menor número lido através de ponteiros e escreva seu valor e seu endereço de me-mória. Escreva o número de valor intermediário e seu endereço de memória utilizando pontei-ros.

6.4) Fazer uma função para:

a. Receber dois ponteiros para char (char*) como parâmetro e um número representando uma certa quantidade de caracteres.

b. procurar, no vetor apontado pelo parâmetro 1, o primeiro caracter de espaço (‘ ‘) ou o fim de vetor (representado pela quantidade fornecida no parâmetro 3).

c. copiar os caracteres anteriores ao espaço no vetor indicado pelo segundo parâmetro.

d. retornar o número de caracteres copiados. 6.5) Fazer um programa para:

a. declarar variáveis a, b, c, d do tipo int. b. declarar variáveis e, f, g, h do tipo float. c. declarar vetor v de 10 elementos do tipo char. d. declarar variável x do tipo int.

e. criar um ponteiro apontando para o endereço de a.

f. incrementar o ponteiro, mostrando o conteúdo do endereço apontado (em forma de número). Caso o endereço coincida com o endereço de alguma outra variável, informar o fato.

6.6) Fazer uma função que:

a. receba 3 números como parâmetros: A, B e C.

b. ordene de tal forma que, ao final da função, A contenha o menor número e C o maior.

c. mostre os números ordenados. 6.7) Fazer uma função DIVS que:

a. recebe como parâmetro um número inteiro num por valor e dois números inteiros max e min por referência;

(6)

b. retorna 0 se o número num é primo e 1 caso contrário. Se o número não for primo, as variáveis max e min devem assumir os valores do menor e do maior divisores inteiros do número, respectivamente, desconsiderando o número 1 e o próprio número num.

6.8) Fazer um programa que receba do usuário a quantidade N de números a ser digitada. Em seguida, o programa deve alocar dinamicamente um vetor de N inteiros, receber N números do usuário e armazenar no vetor, e mostrar o maior valor do vetor, o menor valor do vetor e a média dos valores.

6.9) Faça um programa em C que Implemente as seguintes funções para manipulação de strings: strlen, strcat, strcmp. O retorno de valores e recebimento de parâmetros deve ser o mesmo das funções usadas na Linguagem C.

7. ESTRUTURA DE DADOS

7.1) Dada a struct abaixo, declare duas variáveis (a1, a2). Solicite ao usuário o preenchimento de a1 (matricula, nome, end) e em seguida faça a2 = a1. Imprima os campos de a2 e veja o resultado. struct Aluno { int matricula; char nome[50]; char end[50]; };

7.2) Criar um programa que crie uma estrutura qualquer com pelo menos 3 campos de tipos diferentes e solicite o preenchimento de seus campos ao usuário. Em seguida passar a estrutura como parâmetro para uma função que simplesmente imprimirá os dados na tela. 7.3) Dada as estruturas abaixo, criar um vetor de 5 posições do tipo Funcionário. Solicitar ao usuário o preenchimento dos dados para cada posição (funcionário) e, ao final, mostrar ordenado por código:

struct End { char rua[30]; int num; char cidade[50] }; struct Funcionario { int codigo; char nome[50]; char depto[50]; float salario; End end; };

7.4) Considerando que um time possui 5 jogadores:

1.

declare duas estruturas TIME (codigo (int), nome (char[30]), ano_fundacao (int) , jogadores (JOGADOR[5]) ) e JOGADOR (nr_camisa (int) , nome (char[30]) );

2. crie um vetor de 5 posições da estrutura time e solicite ao usuário o preenchimento. 3. Ao final, mostrar todos os jogadores de times cujo ano de fundação seja <= 1950). 7.5) Uma determinada loja precisa de um simples cadastro de clientes que deverá:

1. permitir o cadastramento(inclusão, exclusão, alteração, consulta e listagem) de até 10 clientes (código (int), nome (char[50]), telefone (char[20]) e email (char[50]);

2. possibilitar a consulta por código ou nome;

3. possibilitar a listagem por ordem de nome ou código; OBS.

- Disponibilizar um menu ao usuário com as opções;

- Utilize funções específicas para implementar cada uma das opções do menu; - Exemplo do menu:

1- Incluir cliente 2- Alterar cliente 3- Excluir cliente

4- Consultar cliente (nome) 5- Consultar cliente (código)

6- Listar clientes por ordem de nome 7- Listar clientes por ordem de código

(7)

8- Sair

8. ARQUIVOS

8.1) Faça um programa que abra um arquivo texto chamado TESTE.TXT (criado por você no bloco de notas), leia e imprima suas linhas na tela.

8.2) Fazer um programa que abra um arquivo texto qualquer (caminho do arquivo deve ser solicitado ao usuário), leia e imprima suas linhas.

8.3) Fazer um programa que solicite 5 palavras ao usuário, coloque em ordem alfabética e grave em um arquivo texto (uma em cada linha).

8.4) Fazer um programa que leia um arquivo texto e copie para outro (novo);

8.5) Escreva um programa que solicite o preenchimento de um vetor de inteiros de 10 posições. Depois, gravar em um arquivo texto chamado VETOR.TXT, as seguintes informações:

Maior valor no vetor: 999; Menor valor no vetor: 999;

Média aritmética dos valores: 999; Somatório dos valores: 999;

Vetor ordenado: 999,999,999,999,999,999,999,999,999,999;

8.6) Fazer um programa que solicite o preenchimento de um vetor de estruturas com 5 posições (declare uma estrutura qualquer). Ao final, gravar (fwrite) o vetor de estruturas em um arquivo chamado DADOS.DAT

8.7) Alterar o programa do exercício anterior para, caso exista o arquivo DADOS.DAT, ao invés de solicitar o preenchimento, ler do arquivo.

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Podem treinar tropas (fornecidas pelo cliente) ou levá-las para combate. Geralmente, organizam-se de forma ad-hoc, que respondem a solicitações de Estados; 2)

É primeiramente no plano clínico que a noção de inconscien- te começa a se impor, antes que as dificuldades conceituais envolvi- das na sua formulação comecem a ser

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

occurring in more than just enterprise and technology companies (2002: US – 83% / Europe – 47%).. • In the UK, France and Germany

O software PcModel pode ser uma ferramenta bastante útil, quando aplicado na previsão e estimativa do cálculo de energia envolvendo as conformações mais e menos estáveis do

Entre as atividades, parte dos alunos é também conduzida a concertos entoados pela Orquestra Sinfônica de Santo André e OSESP (Orquestra Sinfônica do Estado de São