Buscar

ATIVIDADE PRATICA LINGUAGEM DE PROGRAMAÇÃO 2022

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 
ANALISE E DESENVOLVIMENTO DE SISTEMAS 
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO 
 
 
 
 
 
 
 
ATIVIDADE PRÁTICA 
 
 
 
 
 
 
 
 
ALEXANDRE COSTA XISTO – RU: 3228231 
SANDRO DE ARAUJO 
 
 
 
 
 
 
 
 
 
SANTOS – 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: 
 
 
 
 
 
 
 
 
 
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 ímpar 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 fun-
cionamento faça as capturas de tela do terminal utilizando seu nome completo e o seu RU. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 
#include <conio.h> 
 
 
int main() 
{ 
 setlocale(LC_ALL, "portuguese"); 
 int divisao; //Para realizarmos a operação de Par e Impar 
 int *valor; //Criação de registro de ponteiro da struct 
 
 int i, tamanho; //Variaveis para inverter o nome 
 char strings[200]; 
 
 typedef struct { 
 char nome[50]; 
 int n; 
 } cadastro; 
 
 cadastro a1; 
 cadastro *ptrcadastro = &a1; //ptrcadastro é o ponteiro do tipo cadastro 
 //Recebe o endereço de a1 
 
 printf("Digite seu nome: "); 
 fgets(a1.nome, 50, stdin); //como estamos lendo do teclado a entrada é stdin 
(entrada padrão), 
 
 
 printf("Digite o nome para inversão: "); 
 fgets(strings, 200, stdin); 
 tamanho = strlen(strings); 
 
 printf("Digite um numero: "); 
 scanf_s("%d", &a1.n); 
 
 printf("Nome Invertido abaixo:"); 
 for (i = tamanho; i >= 0; i--) 
 { 
 printf("%c", strings[i]); 
 } 
 
 
 
 
 
 printf("\n"); 
 
 divisao = a1.n / 2; 
 if (a1.n == divisao * 2){ 
 
 printf("%s O seu numero é par", a1.nome); 
 } 
 else 
 { 
 printf("%s O seu numero é Impar", a1.nome); 
 } 
 
 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 po-
sição de um vetor. 
✓ Utilizando ponteiro para o vetor 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 utili-
zando seu RU. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 
#include <conio.h> 
#define tam 6 
 
int main() 
{ 
 setlocale(LC_ALL, "portuguese"); 
 int* prt; //criando um ponteiro 
 int vet[tam]; //variavel para armazenar elementos 
 int i = 0; //variavel auxiliar do FOR 
 int menor, maior = 0; 
 prt = vet[tam]; 
 
 
 for (i = 0; i <= tam; i++) 
 { //preenchendo o vetor 
 printf("Digite seu RU de 7 digitos: "); 
 scanf_s("%d", &vet[i]); 
 } 
 //encontrando o maior vetor 
 maior = vet[0]; 
 for (i = 1; i < tam; i++) { 
 if (vet[i] > maior) { //verifica se o valor é maior que o valor e atua-
liza 
 maior = vet[i]; 
 } 
 } 
 
 //encontrando o menor vetor 
 menor = vet[0]; 
 for (i = 1; i < tam; i++) { 
 if (vet[i] < menor) { //verifica se o valor é menor que o valor e atua-
liza 
 menor = vet[i]; 
 } 
 } 
 
 printf("\nVetor: "); 
 for (i = 0; i < tam; i++) { 
 printf("%i ", vet[i]); 
 
 } 
 
 printf("\nMaior valor: %i\n", maior); 
 printf("\nMenor valor: %i\n", menor); 
 
 
 
 
 
 
 system("pause"); 
 return 0; 
} 
 
 
 
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í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: 𝑎𝑟𝑒𝑎 = 3 × 𝐿 2 × 
√3 2 𝑝𝑒𝑟í𝑚𝑒𝑡𝑟𝑜 = 6 × 𝐿 Para demonstrar o funcionamento faça os print de tela utilizando o 
primeiro número do seu RU como valor para o lado. 
 
#include <stdio.h> //Biblioteca para acessar os comandos básicos de STDIO 
#include <stdlib.h> 
#include <math.h> 
 
void calc_hexa(float L, float *area, float* perimetro) { //Criado um ponteiro 
para receber o calculo da área 
 *area = 3 * pow(L, 2) * sqrt(3) / 2; //area recebe o calculo feito do peri-
metro 
 *perimetro = 6 * L; 
} 
 
int main() 
{ 
 
 
 
 
 float L, perimetro, area; 
 printf_s("Digite o lado: "); //Armazena o lado do hexagono 
 scanf_s("%f", &L); 
 
 if (L <= -1) { /*Caso o usuario não digite um valor válido 
 é criada uma condição de sáida.*/ 
 
 printf_s("Digite um valor positivo!\n"); 
 system("pause"); 
 exit(1); 
 
 } 
 else { 
 calc_hexa(L, &area, &perimetro); 
 printf_s("A area eh de: %.2f\n", area); 
 printf_s("O perimetro eh de: %.2f\n", perimetro); 
 } 
 system("pause"); 
 return 0; 
 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 funcio-
namento utilize o primeiro digito do seu RU como base e o último digito como expoente. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 
 
int multiplica(int valor, int base, int cont, int exp); 
 
int main() { 
 setlocale(LC_ALL, "portuguese"); 
 
 int base, expoente, resultado; //As variaveis para criar o calculo de poten-
ciação 
 
 printf("Digite a base: "); //Entrada de dados 
 scanf_s("%d", &base); 
 printf("Digite o expoente: "); 
 scanf_s("%d", &expoente); 
 
 resultado = multiplica(base, base, 2, expoente); 
 
 printf("%d", resultado); //imprimi o resultado do calculo 
 return 0; 
} 
 
int multiplica(int valor, int base, int cont, int exp) { //função para o calculo 
da potenciação. 
 if (exp == 0) { 
 return 1; 
 } 
 if (exp == 1) { 
 return base; 
 } 
 if (exp == 2) { //calculo da potenciação inicia aqui. 
 return base * base; 
 } 
 while (cont <= exp) { 
 if (cont == 2) { 
 valor = base * base; 
 cont++; 
 multiplica(valor,base, cont, exp); 
 } 
 else { 
 valor = valor * base; 
 cont++; 
 multiplica(valor, base, cont, exp); 
 } 
 } 
 return valor; 
 system("pause"); 
} 
 
 
 
 
 
 
 
 
 
 
PRÁTICA 05 
Crie um programa, em linguagem C, que receba 10 registros contendo: Nome, RU, telefone e 
e-mail. Solicite que sejam digitados todos os dados de todos os registros e ao final salve-os em 
um arquivo com a extensão CSV, utilize o ; (ponto e vírgula) para separador e campo. O nome 
do arquivo deve ser o seu número de RU. 
 
#include <stdio.h> 
#include <stdlib.h> 
#include <locale.h> 
#include <conio.h> //Acrescentando esta biblioteca para pausar o programa. 
 
#define TAMANHO_NOME 150 
#define TAMANHO_TELEFONE 20 
#define TAMANHO_EMAIL 255 
 
#define QUANTIDADE_MATRICULAS 10 
 
// Estrutura com os dados da matricula 
struct matricula 
{ 
 char nome[TAMANHO_NOME]; 
 char telefone[TAMANHO_TELEFONE]; 
 char email[TAMANHO_EMAIL]; 
 int numero; 
}; 
 
int main(void) 
{ 
 FILE* pont_arq; 
 pont_arq = fopen_s("3228231.txt", "w"); 
 
 setlocale(LC_ALL, "portuguese"); 
 
 
 
 
 int contador; 
 struct matricula matriculas[QUANTIDADE_MATRICULAS]; 
 
 // Pega as informações 
 for (contador = 0; contador < QUANTIDADE_MATRICULAS; contador++) { 
 printf("Digite seu nome:"); 
 fgets(matriculas[contador].nome, TAMANHO_NOME, stdin); 
 printf("Digite seu RU:"); 
 scanf_s("%d%*c", &matriculas[contador].numero); 
 printf("Digite seu telefone:"); 
 fgets(matriculas[contador].telefone, TAMANHO_TELEFONE, stdin); 
 printf("Digite seu email:"); 
 fgets(matriculas[contador].email, TAMANHO_EMAIL, stdin); 
 } 
 
 // Mostra as informações 
 for (contador = 0; contador < QUANTIDADE_MATRICULAS; contador++) { 
 printf("\n\tInformacoes do aluno\n"); 
 printf("RU:%d\n", matriculas[contador].numero); 
 fprintf(pont_arq, matriculas[contador].numero); 
 printf("Nome:%s", matriculas[contador].nome); 
 fprintf(pont_arq, matriculas[contador].nome); 
 printf("Telefone:%s", matriculas[contador].telefone); 
 fprintf(pont_arq, matriculas[contador].telefone); 
 printf("Email:%s", matriculas[contador].email); 
 fprintf(pont_arq, matriculas[contador].email); 
 } 
 
 getchar(); 
 return(0); 
}

Outros materiais