Buscar

Lógica para redes de computadores Atividade 4

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Lógica para redes de computadores Atividade 4
1. Vamos acompanhar o exemplo de uma empresa que precisa pagar seus
colaboradores temporários em espécie. Para cada valor a ser pago, o gerente da
empresa conta a quantidade de notas de R$100, R$50, R$20, R$10, R$5, R$2 e
moedas de R$1. Por exemplo, um colaborador irá receber R$1.655,00, então, serão
necessárias 16 notas de R$100, uma nota de R$50 e uma nota de R$5. Ao final, ele
soma todas as quantidades de cada nota, e solicita ao banco a quantidade
necessária. Isso é necessário, para que o pagamento seja exato, sem troco, pois, se
um colaborador recebe R$1.655,00 e um outro R$1.345,00, somando-se os dois
temos um total de R$3.000,00, mas se for solicitado ao banco um valor de
R$3.000,00 em espécie, o banco poderia fornecer 30 notas de R$100, e o gerente
da empresa não poderia pagar o valor exato aos dois colaboradores.
Assim, para que o gerente possa automatizar esse cálculo, a empresa solicitou o
desenvolvimento de um programa para ler o nome e o valor a ser pago de cada
colaborador, e informar a quantidade de notas necessárias para pagar cada
colaborador e depois a quantidade final.
O desenvolvedor do programa adotou a seguinte estrutura:
Uma matriz de string para guardar os nomes dos colaboradores e uma matriz de
float para:
• coluna 0: valor a ser pago para cada colaborador;
• coluna 1: a quantidade de notas de R$100;
• coluna 2: a quantidade de notas de R$50;
• coluna 3: a quantidade de notas de R$20;
• coluna 4: a quantidade de notas de R$10;
• coluna 5: a quantidade de notas de R$5;
• coluna 6: a quantidade de notas de R$2;
• coluna 7: a quantidade de moedas de R$1.
A última linha das duas matrizes, será utilizada para armazenar o somatório de cada
coluna, ou seja, o valor total a ser pago, o total de notas de R$100, etc.
O programa terá a seguinte tela principal:
A tela de execução da opção 1 é
Obs.: a função setbuf(stdin, NULL) limpa o buffer do teclado antes da leitura de
strings, para corrigir pequenos erros.
O programa que gerou esta tela de execução é:
Resposta:
2. Uma operação que podemos fazer com as matrizes é encontrar a sua transposta. A
matriz transposta é representada por .
Para calcular a matriz transposta, basta transformar cada linha da matriz A em uma
coluna na matriz transposta. Veja o exemplo a seguir.
e
A seguir é apresentado uma tela de execução de um programa que calcula a matriz
inversa de matrizes 5x5.
Escolha a seguir, o bloco de códigos que calcula a matriz transposta.
Resposta:
Comentário: O sinal de igualdade em C é representado por == e não =. Para gerar
uma matriz transposta usa-se a primeira linha da primeira matriz como a primeira
coluna da segunda matriz.
3. Os programadores devem saber a linguagem de programação fluentemente. Isso
porque, para um programador não é só necessário saber construir um programa. Ele
também deve saber ler o programa, ou seja, saber o que o programa faz, descobrir
quais são as saídas de acordo com as entradas de dados. Em trabalhos feitos em
equipe, ou mesmo em pesquisas ou estudos de códigos, saber ler o código
desenvolvido por outra pessoa é fundamental.
Por exemplo, analise o programa a seguir.
Agora escolha qual tela de execução terá este programa.
Resposta:
Comentário: Este sistema carrega um vetor com números digitados pelo usuário.
Depois ordena este vetor em ordem crescente e o imprime ao usuário.
4. Elena resolveu organizar uma competição de handebol misto, ou seja, mulheres e
homens, em sua cidade, Rio Branco. Depois de divulgar a notícia entre os atletas e
clubes, foram inscritas cinco equipes mistas, no total.
As regras para pontuação foram definidas da seguinte forma:
• vitória vale 3 pontos;
• empate vale 1 ponto;
• derrota vale 0 pontos.
A estrutura adotada é:
Um vetor de strings para os nomes dos times e uma matriz do tipo inteira para os
resultados e pontuação. A primeira coluna da matriz guarda o número de vitórias, a
segunda o número de empates, a terceira o número de derrotas e a última o total de
pontos.
O programa para fazer os cálculos dos pontos possui a seguinte tela principal:
O bloco de comandos da opção 3 é mostrado a seguir.
Observe que uma parte do programa foi coberta.
Escolha, a seguir, o bloco de comandos que foi coberto na opção 3.
Resposta:
Comentário: O código oculto no caso determina o elemento de maior valor na matriz
de pontos do campeonato.
5. Na linguagem de programação C, as strings são matrizes de caracteres ou um
conjunto de vetores de caracteres. Para manipular as strings é necessário o uso de
funções específicas. Por exemplo, a função strcpy, copia uma string
para uma variável.
Analise a tela de execução, a seguir, de um programa para escrever por extenso os
números de 0 a 9.
De acordo com a tela de execução, o programa que a gerou é:
Resposta:
Comentário: A função strcpy é uma forma de atribuir valores para uma matriz de
caracteres. O comando condicional, neste exemplo, seleciona apenas os números
entre 0 e 9, e envia uma mensagem de erro para os números fora da faixa de 0 a 9 e
diferentes de -1.
6. Sabemos que, na linguagem C, string é um vetor de caracteres, que utiliza uma
biblioteca específica, a string.h.
O caractere é um elemento simples, e para ele, usamos aspas simples, enquanto a
string leva aspas duplas, por ser um vetor de caracteres.
A manipulação de strings requer funções específicas da biblioteca string.h. Uma
função que retorna o tamanho de uma palavra é a strlen.
Analise o programa a seguir.
Agora, responda: se a palavra aroma foi digitada na entrada, qual será a saída?
Resposta: amora
7. Uma mãe resolveu fazer uma festa para sua filha que irá completar 14 anos. Ela
pensou em chamar só os amigos mais próximos. Perguntando à filha, ela descobriu
que virão à festa apenas seis amigos.
A mãe providenciou os salgados e o bolo de aniversário e a festa foi um sucesso.
Depois, a mãe ficou curiosa para saber, dentre os amigos da filha:
• quem era o mais velho;
• quem era o mais novo;
• qual a média de idade dos amigos;
• e quem estava acima da média das idades.
A tela de execução de um programa que calcula as informações acima é:
Escolha a seguir o programa que gerou esta tela.
Resposta:
Comentário: Os vetores são variáveis do mesmo tipo, e para acessar um elemento
do vetor, basta identificar o nome do vetor e a posição do elemento. A numeração
dos elementos sempre começa por 0.
8. As matrizes são estruturas de armazenamento temporário. Para acessar um
elemento da matriz, indique o nome da matriz seguido da posição da linha e da
coluna, nesta sequência. Podemos manipular matrizes usando dois comandos de
repetição, inclusive para preenchê-las.
O programa a seguir, preenche uma matriz 3x3, com zeros e uns.
Analisando este programa, escolha a opção correta que mostra qual será a matriz
gerada.
Resposta:
Comentário: Este programa carrega uma matriz com zeros e uns, usando o seguinte
critério: se a soma do número da linha com o número da coluna for par, então
preencher com zero, senão preencher com um.
9. Maria Laura resolveu organizar um campeonato de futebol misto, ou seja, mulheres
e homens, no bairro onde mora, Jabaquara, na cidade de São Paulo. Ela conseguiu
a participação de cinco equipes mistas.
As regras para pontuação são simples:
• vitória vale 3 pontos;
• empate vale 1 ponto;
• derrota vale 0 pontos.
A estrutura adotada é:
Um vetor de strings para os nomes dos times e uma matriz do tipo inteira para os
resultados e pontuação. A primeira coluna da matriz guarda o número de vitórias, a
segunda o número de empates, a terceira o número de derrotas e a ultima o total de
pontos.
O programa para fazer os cálculos dos pontos, possui a seguinte tela principal:
A opção 1, cadastrar times, foi construída assim:
A função setbuf(stdin, NULL) serve para limpar o buffer, assim, evita alguns erros na
leitura de caracteres.Analisando este programa e a descrição anterior, considere as afirmações a seguir.
I. A função gets pode ser substituída pela função scanf, sem prejudicar a leitura dos
nomes dos times.
II. O vetor de strings, times, deve ser declarado como char times[5].
III. O vetor times, por ser uma cadeia de caracteres, deve ser lido sem a
identificação da sua posição. Então, a leitura correta na função de entrada gets será:
gets(times);.
IV. Serão cadastrados cinco times, em sequência. Após a leitura, a tela será
pausada, esperando que o usuário aperte qualquer tecla.
Considerando as afirmações dadas, escolha a alternativa que apresenta o que é
correto afirmar.
Resposta: IV. apenas.
10. Quando trabalhamos com linguagem C e precisamos gerar números aleatórios,
temos algumas opções de funções, entre elas:rand, random e srandom.
A função gera números aleatórios na faixa de 0 a num. O
programa a seguir, inicialmente carrega uma matriz com números aleatórios na faixa
de 0 a 50, linhas de 7 a 10.
Analise este programa e escolha a opção correta, a seguir.
Resposta:
Este programa carrega uma matriz 5x10, do tipo inteira com números aleatórios.
Depois gera outro número aleatório e armazena na variável num. Imprime a matriz e
as posições dos elementos iguais a num.
Comentário: Ao analisar as informações, percebemos que o programa carrega uma
matriz com a geração de números aleatórios e gera um número, também aleatório.
Depois procura na matriz a existência deste numero, informando a sua posição

Continue navegando