Você está na página 1de 2

Universidade Federal do Pará (UFPA)

Instituto de Tecnologia (ITEC)


Faculdade de Engenharias Elétrica e Biomédica (FEEB)

Trabalho 2 – PEC

Docente: Nilton Rodolfo N. M. Rodrigues


Deadline do trabalho: 14/01/2022 às 23h59

Atenção: Você deve produzir apenas um código para cada questão, seguindo este padrão: nome_A.h
(ou .txt), nome_B.cpp e nome_C.cpp. No meu caso, ficaria assim: niltonrodolfo_A.h,
niltonrodolfo_B.cpp e niltonrodolfo_C.cpp (não utilize espaço no nome do arquivo).

Pontuação: cada questão vale até x (a pontuação de cada questão está indicada abaixo) pontos,
seguindo esta estratégia de correção:
a) O código pode ser compilado corretamente? (sim: 0,5; não: 0 e o outro ponto não será
avaliado.)
b) O código resolve o problema proposto corretamente? (sim: (x-0,5); não: a nota final será
dada por 0,5 + (0,5)n(x - 0,5), em que n é o número de linhas com erro/imprecisão.)

Exemplo: Se o código compila corretamente mas apresenta duas linhas com imprecisões, a
nota será 0,5 + 0,25.(x - 0,5).

Problemas:
A) Crie um arquivo .h no formato nome_A.h com as seguintes funções, implementadas em
linguagem C++ (considere a e b como números inteiros maiores ou iguais a zero):

int multiplicacao (int a, int b), a qual deve retornar o produto a.b (equivalente à operação a*b),
utilizando apenas estruturas de decisão, estruturas de repetição, soma e/ou subtração. (1,0 ponto)

int quociente (int a, int b), a qual deve retornar o quociente da divisão de a por b (equivalente à
operação a/b), utilizando apenas estruturas de decisão, estruturas de repetição, soma e/ou subtração.
(1,0 ponto)

int resto (int a, int b), a qual deve retornar o resto da divisão de a por b (equivalente à operação a
%b), utilizando apenas estruturas de decisão, estruturas de repetição, soma e/ou subtração. (1,0
ponto)
B) Escreva um código que crie 100 arquivos de saída, sendo que o nome de cada arquivo deve
seguir o padrão: “tabuada_1.txt”, “tabuada_2.txt”, “tabuada_3.txt”, …, “tabuada_99.txt”,
“tabuada_100.txt”. O conteúdo de cada arquivo deve ser a tabuada do número indicado no nome do
mesmo, conforme o modelo apresentado a seguir para “tabuada_1.txt” e “tabuada_2.txt”: (4,0
pontos)

1x1 = 1
1x2 = 1 + 1 = 2
1x3 = 1 + 1 + 1 = 3
1x4 = 1 + 1 + 1 + 1 = 4
1x5 = 1 + 1 + 1 + 1 + 1 = 5
1x6 = 1 + 1 + 1 + 1 + 1 + 1 = 6
1x7 = 1 + 1 + 1 + 1 + 1 + 1 + 1 = 7
1x8 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8
1x9 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 9
1x10 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 10

2x1 = 2
2x2 = 2 + 2 = 4
2x3 = 2 + 2 + 2 = 6
2x4 = 2 + 2 + 2 + 2 = 8
2x5 = 2 + 2 + 2 + 2 + 2 = 10
2x6 = 2 + 2 + 2 + 2 + 2 + 2 = 12
2x7 = 2 + 2 + 2 + 2 + 2 + 2 + 2 = 14
2x8 = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 16
2x9 = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 18
2x10 = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 20

C) Implemente uma rotina computacional em C++ que calcule a matriz C, a qual é dada pelo
produto matricial
C = A.B.
Caso o produto A.B não possa ser realizado, a rotina computacional deve informar isso ao usuário.
Nesse problema, o usuário deve informar as matrizes A (de m linhas e n colunas) e B (de p linhas e
q colunas) nos arquivos de entrada “A.txt” e “B.txt”, respectivamente. Após a execução do
programa, a matriz C deve ser informada na tela e salva no arquivo “C.txt”. (3,0 pontos)

Atenção: o programa deve obter os valores de m, n, p e q pela leitura dos arquivos de entrada.

Você também pode gostar