Universidade Federal de Santa Maria Centro de Tecnologia Departamento de Computação Aplicada Curso de Engenharia da Computação ELC1061 – Estruturas de Dados Exercícios de Revisão de Linguagem C 1 – Faça um algoritmo que leia um número e identifique se ele é positivo, negativo ou nulo. 2 – Faça um programa que leia 2 números inteiros e imprima o resto da divisão inteira de um pelo outro. 3 – O preço de um automóvel é calculado pela soma do preço de fabrica com o preço dos impostos (45% do preço de fabrica) e a percentagem do revendedor (28% do preço). Faça um programa que leia o preço de fabrica do automóvel e mostre na tela seu preço final. 4 – Um professor deseja um programa para ajudar na criação de estatísticas das notas de aula de seus alunos. Como são turmas de tamanhos diferentes, é preciso criar um vetor dinamicamente para cada turma, e em seguida inserir os dados dos alunos: nome, nota1, nota2, media, exame e media final. Para cada turma, deverá ser geradas estatísticas como: maior/menor nota de determinada prova, media aritmética de cada prova. Para proceder com o programa considere as seguintes alternativas: 4.1 Crie uma estrutura chamada Aluno para guardar os atributos de interesse 4.2 Crie funções separadas para calcular alguma estatística específica 4.3 Salve os dados estatísticos em um arquivo externo como se fosse um relatório 5 – Desenvolva um programa que calcule a soma de duas matrizes MxN de números reais. O usuário deverá informar o tamanho das matrizes e em seguida inserir os seus valores. OBS: Como o usuário que deverá informar o tamanho das matrizes, deve ser feito alocação dinâmica e não esqueçam de liberar esse espaço no final do programa! 6 – Diz-se que uma cadeia de caracteres é um palíndromo se ela pode ser lida, indiferentemente, da esquerda para a direita ou vice-versa. Assim, a cadeia de caracteres “I was stressed desserts saw I” representa um palíndromo. Escreva um programa que leia uma string é mostre uma mensagem informando se é ou não um palíndromo. Universidade Federal de Santa Maria Centro de Tecnologia Departamento de Computação Aplicada Curso de Engenharia da Computação 7 – Reescreva o seguinte código para que a função calcula() receba por passagem de referência um ponteiro para a variável resultado de forma que não precise retornar nada. int main(){ int a = 10, b = 20; int resultado; resultado = calcula(a,b); } int calcula (int a, int b){ return (a*b)/2 } 8 – Faça uma função recursiva que permita somar os elementos de um vetor de inteiros. 9 – A multiplicação de dois números inteiros pode ser feita através de somas sucessivas. Por exemplo, 2x3 é igual a somar o número 2 três vezes, ou o número 3 duas vezes: 2x3 = 2 + 2 + 2 = 3 + 3 = 6. Implemente um algoritmo recursivo que calcule a multiplicação de dois números inteiros dessa forma. 10 – Faça uma função recursiva que permita calcular a média um vetor de tamanho N. BONS ESTUDOS