Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lógica de programação I 1. No ambiente Dev-cpp, temos algumas facilidades. Uma delas é quando desejarmos compilar e executar logo em seguida com um único clique ou um pressionamento de uma tecla. Analise as afirmativas abaixo e escolha a opção correta I Pressionar F9(pode ser F11 em versões mais novas) II Clicar no ícone Compilar III Clicar no ícone Executar IV Clicar no ícone Compilar e Executar Tanto a I quanto a IV possibilitam isso 2. Em relação à variável global, podemos afirmar: I Somente a função principal pode alterar o valor armazenado II Todas as funções podem alterar o valor armazenado III É declarada dentro da função principal IV É declarada fora de todas as funções V Pode ser declarada em qualquer posição II e IV 3. Sabemos que a linguagem C apresenta várias vantagens. Quando dizemos que usamos três procedimentos básicos: sequência, seleção e iteração e que é possível gerar um executável rápido, estamos nos referindo às seguintes características na ordem: Estruturada e Rapidez 4. Qual das características abaixo NÃO pode ser atribuída á linguagem C? Complexidade porque tem muitas palavras reservadas 5. Qual o nome da diretiva que é usada para incluir arquivos dentro do programa fonte que estivermos construindo? include 6. Na Aula 1, estudamos algumas características e vantagens da linguagem C. Observe as afirmativas abaixo e assinale a opção que contem a resposta correta. I Tem boa Portabilidade. II Não pode ser modularizada. III É uma linguagem Orientada a Objetos. IV Uma linguagem que pode manipular endereços de memória. V Não possui um propósito especifico. As afirmativas I, IV e V estão corretas e as demais, erradas. 7. Sabe-se que a linguagem C é uma das mais utilizadas no mundo. Desenvolvida em 1972 é uma linguagem voltada para programadores. Dentre as opções abaixo é incorreto afirmar: Possui com conjunto muito grande palavras reservadas o que torna o aprendizado complexo 8. Todo programa codificado na linguagem C pode incluir uma, ou várias bibliotecas, mas existe uma que tem que estar nessa lista, na maioria das vezes, devido a necessidade da interação com o usuário.. Assinale a alternativa que apresenta essa biblioteca. stdio.h 1. Um Engenheiro Mecânico tinha um arquivo onde ele gostaria que os nomes dos materiais fossem todos convertidos para letras minúsculas. Observe as linhas abaixo e assinale a opção que contem a função que realiza essa conversão e a biblioteca a qual pertence. tolower() e ctype.h 2. Em um programa, precisávamos usar as bibliotecas: math.h, stdio.h e stdlib.h. Assinale o trecho correto que possibilita incluí-las. #include stdio.h #include stdlib.h #include math.h 3. Assinale a função que não é disponível na plataforma Linux. system() 4. Um Engenheiro estava construindo um trecho de programa onde pedia que o usuário respondesse com uma letra ou um algarismo. Se o usuário não tivesse respondido, ele enviaria uma mensagem de erro. Ele sabia que precisava aprender mais alguma estrutura, mas, no momento, pensou em experimentar uma função que pudesse lhe dar um retorno. Pesquisou nas bibliotecas estudadas na aula 2 e achou. Qual o nome dessa função? isalnum() 5. Observe o programa abaixo e selecione a resposta que mostra e/ou explica o que será exibido no display. #include int main() { printf ("%s%d%%","Juros de ",10); } Juros de 10% 6. No ambiente Linux, não precisamos, obrigatoriamente, ter um único ambiente para editar, compilar e executar um programa codificado na linguagem C como temos no Windows. Sendo assim, qual seria a sequência para conseguirmos editar, compilar e executar um programa? Usar um editor de texto para digitar o código e salvar com extensão c/ digitar uma linha de comando no terminal usando o compilador gcc para gerar o executável/ digitar o nome do executável, precedido por ./ no terminal para executá-lo. 7. Qual o nome da função matemática que calcula a potenciação de um número? pow 8. Você estava trabalhando na plataforma Windows e foi definindo várias funções específicas para sua área de atuação. Um dia, resolveu criar uma biblioteca e nomeou de minhasFuncoes.h, salvando em uma pasta de nome funcoes na raiz do drive C. Quando foi incluir, usou: #include "c:\funcoes\ minhasFuncoes.h" 1. Sabemos que para a utilização de funções da linguagem C precisamos declarar suas respectivas bibliotecas. De acordo com a Linguagem C marque a opção em que o descritivo da biblioteca está correto. math.h - Funções matemáticas 2. Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. ((pontos>=10) && (pontos <=20)) 3. Um engenheiro precisava calcular o valor do imposto a ser pago no carnê leão. Sabe-se que o imposto é calculado sobre o salário bruto. Acompanhe o programa codificado na linguagem C, supondo que você digitou 4000 para primeira solicitação de entrada e 1000, para segunda solicitação. Escolha a opção onde está presente o valor do imposto. Valor do imposto a ser pago: 750.00 4. Observe abaixo várias funções que recebem dados via teclado. Qual delas permite uma leitura formatada? scanf() 5. Na linguagem de programação C, como em outras, na criação de programas, devemos definir os tipos de dados para nossas variáveis de acordo com o problema em questão. Das opções apresentadas qual possui apenas tipos da linguagem C, conforme o material apresentado nas aulas. char, int, float, double, void 6. Na linguagem de programação C, como em outras, na criação de programas, precisamos fazer a entrada e saída de dados no sistema e para tal temos algumas opções. Das opções apresentadas, qual não é parte linguagem C, conforme o material apresentado nas aulas. cin ( ) 7. Na linguagem C, uma variável pode ser classificada como LOCAL ou GLOBAL. De acordo com as características das variáveis LOCAIS, marque a alternativa ERRADA. A função main() pode acessar qualquer variável local de qualquer função. 8. Estava pesquisando na internet, quando li, num fórum, um pedido de ajuda que incluía um programa codificado na linguagem C, apresentado abaixo. A pessoa não tinha um compilador e não estava conseguindo analisar o programa. Acompanhei no Teste de Mesa, supondo que eu teria digitado 345 quando foi solicitado um número inteiro de três algarismos. Assinale a resposta CORRETA que apresenta o que foi exibido na tela.0343 (O valor absoluto do resultado da expressão formatada) 1. Alguns iniciantes na linguagem C sentem dificuldades de usar a estrutura dos ifs encadeados. Sabemos que algumas afirmativas abaixo não produziriam um resultado errado, mas que tornaria o programa com menor qualidade, visto que testes seriam realizados sem necessidade. Então, leia com atenção e só escolha a afirmativa poderá ajudá-los a construir programas com qualidade, usando todos os recursos da estrutura if ... else if ..... O número de ifs encadeados é igual ao número de respostas possíveis, não considerando a resposta errada do usuário, pois essa seria criticada no else. 2. Um desenvolvedor pediu ajuda ao Engenheiro porque o teste que ele tinha feito para selecionar funcionários não estava dando certo. Ele apresentou as cinco opções abaixo. Assinale a única opção que atende à exigência: o candidato ser do sexo feminino e ter idade no intervalo fechado em 18 e aberto em 30. if(( sexo == 'f' || sexo == 'F' ) && idade >= 18 && idade < 30 ) 3. Na construção de programas na linguagem C, precisamos utilizar os operadores relacionais para montar nossas expressões relacionais. Supondo que as variáveis foram devidamente declaradas, dentre as opções apresentadas qual não apresenta uma expressão relacional correta na linguagem C. x = ( a + b ) 4. Um desenvolvedor estava construindo um código que tinha quatro possibilidades de resposta válidas além de uma mensagem de erro. O dado testado era do tipo inteiro. Assinale a opção que ele escolheu. switch() com quatro cases e um default 5. Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. <, > e >= 6. Marque abaixo a instrução que permite parar uma execução dentro de um switch. break 7. Se precisarmos testar o conteúdo de uma variável e sabendo-se que só serão executados comandos se o teste retornar verdadeiro, qual estrutura você indicaria para esse caso? if 8. Suponha que as notas digitadas pelo usuário sejam respectivamente (4.5; 8.5; 6.5). int main() { float n1, n2, n3, med; puts("Digites as notas"); scanf("%f", &n1); scanf("%f", &n2); scanf("%f", &n3); med= (n1+n2+n3)/3; if(med>=7) printf("Aluno aprovado com: %.1f\n", med); else printf("Aluno reprovado com: %.1f\n", med); system("pause"); return 0; } Desconsidere a necessidade da declaração das bibliotecas. Qual será a mensagem final exibida para o usuário? Aluno reprovado com: 6.5 1. Qual a estrutura de repetição usada para quantidade indeterminada de repetições? while 2. A estrutura do if na linguagem C, como em toda linguagem, tem uma sintaxe. Observe as afirmações abaixo e escolha a opção ERRADA. I As chaves de abertura e fechamento, sempre, não são obrigatórias. II No teste unimos expressões relacionais com operadores lógicos quando necessário. III A palavra then está presente na estrutura. IV O uso do else poderá não ser necessário. I e III estão corretas. 3. Leia com atenção as afirmativas abaixo e escolha a opção correta. I A estrutura do for, por definição, é ideal quando o número de repetições for conhecido II A estrutura do for testa ao final enquanto a estrutura while testa no início III A estrutura while pode simular a estrutura do for e a estrutura do... while IV A estrutura do for sem nenhum parâmetro, só com os ; dentro dos parênteses e com um if no corpo da repetição, pode simular a estrutura while V Tanto a estrutura do...while quanto a estrutura while, testam no início Somente I, III e IV estão corretas 4. Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? while (num != 0) 5. Para o programa abaixo qual a saída apresentada? main(){ int x,soma=0; for(x=10; x<=15;x++) { printf(" %d",pow(x,2)); } system("PAUSE"); return 0; } 100 121 144 169 196 225 6. Muitas séries matemáticas podem ser geradas pela estrutura do for. Analise o código abaixo, supondo que você digitou 2 e 4 quando lhe foram solicitados dois números e escolha a opção que contém a série exibida pelo código. 2 4 6 10 16 26 42 7. Os loops são utilizados para executar um conjunto de instruções várias vezes baseando-se sempre em uma condição que decidirá se continua repetindo ou não. Qual estrutura de repetição abaixo, garante que o bloco de instruções seja executado no mínimo uma vez? do...while 8. Uma das dificuldades da estrutura escolha/ caso é o fato das restrições variarem para cada linguagem, dificultando a fixação. Na linguagem C, essa estrutura recebe o nome de switch() e tem suas restrições. Observe os trechos abaixo e assinale o que é possível ser usado na linguagem C, supondo que se espera encontrar na variável de nome a, inteira, alguns valores e entres eles está o número 90. Analise as linhas abaixo e assinale que foi escrita corretamente para testar o número 90 na estrutura switch(). case 90: printf("Pode") ; break; 1. Analise as sentenças abaixo sobre a declaração de vetores e, em seguida, assinale a alternativa correta: I. Na linguagem C++, uma string é um vetor de caracteres terminado com um caracter nulo cujo valor inteiro é igual a zero (código ASCII igual a 0). II. O terminador nulo também pode ser escrito usando a convenção de barra invertida do C++ como sendo '\0'. III. Como precisamos reservar duas posições para o terminador (a barra e o zero), sempre iremos declarar o tamanho necessário menos um. Somente as sentenças I e II estão corretas 2. A linguagem C permite a inicialização de vetores junto com sua declaração. Dada as alternativas abaixo, selecione a que está incorreta: char valores = "ABCD"; 3. Uma empresa possui uma série de programas desenvolvidos em C que acessam um mesmo arquivo. Um dos problemas constatados é a falta de padronização no armazenamento de dados neste arquivo. Alguns aplicativos gravam em caixa alta (letras maiúsculas), outros em caixa baixa (letras minúsculas) e alguns não administram isto. Para tanto, foi definido, por padrão, que todos os caracteres lidos devem ser convertidos para caixa alta imediatamente após a leitura do mesmo. Qual função do C devo incluir nos programas para efetuar a conversão de caractere a caractere? toupper 4. A linguagem C, ao contrário de outras linguagens de programação, não possui um tipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros Admitindo-se que existe declarado um vetor chamado nome de 50 posições(nome[50]), qual das opções abaixo efetua corretamente a leitura de seu primeiro nome? scanf("%s", nome); 5. A linguagem C, ao contrário de outras linguagens de programação, não possui umtipo de dados correspondente às strings; no lugar, usam-se vetores e ponteiros Qual das opções abaixo está correta? Em C, strings são vetores de caracteres terminados pelo caractere nulo ('\0'). 6. Assim como nas variáveis, podemos inicializar os vetores assim que declaramos. Sabendo-se que existe um vetor de 3 posições do tipo inteiro, qual das opções abaixo correspondo a correta forma de se declarar e inicializar este vetor? int numeros[3] = { 0, 1, 2}; 7. Os chamados vetores e matrizes podem ser considerados como: Estruturas de dados homogêneas 8. Um lojista gostaria de desenvolver um programa que pudesse armazenar os códigos(valores inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a quantidade(valores inteiros) de todos os mil produtos. Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima? int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 1. O professor de Matemática armazena as notas dos quatro bimestres e da média dos seus 47 alunos em cinco vetores. Ele pretende agrupar esses vetores em uma matriz bidimensional de nome NOTAS na linguagem C. Assinale a opção que possibilitará fazer o que o professor deseja. float NOTAS[47][5]; 2. As matrizes, assim como os vetores, são muito importantes para facilitar o trabalho de um programador, por isso é extremamente importante saber como utiliza-la. Assinale a alternativa em que há uma matriz bidimensional, do tipo inteiro, com 10 linhas e 20 colunas, declarada de forma correta. int matrizExemplo[10][20]; 3. Supondo que está desenvolvendo um programa de cadastro de alunos, qual das opções declara corretamente uma matriz caracter que suporte 30 nomes de até 20 caracteres? char nomes [30][20]; 4. Na linguagem C os vetores são um assunto de grande relevância, por isso o programador deve saber bem como utilizar, declarar e utilizar. Sabendo que as notas dos alunos de uma escola variam entre 0.0 e 10.0 com uma casa decimal e que é necessário criar um vetor que armazene até 150 notas, qual alternativa declara de forma correta este vetor para atender a necessidade citada. float notas[150]; 5. Matrizes são estruturas de dados extremamente poderosas e que são muito empregadas em programas na linguagem C. Assinale a alternativa incorreta em relação a este conceito. Não existem matrizes com mais de duas dimensões. 6. Considere que todas as bibliotecas necessárias foram declaradas. int main() { int mat[3][3], i, j, det; puts("Codigo que calcula o determinante de uma matriz 3x3\n"); ____{ puts("Digite os elementos da matriz\n"); ____(i=0;i<3;i++) ____(j=0;j<3;j++) scanf("%d", &mat[i][j]); fflush(stdin); det= (mat[0][0]*mat[1][1]*mat[2][2]) + (mat[0][1]*mat[1][2]*mat[2][0]) + (mat[0][2]*mat[1][0]*mat[2][1]) - ((mat[0][1]*mat[1][0]*mat[2][2]) + (mat[0][0]*mat[1][2]*mat[2][1]) + (mat[0][2]*mat[1][1]*mat[2][0])); printf("\ndet=%d\n", det); } ____ (det==0); system("pause"); return (0); } Complete as lacunas do código da maneira correta para que o programa funcione corretamente. do-for-for-while 1. Um programador durante a construção de um código precisava converter o texto correspondente a um ano em um número inteiro, para poder executar alguns cálculos a partir deste ano. Das opções apresentadas, qual função apresenta a solução para o programador? atoi( ). 2. O chefe do departamento do pessoal da Empresa YYY gostaria de declarar matrizes bidimensionais para armazenar nomes dos 20 funcionários e 14 salários de cada um deles. Assinale a linha onde a declaração atende ao que ele deseja. char nomes[20][31]; float salarios[20][14]; 3. Observe o código apresentado na questão: #include < stdio.h> #include < stdlib.h> int x=4; void main(){ int x=5; exibir(x); system("PAUSE"); } void exibir(int y){ printf("%d",y); } Dentre as opções abaixo é correto afirmar: Ocorrerá um erro 4. Na definição de uma função, precisamos escrever suas partes, sendo algumas obrigatórias e outras, facultativas. tipo nome ( tipo1 parâmetro1, tipo2 parâmetro2, ..., tipon parâmetroN) { corpo da função } Das opções apresentadas abaixo, marque a que apresenta apenas partes obrigatórias de forma que a função execute alguma tarefa, sem levar em consideração os símbolos (chaves, parênteses, etc). Tipo , Nome, e Corpo da função. 5. Função em C onde são colocados todos os comandos e outras funções que desejamos que sejam executadas main() 6. Observe o programa abaixo e escolha a opção que apresenta o que retorna da função chamada. O valor retornado corresponde ao deslocamento mais um em relação ao endereço base da variável que contem o menor número 1. Na definição de estruturas, funções, variáveis, etc. devemos seguir suas respectivas Sintaxes. Das opções apresentas, qual é SINTAXE correta da definição de um vetor bidimensional. tipo nome_matriz[numero_linhas][numero_colunas]; 2. Considere que as bibliotecas necessárias foram devidamente declaradas. int main() { FILE *arq ; int i; _____ c ; arq = _____ ( " jornal.txt " , " r " ) ; if ( arq == NULL ){ printf ( " Erro na abertura do arquivo " ) ; system ( " pause " ) ; exit ( 1 ) ; } else for ( i = 0; i<5; i++){ c = fgetc ( arq ) ; printf( "%c", c ) ; } _____( arq ) ; system ( " pause " ) ; return 0; } Complete as lacunas do código para que o programa funcione corretamente. A ordem em que as palavras são dispostas na resposta, devem preencher respectivamente as lacunas. char - fopen - fclose 3. Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico. Das afirmativas apresentadas qual define corretamente qual a finalidade da função fputc() . Função para gravar um caractere. 4. Na manipulação de arquivos na linguagem C, podemos utilizar várias funções da linguagem. Cada uma delas tem um propósito específico. Das afirmativas apresentadas qual define corretamente qual a finalidade da função feof() . Função que detecta o fim do arquivo. 5. Na manipulação de arquivos na linguagem C, no processo de abertura do mesmo, podemos ter erros: devido a não existência do arquivo; ao arquivo estar corrompido; etc, não sendo possível abrir o mesmo. Das afirmativas apresentadas qual define corretamente o que pode ser feito em relação ao erro na abertura, segundo o que foi apresentado nas aulas. A função fopen, retorna NULL quando não consegue abrir o arquivo e o usuário pode tratar o conteúdo da variávelassociada ao arquivo, comparando com o valor NULL. 6. Para a manipulação de arquivos na linguagem C, primeiro precisamos abrir o mesmo. Sabendo-se que o arquivo tem o nome de texto.txt, que foi associado com a variável de nome: arq, e que é do tipo texto, avalie cada uma das afirmativas e marque a que faz a abertura para ler e/ou gravar dados no fim do arquivo corretamente seguindo as regras da linguagem. arq = fopen("texto.txt", "a+"); 7. A função fgets(): lê uma linha inteira de uma vez. 1. Suponha que o arquivo dados.txt contém a cadeia de caracteres "ABCYDEF" e nada mais. O que o seguinte programa imprime? int main( void) { FILE *entrada; int c; entrada = fopen( "dados.txt", "r"); while ((c = getc( entrada)) != EOF) printf( "%c ", c); fclose( entrada); return EXIT_SUCCESS; } ABCYDEF 2. Uma das ultimas funções estudadas foi a rename(). Suponha que o nome do arquivo é inicial é ARQ e o novo deve ser ARQ2, e é constante. Assinale a alternativa que apresenta a sintaxe correta para a função. rename("ARQ", "ARQ2"); 3. A função _________ funciona como a função scanf(), porém, ao invés de ler os dados de teclado, estes dados são lidos de um arquivo. fscanf() 4. A função rewind() de protótipo void rewind (FILE *fp); tem como comportamento: Retornar a posição corrente do arquivo para o início. 5. Nas aulas aprendemos sobre as funções de leitura e gravação. A respeito da função fwrite assinale a alternativa correta. fwrite(endreçoElemento, tamanho, quantidade, ptrArq); 6. Na criação de uma rotina de manipulação de equipamentos para perfuração de poços, o programador precisava apenas pegar alguns dados existentes em um arquivo do equipamento para efeitos de cálculos e fechá-lo. Das opções abaixo marque a que descreve a forma mais adequada, com a qual o programador deveria acessar o arquivo, segundo sua necessidade. Somente para leitura
Compartilhar