Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de Bacharelado em Ciência e Tecnologia Lógica de Programação LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO Continuação da lista 3 Parte 6: Ponteiros 1) Considere o código abaixo e responda: int main() { int y, *p, x; y = 0; p = &y; x = *p; x = 4; y +=2; (*p)++; (*p) += x; printf ("y = %d\n", y); return(0); } Ao final do programa. a) Qual o valor de x b) Qual o valor de p c) Qual o valor de (*p == x) d) Qual o valor de &p e) Qual o valor de y f) Qual o valor de y >= *p g) Qual o valor de -(*&p)/(y) f) Qual o valor de y * x / *p 2) Dado um vetor de inteiros de N elementos declarado localmente na função principal desenvolva uma outra função/procedimento que alimente esse vetor com N valores lidos pelo usuário. Depois escreva uma outra função/procedimento que imprima o conteúdo do vetor. Parte 7: Recursão Resolva as todos os problemas abaixo na forma iterativa e recursão: 3) Escreva um programa em C que, dado um vetor de inteiros e tamanho N (0<N<50), calcule e apresente o somatório dos elementos desse vetor. 4) Crie uma função/procedimento recursivo que: (considerando um item de cada vez) • Mostre na tela números de 1 a 10. • Mostre na tela números de 10 a 1. • Mostre na tela números de 1 até um número fornecido pelo usuário. • Mostre na tela o somatório de 1 a 15. • Mostre na tela o somatório de 1 até um número fornecido pelo usuário. • Mostre na tela números ímpares de 1 a 20. • Mostre na tela números ímpares de 1 à um número fornecido pelo usuário. • Mostre na tela números pares entre 1 e 20 inclusive. • Mostre na tela números pares entre 1 e um número fornecido pelo usuário inclusive. • Mostre na tela o fatorial de 1 a 10. • Mostre na tela o fatorial de 1 até um número fornecido pelo usuário. • Mostre na tela o enésimo (N é fornecido pelo usuário) termo da sequência de Fibonacci. • Mostre na tela o N primeiros (N é fornecido pelo usuário) termos da sequência de Fibonacci. • Some os elementos de um vetor. • Multiplique dois números a e b sem utilizar o operador *, utilizando apenas +. 5) Escreva um programa em C que dado um vetor A de valores inteiros gere apresente outro vetor B com os elementos invertidos (primeiro de A = último B etc) (0<N<50). 6) Escreva um programa em C para contar e imprimir o número de ocorrências de um número inteiro fornecido pelo usuário em um dado vetor de inteiros de tamanho variável, também obtido pelo usuário (Obs.: o tamanho máximo do vetor é 100). 7) Escreva um programa em C que dado um número inteiro positivo X calcule e apresente o fatorial de X. 8) Escreva um programa em C que dado um número inteiro positivo X calcule e apresente a série de fibonacci de tamanho X. Parte 8: Registros 9) Escreva um programa em C para armazenar registros de passageiros de voos de um aeroporto em que são armazenados além dos dados do voo (número do voo, cia, origem, destino, data e horário, tipo[nacional, internacional]) os dados de cada um dos passageiros (Nome, RG, passaporte, idade e número de assento). Considere que e o número de voos desse aeroporto não ultrapassa 100 e o número de assentos nos aviões 50. 10) Um armazém trabalha com 20 mercadorias diferentes identificadas pelos números de 1 a 20. O dono do armazém anota a quantidade de cada mercadoria vendida durante o mês. Ele tem uma tabela que indica para cada mercadoria o preço de venda e quantidade restante em estoque de cada mercadoria. Usando um vetor de registros, escreva um programa em C que o ajude a armazenar, relacionar os seu estoque e calcular o faturamento mensal com base nas vendas e no preço de cada mercadoria do seu armazém. “Many of life's failures are people who did not realize how close they were to success when they gave up.” Thomas A. Edison (1847 - 1931) “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” Martin Fowler, Refactoring: Improving the Design of Existing Code Divirta-se!
Compartilhar