Buscar

LINGUAGEM 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 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
 ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
 LINGUAGEM DE PROGRAMAÇÃO
 
 
 ATIVIDADE PRÁTICA
 
 NOME ALUNO: GABRIEL PEREIRA DA FONSECA – RU: 3356131
 NOME PROFESSOR: WINSTON SEN LUN FUNG
 CAXIAS DO SUL - RS
 ANO DO PROJETO
 2021
EXERCÍCIO 1
#include <stdio.h> // Biblioteca usada para entrada e saída de dados
#include <stdlib.h> //Biblioteca usada para alocação de memória, controle de processos, conversões e outras.
struct Funcionario // Declaração de uma estrutura chamada Funcionário.
{
 char nome[40]; // Váriavel para alocar o nome do funcionário, do tipo charactercom espaço para 40 letras.
 float salario; // Definido variável para alocar o valor do salário, do tipo ponto flutuante, por se tratar de valor monetário.
};
int main() //
{
 struct Funcionario registro, * p_registro; //Definido um apelido para a struct e um ponteiro.
 p_registro = &registro; //Definido o endereço do ponteiro para a estrutura Funcionario.
 char c;
 printf("Funcionario: ");
 fgets(registro.nome, 40, stdin); //Registrado o nome dentro da variável nome, utilizando o fgets para registrar strings.
 printf("\nSalario: ");
 scanf_s("%f", &registro.salario); //Registrado o nome dentro da variável salario.
 while ((c = getchar()) != '\n' && c != EOF) {} //Limpeza de buffer.
 if (p_registro->salario > 4664.68) { // Início de uma estrutura condicional, condicionado caso o ponteiro salário seja maior que 4664.68.
 printf("\n*************FOLHA DE PAGAMENTO DO FUNCIONARIO*************\n");
 printf("\nNome: %s\n", registro.nome); //Impressão variável nome, dentro da estrutura.
 printf("\nSalario: %f\n", p_registro->salario); //Impressão da variável salário, com uso de ponteiro.
 printf("\nAliquota de 27.5%%\n");
 printf("\nImposto a ser descontado: %f\n", p_registro->salario * 0.275); //Impressão do cálculo que será descontado sobre a alíquota, conforme o percentual.
 }
 else if (p_registro->salario > 3751.06) { // Início de uma estrutura condicional, condicionado caso o ponteiro salário seja maior que 3751.06.
 printf("\n*************FOLHA DE PAGAMENTO DO FUNCIONARIO*************\n");
 printf("\nNome: %s", registro.nome);
 printf("\nSalario: %f\n", p_registro->salario);
 printf("\nAliquota de 22.5%%\n");
 printf("\nImposto a ser descontado: %f\n", p_registro->salario * 0.225);
 }
 else if (p_registro->salario > 2826.65) { // Início de uma estrutura condicional, condicionado caso o ponteiro salário seja maior que 2826.65.
 printf("\n*************FOLHA DE PAGAMENTO DO FUNCIONARIO*************\n");
 printf("\nNome: %s\n", registro.nome);
 printf("\nSalario: %f\n", p_registro->salario);
 printf("\nAliquota: 15%%\n");
 printf("\nImposto a ser descontado: %f\n", p_registro->salario * 0.15);
 }
 else if (p_registro->salario > 1903.99) { // Início de uma estrutura condicional, condicionado caso o ponteiro salário seja maior que 1903.99.
 printf("\n*************FOLHA DE PAGAMENTO DO FUNCIONARIO*************\n");
 printf("\nNome: %s\n", registro.nome);
 printf("\nSalario: %f\n", p_registro->salario);
 printf("\nAliquota: 7.5%%\n");
 printf("\nImposto a ser descontado: %f\n", p_registro->salario * 0.075);
 }
 else {
 printf("\n*************FOLHA DE PAGAMENTO DO FUNCIONARIO*************\n"); //Caso o salário do funcionário seja menor que 1903.99, será impresso as informações normalmente.
 printf("\nNome: %s\n", registro.nome); //sem fazer nenhum cálculo sobre o salário.
 printf("\nSalario: %f\n", p_registro->salario);
 printf("\nAliquota: Isento\n");
 printf("\nImposto a ser descontado: %f\n", p_registro->salario * 0);
 }
 return 0;
}
EXERCíCIO 2
#include <stdio.h> //Biblioteca usada para entrada e saída de dados.
#include <stdlib.h> //Biblioteca usada para alocação de memória, controle de processos, conversões e outras.
int main()
{
 int ru; //Declarado uma variável do tipo inteiro chamado de ru.
 printf("Digite o seu RU(somente 6 digitos):");
 scanf_s("%d", &ru); //Função para receber e endereçar o digitado pelo usuário dentro da variável ru.
 printf("\nSeu RU e: %d", ru);
 int ru0 = ru / 1000000 % 10; //Definido uma variável do tipo inteiro, onde foi aplicado um cálculo de divisão do RU recebido
 int ru1 = ru / 100000 % 10; //de acordo com a quantia de casas decimais, no final é divido o resto da divisão por 10, resultando no primeiro dígito do RU.
 int ru2 = ru / 10000 % 10; // o mesmo acontece até o último dígito do número recebido.
 int ru3 = ru / 1000 % 10;
 int ru4 = ru / 100 % 10;
 int ru5 = ru / 10 % 10;
 int ru6 = ru / 1 % 10;
 int soma = ru0 + ru1 + ru2 + ru3 + ru4 + ru5 + ru6; //soma de todos os dígitos do RU.
 int vetor_ru[8] = { ru0, ru1, ru2, ru3, ru4, ru5, ru6, soma }; //vetor criado incluindo todos os inteiros calculados.
 int* pont; //definido ponteiro
 pont = vetor_ru; //ponteiro será igual ao vetor criado anteriormente.
 printf("\n\n%i + %i + %i + %i + %i + %i + %i = %i\n", vetor_ru[0], vetor_ru[1], vetor_ru[2], vetor_ru[3], vetor_ru[4], vetor_ru[5], vetor_ru[6], vetor_ru[7]); //Impressão dos resultados.
 return 0;
}
EXERCÍCIO 3
#include <stdio.h> //Biblioteca usada para entrada e saída de dados.
#include <stdlib.h> //Biblioteca usada para alocação de memória, controle de processos, conversões e outras.
int main(void) {
 int mat_A[4][4], mat_B[4][4], mat_C[4][4]; //Definido as matrizes do tipo inteiro, com 4 colunas e 4 linhas cada.
//MATRIZ A
 for (int i = 0; i < 4; ++i) { //definido laço de repetição, iniciando do 0, quando variável i menor que 0. Adicionando 1 a variável a cada execução, definindo valores para cada linha da matriz.
 for (int j = 0; j < 4; ++j) { //definido laço de repetição dentro do anterior, iniciando do 0. Quando variável j menor que 0 e adicionando 1 a variável a cada execução, definindo valores para cada coluna da matriz.
 printf("A[%d][%d]:", i, j); //impressão das posições da matriz A, solicitando o usuário a inserir os valores.
 scanf_s("%d", &mat_A[i][j]); //gravando os valores das linhas e colunas para a matriz A.
 }
 }
//MATRIZ B
 printf("\n");
 for (int i = 0; i < 4; ++i) {
 for (int j = 0; j < 4; ++j) {
 printf("B[%d][%d]:", i, j);
 scanf_s("%d", &mat_B[i][j]);
 }
 }
 printf("\n\n");
 printf("MATRIZ A:\n"); //impressão da matriz A
 for (int i = 0; i < 4; ++i) { //utilizado um laço de repetição para percorrer os valores dentro das linhas em A
 for (int j = 0; j < 4; ++j) { //utilizado um laço de repetição para percorrer os valores dentro das colunas em A
 printf("%i ", mat_A[i][j]); //impressão dos resultados dentro dos laços de repetições.
 }
 printf("\n");
 }
 printf("\n");
 printf("MATRIZ B:\n");
 for (int i = 0; i < 4; ++i) {
 for (int j = 0; j < 4; ++j) {
 printf("%i ", mat_B[i][j]);
 }
 printf("\n");
 }
 printf("\n");
 printf("MATRIZ C:\n");
 for (int i = 0; i < 4; ++i) {
 for (int j = 0; j < 4; ++j) {
 int mat_C = mat_A[i][j] + mat_B[i][j]; //laços de repetições definidos como anteriormente, a diferença é que serão somados os valores das matrizes A e B, aderindo o resultado referente a cada linha e coluna na matriz C.
 printf("%d ", mat_C);
 }
 printf("\n");
 }
 return 0;
}
EXERCÍCIO 4
#include<stdio.h>
int soma(int multiplicando, int multiplicador) { //definiçãode uma função chamada soma, no qual têm como parâmetros duas variáveis inteiras, um valor para o multiplicando e outro para o multiplicador.
 if (multiplicador == 0 || multiplicando == 0) { //condição imposta caso as variáveis multiplicador ou multiplicando sejam igual a 0, no qual será retornado o valor 0.
 return 0;
 }
 else if (multiplicador == 1) { //caso o multiplicador seja igual a 1, retornará o valor do multiplicando.
 return multiplicando;
 }
 else {
 return(multiplicando + soma(multiplicador - 1, multiplicando)); //definição da função recursiva, onde soma o multiplicando com o resultado da função soma, no qual diminui uma unidade do multiplicador e recursivamente foi chamando a mesma função, até que o valor do multiplicador fosse igual a 1, pegando os resultados somando recursivamente até a primeira chamada.
 }
}
int main() {
 int multiplicador, multiplicando, resp; //declaração das variáveis inteiras.
 printf("Digite o multiplicando: \n");
 scanf_s("%i", &multiplicando); //Alocação da variável multiplicando.
 printf("Digite o multiplicador: \n");
 scanf_s("%i", &multiplicador); //Alocação da variável multiplicador.
 resp = soma(multiplicando, multiplicador); //definido a variável resp como a função soma, com os parâmetros multiplicando e multiplicador.
 printf("O resultado da multiplicacao por soma e: %i\n", resp); //impressão do resultado
 return 0;
}
EXERCÍCIO 5
#define _CRT_SECURE_NO_WARNINGS //desativar os avisos de substituição para essas funções no CRT.
#include<stdio.h>
#include<stdlib.h>
struct dados { //definição de uma estrutura de variáveis, contendo nome, CPF, telefone e email.
 char nome[40];
 long int CPF;
 int telefone;
 char email[40];
};
int main() {
 FILE* arquivo = fopen("C:\\Users\\gabep\\OneDrive\\Área de Trabalho\\3356131.csv", "a"); //definição de uma variável chamada arquivo, sendo um ponteiro e do tipo FILE, definido o local de criação na área de trabalho e o caractere "a" de append, adicionando informações no arquivo.
 char c;
 struct dados registro, * p_registro; //definido o apelido a struct e também um ponteiro para registro.
 p_registro = &registro; // o ponteiro terá os mesmos valores da struct dados registro.
 for (int i = 0; i < 6; ++i) { // estrutura de repetição solicitando 6 entradas para o registro da struct.
 printf("\nNome: ");
 fgets(registro.nome, 40, stdin); //alocando informações do nome dentro da variável 'nome'.
 printf("\nCPF: ");
 scanf_s("%i", &registro.CPF); //alocando informações do CPF dentro da variável 'CPF'.
 while ((c = getchar()) != '\n' && c != EOF) {} //limpeza de buffer.
 printf("\nTelefone: ");
 scanf_s("%i", &registro.telefone); //alocando informações do telefone dentro da variável 'telefone'.
 while ((c = getchar()) != '\n' && c != EOF) {}
 printf("\nEmail: ");
 fgets(registro.email, 40, stdin); //alocando informações do email dentro da variável 'email'.
 fprintf(arquivo, "%s;%i;%i;%s", p_registro->nome, p_registro->CPF, p_registro->telefone, p_registro->email); //função fprintf utitilizada para gravar as informações no arquivo CSV
 }
 fclose(arquivo); //fechando o arquivo.
 return 0;
}

Outros materiais