Prévia do material em texto
ARA0363 – PROGRAMAÇÃO BÁSICA DE SOFTWARE EM C Prof. Simone Gama Observação: 1. Lista de exercícios 1 de revisão rápida de conteúdo já visto pelo aluno em outras disciplinas (como Introdução a Programação em C, Estrutura de Dados em C e/ou Algoritmos Avançados) e serão necessários ao andamento da disciplina ARA0363. 2. Todos os exercícios que valerão ponto deverão ter os seus códigos defendidos pelo aluno em sala de aula, em data e horário a serem definidos pela profº e somente serão pontuados caso a defesa do aluno(a) perfaça corretamente o que é solicitado no problema. Parte I. Funções e Modularização em C/C++ 1. Faça um algoritmo em C que leia o nome e a idade de uma pessoa e imprima usando função modularizada o seu ano de nascimento. 2. Faça uma função em C/C++ que leia um valor inteiro e escrever se é positivo ou negativo (considere o valor zero como nulo). 3. Para doar sangue é necessário ter entre 18 e 60 anos. Faça uma função na linguagem C que pergunte a idade de uma pessoa e diga se ela pode doar sangue ou não. 4. Faça um programa em C que imprima os números pares entre 1 a 100 na tela. Faça com as três estruturas de repetição oferecidas pela linguagem C/C++. 5. Faça um programa que leia dois números inteiros e calcule a soma, multiplicação, divisão e subtração, utilizando função para cada um dos cálculos. O programa deve garantir que não há zero e nem números negativos digitados. Parte II. Ponteiros 6. Faça um programa que leia dois valores x e y inteiros do teclado e faça a troca do conteúdo das variáveis usando função e ponteiro. 7. Escreva um programa que declare um inteiro, um real e um char, e ponteiros para inteiro, real e char. Associe as variáveis aos ponteiros (use &). Modifique os valores de cada variável usando os ponteiros. Imprima os valores das variáveis antes e após a modificação. 8. Elaborar um programa que leia dois valores inteiros (A e B). Em seguida faça uma função que retorne a soma do dobro dos dois números lidos. A função deverá armazenar o dobro de A na própria variável A e o dobro de B na própria variável B. Parte III. Vetores Unidimensional e Bidimensional ARA0363 – PROGRAMAÇÃO BÁSICA DE SOFTWARE EM C Prof. Simone Gama 9. Elabore um programa em C que tendo o seguinte vetor [23, 10, 45, 0, -9, 7, 89, -4, 2, 102, 14, 0, 36], leia um número inteiro 𝑥 e procure esse número no vetor. Imprima uma mensagem informando se o número está no vetor. 10. Elabore um programa em C\C++ que leia um vetor inteiro de tamanho 5 do teclado e imprima esse vetor invertido. Exemplo: se o vetor lido é [2, 3, 4, 10, 0] então será imprimido na tela o inverso, ou seja, [0, 10, 4, 3, 2]. 11. Elabore um código em C que, lendo uma matriz 3 x 3 do teclado, calcule a soma das linhas e das colunas dessa matriz utilizando função modularizada. 12. Tendo uma matriz 3 x 3 lida do teclado, calcule a soma dos elementos da diagonal principal. Mostre o resultado da soma. Exemplo, na matriz abaixo, o resultado da soma da diagonal principal é 22. A soma deve ser realizada utilizando função / modularização. 10 2 1 6 4 1 0 2 8 Parte IV. Structs: Estrutura de Dados Heterogêneas 13. Desenvolva um programa em C que tenha a data (em struct, no formato - dd/mm/yyyy) de 5 pessoas (em um vetor) e imprima quantos dias de idade tem cada pessoa, desde que nasceu. Considere cada ano 365 dias. 14. Desenvolva uma struct de cadastro, que contenha nome, idade, altura de uma pessoa e que verifique se a pessoa é apta para concorrer a um campeonato de triatlo, onde as condições são ser maior de 18 anos e altura acima de 1,70. 15. Faça um programa que gerencie o estoque de um mercado e crie e leia um vetor de struct de 5 produtos, com os dados: código (inteiro), nome (máximo 15 letras), preço e quantidade. Imprima na tela os elementos cadastrados. De preferência use função para as atividades.