Buscar

Trabalho de Programação

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 12 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 12 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 12 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

UFC - UNIVERSIDADE FEDERAL DO CEARÁ 
Centro de Tecnologia - Faculdade de Engenharia 
Departamento de Computação 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Lista de Exercícios 
Programação Computacional para Engenharia 
2018 / 1 
 
Introdução e Algoritmo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Professor: José Caminha Alencar Araripe Júnior 
Fortaleza, 16 de Abril de 2018 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 1 
Universidade Federal do Ceará – UFC 
Departamento de Computação - Disciplina Programação Computacional para 
Engenharia - 2018.1 
Lista de Exercício - Questões de Introdução e Algoritmo. 
Elaborar conforme solicitado. 
O aluno deverá enviar por e-mail, em um único arquivo, a solução das questões relacionadas a 
seguir. 
Nome do Arquivo: Será formado pelo nome do próprio aluno conforme formato a seguir: 
“nome_aluno-Engenharia-ALGORITMO-2018-1” 
Onde “nome_aluno” corresponde ao primeiro nome do aluno junto com o último sobrenome. 
Como Deve ser Entregue: Enviar o trabalho por e-mail. 
Data da Entrega: Até a data da 1ª Avaliação. 
O trabalho realizado vale um ponto a ser adicionado a nota da 1ª Avaliação. 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 2 
 Questões 
1. Faça o que se pede: 
(a) Execute, como se fosse um computador, as instruções do algoritmo listado a seguir e 
informe, passo a passo, os resultados obtidos e explique o que o algoritmo realiza: 
INICIO 
 VARIAVEL Controle1, Controle2, Controle3: INTEIRO; 
 LEIA (VR1); 
 ESCREVA (“UFC – Engenharia – 2018.1”); 
 ESCREVA (“Programação Computacional para Engenharia”); 
 ESCREVA (“CURSO DE xxxxxxxxxxxxxxxxxxxx”); 
 ESCREVA (“ALGORITMO QUESTAO _1.”); 
 Controle2 := -2; 
 Controle3 := 13; 
 REPITA ENQUANTO Controle3 <= Controle1 
 ESCREVA (Controle3); 
 SE Controle2 = -2 
 ENTAO Controle2 := 3; 
 SENAO Controle2 := -2; 
 FIMSE; 
 Controle3 = Controle3 + Controle2; 
 FIMREPITA; 
 ESCREVA (“Maximo = ”, Controle1); 
FIM. 
 
Dados de entrada: 
 
 
 
 
Resultado gerado: 
 
Mapa da Memória 
Controle1 
Controle2 
Controle3 
 
 
23 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 3 
(b) Execute, como se fosse um computador, o algoritmo listado a seguir e informe o 
resultado e o que faz o algoritmo: 
INICIO 
 VARIAVEL INF, SUP, NE, EL, SO, I: INTEIRO; 
 LEIA (NE, INF, SUP); 
 SO = 0; 
 I = 0; 
 ESCREVA (“UFC - Programação Computacional para Engenharia”); 
 ESCREVA (“CURSO: x-------------------x”); 
 ESCREVA (“NOME: x------------------x”); 
 ESCREVA (“NUMERO ELEMENTOS = ”, NE); 
 ESCREVA (“ELEMENTOS”); 
 REPITA ENQUANTO I <= NE 
 I = I + 1; 
 LEIA (EL); 
 ESCREVA (EL); 
 SE EL / 2 * 2 = EL E EL >= INF OU EL <= SUP 
 ENTAO 
 SO = SO + EL; 
 FIMSE; 
 FIMREPITA; 
 ESCREVA (“Somatorio = ”, SO); 
 ESCREVA (“Limite I = ”, INF); 
 ESCREVA (“Limite S = ”, SUP); 
FIM. 
 
Dados de entrada: 
 
 
 
 Resultado gerado: 
Mapa da Memória 
NE 
SO 
EL 
INF 
I 
SUP 
10 15 25 
12 24 26 20 19 30 41 28 17 10 23 18 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 4 
 
2. Apresente comentários sobre a memória principal dos computadores: 
(a) Descreva como é constituída a memória dos computadores; 
(b) como nossas informações são armazenadas; 
(c) qual a terminologia utilizada para representar a quantidade de memória que indica a 
sua capacidade, cite exemplos. 
3. O nosso sistema de numeração que utilizamos para representar quantidades e para 
executar operações aritméticas é o decimal. 
(a) O computador também utiliza esse mesmo sistema para representar internamente as 
informações? 
(b) Explique como é feito para representar os caracteres das letras do alfabeto? 
(c) Explique claramente sua resposta. 
4. Explique de forma clara e sucinta: 
(a) o que você entende por HARDWARE e SOFTWARE. 
(b) Cite exemplos; 
(c) Qual o principal SOFTWARE utilizado em computador para permitir uma melhor 
convivência entre o homem e a máquina, explique qual a sua finalidade; 
(d) É obrigatório que todo computador possua instalado esse SOFTWARE? 
(e) Cite exemplos desses SOFTWARE´s. 
(f) Quais as principais diferenças entre eles? 
(g) Cite exemplos de tarefas que são executadas por esse aplicativo. 
(h) Onde no computador está localizado esse SOFTWARE? 
5. Em um computador temos diversos dispositivos para armazenamento das informações 
de forma temporária e permanente. 
(a) Identificar esses dispositivos; 
(b) Citar exemplos dessas memórias e suas características; 
(c) Qual a finalidade de cada uma? 
(d) Quais as diferenças, capacidade de armazenamento e vantagens/desvantagens de 
cada uma delas quando comparamos os mesmos; 
(e) Velocidade de acesso para leitura e gravação, etc. 
6. O que é algoritmo e como se escolher uma opção quando estamos trabalhando em 
algoritmo, explique a sua forma e apresente exemplo. 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 5 
7. Explique sobre “variável”: 
(a) O que é ? 
(b) Quais são os tipos; 
(c) Apresente alguns exemplos. 
8. Um computador é formado por diversos componentes que exercem funções variadas: 
(a) descreva esses equipamentos de forma agrupada, isto é, classificando-os conforme a 
sua finalidade quando utilizado em computador; 
(b) cite exemplos de cada um. 
9. Elaborar um algoritmo para processar os N elementos de um conjunto e realizar o que é 
solicitado a seguir: 
(i) calcular o somatório dos elementos cujos índices sejam impares e os valores também 
sejam pares; 
(ii) determinar quantos atendem as condições; 
(iii) apresentar resultado conforme modelo a seguir; 
(iv) gerar um novo conjunto onde os elementos estão em ordem inversa; 
(v) realizar os mesmos procedimentos para os itens (i) e (ii) para o conjunto gerado. 
Imprimir o resultado na forma abaixo. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10. Escreva uma definição clara sobre o que é “Programa”. 
(a) Para que eles servem? Cite exemplos daquilo que podem ser considerados como 
exemplos de “Programas”. 
(b) Os programas elaborados por nós são entendidos diretamente pelos computadores? 
UFC - Programação Computacional para Engenharia 
Nome: X--------------------X 
Numero de Elementos do Conjunto = XX 
CONJUNTO INICIAL: 
 XX XX .... XX 
Soma dos Valores = XX 
Numero de Elementos que Atende a Condicao = XX 
CONJUNTO INVERTIDO: 
XX XX .... XX 
Soma dos Valores = XX 
Numero de Elementos que Atende a Condicao = XX 
 
 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 6 
(c) Em um mesmo computador seria possível se processar programas escritos em 
linguagens de programação diferentes? Explicar sua resposta. 
(d) O que devemos fazer para executar em um computador um programa que acabamos 
de elaborar em uma linguagem de alto nível? 
(e) Esse procedimento é sempre necessário independente da linguagem de programação 
que estamos utilizando? 
(f) O que precisamos utilizar para fazer o que você descreveu no item anterior? 
(g) Citar as diferenças entre linguagem de máquina, linguagem fonte e linguagem objeto. 
Quem elabora cada um desses programas? 
11. Em uma Linguagem de Programação / Algoritmo têm vários tiposde comandos / 
ferramentas que são utilizados para determinar o que o computador deverá executar. 
Em relação a esses tipos de comandos/ferramentas, explique, de forma clara e sucinta, o 
solicitado em cada item a seguir, apresentando a forma geral do comando/ferramenta, 
esclarecendo a sua finalidade, o seu funcionamento, suas diversas formas, além de 
apresentar 2 exemplos para cada item: 
(a) Comando de seleção; 
(b) Comando de repetição; 
(c) Função; 
(d) Subprograma. 
12. Realizar pesquisa para identificar o que é “Programa Compilador” e o que é “Programa 
Interpretador”. Quais as diferenças entre eles, vantagens e desvantagens. 
(a) o que você entende por “Programa Compilador”; 
(b) explique qual a finalidade do programa compilador, para que é utilizado; 
(c) represente graficamente como seria a sua utilização e o que é gerado. 
(d) em um mesmo computador seria possível se processar programas escritos em 
linguagens de programação diferentes? 
(e) informe também se para processar um programa em linguagem fonte no computador 
é necessário que no mesmo exista um compilador qualquer; 
(f) explicar sua resposta. 
13. Quando desejamos que o computador execute algum trabalho, precisamos informar ao 
computador que queremos e como deve ser feito. 
(a) como realizamos isto? 
(b) o que necessitamos? 
(c) em todo computador podemos realizar esse trabalho? 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 7 
(d) represente graficamente como seria feito. 
(e) Explicar claramente sua resposta. 
 
14. Alguns números inteiros possuem a capacidade de se autoelogiarem através de seus 
dígitos. Esses são números que formam a família dos Números Narcisistas. 
A característica que identifica os Números Narcisistas clássicos corresponde aquela onde 
a soma de cada um dos dígitos que compõe o número, elevados à potência do valor igual 
a quantidade de dígitos que compõe o número. 
Por exemplo, o número 153 é um narcisista clássico porque a soma de cada um de seus 
dígitos elevados ao cubo (total de dígitos que compõe o número 153), é exatamente 153. 
153 = 13 + 53 + 33 = 1 + 125 + 27 = 153 
Crie um algoritmo para listar todos os Números Narcisistas no intervalo de 0 até N. 
Apresentar resultado em layout semelhante ao utilizado neste trabalho conforme definido 
pelo aluno. 
15. Um problema típico em ciência da computação consiste em converter um número da sua 
forma decimal, base dez, para a forma binária, base dois. 
Por exemplo, o número 12 na base decimal, base dez, tem sua representação binária igual 
a 1100, base dois. A forma mais simples de fazer isso é dividir, o número que está na base 
10, sucessivamente pelo valor da base que se deseja converter, no caso a base 2, binária. 
O resto da i-ésima divisão vai ser o dígito i do número binário (da direita para a esquerda). 
Por exemplo: 12 / 2 = 6, resto = 0, que vai ser o 1º dígito da direita para a esquerda na 
base binária. Continuando, 6 / 2 = 3, resto = 0, que vai ser o 2º dígito da direita para a 
esquerda na base binária. Continuando, 3 / 2 = 1, resto = 1, que vai ser o 3º dígito da 
direita para a esquerda na base binária. Continuando, 1 / 2 = 0, resto = 1, que vai ser o 4º 
dígito da direita para a esquerda na base binária. 
Resultado, 12 na base decimal corresponde a 1100 na base binária. 
Faça um algoritmo para conhecer um valor na base decimal e determinar o valor 
correspondente na base binária. 
Apresentar resultado em layout semelhante ao utilizado na questão a seguir definido pelo 
aluno. 
Apresentar resultado em layout semelhante ao utilizado neste trabalho conforme definido 
pelo aluno. 
16. O algoritmo codificado a seguir tem a finalidade de processar N elementos de um 
conjunto. 
Durante o processamento é para realizar o cálculo do somatório dos elementos cujos 
valores sejam pares e que o valor do elemento seja divisível por 3, inclusive. 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 8 
Sendo assim, analisar todos os comandos do algoritmo listado a seguir para avaliar se 
está executando conforme definido. Se for necessário, introduzir as alterações para que o 
solicitado seja realizado. Explicar de forma clara a sua resposta. 
INICIO 
 VARIAVEL N, NL: INTEIRA; 
 SO := 0; 
 ESCREVA (“UFC – 2018.1”); 
 ESCREVA (“Curso: x-------------------x”); 
 ESCREVA (“Nome: x------------------x”); 
 ESCREVA (“NUMERO ELEMENTOS = ”, N); 
 ESCREVA (“ELEMENTOS”); 
 REPITA ENQUANTO I <= N 
 ESCREVA (EL); 
 SE EL / 2 * 2 = EL E EL >= 3 
 FIMSE; 
 FIMREPITA; 
 ESCREVA (“VALOR = ”, P); 
 ESCREVA (“VALOR DE Q = ”, Q); 
FIM. 
Layout 
 
 
 
 
 
 
 
 
 
 
 
17. Escreva um conjunto de instruções para determinar qual o maior valor dentre os N 
elementos de um conjunto. Identificar também a posição desse elemento dentro do 
conjunto. 
Apresentar, no final do processo, todos os elementos do conjunto, qual o maior valor e a 
posição desse valor dentro do conjunto. 
 
 
 
 
UFC – 2018.1 
Curso: xxxxxxxxxxxxxxxxxxxxxxxxxx 
Nome: x-----------------x 
NUMERO DE ELEMENTOS = XX 
ELEMENTOS 
XX XX .... XX 
Somatorio = XXX 
 
UFC – 2018.1 
CURSO: x------------x 
NOME: x-----------------x 
NUMERO DE ELEMENTOS = XX 
ELEMENTOS 
XX XX ....... XX 
MAIOR VALOR = XX 
POSIÇÃO DO MAIOR VALOR = XX 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 9 
18. Desenvolver um algoritmo e para ler e imprimir os N elementos de um conjunto 
calculando durante esse processo o somatório dos valores que sejam divisíveis por Y. 
O resultado a ser gerado deve ser conforme o modelo indicado a seguir: 
 
UFC – ENGENHARIA – 2018.1 
NOME: x-----------------x 
NUMERO DE ELEMENTOS = XX 
Y = XX 
ELEMENTOS: 
XX XX ...... XX 
SOMATORIO = XXX 
19. Faça um algoritmo para processar um primeiro vetor (vetor1) com 10 números inteiros, e 
um segundo vetor (vetor2) com cinco números inteiros. 
O algoritmo deve gerar dois outros vetores (vetor3 e vetor4) resultantes de cálculos 
realizados com os valores do vetor1 e do vetor2. 
O valor do primeiro elemento do vetor3 será composto pelo primeiro valor par do vetor1 
somado com todos os valores do vetor2. O valor do segundo elemento do vetor3 será igual 
ao segundo valor par do vetor1 somado com todos os valores do vetor2, e assim para os 
demais valores pares do vetor1. O vetor3 terá número de elementos igual a quantidade de 
pares do vetor1. 
vetor1 
8 7 3 4 6 9 15 10 19 12 
1 2 3 4 5 6 7 8 9 10 
vetor2 
4 8 11 3 5 
1 2 3 4 5 
 
vetor3 
39 35 37 
 
 
 
 
O vetor4 terá número de elementos igual a quantidade de valores impares do vetor1. O 
valor do primeiro elemento do vetor4 corresponderá a quantidade de divisores que o 
8+4+8+11+3+5 
4+4+8+11+3+5 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 10 
primeiro valor impar do vetor1 tenha no vetor2 e assim para os demais valores impares do 
vetor1. 
 
vetor4 
0 1 1 2 0 
 
 
 
 
20. Elaborar um algoritmo para gerar e imprimir a série de Fibonacci. A série deve ser gerada 
até o valor N e na forma do exemplo abaixo: 
0 1 
0 1 1 
0 1 1 2 
0 1 1 2 3 
0 1 1 2 3 5 
0 1 1 2 3 5 8 
 ...........................N 
Apresentar resultado em layout semelhante ao utilizado na questão a seguir. 
21. Codificar um algoritmo para calcular e imprimir o valor da expressão dada abaixo. 
Os valores de K e de L serão informados por ocasião do processamento do algoritmo, ou 
seja, serão conhecidas no início do processamento. Gerar relatório no formato a seguir.3 tem um divisor 
UFC – 2018.1 
CURSO DE X-------------X 
VALOR DE K = XX 
VALOR DE L = XX 
VALOR DA FUNÇÃO F = XX 









L
L
KKK
KF 
32
32
9 tem um divisor 
7 não tem divisor 
15 tem dois divisores 
 
UFC - Programação Computacional para Engenharia - 1ª Lista de Exercícios – 2018.1 
 11 
22. O Diretor Presidente de uma empresa de vendas tem o controle das informações de 
produtividade de cada vendedor totalizada por semana de cada mês. Considerar que os 
meses tem 4 semanas. São 4 meses. 
Na lista do Presidente constam seis vendedores que estão relacionados por ordem de 
matricula, um abaixo do outro. Os valores de produtividade de cada semana de cada mês 
estão registrados na horizontal do lado direito da matricula, por ordem crescente das 
semanas e meses do ano. 
Dito isso, escreva um algoritmo para gerar uma nova lista dos vendedores, a partir da lista 
do Presidente, com a totalização de vendas de cada mês. Calcular, também, o total para 
cada vendedor para o período considerado. 
Apresentar o resultado conforme modelo a seguir: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
F I M 
UFC – Engenharia 2018.1 
NOME: x-----------------x 
NUMERO DE VENDEDORES = X 
NUMERO DE MESES = X 
 
VENDEDORES X VENDAS POR SEMANA: 
XX XX ...... XX 
XX XX ...... XX 
.... ..... ..... 
XX XX ...... XX 
 
VENDEDORES X VENDAS TOTALIZADAS POR MÊS: 
XX XX XX XX XX XX 
XX XX XX XX XX XX 
.... .... .... .... .... .... 
XX XX XX XX XX XX

Continue navegando