Buscar

Lista II

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.

Continue navegando