Prévia do material em texto
<p>Caderno de Resolução da</p><p>Atividade Prática de</p><p>Linguagem de Programação</p><p>Prof. Winston Sen Lun Fung, Esp.</p><p>PRÁTICA 01</p><p>Escreva um algoritmo em linguagem C que atenda os seguintes requisitos:</p><p>· Crie um registro para armazenar o seu Nome Completo e o seu RU.</p><p>· Solicite ao usuário que digite o seu RU e o seu Nome Completo.</p><p>· Crie um ponteiro para o registro.</p><p>· Através do ponteiro para o registro verifique se o RU digitado é um número par ou ímpar e informe a resposta na tela.</p><p>· Através do ponteiro para o registro imprima o Nome Completo informado de traz para frente, invertido. Por exemplo:</p><p>Pedro Alvares Cabral -> larbaC seravlA ordeP</p><p>Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu nome completo e o seu RU.</p><p>I. Apresentação do código-fonte:</p><p>#include</p><p>#include</p><p>#include</p><p>// Definição para o registro em questão</p><p>struct Registro {</p><p>char nomeCompleto[100];</p><p>int RU;</p><p>};</p><p>// Função que faz a inversão de uma string</p><p>void inverterString(char* str) {</p><p>int len = strlen(str);</p><p>for (int i = 0; i nomeCompleto, sizeof(pReg->nomeCompleto), stdin);</p><p>// Remover a linha nova do final da string</p><p>pReg->nomeCompleto[strcspn(pReg->nomeCompleto, "\n")] = 0;</p><p>printf("Digite o seu RU: ");</p><p>scanf_s("%d", &pReg->RU);</p><p>// Função para saber se o RU é par ou ímpar</p><p>if (pReg->RU % 2 == 0) {</p><p>printf("O RU digitado é um número par.\n");</p><p>}</p><p>else {</p><p>printf("O RU digitado é um número ímpar.\n");</p><p>}</p><p>// Impressão do Nome Completo invertido</p><p>inverterString(pReg->nomeCompleto);</p><p>printf("Nome Completo invertido: %s\n", pReg->nomeCompleto);</p><p>return 0;</p><p>}</p><p>II. Apresentar a captura de tela evidenciando o funcionamento:</p><p>PRÁTICA 02</p><p>Escreva um algoritmo em linguagem C que atenda os seguintes requisitos:</p><p>· Crie um vetor com a quantidade de dígitos do seu RU.</p><p>· Solicite que usuário digite o seu RU, cada digito digitado deve ser armazenado em uma posição do vetor.</p><p>· Utilizando ponteiros verifique qual o maior e menor número contido neste vetor e imprima na tela.</p><p>Para demonstrar o funcionamento faça as capturas de tela do terminal utilizando seu RU.</p><p>III. Apresentação do código-fonte:</p><p>#include</p><p>#include</p><p>// Função para encontrar o maior e o menor número do vetor</p><p>void encontrarMaiorMenor(int* vetor, int tamanho, int* maior, int* menor) {</p><p>*maior = vetor[0];</p><p>*menor = vetor[0];</p><p>for (int i = 1; i *maior) {</p><p>*maior = vetor[i];</p><p>}</p><p>if (vetor[i]</p><p>#include</p><p>// Função para calcular a área e perímetro do hexágono</p><p>void calc_hexa(float l, float* area, float* perimetro) {</p><p>*area = (3 * pow(l, 2) * sqrt(3)) / 2; //Calculo da área</p><p>*perimetro = 6 * l; //Calculo do perímetro</p><p>}</p><p>int main() {</p><p>float lado, area, perimetro;</p><p>while (1) {</p><p>// Solicitação para entrada ao usuário</p><p>printf("Digite o lado do hexágono (valor negativo para sair): ");</p><p>scanf_s("%f", &lado);</p><p>if (lado</p><p>// Função recursiva para fazer o calculo da potenciação</p><p>int potenciacao(int base, int expoente) {</p><p>if (expoente == 0) {</p><p>return 1;</p><p>}</p><p>else {</p><p>return base * potenciacao(base, expoente - 1); //Formula</p><p>}</p><p>}</p><p>int main() {</p><p>int base = 4; //Servirá como base primeiro dígito do RU</p><p>int expoente = 7; //Servirá como expoente último dígito do RU</p><p>// Cálculo da potência</p><p>int resultado = potenciacao(base, expoente);</p><p>// Impressão do resultado</p><p>printf("%d^%d = %d\n", base, expoente, resultado);</p><p>return 0;</p><p>}</p><p>VIII. Apresentar a captura de tela evidenciando o funcionamento:</p><p>PRÁTICA 05</p><p>Crie um programa, em linguagem C, que receba 10 registros contendo, Nome, RU, telefone 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 arquivo deve ser o seu número de RU [N°_DO_RU.CSV].</p><p>ATENÇÃO: ASSISTA OS VIDEOS DA AULA 8 – MATERIAL COMPLEMENTAR.</p><p>IX. Apresentação do código-fonte:</p><p>#include</p><p>#include</p><p>// Definição do registro</p><p>struct Registro {</p><p>char nome[100];</p><p>int RU;</p><p>char telefone[15];</p><p>char email[100];</p><p>};</p><p>int main() {</p><p>struct Registro registros[10];</p><p>FILE* arquivo; // Ponteiro para o arquivo</p><p>char nomeArquivo[20] = "4665167.csv"; // Nome do arquivo CSV</p><p>// Solicitação de entrada ao usuário</p><p>for (int i = 0; i</p><p>// Fecha o arquivo após a escrita</p><p>printf("Dados salvos no arquivo %s com sucesso.\n", nomeArquivo);</p><p>return 0;</p><p>}</p><p>X. Apresentar a captura de tela evidenciando o funcionamento:</p><p>XI. Apresentar a captura de tela do arquivo CSV:</p><p>2</p><p>image2.png</p><p>image3.png</p><p>image4.png</p><p>image5.png</p><p>image6.png</p><p>image7.png</p><p>image8.png</p><p>image1.png</p>