Baixe o app para aproveitar ainda mais
Prévia do material em texto
LISTA DE EXERCÍCIOS A SEREM IMPLEMENTADOS Abaixo se segue uma lista de exercícios que o aluno deverá programar em linguagem C e apresentar ao longo do semestre. O professor de laboratório poderá selecionará aqueles que julgar importantes (dentro de cada classificação) para ser implementados na sua aula de laboratório. O professor de laboratório pode acrescentar novos algoritmos na sua aula se o considerar pertinente. A1) Implemente um algoritmo (IA) para o cálculo do salário líquido de um funcionário. Os cálculos são os seguintes: Salário Bruto = Horas trabalhadas * Salário hora Desconto = 0% do salário bruto, se este fosse menor que R$ 100,00 Desconto = 10% do salário bruto, se este encontra-se entre R$ 100,00 e 200,00 inclusive Desconto = 20% do salário bruto, se este fosse maior a R$ 200,00 A2) IA para calcular e informar o salário líquido, o INSS e o IRRF de acordo ao algoritmo estabelecido pela Receita Federal (Informe-se num diário de circulação). A3) IA para cada exercício A1 e A2, utilizando laços de repetição como melhor convenha. A4) IA para calcular a porcentagem de audiência de canais de televisão. Os canais pesquisados são: CH 2, CH 5, CH 7, e CH 9. Deve ser calculado também a porcentagem sobre outros canais. Determinar qual são as quantidades e as porcentagens de mulheres e de homens por cada preferência. Determinar qual são as quantidades e as porcentagem de crianças na idade de 5 a 8 anos por cada preferência. Qual canal ganha em audiência de crianças? A5) IA para calcular a área de figuras geométricas: Círculo, Quadrado, retângulo, triângulo, losango. Permita que o processo seja repetitivo. A6) IA para calcular as raízes (reais e/ou complexas) de equações de 2o grau. Permita que o processo seja repetitivo A7) IA para determinar "y" a partir de valores para "x" e "n" entrados pelo teclado: n xxx xy n +++++= ... 32 1 32 A8) IA para calcular o fatorial de um número digitado pelo usuário A9) IA para determinar "y" a partir de valores para "x" e "n" entrados pelo teclado: ! ... !3!2 1 32 n xxx xy n +++++= A10) IA para determinar "y" a partir de valores para "x" e "n" entrados pelo teclado: ! ... !3!2 1 32 n xxx xy n ++−+−= A11) IA para calcular o valor da seguinte série a partir de um número de termos "n" dado pelo usuário: ........342113853211 xxxxxxxxy = Algoritmos com vetores: V1) IA para determinar o menor valor de um vetor de inteiros de N posições V2) IA para determinar o maior valor de um vetor de inteiros de N posições V3) IA para determinar o menor e o maior valor de um vetor de inteiros de N posições V4) IA para determinar a posição da primeira ocorrência de um elemento x num vetor de inteiros de N posições (considere a possibilidade do elemento não existir) V5) IA para determinar a posição da última ocorrência de um elemento x num vetor de inteiros de N posições (considere a possibilidade do elemento não existir) V6) IA para determinar as posições de ocorrência de um elemento x num vetor de inteiros de N posições. Guarde as posições num outro vetor. V7) IA para ordenar um vetor de N posições V8) IA para determinar a posição de um elemento x num vetor através da busca linear com sentinela. V9) IA para determinar a posição de um elemento x num vetor através da busca binária. V10) IA para cálculo da soma de dois polinômios p(x) e q(x) de ordens m e n respectivamente. Calcule a resposta num vetor resultante r(x). V11) IA para cálculo da multiplicação de dois polinômios p(x) e q(x) de ordens m e n respectivamente. Calcule a resposta num vetor resultante r(x). V12) IA para determinar o vetor derivada de um vetor de N posições V13) IA para determinar o vetor derivada n-ésima de um vetor de N posições. V14) IA para determinar o valor da integral de funções genéricas a partir de t=0 até t=t1. V15) IA que intercale duas listas ordenadas de dados inteiros A[i] e B[j] é dizer, que proporcione uma terceira lista C[k] com os dados ordenados das duas anteriores. V16) IA que implemente a técnica da regressão linear para previsão de dados. V17) IA para calcular a média de N números, e depois calcular o desvio de cada número em relação a media. Algoritmos com matrizes: M1) IA para determinar o menor valor de uma matriz de inteiros de NxM posições M2) IA para determinar o maior valor de uma matriz de inteiros de NxM posições M3) IA para determinar o menor e o maior valor de uma matriz de inteiros de NxM posições M4) IA para determinar a posição (i,j) da primeira ocorrência de um elemento x numa matriz de inteiros de NxM posições (considere a possibilidade do elemento não existir) M5) IA para determinar a posição da última ocorrência de um elemento x numa matriz de inteiros de NxM posições (considere a possibilidade do elemento não existir) M6) IA para determinar as posições de ocorrência de um elemento x num vetor de inteiros de N posições. Guarde as posições de ocorrência em dois vetores. M7) IA para cálculo da soma de duas matrizes P e Q de ordens m1,n1 e m2,n2 respectivamente. Calcule a resposta numa matriz resultante R. M8) IA para cálculo da multiplicação de duas matrizes P e Q de ordens m x n e n x o respectivamente. Calcule a resposta numa matriz resultante R. M9) IA para determinar a posição (i,j,k) da primeira ocorrência de um elemento x numa matriz de inteiros de NxMxP posições (considere a possibilidade do elemento não existir). M10) IA para determinar o menor valor dos elemento de cada linha e a média dos elementos de cada coluna numa matriz MxN. M11) IA para determinar a matriz transposta (in situ) M12) IA para reduzir uma matriz de inteiros (0 a 255) NxN (onde N é par e múltiplo de 4) para N/2xN/2. Onde cada elemento da 2a matriz corresponde à média dos elementos envolvidos na 1a matriz. M13) IA para reduzir uma matriz de inteiros (0 a 255) NxN (onde N é par e múltiplo de 4) para N/2xN/4. Onde cada elemento da 2a matriz corresponde à média dos elementos envolvidos na 1a matriz. M14) IA para reduzir uma matriz de inteiros (0 a 255) NxN (onde N é par e múltiplo de 4) para 2xN. Onde cada elemento da 2a matriz corresponde à média dos elementos envolvidos na 1a matriz. M15) IA para ampliar uma matriz de inteiros (0 a 255) N/4xN/2 (onde N é par e múltiplo de 4) para NxN. Onde cada elemento da 2a matriz corresponde ao valor do elemento envolvido na 1a matriz. Algoritmos com alocação dinâmica de memória: D1) IA para determinar o menor e o maior valor de um conjunto de N números reais alocados dinamicamente em memória. D2) IA para determinar a posição da primeira ocorrência de um elemento x num conjunto de N números reais alocados dinamicamente em memória. D3) IA para determinar as posições de ocorrência de um elemento x num conjunto de N números inteiros alocados dinamicamente em memória. Guardar as posições de ocorrência Algoritmos com ponteiros e vetores: P1) IA para determinar o menor e o maior valor de um vetor de reais de N posições referenciado através de ponteiro. P2) IA para determinar a posição da última ocorrência de um elemento x num vetor de inteiros de N posições (considere a possibilidade do elemento não existir), referenciado através de ponteiro. P3) IA para cálculo da soma de dois polinômios p(x) e q(x) de ordens m e n respectivamente. Calcule a resposta num vetor resultante r(x), referenciado através de ponteiro. P4) IA para determinar o vetor derivada de um vetor de N posições, referenciado através de ponteiro. P5) IA que intercale duas listas ordenadas de dados inteiros A[i] e B[j] é dizer, que proporcione uma terceira lista C[k] com os dados ordenados das duas anteriores, referenciado através de ponteiro. Algoritmos com Recursividade:R1) IA para calcular o fatorial de um número digitado pelo usuário. R2) IA para determinar o valor da expressão: nxxxy +++= ...21 Algoritmos com Funções e Procedimentos: F1) IA que utilize funções e/ou procedimentos para o exercício A3 F2) IA que utilize funções e/ou procedimentos para o exercício A4 F3) IA para determinar o menor e o maior valor de um vetor de inteiros de N posições através de funções e procedimentos. F4) IA para determinar a posição da primeira ocorrência de um elemento x num vetor de inteiros de N posições (considere a possibilidade do elemento não existir) através de procedimento. F5) IA para determinar o endereço da primeira ocorrência de um elemento x num vetor de inteiros de N posições (considere a possibilidade do elemento não existir) através de função. F6) IA para determinar as posições de ocorrência de um elemento x num vetor de inteiros de N posições. Guarde as posições num outro vetor. Utilize procedimento F7) IA para ordenar um vetor de N posições através de procedimento. F8) IA para determinar a posição de um elemento x num vetor através da busca binária. Utilize função. F9) IA que implemente a técnica da regressão linear para previsão de dados. Utilize função ou procedimento. F10) IA para determinar o menor valor de uma matriz de inteiros de NxM posições, através de função. F11) IA para determinar o maior valor de uma matriz de inteiros de NxM posições, através de procedimento. F12) IA para determinar a posição (i,j) da primeira ocorrência de um elemento x numa matriz de inteiros de NxM posições (considere a possibilidade do elemento não existir). Através de procedimento ou função. F13) IA para cálculo da soma de duas matrizes P e Q de ordens m1,n1 e m2,n2 respectivamente. Calcule a resposta numa matriz resultante R, através de procedimento. Algoritmos com classes: C1) IA que utilize o conceito de classe para operações matemáticas básicas. C2) IA que utilize o conceito de classe para converter o sistema decimal em bases distintas. C3) IA que utilize o conceito de classe para calcular a soma, a média, o valor máximo, o valor mínimo e o desvío padrão de um conjunto de N dados. Algoritmos com Estruturas de dados: E1) IA para as operações básicas (inserir, eliminar, alterar, listar) numa lista encadeada. E2) IA para manipulação de arquivos em disco (gravação, leitura e acesso aleatório) OBS. � Uma cópia final dos algoritmos deverá ser apresentada em folha A4, com margens: superior, inferior e direita igual a 2 cm, esquerda igual a 2,5 cm. O trabalho deve ser formatado em duas colunas com separação interna de 4,5 cm. A fonte deverá ser Arial, 11. � Cada algoritmo desenvolvido deverá possuir o nome correspondente na categoria dos exercícios e apresentar enunciado. � Na capa do trabalho deve aparecer o logotipo da instituição, nome do departamento nome do aluno, nomes do professor de teoria e do laboratório, local e data. � Na Segunda folha colocar agradecimentos e dedicatória (opcionais) � Ao final do texto deverão ser apresentadas as referências de todos os livros consultados. � O trabalho deverá ser encadernado.
Compartilhar