Texto de pré-visualização
Fundamentos em Estrutura de Dados para Ciência da Computação 1 Desafios Essenciais em C Lista Avaliativa Estrutura de Dados Sintaxe Básica e Estrutura de um Programa em C Variáveis Tipos de Dados e Operadores 1 Declare duas variáveis do tipo inteiro e realize a soma entre elas Imprima o resultado 2 Declare uma variável do tipo caractere e atribua a ela o valor A Em seguida imprima seu valor e seu código ASCII 3 Crie um programa que solicite ao usuário que insira dois números inteiros e realize a multiplicação entre eles Imprima o resultado 4 Escreva um programa que converta uma temperatura em graus Celsius para Fahrenheit A fórmula de conversão é F C 95 32 5 Escreva um programa que verifique se um número é par ou ímpar Imprima uma mensagem indicando o resultado 6 Implemente um programa que calcule o fatorial de um número fornecido pelo usuário e imprima o resultado 7 Escreva um programa que determine se um número fornecido pelo usuário é positivo negativo ou zero Imprima uma mensagem indicando o resultado 8 Implemente um programa que calcule a média de três números reais fornecidos pelo usuário e imprima o resultado 9 Escreva um programa que determine se um ano fornecido pelo usuário é bissexto ou não Imprima uma mensagem indicando o resultado Fundamentos em Estrutura de Dados para Ciência da Computação 2 10 Crie um programa que calcule a área de um triângulo utilizando a fórmula de Heron dados os três lados Imprima o resultado Estruturas de Controle if else for 1 Escreva um programa que determine se um número fornecido pelo usuário é positivo ou negativo utilizando a estrutura ifelse include stdioh include stdlibh int main int valor printfDigite um valor scanfd valor if valor 0 printfO valor é positivo else printfO valor é negativo return 0 2 Implemente um programa que verifique se um número é divisível por 5 e 7 simultaneamente Utilize a estrutura ifelse include stdioh include stdlibh int main int numero Fundamentos em Estrutura de Dados para Ciência da Computação 3 printfDigite um numero scanfd numero if numero 5 0 numero 7 0 printfd é divisível por 5 e 7 simultaneamente numero else printfd não é divisível por 5 e 7 simultaneamente numero return 0 3 Crie um programa que exiba os números de 1 a 10 utilizando um loop for include stdioh include stdlibh int main int i for i 1 i 10 i printfd i return 0 4 Escreva um programa que imprima os números pares de 1 a 20 utilizando um loop for include stdioh include stdlibh int main int i Fundamentos em Estrutura de Dados para Ciência da Computação 4 for i 0 i 20 i ifi 2 0 printfd i return 0 5 Implemente um programa que solicite ao usuário digitar dois números e imprima o maior deles utilizando a estrutura ifelse include stdioh include stdlibh int mainvoid int a b printfdigite o primeiro número scanfd a printfdigite o segundo número scanfd b if a b printfEste é o maior valor d a else if b a printfEste é o maior valor d b return 0 Fundamentos em Estrutura de Dados para Ciência da Computação 5 6 Escreva um programa que solicite ao usuário digitar um número e verifique se ele é múltiplo de 3 e 5 simultaneamente utilizando a estrutura ifelse include stdioh include stdlibh int main int numero printfDigite um numero scanfd numero if numero 3 0 numero 5 0 printfd é divisível por 3 e 5 simultaneamente numero else printfd não é divisível por 3 e 5 simultaneamente numero return 0 7 Crie um programa que exiba a tabuada de multiplicação de um número fornecido pelo usuário utilizando um loop for include stdioh include stdlibh int main int numero Fundamentos em Estrutura de Dados para Ciência da Computação 6 printfDigite um numero inteiro scanfd numero printfTabuada de multiplicacao para d numero for int i 1 i 10 i printfd x d d numero i numero i return 0 8 Implemente um programa que verifique se um número fornecido pelo usuário é primo ou não utilizando a estrutura ifelse include stdioh include stdlibh int main int numero i printfDigite um numero inteiro scanfd numero if numero 1 printfd nao e um numero primo numero else int primo 1 Assume que o número é primo inicialmente for i 2 i numero 2 i if numero i 0 primo 0 Se o número for divisível por algum outro número não é primo Fundamentos em Estrutura de Dados para Ciência da Computação 7 break if primo 1 printfd e um numero primo numero else printfd nao e um numero primo numero return 0 9 Escreva um programa que solicite ao usuário digitar um número e verifique se ele é positivo negativo ou zero utilizando a estrutura ifelse include stdioh include stdlibh int main int numero printfDigite um numero inteiro scanfd numero if numero 0 printfd é um numero positivo numero Fundamentos em Estrutura de Dados para Ciência da Computação 8 else if numero 0 printfd é um numero negativo numero else printfO numero digitado é zero return 0 10 Crie um programa que calcule e imprima a soma dos números ímpares de 1 a 100 utilizando um loop for int main int soma 0 Loop for para percorrer os números de 1 a 100 for int i 1 i 100 i Verifica se o número é ímpar if i 2 0 soma i Adiciona o número ímpar à soma Imprime a soma dos números ímpares printfA soma dos numeros impares de 1 a 100 e d soma return 0 Estruturas de Controle while dowhile For 1 Implemente um programa que exiba os números de 1 a 10 utilizando um loop while Fundamentos em Estrutura de Dados para Ciência da Computação 9 include stdioh include stdlibh int main int i whilei 10 i printfd i systempause return 0 2 Escreva um programa que solicite ao usuário digitar um número e imprima todos os números de 1 até o número fornecido utilizando um loop whilefor include stdioh include stdlibh int main int in printfDigite um valor scanfdn fori 1i ni printfd i systempause apenas em dev c return 0 3 Crie um programa que imprima os números pares de 1 a 20 utilizando um loop while include stdioh include stdlibh Fundamentos em Estrutura de Dados para Ciência da Computação 10 int main int i 0 whilei 20 i ifi 2 0 printfd i systempause return 0 4 Implemente um programa que solicite ao usuário digitar um número e exiba a tabuada de multiplicação desse número utilizando um loop while 5 Escreva um programa que solicite ao usuário digitar um número e imprima todos os números ímpares de 1 até o número fornecido utilizando um loop whilefor 6 Crie um programa que exiba os números de 10 a 1 em ordem decrescente utilizando um loop whilefor 7 Implemente um programa que solicite ao usuário digitar um número e imprima todos os divisores desse número utilizando um loop whilefor 8 Escreva um programa que exiba a sequência de Fibonacci até o décimo termo utilizando um loop whilefor 9 Implemente um programa que solicite ao usuário digitar um número e imprima a soma dos dígitos desse número utilizando um loop while 10 Crie um programa que solicite ao usuário digitar um número e verifique se ele é palíndromo ou não utilizando um loop whilefor Fundamentos em Estrutura de Dados para Ciência da Computação 11 Funções 1 Escreva uma função em C que calcule e retorne o fatorial de um número inteiro include stdioh include stdlibh int fatorialint n int fat 1 for int i 1 i n i fat fat i return fat int main int n printfDigite um número scanfd n printfO fatorial de d é d n fatorialn return 0 2 Implemente uma função em C que receba dois números e retorne o maior deles include stdioh include stdlibh int maiorint a int b ifa b return a else return b int main int a b printfDigite um numero scanfd a printfDigite outro numero scanfd b Fundamentos em Estrutura de Dados para Ciência da Computação 12 printfO maior numero eh d maiora b return 0 3 Crie uma função em C que verifique se um número é par ou ímpar e retorne um valor indicando o resultado include stdioh include stdlibh int numeroint a if a 2 0 return 1 else return 0 int main int a printfDigite um numero scanfd a if numeroa 1 printfO numero é par else printfO numero é impar return 0 4 Escreva uma função em C que calcule e retorne o valor absoluto de um número inteiro include stdioh include stdlibh int numeroint a if a 2 0 return 1 else return 0 int valorabsolutoint num if num 0 Fundamentos em Estrutura de Dados para Ciência da Computação 13 return num else return num int main int a printfDigite um numero scanfd a if numeroa 1 printfO numero é par else printfO numero é impar int absnum valorabsolutoa printf O valor absoluto do numero é d absnum return 0 5 Implemente uma função em C que receba um caractere e retorne verdadeiro se for uma vogal e falso caso contrário include stdioh include stdboolh bool eVogalchar c c tolowerc if c a c e c i c o c u return true else return false Fundamentos em Estrutura de Dados para Ciência da Computação 14 int main char caracter printfinforme um character scanf c caracter if eVogalcaracter printfEsse caracter c é uma vogal caracter else printfEsse caracter c é uma consoante caracter return 0 6 Crie uma função em C que verifique se um número é primo ou não e retorne um valor indicando o resultado include stdioh int ePrimoint num if num 1 return 0 for int i 2 i i num i if num i 0 return 0 Fundamentos em Estrutura de Dados para Ciência da Computação 15 return 1 int main int num printfDigite um número scanfd num if ePrimonum printfd é um número primo num else printfd não é um número primo num return 0 7 Escreva uma função em C que receba um número inteiro e verifique se ele é positivo negativo ou zero retornando um valor indicando o resultado include stdioh void inteiroint num if num 0 printfO número é positivo else if num 0 printfO número é negativo else printfO número é zero Fundamentos em Estrutura de Dados para Ciência da Computação 16 int main int num printfInforme um valor scanfd num inteironum return 0 8 Implemente uma função em C que receba um número inteiro e retorne verdadeiro se ele for um número triangular e falso caso contrário include stdioh int triangularint num int sum 0 int n 1 while sum num sum n n if sum num return 1 else Fundamentos em Estrutura de Dados para Ciência da Computação 17 return 0 int main int num printfInforme um número inteiro scanfd num if triangularnum printfd é um número triangular num else printfd não é um número triangular num return 0 9 Crie uma função em C que calcule e retorne o enésimo termo da sequência de Fibonacci include stdioh int fibonacciint m int soma n 0 forn 0 n m n soma n m return soma int main int m Fundamentos em Estrutura de Dados para Ciência da Computação 18 printfInforme um número scanfd m printfO resultado é d fibonaccim return 0 10 Escreva uma função em C que receba um número inteiro e retorne verdadeiro se ele for palíndromo e falso caso contrário include stdioh include stdboolh bool isPalindromeint n int reversedNum 0 int originalNum n while n 0 reversedNum reversedNum 10 n 10 n 10 if originalNum reversedNum return true Fundamentos em Estrutura de Dados para Ciência da Computação 19 else return false int main int num printfDigite um número inteiro scanfd num if isPalindromenum printfd é um palíndromo num else printfd não é um palíndromo num return 0 Arrays 1 Declare um array de inteiros com tamanho 5 e inicializeo com os valores 1 2 3 4 5 Imprima os elementos do array include stdioh int main int vetor 1 2 3 4 5 int i 0 fori 0 i 5 i printfd vetori Fundamentos em Estrutura de Dados para Ciência da Computação 20 return 0 2 Implemente um programa que encontre o maior elemento em um array de inteiros 3 Escreva um programa que calcule e imprima a média dos elementos de um array de inteiros 4 Crie um programa que verifique se um determinado valor está presente em um array de inteiros 5 Implemente uma função que receba um array de inteiros e retorne o número de elementos pares no array 6 Escreva um programa que ordene um array de inteiros em ordem crescente 7 Implemente uma função que receba um array de inteiros e retorne o segundo maior elemento do array Ponteiros em C 1 Explique o conceito de ponteiro em C R O ponteiro serve para apontar um espaço na memória que será manipulada pelo usuário 2 Qual a diferença entre um ponteiro e uma variável normal em C R O ponteiro acessa direto um endereço na memória enquanto uma variável pode apenas armazenar um valor um caractere ou uma string 3 Como se declara um ponteiro em C R É possível declarar um ponteiro utilizando antes do nome da variável ex int p 4 Como se obtém o endereço de uma variável em C Fundamentos em Estrutura de Dados para Ciência da Computação 21 R Podemos utilizar o operador de endereço 5 Explique a diferença entre os operadores e em C R O operador é usado para obter o endereço de uma variável enquanto o operador é usado para acessar o valor apontado por um ponteiro que retornará o valor armazenado na variável 6 Qual é a utilidade dos ponteiros em C R Manipulação de memória passagem por referência alocação dinâmica na memória manipulação de strings entre outros 7 Como se passa um ponteiro para uma função em C R É necessário que a função seja definida como o tipo ponteiro Struct em C 1 O que é uma struct em C e para que ela é utilizada R Um registro é um pacote de variáveis possivelmente de tipos diferentes Cada variável é um campo do registro Na linguagem C registros são conhecidos como structs A ideia de usar uma struct é permitir que ao armazenar os dados de uma mesma entidade isto possa ser feito com uma única variável 2 Como se declara uma struct em C R Escrever a palavrachave struct e dar um nome a ela 3 Como se acessam os membros de uma struct em C R Para acessar os campos de uma struct usase a sintaxe NomeDaVariavelNomeDoCampo conforme o exemplo a seguir JoaoIdade 15 JoaoPeso 605 JoaoAltura 175 4 Explique como se inicializa uma struct em C R Primeiros temos que declarála escrevendo a palavrachave struct depois dar um nome abrir chaves colocar todas as variáveis e seus atributos que deseja lá dentro fechar chave e terminar com ponto e vírgula 5 É possível ter uma struct dentro de outra struct em C Como isso é feito Fundamentos em Estrutura de Dados para Ciência da Computação 22 R Sim é possível ter uma struct dentro da outra e é chamada de struct aninhada Conseguimos criar outra struct e chamar uma struct pelo nome que damos a ela conforme o exemplo a seguir struct Data int dia int mes int ano struct Aluno int codigo char nome 200 Data datNasc C Arquivos em C 1 Qual é a função da biblioteca stdioh em relação a arquivos em C R As operações de entrada e saída do C incluindo as relacionadas a arquivos encontramse na biblioteca stdioh Essa biblioteca também define várias macros dentre elas NULL e EOF que definem um ponteiro nulo e o fim de arquivo respectivamente Além disso é nela que está definido o tipo FILE 2 Como se abre um arquivo em modo de leitura em C R arq fopenArqTestetxt r 3 E em modo de escrita R arq fopenArqTestetxt a 4 Como se fecha um arquivo em C R fclosearq 5 Explique a diferença entre os modos de abertura r w e a em C R r abreviatura de read portanto abre um arquivo no modo leitura w abreviatura de write portanto abre ou cria um arquivo de texto no modo de escrita e a abreviatura de append portanto abre um arquivo no modo de inclusão 6 Como se lê um arquivo em C R Fundamentos em Estrutura de Dados para Ciência da Computação 23 include stdioh int main FILE file file fopenfilertxt r fclosefile return 0 7 Como se escreve em um arquivo em C R include stdioh int main FILE file file fopenfilertxt a fclosefile return 0 8 Como se verifica se um arquivo foi aberto com sucesso em C R include stdioh int main FILE file file fopenfilertxt a if file NULL printfNao foi possivel abrir o arquivo getchar fclosefile else printfErro ao abrir o arquivo em modo escrita w Fundamentos em Estrutura de Dados para Ciência da Computação 24 return 0
Texto de pré-visualização
Fundamentos em Estrutura de Dados para Ciência da Computação 1 Desafios Essenciais em C Lista Avaliativa Estrutura de Dados Sintaxe Básica e Estrutura de um Programa em C Variáveis Tipos de Dados e Operadores 1 Declare duas variáveis do tipo inteiro e realize a soma entre elas Imprima o resultado 2 Declare uma variável do tipo caractere e atribua a ela o valor A Em seguida imprima seu valor e seu código ASCII 3 Crie um programa que solicite ao usuário que insira dois números inteiros e realize a multiplicação entre eles Imprima o resultado 4 Escreva um programa que converta uma temperatura em graus Celsius para Fahrenheit A fórmula de conversão é F C 95 32 5 Escreva um programa que verifique se um número é par ou ímpar Imprima uma mensagem indicando o resultado 6 Implemente um programa que calcule o fatorial de um número fornecido pelo usuário e imprima o resultado 7 Escreva um programa que determine se um número fornecido pelo usuário é positivo negativo ou zero Imprima uma mensagem indicando o resultado 8 Implemente um programa que calcule a média de três números reais fornecidos pelo usuário e imprima o resultado 9 Escreva um programa que determine se um ano fornecido pelo usuário é bissexto ou não Imprima uma mensagem indicando o resultado Fundamentos em Estrutura de Dados para Ciência da Computação 2 10 Crie um programa que calcule a área de um triângulo utilizando a fórmula de Heron dados os três lados Imprima o resultado Estruturas de Controle if else for 1 Escreva um programa que determine se um número fornecido pelo usuário é positivo ou negativo utilizando a estrutura ifelse include stdioh include stdlibh int main int valor printfDigite um valor scanfd valor if valor 0 printfO valor é positivo else printfO valor é negativo return 0 2 Implemente um programa que verifique se um número é divisível por 5 e 7 simultaneamente Utilize a estrutura ifelse include stdioh include stdlibh int main int numero Fundamentos em Estrutura de Dados para Ciência da Computação 3 printfDigite um numero scanfd numero if numero 5 0 numero 7 0 printfd é divisível por 5 e 7 simultaneamente numero else printfd não é divisível por 5 e 7 simultaneamente numero return 0 3 Crie um programa que exiba os números de 1 a 10 utilizando um loop for include stdioh include stdlibh int main int i for i 1 i 10 i printfd i return 0 4 Escreva um programa que imprima os números pares de 1 a 20 utilizando um loop for include stdioh include stdlibh int main int i Fundamentos em Estrutura de Dados para Ciência da Computação 4 for i 0 i 20 i ifi 2 0 printfd i return 0 5 Implemente um programa que solicite ao usuário digitar dois números e imprima o maior deles utilizando a estrutura ifelse include stdioh include stdlibh int mainvoid int a b printfdigite o primeiro número scanfd a printfdigite o segundo número scanfd b if a b printfEste é o maior valor d a else if b a printfEste é o maior valor d b return 0 Fundamentos em Estrutura de Dados para Ciência da Computação 5 6 Escreva um programa que solicite ao usuário digitar um número e verifique se ele é múltiplo de 3 e 5 simultaneamente utilizando a estrutura ifelse include stdioh include stdlibh int main int numero printfDigite um numero scanfd numero if numero 3 0 numero 5 0 printfd é divisível por 3 e 5 simultaneamente numero else printfd não é divisível por 3 e 5 simultaneamente numero return 0 7 Crie um programa que exiba a tabuada de multiplicação de um número fornecido pelo usuário utilizando um loop for include stdioh include stdlibh int main int numero Fundamentos em Estrutura de Dados para Ciência da Computação 6 printfDigite um numero inteiro scanfd numero printfTabuada de multiplicacao para d numero for int i 1 i 10 i printfd x d d numero i numero i return 0 8 Implemente um programa que verifique se um número fornecido pelo usuário é primo ou não utilizando a estrutura ifelse include stdioh include stdlibh int main int numero i printfDigite um numero inteiro scanfd numero if numero 1 printfd nao e um numero primo numero else int primo 1 Assume que o número é primo inicialmente for i 2 i numero 2 i if numero i 0 primo 0 Se o número for divisível por algum outro número não é primo Fundamentos em Estrutura de Dados para Ciência da Computação 7 break if primo 1 printfd e um numero primo numero else printfd nao e um numero primo numero return 0 9 Escreva um programa que solicite ao usuário digitar um número e verifique se ele é positivo negativo ou zero utilizando a estrutura ifelse include stdioh include stdlibh int main int numero printfDigite um numero inteiro scanfd numero if numero 0 printfd é um numero positivo numero Fundamentos em Estrutura de Dados para Ciência da Computação 8 else if numero 0 printfd é um numero negativo numero else printfO numero digitado é zero return 0 10 Crie um programa que calcule e imprima a soma dos números ímpares de 1 a 100 utilizando um loop for int main int soma 0 Loop for para percorrer os números de 1 a 100 for int i 1 i 100 i Verifica se o número é ímpar if i 2 0 soma i Adiciona o número ímpar à soma Imprime a soma dos números ímpares printfA soma dos numeros impares de 1 a 100 e d soma return 0 Estruturas de Controle while dowhile For 1 Implemente um programa que exiba os números de 1 a 10 utilizando um loop while Fundamentos em Estrutura de Dados para Ciência da Computação 9 include stdioh include stdlibh int main int i whilei 10 i printfd i systempause return 0 2 Escreva um programa que solicite ao usuário digitar um número e imprima todos os números de 1 até o número fornecido utilizando um loop whilefor include stdioh include stdlibh int main int in printfDigite um valor scanfdn fori 1i ni printfd i systempause apenas em dev c return 0 3 Crie um programa que imprima os números pares de 1 a 20 utilizando um loop while include stdioh include stdlibh Fundamentos em Estrutura de Dados para Ciência da Computação 10 int main int i 0 whilei 20 i ifi 2 0 printfd i systempause return 0 4 Implemente um programa que solicite ao usuário digitar um número e exiba a tabuada de multiplicação desse número utilizando um loop while 5 Escreva um programa que solicite ao usuário digitar um número e imprima todos os números ímpares de 1 até o número fornecido utilizando um loop whilefor 6 Crie um programa que exiba os números de 10 a 1 em ordem decrescente utilizando um loop whilefor 7 Implemente um programa que solicite ao usuário digitar um número e imprima todos os divisores desse número utilizando um loop whilefor 8 Escreva um programa que exiba a sequência de Fibonacci até o décimo termo utilizando um loop whilefor 9 Implemente um programa que solicite ao usuário digitar um número e imprima a soma dos dígitos desse número utilizando um loop while 10 Crie um programa que solicite ao usuário digitar um número e verifique se ele é palíndromo ou não utilizando um loop whilefor Fundamentos em Estrutura de Dados para Ciência da Computação 11 Funções 1 Escreva uma função em C que calcule e retorne o fatorial de um número inteiro include stdioh include stdlibh int fatorialint n int fat 1 for int i 1 i n i fat fat i return fat int main int n printfDigite um número scanfd n printfO fatorial de d é d n fatorialn return 0 2 Implemente uma função em C que receba dois números e retorne o maior deles include stdioh include stdlibh int maiorint a int b ifa b return a else return b int main int a b printfDigite um numero scanfd a printfDigite outro numero scanfd b Fundamentos em Estrutura de Dados para Ciência da Computação 12 printfO maior numero eh d maiora b return 0 3 Crie uma função em C que verifique se um número é par ou ímpar e retorne um valor indicando o resultado include stdioh include stdlibh int numeroint a if a 2 0 return 1 else return 0 int main int a printfDigite um numero scanfd a if numeroa 1 printfO numero é par else printfO numero é impar return 0 4 Escreva uma função em C que calcule e retorne o valor absoluto de um número inteiro include stdioh include stdlibh int numeroint a if a 2 0 return 1 else return 0 int valorabsolutoint num if num 0 Fundamentos em Estrutura de Dados para Ciência da Computação 13 return num else return num int main int a printfDigite um numero scanfd a if numeroa 1 printfO numero é par else printfO numero é impar int absnum valorabsolutoa printf O valor absoluto do numero é d absnum return 0 5 Implemente uma função em C que receba um caractere e retorne verdadeiro se for uma vogal e falso caso contrário include stdioh include stdboolh bool eVogalchar c c tolowerc if c a c e c i c o c u return true else return false Fundamentos em Estrutura de Dados para Ciência da Computação 14 int main char caracter printfinforme um character scanf c caracter if eVogalcaracter printfEsse caracter c é uma vogal caracter else printfEsse caracter c é uma consoante caracter return 0 6 Crie uma função em C que verifique se um número é primo ou não e retorne um valor indicando o resultado include stdioh int ePrimoint num if num 1 return 0 for int i 2 i i num i if num i 0 return 0 Fundamentos em Estrutura de Dados para Ciência da Computação 15 return 1 int main int num printfDigite um número scanfd num if ePrimonum printfd é um número primo num else printfd não é um número primo num return 0 7 Escreva uma função em C que receba um número inteiro e verifique se ele é positivo negativo ou zero retornando um valor indicando o resultado include stdioh void inteiroint num if num 0 printfO número é positivo else if num 0 printfO número é negativo else printfO número é zero Fundamentos em Estrutura de Dados para Ciência da Computação 16 int main int num printfInforme um valor scanfd num inteironum return 0 8 Implemente uma função em C que receba um número inteiro e retorne verdadeiro se ele for um número triangular e falso caso contrário include stdioh int triangularint num int sum 0 int n 1 while sum num sum n n if sum num return 1 else Fundamentos em Estrutura de Dados para Ciência da Computação 17 return 0 int main int num printfInforme um número inteiro scanfd num if triangularnum printfd é um número triangular num else printfd não é um número triangular num return 0 9 Crie uma função em C que calcule e retorne o enésimo termo da sequência de Fibonacci include stdioh int fibonacciint m int soma n 0 forn 0 n m n soma n m return soma int main int m Fundamentos em Estrutura de Dados para Ciência da Computação 18 printfInforme um número scanfd m printfO resultado é d fibonaccim return 0 10 Escreva uma função em C que receba um número inteiro e retorne verdadeiro se ele for palíndromo e falso caso contrário include stdioh include stdboolh bool isPalindromeint n int reversedNum 0 int originalNum n while n 0 reversedNum reversedNum 10 n 10 n 10 if originalNum reversedNum return true Fundamentos em Estrutura de Dados para Ciência da Computação 19 else return false int main int num printfDigite um número inteiro scanfd num if isPalindromenum printfd é um palíndromo num else printfd não é um palíndromo num return 0 Arrays 1 Declare um array de inteiros com tamanho 5 e inicializeo com os valores 1 2 3 4 5 Imprima os elementos do array include stdioh int main int vetor 1 2 3 4 5 int i 0 fori 0 i 5 i printfd vetori Fundamentos em Estrutura de Dados para Ciência da Computação 20 return 0 2 Implemente um programa que encontre o maior elemento em um array de inteiros 3 Escreva um programa que calcule e imprima a média dos elementos de um array de inteiros 4 Crie um programa que verifique se um determinado valor está presente em um array de inteiros 5 Implemente uma função que receba um array de inteiros e retorne o número de elementos pares no array 6 Escreva um programa que ordene um array de inteiros em ordem crescente 7 Implemente uma função que receba um array de inteiros e retorne o segundo maior elemento do array Ponteiros em C 1 Explique o conceito de ponteiro em C R O ponteiro serve para apontar um espaço na memória que será manipulada pelo usuário 2 Qual a diferença entre um ponteiro e uma variável normal em C R O ponteiro acessa direto um endereço na memória enquanto uma variável pode apenas armazenar um valor um caractere ou uma string 3 Como se declara um ponteiro em C R É possível declarar um ponteiro utilizando antes do nome da variável ex int p 4 Como se obtém o endereço de uma variável em C Fundamentos em Estrutura de Dados para Ciência da Computação 21 R Podemos utilizar o operador de endereço 5 Explique a diferença entre os operadores e em C R O operador é usado para obter o endereço de uma variável enquanto o operador é usado para acessar o valor apontado por um ponteiro que retornará o valor armazenado na variável 6 Qual é a utilidade dos ponteiros em C R Manipulação de memória passagem por referência alocação dinâmica na memória manipulação de strings entre outros 7 Como se passa um ponteiro para uma função em C R É necessário que a função seja definida como o tipo ponteiro Struct em C 1 O que é uma struct em C e para que ela é utilizada R Um registro é um pacote de variáveis possivelmente de tipos diferentes Cada variável é um campo do registro Na linguagem C registros são conhecidos como structs A ideia de usar uma struct é permitir que ao armazenar os dados de uma mesma entidade isto possa ser feito com uma única variável 2 Como se declara uma struct em C R Escrever a palavrachave struct e dar um nome a ela 3 Como se acessam os membros de uma struct em C R Para acessar os campos de uma struct usase a sintaxe NomeDaVariavelNomeDoCampo conforme o exemplo a seguir JoaoIdade 15 JoaoPeso 605 JoaoAltura 175 4 Explique como se inicializa uma struct em C R Primeiros temos que declarála escrevendo a palavrachave struct depois dar um nome abrir chaves colocar todas as variáveis e seus atributos que deseja lá dentro fechar chave e terminar com ponto e vírgula 5 É possível ter uma struct dentro de outra struct em C Como isso é feito Fundamentos em Estrutura de Dados para Ciência da Computação 22 R Sim é possível ter uma struct dentro da outra e é chamada de struct aninhada Conseguimos criar outra struct e chamar uma struct pelo nome que damos a ela conforme o exemplo a seguir struct Data int dia int mes int ano struct Aluno int codigo char nome 200 Data datNasc C Arquivos em C 1 Qual é a função da biblioteca stdioh em relação a arquivos em C R As operações de entrada e saída do C incluindo as relacionadas a arquivos encontramse na biblioteca stdioh Essa biblioteca também define várias macros dentre elas NULL e EOF que definem um ponteiro nulo e o fim de arquivo respectivamente Além disso é nela que está definido o tipo FILE 2 Como se abre um arquivo em modo de leitura em C R arq fopenArqTestetxt r 3 E em modo de escrita R arq fopenArqTestetxt a 4 Como se fecha um arquivo em C R fclosearq 5 Explique a diferença entre os modos de abertura r w e a em C R r abreviatura de read portanto abre um arquivo no modo leitura w abreviatura de write portanto abre ou cria um arquivo de texto no modo de escrita e a abreviatura de append portanto abre um arquivo no modo de inclusão 6 Como se lê um arquivo em C R Fundamentos em Estrutura de Dados para Ciência da Computação 23 include stdioh int main FILE file file fopenfilertxt r fclosefile return 0 7 Como se escreve em um arquivo em C R include stdioh int main FILE file file fopenfilertxt a fclosefile return 0 8 Como se verifica se um arquivo foi aberto com sucesso em C R include stdioh int main FILE file file fopenfilertxt a if file NULL printfNao foi possivel abrir o arquivo getchar fclosefile else printfErro ao abrir o arquivo em modo escrita w Fundamentos em Estrutura de Dados para Ciência da Computação 24 return 0