Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação em Linguagem C, Exercícios de Linguagem de Programação

ATIVIDADE PRÁTICA 01 Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: ✓ Os campos de um registro devem armazenar o Nome, dia de aniversário e mês de aniversário. ✓ Solicite ao usuário que digite 12 registros. ✓ Os registros devem ser armazenados em um vetor. ✓ Através do ponteiro para o vetor de registro mostre em cada um dos meses do ano quem são as pessoas que fazem aniversário. Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu n

Tipologia: Exercícios

2022

Compartilhado em 08/12/2022

edilson-gabriel-olegario-almeida-8
edilson-gabriel-olegario-almeida-8 🇧🇷

1 documento

1 / 24

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
1
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO
DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO
ATIVIDADE PRÁTICA
NOME: EDILSON GABRIEL OLEGARIO DE ALMEIDA SILVA RU: 3534766
PROF.: WINSTON SEM LUN FUNG
HOLAMBRA – SÃO PAULO
2021
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Pré-visualização parcial do texto

Baixe Programação em Linguagem C e outras Exercícios em PDF para Linguagem de Programação, somente na Docsity!

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER

ESCOLA SUPERIOR POLITÉCNICA

BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO

DISCIPLINA DE LINGUAGEM DE PROGRAMAÇÃO

ATIVIDADE PRÁTICA

NOME: EDILSON GABRIEL OLEGARIO DE ALMEIDA SILVA RU: 3534766

PROF.: WINSTON SEM LUN FUNG

HOLAMBRA – SÃO PAULO

1 ATIVIDADE PRÁTICA 01

Escreva um algoritmo em linguagem C que atenda os seguintes requisitos:

✓ Os campos de um registro devem armazenar o Nome, dia de aniversário e mês de

aniversário.

✓ Solicite ao usuário que digite 12 registros.

✓ Os registros devem ser armazenados em um vetor.

✓ Através do ponteiro para o vetor de registro mostre em cada um dos meses do ano

quem são as pessoas que fazem aniversário.

Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu nome

completo e o seu dia e mês de aniversário em um dos registros de entrada solicitado.

Atividade Pratica 01 Escreva um algoritmo em linguagem C que atenda os seguintes requisitos: [✓] Os campos de um registro devem armazenar o Nome, dia de aniversário e mês de aniversá- rio. [✓] Solicite ao usuário que digite 12 registros. [✓] Os registros devem ser armazenados em um vetor. [✓] Através do ponteiro para o vetor de registro mostre em cada um dos me- ses do ano quem são as pessoas que fazem aniversário. / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #define maximo_registros 12 // Definição do numero maximo de clientes /--------- Amarzenamento dos Dados Coletados ---------*/ struct lista_registros // Estrutura de Armazenamento dos dados do Cliente { char nome[ 50 ]; char sobrenome[ 50 ]; int mes; int dia; };

system("cls"); // cls = clear (limpeza do menu) printf("LISTA DE CLIENTES S/ ORDENAR\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para atribuição dos valores das varia- veis para a struct { strcpy(registros[i].nome, nomes[i]); // Atribuição variavel para struct strcpy(registros[i].sobrenome, sobrenomes[i]); // Atribuição variavel para struct registros[i].mes = meses[i]; // Atribuição variavel para struct registros[i].dia = dias[i]; // Atribuição variavel para struct printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobrenome, re- gistros[i].dia, registros[i].mes); // Apresentação dos dados sem ordenação } printf("\n\n"); // Espaçamento das informações qsort(registros, maximo_registros, sizeof(struct lista_registros), compararMes); // chamando a fun- ção qsort (ordenação) por mes printf("LISTA DE CLIENTES ORDENAR POR MES\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para apresentar dados ordenados por mes { if (registros[i].mes == 1 ) { printf("\nJaneiro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 2 ) { printf("\nFevereiro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 3 ) { printf("\nMarco\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 4 ) { printf("\nAbril\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 5 ) { printf("\nMaio\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } if (registros[i].mes == 6 ) { printf("\nJunho\n"); // Cabeçalho

printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 7 ) { printf("\nJulho\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 8 ) { printf("\nAgosto\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 9 ) { printf("\nSetembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 10 ) { printf("\nOutubro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 11 ) { printf("\nNovembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados }if (registros[i].mes == 12 ) { printf("\nDezembro\n"); // Cabeçalho printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobre- nome, registros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } } printf("\n\n"); // Espaçamento das informações qsort(registros, maximo_registros, sizeof(struct lista_registros), compararNome); // chamando a fun- ção qsort (ordenação) por nome printf("LISTA DE CLIENTES ORDENAR POR NOME\n"); // Cabeçalho for (i = 0 ; i < maximo_registros; i++) // For Looping para apresentar dados ordenados por nome { printf("Cliente %s %s, data do aniversario %d-%d\n", registros[i].nome, registros[i].sobrenome, re- gistros[i].dia, registros[i].mes); // Apresentação dos dados ordenados } return( 0 ); // Final da função main }

Lista de Clientes – Ordenada por Mês

Lista de Clientes – Ordenada por Nome

2 ATIVIDADE PRÁTICA 02

Faça um programa onde o usuário digita 3 informações a respeito de uma pessoa: Nome,

endereço e telefone. Concatene essas três informações em uma única string e faça uma conta-

gem de quantas letras do alfabeto estão presentes nesta string (considerando as redundâncias) e

de dígitos numéricos. Os espaços e os caracteres de pontuação devem ser ignorados (as funções

de contagem já fazem isso). Para demonstrar o funcionamento utilize seu nome completo, seu

RU como telefone e o no endereço o nome da sua cidade.

Atividade Pratica 02 Faça um programa onde o usuário digita 3 informações a respeito de uma pessoa: Nome, ende- reço e telefone. Concatene essas três informações em uma única string e faça uma contagem de quantas le- tras do alfabeto estão presentes nesta string (considerando as redundâncias) e de dígitos numéri- cos. Os espaços e os caracteres de pontuação devem ser ignorados (as funções de contagem já fa- zem isso). Requisitos: [✓] Usuário digita 3 informações a respeito de uma pessoa: Nome, endereço e telefone. [✓] Concatene essas três informações em uma única string e faça uma contagem de quan- tas letras do alfabeto estão presentes nesta stringe de dígitos numéricos [✓] Os espaços e os caracteres de pontuação devem ser ignorados (as funções de conta- gem já fazem isso). / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #include <locale.h> // Biblioteca de caracteres Brasileiro #define maximo_registros 12 /--------- Main ---------*/ int main(void) { setlocale(LC_ALL,"Portuguese"); // Caracteres brasileiro char nome[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) char endereco[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) char tel[ 50 ]; // Variavel para armazenamento dos inputs em formato de caracteres (string) int telII[ 15 ]; // Variavel para armazenamento dos inputs em formato numerico (Não funciona)

Execução do Programa II

3 ATIVIDADE PRÁTICA 03

Faça um programa C para calcular o número de lâmpadas 60 watts necessárias para um deter-

minado cômodo. O programa deverá ler um conjunto de informações, tais como: tipo, largura

e comprimento do cômodo. O programa termina quando o tipo de cômodo for igual -1. A tabela

abaixo mostra, para cada tipo de cômodo, a quantidade de watts por metro quadrado.

Use uma estrutura struct para agrupar logicamente as informações de um comodo (int tipo de

comodo, float largura e float comprimento). Usar uma função com o protótipo: void CalulaA-

rea(float *área, float *comprimento, float *largura); para calcular a área do cômodo. Os atribu-

tos de entrada serão a largura e comprimento do cômodo. Usar uma função com o protótipo:

float Lampada(int, tipo, float area); para calcular a quantidade de lâmpadas necessárias para o

cômodo. Os atributos de entrada serão o tipo de cômodo e a metragem (em m2) do cômodo.

Ao final mostrar para o usuário a quantidade de lâmpadas em valores inteiros arredondado para

cima.

Para demonstrar o funcionamento utilize como largura do cômodo os dois primeiros dígitos do

seu RU e para largura os dois últimos dígitos do seu RU.

return largura * comprimento; // Retornar a multiplicação dos// Estrutura de Armazenamento dos da- dos do Clienteparametros } /--------- Amarzenamento dos Dados Coletados ---------/ struct // Estrutura de Armazenamento dos dados do Cliente { int tipoDeComodo; int potencia; float largura, comprimento, tamanho; } comodo; /--------- Funções Antes da Main ---------/ float lampada(); // Chamando a Função Menu float calcular(); // Chamando a Função Menu /--------- Main ---------/ int main () { setlocale(LC_ALL,"Portuguese"); // Caracteres brasileiro lampada(); // Chamando a função menu return 0 ; } /--------- Funções Depois da Main ---------/ float lampada() // Função Menu { float quantidade; // variavel float int op; // variavel para sair do menu de opções do // Estrutura de repetição para navegar e sair das opação do menu { system("cls"); // cls = clear (limpeza do menu) printf("CALCULO DO NUMERO DE LAMPADAS 60 WATTS POR COMODO\n\n"); // Cabeçalho printf("\n Tipo 0 - 12 Watts/m^2"); // Opação do menu printf("\n Tipo 1 - 15 Watts/m^2"); // Opação do menu printf("\n Tipo 2 - 18 Watts/m^2"); // Opação do menu printf("\n Tipo 3 - 20 Watts/m^2"); // Opação do menu printf("\n Tipo 4 - 22 Watts/m^2"); // Opação do menu printf("\n 10 - Sair\n"); // Opação do menu scanf("%d", &op); // Captura de dados no formato int getchar(); // Limpar a memoria ou buffer antes das sub-funções switch (op) // Definição das opções do menu para o usuario { case 0 :

comodo.potencia = 12 ; // Definição da potencia na função calcular(); break; case 1 : comodo.potencia = 15 ; // Definição da potencia na função calcular(); break; case 2 : comodo.potencia = 18 ; // Definição da potencia na função calcular(); break; case 3 : comodo.potencia = 20 ; // Definição da potencia na função calcular(); break; case 4 : comodo.potencia = 22 ; // Definição da potencia na função calcular(); break; case 10 : printf("Ate Logo!\nPressione qualquer tecla para fechar o programa"); // Mensagem de Adeus break; default: printf("Opcao Invalida!\nPressione qualquer tecla para voltar ao menu"); // Mensa- gem de Erro break; } getchar(); // Limpar a memoria ou buffer antes das sub-funções } while(op!= 10 ); // Sair do looping se a opção for = 10 } float calcular() // função calcular { int op; // variavel para sair do menu de opções float nlampadas; // variavel para armazenar quantidades de lampadas do // Estrutura de repetição para navegar e sair das opação do menu { printf("\n\nDigite a largura do comodo:"); // Orientação ao Usuario scanf("%f", &comodo.largura); // Captura de dados no formato float printf("\n\nDigite o comprimento do comodo:"); // Orientação ao Usuario scanf("%f", &comodo.comprimento); // Captura de dados no formato float nlampadas = ((comodo.potencia * CalculaArea(comodo.largura, comodo.comprimento)) / 60 ); // Equa- ção dos valores chamando a função prototipo printf("\n\n Pela metragem de seu comodo voce ira precisar de %.2f lampadas\n\n", nlampa- das); // Apresentação dos valores getchar(); // Limpar a memoria ou buffer antes das sub-funções op = 0 ; // Sair do looping se a opção for = 0 } while(op!= 0 );// Sair do looping se a opção for = 0 }

4 ATIVIDADE PRÁTICA 04

Escreva em linguagem C um algoritmo que:

✓ Solicite ao usuário que digite o seu RU;

✓ Armazene cada dígito do RU em uma posição de um vetor, por exemplo:

✓ Utilizando uma função recursiva mostre o qual o valor do menor dígito inserido no vetor.

✓ Utilizando outra função recursiva mostre o qual o valor do maior dígito inserido no vetor

Para demonstrar o funcionamento utilize o seu RU como entrada para o algoritmo.

Atividade Pratica 04 Escreva em linguagem C um algoritmo que: [✓] Solicite ao usuário que digite o seu RU; [✓] Armazene cada dígito do RU em uma posição de um vetor, por exemplo: Vetor RU 1º Digito Ult. Digito Posição do vetor RU 0 1 2 3 4 5 6 [✓] Utilizando uma função recursiva mostre o qual o valor do menor dígito inserido no ve- tor. [✓] Utilizando outra função recursiva mostre o qual o valor do maior dígito inse- rido no vetor Para demonstrar o funcionamento utilize o seu RU como entrada para o algoritmo. / /--------- Cabeçalho ---------*/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <conio.h>

#include <locale.h> // Biblioteca de caracteres Brasileiro #define max 7 //definindo uma constante #define min 0 //definindo uma constante /--------- Variaveis ---------/ int j=- 1 ; // Variavel e atribuição do valor - int k= 10 ; // Variavel e atribuição do valor 10 int maiorRecursiva= 0 ; // Variavel e atribuição do valor 0 int menorRecursiva= 9 ; // Variavel e atribuição do valor 9 /--------- Funções ---------/ void exibirMaior (int vetor[]); // Função Recursiva antes do main void exibirMenor (int vetorII[]); // Função Recursiva antes do main /--------- main ---------/ main() { int RU[max]; // max = 6 (#define) int i; // i para o for loop int maior; // maior valor int menor; // menor valor // Preenchimento dos dados for (i= 0 ; i<max; i++) // For Looping para inclusão dos digitos { printf("Digite o %d digito do seu RU:", i+ 1 ); // Orientação ao Usuario scanf("%i", &RU[i]); // Captura de dados no formato int } /* ------- Função Recursiva ------- */ // Encontrar o maior valor exibirMaior (RU); // chamando a função exibirMenor (RU); // chamando a função printf("\nMostrar o RU: "); // Mostrar o valor na variavel RU for (i= 0 ; i<max; i++) // For Looping para obter todos os valores do array { printf("%i", RU[i]); // Mostrar o valor dentro do array } printf("\nMaior valor funcao recursiva %d", maiorRecursiva); // Mostrar o valor da função recur- siva printf("\nMenor valor funcao recursiva %d", menorRecursiva); // Mostrar o valor da função recur- siva

5 ATIVIDADE PRÁTICA 05

Crie um programa, em linguagem C, que receba 6 registros contendo, Nome do Produto, Có-

digo do produto (numérico), valor do produto. 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 sepa-

rador e campo. O nome do arquivo deve ser o seu número de RU.

Atividade Pratica 05 Crie um programa, em linguagem C, que receba 6 registros contendo, Nome do Produto, Có- digo do produto (numérico), valor do produto. Solicite que sejam digitados todos os dados de to- dos os registros e ao final salve-os em um arquivo.csv, utilize o ; (ponto e vírgula) para separa- dor e campo. O nome do arquivo deve ser o seu número de RU. [✓] 6 registros contendo, Nome do Produto, Código do produto (numérico), valor do produto [✓] 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 arquivo deve ser o seu número de RU. / /--------- Cabeçalho ---------/ #include <stdio.h> // Biblioteca padrão C #include <stdlib.h> // Biblioteca para alocação de memoria, controle de processos, conversão, etc. #include <string.h> // Biblioteca de manipulação de Strings #include <locale.h> // Biblioteca de caracteres Brasileiro #define maximo_registros 6 // Definição do numero maximo de clientes /--------- Main ---------/ int main() { /--------- Amarzenamento dos Dados Coletados ---------*/ struct ficha_de_produto // Estrutura de Armazenamento dos dados do Produto { char nome_produto[ 50 ]; char codigo_produto[ 10 ]; char preco_produto[ 10 ]; }; FILE *arquivo; // Manipulação de arquivos char *nome = "3435766.csv"; // Variavel nome e atribuição

struct ficha_de_produto registros[maximo_registros]; int op; // variavel para sair do menu de opções do // Estrutura de repetição para navegar e sair das opação do menu { system("cls"); // cls = clear (limpeza do menu) printf("BEM VINDO AO SISTEMA DE CADASTRO DE PRODUTO\n\n"); // Cabeçalho printf("\n 1 - Cadastrar Produto"); // Opação do menu printf("\n 2 - Lista de Produtos"); // Opação do menu printf("\n 3 - Salvar o arquivo"); // Opação do menu printf("\n 0 - Sair\n"); // Opação do menu scanf("%d", &op); // Captura de dados no formato int getchar(); // Limpar a memoria ou buffer antes das sub-funções switch (op) // Definição das opções do menu para o usuario { case 1 : // Sub-opção do Menu for (int i= 0 ; i < maximo_registros; ++i) // For Looping para checar possivel repiti- ção de nome, codigo e preco { system("cls"); // cls = clear (limpeza do menu) printf("CADASTRO DO PRODUTO\n"); // Cabeçalho printf("Digite o Nome do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].nome_produto); // Captura de dados no formato string printf("Digite o Codigo do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].codigo_produto); // Captura de dados no formato string printf("Digite o Preco do Produto:"); // Orientação ao Usuario scanf("%s", registros[i].preco_produto); // Captura de dados no formato string system("pause"); // Pausa do for looping } break; case 2 : // Sub-opção do Menu system("cls"); // cls = clear (limpeza do menu) printf("LISTA DE CLIENTES\n"); // Cabeçalho for (int i = 0 ; i < maximo_registros; i++) { printf("Produtos: %d\n", i+ 1 ); // Retorno do numero de clientes (contador) printf("Nome do Produto: %s\n", registros[i].nome_produto); // Retorno dos da- dos armazenados do usuario na struct printf("Codigo do Produto: %s\n", registros[i].codigo_produto); // Re- torno dos dados armazenados do usuario na struct printf("Preco do Produto: %s\n", registros[i].preco_produto); // Re- torno dos dados armazenados do usuario na struct printf("--------------\n"); } printf("\nEnter - Continuar\n"); // Orientação ao Usuario printf("\n0 - Sair\n"); // Orientação ao Usuario