Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lista de Exercícios II – Programação Aplicada à Ciência da Computação Professor: Giomar Sequeiros Semestre 2017-II Instruções Gerais: Os exercícios referentes a algoritmos devem ser implementados na linguagem C em grupos de até 6 alunos. O código fonte deve ser impresso e enviado por e-mail. Colocar no assunto “Lista II PACC” e no corpo do e-mail colocar o nome completo e RA do aluno. Anexar os arquivos do código (extensão .c) nomeados da seguinte forma: exercicio1.c, exercicio2.c, etc. Data de Entrega: 28 de novembro de 2017 (Versão impressa em sala de aula e código fonte por e-mail) 1. (2 pontos) Leia um vetor com 10 números de ponto flutuante, ordene os elementos deste vetor, no final escreva os elementos do vetor ordenado. 2. (2 pontos) Dado que podemos calcular ex por: Fazer um programa em "C" que lê um valor para x e calcula o valor de ex. O valor deve ser calculado enquanto o termo calculado for maior que 10E-6. 3. (2 pontos) Expressar o número 1234.12510 no padrão IEEE 754 de 32 bits e 64 bits. 4. (2 pontos) Considere o sistema computacional visto na aula 10 que possui uma memória com 256 células, sendo que cada célula pode armazenar 12 bits. Cada instrução possui 4 bits que indicam o código de operação e 8 bits que indicam o operando. Suponha que, em um determinado momento, alguns endereços da memória contenham os seguintes conteúdos (todos os valores estão em hexadecimal): Considere que nos endereços 20 a 29 estão armazenadas instruções de um programa e nos endereços 50, 51 e 70, valores numéricos (inteiros sem sinal). Traduza as instruções para as siglas e operandos correspondentes. Por exemplo, a instrução contida no endereço 20 é LDA 70. 5. (2 pontos) Suponha que para implementar um controle de estoque de um pequeno armazém, você utilize uma lista encadeada de registros. Cada registro é uma estrutura implementada em C que contém o código do produto, a quantidade total do produto em estoque, o código do fornecedor do produto e o valor unitário do produto. O valor NULL no campo próximo indica final de lista. Suponha que a seguinte estrutura de dados seja definida para este problema: typedef struct registroprod{ short codigo; int quantidade; char fornecedor[15]; float preco; registroprod *proximo; } produto; produto *estoque; As variáveis do tipo char ocupam 1 byte, do tipo short ocupam 2 bytes, do tipo float e do tipo int ocupam 4 bytes, e do tipo ponteiro ocupam 4 bytes e os endereços das variáveis devem ser alinhados de acordo com o espaço que elas ocupam. Indique como cada elemento do vetor será armazenado na memória respeitando-se as restrições de alinhamento.
Compartilhar