Buscar

ATIVIDADE PRATICA

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

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
JONAS SOUZA MOTA – RU: 3471082 
 PROFESSOR WINSTON SEM LUN FUNG, ESP. 
 
 
 
 
 
 
 
 
 
 
CURITIBA – PARANÁ 
2021 
 
 
 
1 
 
1- Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
 Crie um registro para armazenar o seu Nome de um funcionário e o seu salário. 
 Solicite ao usuário que digite o Nome Completo e o salário. 
 Crie um ponteiro para o registro. 
 Através do ponteiro para o registro verifique a alíquota do imposto de renda para 
o salário informado, utilize a tabela abaixo para determinar a alíquota: 
 
 Através do ponteiro para o registro imprima o Nome Completo, o salário, a alí-
quota do imposto de renda (em %) e o valor a ser deduzido do salário. 
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu 
nome completo e o no campo salário utilize se RU conforme indicado abaixo: 
 
 
 
 
Salário R$ 
1 2 3 4 5 , 6 7 
P
ri
m
e
ir
o
 
d
íg
it
o
 
 
, 
 
Ú
lt
im
o
 
d
íg
it
o
 
 
 
 
Solução do aluno: 
#include <stdio.h> 
#include <stdlib.h> 
 
struct dados // o 'dados' é o tipo da struc e abaixo os compenentes dela 
{ 
 char nome[18]; // o numero 18 significa a quantidade de letras 
 float salario; // float para receber numeros com casas decimais 
}; 
 
int main() { 
 struct dados func, * p_func; //é criado o ponteiro. 
 // é criado a variavel que vai utilizar as informações contida em 'dados'. 
 
 p_func = &func; // o ponteiro vai receber o endereço de memoria de onde esta a 
estrutura 
 
 
 
 
 printf("\nDigite o nome do funcionario: "); // pedir para o usuario digitar o 
nome do funcionario. 
 fgets(func.nome, 17, stdin); // receber o nome do funcionario, 
 // a variavel func é do tipo struct dados, e 'nome' é a variavel interna onde 
sera armazenado 17 caracteres que vira do teclado. 
 
 printf("\nDigite o salario do Funcionario: "); // pedir para o usuario digitar o 
salario do funcionario. 
 scanf_s("%f", &func.salario); 
 
 if (p_func->salario > 4664.68) //para acessar o membro da estrutura usa o nome 
do ponteiro '->' e o membro. 
 { 
 printf("O nome do funcionario eh: %s\n\n", func.nome); 
 printf("O salario do funcionario eh: %f\n", func.salario); 
 printf("A aliquota eh: 27,5 porcento\n"); 
 printf("O valor devido de imposto eh: %f\n", p_func->salario * 0.275); 
 } 
 
 else if (p_func->salario > 3751.05) // Faz uma coparação se o salario é maior. 
 { 
 printf("O nome do funcionario eh: %s\n", func.nome); 
 printf("O salario do funcionario eh: %f\n", func.salario); 
 printf("A aliquota eh: 22,5 porcento\n"); 
 printf("O valor devido de imposto eh: %f\n", p_func->salario * 0.225); 
 } 
 
 else if (p_func->salario > 2826.66) 
 { 
 printf("O nome do funcionario eh: %s\n", func.nome); 
 printf("O salario do funcionario eh: %f\n", func.salario); 
 printf("A aliquota eh: 15 porcento\n"); 
 printf("O valor devido de imposto eh: %f\n", p_func->salario * 0.15); 
 } 
 
 else if (p_func->salario > 1903.99) 
 { 
 printf("O nome do funcionario eh: %s\n", func.nome); 
 printf("O salario do funcionario eh: %f\n", func.salario); 
 printf("A aliquota eh: 7,5 porcento\n"); 
 printf("O valor devido de imposto eh: %f\n", p_func->salario * 7.5); 
 } 
 
 else if (p_func->salario < 1903.99) 
 { 
 printf("O nome do funcionario eh: %s\n", func.nome); 
 printf("O salario do funcionario eh: %f\n", func.salario); 
 printf("A aliquota eh: isento\n"); 
 printf("O valor devido de imposto eh: 0\n"); 
 } 
 
 return 0; 
} 
 
Imagem do código funcionando no seu computador: 
 
 
 
 
 
 
 
 
2 – Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
 Crie um vetor com a quantidade de dígitos do seu RU. 
 Solicite que usuário digite o seu RU, cada digito digitado deve ser armazenado em 
uma posição do vetor. Por exemplo: 
 
Vetor RU 
P
ri
m
e
ir
o
 
d
íg
it
o
 
Ú
lt
im
o
 
d
íg
it
o
 
 
Posição do 
vetor RU 
 
0 
 
1 
 
2 
 
3 
 
4 
 
5 
 
6 
 
 Utilizando ponteiros verifique o valor da soma de todos os elementos contidos 
neste vetor e imprima na tela. 
 
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu RU. 
 
Solução do aluno: 
 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
 
 
 
3-Faça um programa, em linguagem C, para calcular a soma de duas matrizes 4 x 4 
de números inteiros. O programa deve implementar uma função chamada calc_soma que 
calcula a soma de duas matrizes. 
O programa deve solicitar ao usuário que seja informado as matrizes A e B de di-
mensões 4 x4, calcular e imprimir a matriz resultado C da soma das matrizes A com B. O 
programa termina quando for digitado um valor negativo. A função deve obedecer ao se-
guinte protótipo: 
 
void calc_soma(int *mat_A, int *mat_B, int *mat_C); 
 
 
Para demonstrar o funcionamento faça os print de tela. 
Solução do aluno: 
 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 
 
void calc_soma(int* mat_A, int* mat_B, int* mat_C) 
{ 
 int lin, col; // dois inteiros para representar linha e coluna. 
 
 printf("Matriz A:\n"); // é mostrada na tela a matriz A. 
 
 for (lin = 0; lin < 4; lin++) 
 { 
 for (col = 0; col < 4; col++) 
 { 
 printf("\t%d", mat_A[lin * 4 + col]); 
 } 
 printf("\n"); 
 } 
 
 printf("Matriz B:\n"); //é mostrada na tela a matriz B. 
 
 for (lin = 0; lin < 4; lin++) // comeza em zero e vai até 3. 
 { 
 for (col = 0; col < 4; col++) 
 { 
 printf("\t%d", mat_B[lin * 4 + col]); 
 } // É mostardo o valor de cada linha e coluna naquela posição. 
 printf("\n"); 
 } 
 
 for (lin = 0; lin < 4; lin++) 
 { 
 for (col = 0; col < 4; col++) 
 { 
 mat_C[lin * 4 + col] = mat_A[lin * 4 + col] + mat_B[lin * 4 + 
col]; 
 } // Matriz C vai receber a soma da matriz A com a matriz B naquela po-
sição. 
 
 
 
 
 } 
 
 printf("Matriz C:\n"); // é mostrada na tela a matriz C. 
 
 for (lin = 0; lin < 4; lin++) 
 { 
 for (col = 0; col < 4; col++) 
 { 
 printf("\t%d", mat_C[lin * 4 + col]); 
 } 
 printf("\n"); 
 } 
 
} 
 
void main() // Função não recebe nada. 
{ 
 
 int mat_A[4][4]; // matriz 4 linhas e 4 colunas. 
 int mat_B[4][4]; 
 int mat_C[4][4]; 
 
 int i; // é a linha. 
 int j; // é a coluna. 
 
 for (i = 0; i < 4; i++) // começa em zero. 
 { 
 for (j = 0; j < 4; j++) 
 { 
 printf("Digite o número da matriz A na posição [%d][%d] :", i, j); 
// Digite na coluna e na linha. 
 scanf_s("%d", &mat_A[i][j]); // Sera armazenado na matriz A. 
 if (mat_A[i][j] < 0) 
 { 
 printf("\nNúmero negativo, encerrando o programa.\n"); 
 exit(0); // Se o valor armazenado for menor que zero o p-
trograma é encerrado. 
 } 
 } 
 } 
 
 for (i = 0; i < 4; i++) { 
 for (j = 0; j < 4; j++) { 
 printf("Digite o número da matriz B na posição [%d][%d] :", i, j); 
 scanf_s("%d", &mat_B[i][j]); 
 if (mat_B[i][j] < 0) { 
 printf("\nNúmero negativo, encerrando o programa.\n"); 
 exit(0); 
 } 
 } 
 } 
 
 calc_soma(mat_A, mat_B, mat_C); // Essas matrizes são acessadas por ponteiros. 
 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Imagem do código funcionando no seu computador: 
 
 
4 – Faça, em linguagem C, uma função recursiva para o cálculo multiplicação. Sabe-se que o 
cálculo pode ser feito através de somas sucessivas. 
 
 
 
 
Para demonstrar o funcionamento utilize o primeiro digito do seu RU como base e o último 
digito como expoente. 
Solução do aluno: 
#include <stdio.h> 
int multiplica_com_soma(int vezes, int valor) 
{ 
 
 if (vezes == 0 || valor == 0) 
 { // Se algum dos numeros for 0 é retornado 0. 
 return(0); 
 } 
 else if (vezes == 1) // Se vezes for igual a 1 retorna o valor. 
 { 
 return(valor); 
 } 
 else { // E se não for 0 e nem 1 é retornado o valor somado da funçãomultipli-
ca_com_soma. 
 return(valor + multiplica_com_soma(vezes - 1, valor)); // diminuindo em 1 
a quantidade de vezes. 
 } 
 
} 
 
int main() // Essa função chama o multiplica_com_soma. 
{ 
 int res; 
 res = multiplica_com_soma(3,2); // REcebe um parametro inteiro vezes e um valor. 
 
 printf("Resultado : %d", res); 
 return (0); 
} 
Imagem do código funcionando no seu computador:

Continue navegando