Buscar

ATIVIDADE PRATICA - LINGUAGEM DE PROGRAMAÇAO

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

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA ELÉTRICA 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
VICTOR HUGO LINCK – RU: 2417235 
PROF. WINSTON SEM LUN FUNG 
 
 
 
 
 
 
 
 
 
 
JUARA – MATO GROSSO 
2022 
 
 
 
 
 
1 EXERCÍCIO 1 
Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: 
Crie um registro para armazenar o seu Nome Completo e o seu RU. 
Solicite ao usuário que digite o seu RU e o seu Nome Completo. 
Crie um ponteiro para o registro. 
Através do ponteiro para o registro verifique se o RU digitado é um número par ou 
ímpar e informe a resposta na tela. 
Através do ponteiro para o registro imprima o Nome Completo informado de traz 
para frente, invertido. 
 
#include <stdio.h> 
#include <locale.h> 
#include <stdlib.h> 
#include <conio.h> 
#include <string.h> //DECLARAÇÃO DE BIBLIOTECAS 
 
int main() { // FUNÇÃO MAIN PRINCIPAL 
 setlocale(LC_ALL, "PORTUGUESE");//Para os caracteres ficarem em portugues 
 
 printf("CADASTRO DE ALUNO\n\n"); 
 
 struct cadastro_aluno { //CRIANDO STRUCT DE REGISTRO 
 char nome[50]; 
 int ru; 
 }; struct cadastro_aluno aluno; 
 
 int tamanho = 0, i; //FUNÇAO PARA DIMENSIONAR O TAMANHO DO NOME 
 
 printf("\nDigite o nome do aluno: "); //ENTRAR COM O NOME DO ALUNO 
 fgets(aluno.nome,49, stdin); 
 
 printf("\nDigite o RU do aluno: "); //ENTRAR COM O RU DO ALUNO 
 scanf_s("%d", &aluno.ru); 
 
 printf("\nALUNO CADASTRADO\n"); //CONFIRMAÇÃO DE CADASTRO DO ALUNO 
 printf("\nNome: %s", aluno.nome); 
 printf("RU: %d", aluno.ru); 
 printf("\n"); 
 
 tamanho = strlen(aluno.nome); //FUNÇÃO PARA DIMENSIONAR O TAMANHO DO NOME 
 
 if (aluno.ru % 2 == 0) { // DEFININDO SE O NÚMERO É PAR OU ÍMPAR 
 printf("\nO RU é um número par\n", aluno.ru); 
 } 
 else { 
 printf("\nO RU é um número ímpar\n", aluno.ru); 
 } 
 for (i = tamanho; i >= 0; i--) { //COLOCANDO O NOME DE TRÁS PARA FRENTE APÓS 
FAZER A CONTAGEM DOS CARACTERES 
 printf("%c", aluno.nome[i]); 
 
 } 
 
 return 0; 
} 
 
 
 
 
PRINT DO EXERCÍCIO 1 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 EXERCÍCIO 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. 
Utilizando ponteiros verifique qual o maior e menor número contido neste vetor e 
imprima na tela. 
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu RU 
 
 
#include <stdio.h> // DECLARAÇÃO DE BIBLIOTECA 
#include <locale.h> 
int main() // FUNÇÃO MAIN PRINCIPAL 
 
{ 
 setlocale(LC_ALL, "Portuguese"); // COLOCAR TODOS OS CARACTERES EM PORTUGUÊS 
 
 int vetor[7], i, * ponteiro; // VETOR, VARIÁVEIS E PONTEIRO 
 int numero_maior, numero_menor; // VARIÁVEL DE NÚMERO MAIOR E MENOR 
 
 for (i = 0; i < 7; i++) // INSERIR OS NÚMEROS DO RU NO VETOR 
 { 
 printf("Informe um número de cada vez do seu RU: "); // INSERIR UM NUME-
RO DE CADA VEZ DO RU NO PROGRAMA 
 scanf_s("%d", &vetor[i]); // SALVAR NO VETOR OS NÚMEROS INSERIDOS DO RU 
 } 
 
 ponteiro = vetor; // ADICIONA OS NUMEROS DO VETOR NO PONTEIRO 
 
 printf("\nVetor criado a partir do seu RU:\n"); // IMPRIMIR O VETOR CRIADO A 
PARTIR DOS NÚMEROS DO RU 
 for (i = 0; i < 7; i++) { 
 
 printf("\n[%d] = %d \n", i, ponteiro[i]); // IMPRIMIR TODOS OS NUMERO DO 
VETOR E SUA POSIÇÃO 
 
 if (i == 0) { // DEFINIR QUAL É O MAIOR NÚMERO E O 
MENOR 
 numero_maior = ponteiro[i]; 
 numero_menor = ponteiro[i]; 
 } 
 else { 
 if (ponteiro[i] > numero_maior) { 
 numero_maior = ponteiro[i]; 
 } 
 if (ponteiro[i] < numero_menor) { 
 
 } 
 } 
 } 
 printf("\nMaior número no vetor: %d", numero_maior); // IMPRIMIR O MAIOR NÚMERO 
DO VETOR 
 printf("\nMenor número no vetor: %d", numero_menor); // IMPRIMIR O MENOR NÚMERO 
DO VETOR 
 return 0; 
} 
 
 
 
 
PRINT DO EXERCÍCIO 2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3 EXERCÍCIO 3 
Faça um programa, em linguagem C, para calcular a área e o perímetro de um hexágono. 
O programa deve implementar uma função chamada calc_hexa que calcula a área e o pe- 
rímetro de um hexágono regular de lado L. 
O programa deve solicitar ao usuário o lado do polígono, calcular e imprimir a área e o 
perímetro do polígono. O programa termina quando for digitado um valor negativo 
qualquer para o lado. A função deve obedecer ao seguinte protótipo: 
void calc_hexa(float l, floar *area, float *perimetro); 
Lembrando que a área e o perímetro de um hexágono regular são dados por: 
 
Para demonstrar o funcionamento faça os print de tela utilizando o primeiro número do 
seu RU. 
 
#include <stdio.h> // DECLARAÇÃO DE BIBLIOTECA 
#include <math.h> 
#include <locale.h> 
 
 
void calc_hexa(float L, float* area, float* perimetro) { // FUNÇÃO PARA CALCULAR O 
PERÍMETRO E A ÁREA DO HEXAGONO 
 
 *area = (3 * pow(L, 2) * sqrt(3)) / 2; // EQUAÇÃO PARA CALCULAR A ÁREA 
 *perimetro = 6 * L; // EQUAÇÃO PARA CALCULAR O PERÍMETRO 
} 
 
int main() { // FUNÇÃO PRINCIPAL MAIN 
 setlocale(LC_ALL, "Portuguese"); // DEIXAR TODOS OS CARACTERES EM PORTU-
GUÊS 
 float lado, area, perimetro; // PONTOS PARA ARMAZENAR OS NÚMEROS 
 
 printf("Digite o valor do lado (L) do hexagono:"); // INSERIR O VALOR DO LADO 
 scanf_s("%f", &lado); 
 while (lado >= 0) { // LAÇO PARA FUNCIONAR O PROGRAMA ATÉ QUE SEJA DIGITADO UM 
VALOR NEGATIVO 
 calc_hexa(lado, &area, &perimetro); 
 printf("\n O lado do hexagono é %.2f", lado); // IMPRIMIR OS RESULTADOS 
 printf("\n A área é igual a %.2f", area); 
 printf("\n E o perímetro é igual a %.2f \n", perimetro); 
 
 printf("\n Digite o valor do lado (L) do hexagono:"); 
 scanf_s("%f", &lado); 
 
 } 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
PRINT DO EXERCÍCIO 3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 EXERCÍCIO 4 
Faça um programa, em linguagem C, uma função recursiva para o cálculo potenciação. 
Sabe-se que o cálculo pode ser feito através de multiplicação sucessivas. 
Para demonstrar o funcionamento utilize o primeiro digito do seu RU como base e o úl-
timo digito como expoente. 
 
#include <stdio.h> // DECLARAÇÃO DE BIBLIOTECA 
#include <locale.h> 
 
int potencia(int base, int expoente); // DECLARAÇÃO DAS FUNÇÕES 
 
int main() { // FUNÇÃO PRINCIPAL MAIN 
 int base = 0, expoente = 0, resultado; 
 setlocale(LC_ALL, "Portuguese"); // COLOCAR TODOS OS CARACTERES EM PORTUGUES 
 
 printf("O PRIMEIRO NÚMERO DO SEU RU SERÁ A BASE E O ÚLTIMO SERÁ O EXPOEN-
TE\n\n"); // INFORMAR O PROCEDIMENTO 
 printf("Informe o primeiro digito do RU que será a BASE: \n\n"); // INFORMAR O 
PRIMEIRO DIGITO 
 scanf_s("%d", &base); // GUARDAR O DIGITO NA VARIÁVEL 
 printf("\n\nInforme o último digito do RU que será o expoente: \n\n"); // INFOR-
MAR O ÚLTIMO DIGITO 
 scanf_s("%d", &expoente); // GUARDAR O DIGITO NA VARIÁVEL 
 
 resultado = potencia(base, expoente); // DECLARAR QUE O RESULTADO É O PRODUTO DA 
BASE E DO EXPOENTE 
 printf("\n\nO resultado da potênciação de %d elevado a %d é igual a %d\n\n", 
base, expoente, resultado); // IMPRIMIR O RESULTADO 
 
 return 0; 
} 
 int potencia(int base, int expoente) { // DECLARAR QUE QUANDO O EXPOENTE FOR 0, 
O RESULTADO SERÁ 1 SEMPRE 
 if (expoente == 0) 
 return 1; 
 else 
 return (base * potencia(base, expoente - 1)); 
 } 
 
 
PRINT DO EXERCÍCIO 4 
 
 
 
 
 
 
5 EXERCÍCIO 5 
Crie um programa, em linguagem C, que receba 10 registros contendo, Nome, RU, tele-
fone e-mail. Solicite que sejam digitados todos os dados de todos os registrose ao final 
salve-os em um arquivo.csv, utilize o ; (ponto e vírgula) para separador e campo. O nome 
do arquivo deve ser o seu número de RU. 
 
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h> // DECLARAR BIBLIOTECA 
#include <stdlib.h> 
#include <locale.h> 
#include <string.h> 
#include <Windows.h> 
 
typedef struct { // DEFINIR ESTRUTURA 
 char nome[100], email[100], fone[100]; // CRIANDO AS VARIÁVEIS 
 int *ru; // CRIANDO UMA VARIÁVEL INTEIRA EM PONTEIRO 
}DADOS; 
 
int main() { // FUNÇÃO PRINCIPAL MAIN 
 char ch; 
 setlocale(LC_ALL, "Portuguese"); // DEIXAR TODOS OS CARACTERES EM PORTUGUES 
 int cont = 0, i; // VARIAVEIS 
 DADOS dados[10], * aluno; 
 aluno = dados; // SALVAR OS DADOS DO ALUNO 
 FILE* arquivo; // CRIANDO O ARQUIVO 
 fopen_s(&arquivo, "2417235.csv", "w"); // CRIANDO O ARQUIVO 
 
 for (int i = 0; i < 10; i++) { // DEFININDO O NÚMERO DE CADASTROS 
 printf("CADASTRO DO ALUNO %d\n", cont + 1); 
 
 printf("Nome do aluno: "); // INSERIR O NOME 
 fgets(aluno->nome, 100, stdin); // SALVAR O NOME 
 ch = getchar(); 
 fprintf(arquivo, "%s;", aluno->nome); // IMPRIMIR NO ARQUIVO 
 printf("Email do aluno: "); 
 fgets(aluno->email, 100, stdin); 
 ch = getchar(); 
 fprintf(arquivo, "%s;", aluno->email); 
 printf("Telefone do aluno: "); 
 fgets(aluno->fone, 100, stdin); 
 ch = getchar(); 
 fprintf(arquivo, "%s;", aluno->fone); 
 printf("RU do aluno: "); 
 scanf_s("%d", &aluno->ru); 
 ch = getchar(); 
 fprintf(arquivo, "%d", aluno->ru); 
 
 cont++; 
 printf("\n===========================================\n"); 
 
 } 
 
 fclose(arquivo); // FECHAR OS ARQUIVOS 
 printf("\n TODOS OS DADOS FORAM SALVOS COM SUCESSO"); 
 return 0; 
 
} 
 
 
 
 
 
PRINT 1 DO EXERCÍCIO 5 
 
 
PRINT 2 DO EXERCÍCIO 5

Outros materiais