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
ALEX FERNANDO RIBEIRO – RU: 1334803
PROF. SANDRO DE ARAUJO
ASSIS – SÃO PAULO
2022
1
1 EXERCÍCIO 1 (EXEMPLO)
ENUNCIADO: Fazer um programa em linguagem C que receber 3 valores inteiros do
usuário e mostra a sua média na tela (que pode não ser inteira).
Como dado de entrada, utilize os três últimos valores do seu RU.
Solução do aluno:
Não esqueça de explicar o código com comentários!!
CTRL+C/CTRL+V do Visual Studio!!
Se desejar, defina as páginas do documento para PAISAGEM para melhor inserir os códigos.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x, y, z; //VARIÁVEIS DE ENTRADA
float media; //VARIAVEL PARA A MÉDIA DEVE SER FLOAT, POIS A RESPOSTA PODE SER COM VIRGULA
printf("RU do aluno: 1234567\n");
printf("Digite um valor:"); //Antepenultimo valor do RU
scanf_s("%d", &x);
printf("Digite um valor:"); //Penultimo valor do RU
scanf_s("%d", &y);
printf("Digite um valor:"); //Ultimo valor do RU
scanf_s("%d", &z);
media = (x + y + z) / 3; //FAZ A MEDIA
printf("Resposta: %.2f\n", media);
system("pause");
return 0;
}
Imagem do código funcionando no seu computador:
Atenção
Este é o arquivo com o modelo para a apresentação dos exercícios. Você deve resolver e apresentar neste documento os exercícios
listados no ROTEIRO DA ATIVIDADE PRÁTICA.
ATIVIDADE PRÁTICA 01
PRÁTICA 01
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 ím-
par e informe a resposta na tela.
✓ Através do ponteiro para o registro imprima o Nome Completo informado de traz para
frente, invertido.
Por exemplo:
Pedro Alvares Cabral -> larbaC seravlA ordeP
Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu no-
me completo e o seu RU.
Solução do aluno atividade pratica 01
//Bibliotecas para Atividade Pratica 01 (Linguagem de Programação)
# include <stdio.h>
# include <stdlib.h>
typedef float prova;//redefinindo float
typedef int RU;//redefinindo int
struct notasAluno
{
RU matricula; //apelidos dentro da struct
prova nota1;
prova nota2;
}; typedef struct notaAluno n_aluno; //criando um apelido para struct
int main()
{
n_aluno aluno; //não é mais necessario escrever "struct n_aluno"
prova media = 0;
printf("Digite a matricula do aluno:");
scanf_s("%d", &aluno.matricula);
printf("Digite a primeira nota:");
scanf_s("%f", &aluno.nota1);
printf("Digite a segunda nota:");
scanf_s("%f", &aluno.nota2);
media = (aluno.nota1 + aluno.nota2) / 2;
printf("\nMatricula do aluno: %d\n", aluno.matricula);
printf("Media das duas notas: %2f\n\n", media);
System("pause");
return 0;
}
PRÁTICA 02
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 im-
prima na tela. Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando
seu RU.
Solução do aluno atividade pratica 02
// Bibliotecas para Atividade Pratica 02 (Linguagem de Programação)
#include<stdio.h>
#include<conio.h>
#define max 7 // quantidades de vetores
//main sera a função principal para esse programa
int main()
{
int inserir_Numeros_Vetor[7], i, * ptr;
int maior, menor;
//O vetor e o ponteiro
for (i = 0; i < 7; i++)
//o for = vetor
{
printf("Numero do RU(unidade): ");
scanf_s("%d", &inserir_Numeros_Vetor[i]);
//o vetor sera inserido em numeros
}
ptr = inserir_Numeros_Vetor;
printf("\nVetor com os numeros do RU:\n");
//os numeros ira direto para os ponteiro
for (i = 0; i < 7; i++) {
//vai informar os números informados pelo usuário
printf("\n[%d] = %d ", i, ptr[i]);
if (i == 0) {
maior = ptr[i];
menor = ptr[i];
}
else {
if (ptr[i] > maior) {
maior = ptr[i];
}
if (ptr[i] < menor) {
menor = ptr[i];
}
}
}
printf("\nNúmero no Vetor Maior: %d", maior);
printf("\nNúmero no Vetor Menor: %d", menor);
}
Imagem de saída do console no Visual Studio
PRÁTICA 03
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 períme-
tro 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:
𝑎𝑟𝑒𝑎 = 3 × 𝐿 2 × √3 2 𝑝𝑒𝑟í𝑚𝑒𝑡𝑟𝑜 = 6 × 𝐿
Para demonstrar o funcionamento faça os print de tela utilizando o primeiro número do
seu RU.
Solução do aluno atividade pratica 03
// Bibliotecas para Atividade Pratica 03 (Linguagem de Programação)
#include<stdio.h>
#include<math.h>
void calc_hexa(float l, float* area, float* perimetro) {// função para e imprimir a
área e o perímetro do polígono
*area = (3 * pow(l, 2) * sqrt(3)) / 2;
*perimetro = 6 * l;
}
int main() {
float lado, area, perimetro;
printf("Digite a Area :");
scanf_s("%f", &lado);
while (lado > 0) {//laço para rodar ate que seja maior que zero
calc_hexa(lado, &area, &perimetro);
printf("\nInforme a area do perimetro do hexagono regular %.2f e
igual a % .2f e o perimetro % .2f", lado, area, perimetro);
printf("\nDigite o lado do hexagono:");
scanf_s("%f", &lado);
}
}
Imagem de saída do console no Visual Studio
PRÁTICA 04
Faça, 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ções sucessivas.
Para demonstrar o funcionamento utilize o primeiro digito do seu RU como base e o úl-
timo digito como expoente.
Solução do aluno atividade pratica 04
// Bibliotecas para Atividade Pratica 04 (Linguagem de Programação)
#include<stdio.h>
#include<stdlib.h>
int func_potencia(int base, int expoente) {//função para calcular a potênciação do
programa)
if (expoente == 3)
return 1;
else
return (base * func_potencia(base, expoente= 3));
}
int main() {
int b = 1, exp = 0, result;
printf("Primeiro digito do RU (base): ");
scanf_s("%d", &b);//valor da base
printf("O ultimo digito do RU(expoente): ");
scanf_s("%d", &exp);//(expoente)
result = func_potencia(b, exp);//(=)cálculo
printf("Potenciacao de %d elevado a %d = %d", b, exp, result);
}
Imagem de saída do console no Visual Studio
PRÁTICA 05
Crie um programa, em linguagem C, que receba 10 registros contendo, Nome, RU, tele-
fone email. Solicite que sejam digitados todos os dados de todos os registros e ao final salve-
os em um arquivo.csv, utilize o ; (ponto e vírgula) para separador e campo. O nome do arqui-
vo deve ser o seu número de RU 1334803
Solução do aluno atividade pratica 05
//Bibliotecas para Atividade Pratica 05 (Linguagemde Programação)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <time.h>
#include <string.h>
#include<locale.h>
#include<ctype.h>
//criação da Struct é para receber as informção do aluno como Nome , email, ru, fone
typedef struct
{
char nome[30], email[20], fone[20];
int ru[10];
} ALUNO;
//o menu ira dar as opçoes para o preenchimento do cadastro do aluno
int menu()
{
int op;
printf("(1)-Cadastro\n(2)-Salvar\n(0)-Sair\n");
scanf_s("%d", &op);
return op;
}
int main()
{
int op, contador = 0, i;//As variáveis ira as informção para executar o programa
ALUNO ALUNO[10], * cadastro, temp;
cadastro = ALUNO;
FILE* arquivo = fopen("3387418.csv", "w");
setlocale(LC_ALL, "Portuguese");
do
{
op = menu();
getchar();
switch (op) {
case 1:
if (contador <= 10)
{//vai cadastrar até 10 e o programa vai pedir nome, email, fone e
ru
printf("Cadastro de ALUNO: %d\n", contador + 1);
printf("Nome: ");
gets(cadastro[contador].nome);
fflush(stdin);
printf("email: ");
gets(cadastro[contador].email);
fflush(stdin);
printf("fone(018): ");
gets(cadastro[contador].fone);
fflush(stdin);
printf("RU: ");
scanf_s("%f", &cadastro[contador].ru);
contador++;
printf("\n============================================\n");
}
else
{
printf("\nAs ALUNOS estão todas Preenchidas");
}
break;
case 2:
for (i = 0; i < contador; i++)
{
fprintf(arquivo, "%s;", cadastro[i].nome);
fprintf(arquivo, "%s;", cadastro[i].email);
fprintf(arquivo, "%s;", cadastro[i].fone);
fprintf(arquivo, "%d;", cadastro[i].ru);
fprintf(arquivo, "\n");
}
fclose(arquivo);
printf("\n\tARQUIVO SALVO COM SUCESSO\n");
break;
case 0:
printf("\nFinalizando o sistema de cadastro de ALUNOS\n");
break;
default:
printf("\n Opção Invalida\n");
break;
}
} while (op != 0);//Se o usuário escolher uma opção diferente de 0 ira rodar até
o mesmo escolher a opção correta
return 0;
}
Imagem de saída do console no Visual Studio