Baixe o app para aproveitar ainda mais
Prévia do material em texto
Questão 01 Leia as afirmativas abaixo e marque a alternativa CORRETA. I – Um algoritmo é uma sequência lógica de instruções para realizar uma determinada tarefa. II – Um algoritmo não necessita ter um conjunto muito claro de instruções, uma vez que algumas dicas sobre a realização das tarefas sejam informadas, já é o suficiente para sua execução. III – As instruções definidas por um algoritmo podem ser uma receita de bolo, um manual de instruções de um aparelho qualquer, uma sequência para somar dois números, dentre outros. CLIQUE NA SUA RESPOSTA ABAIXO Todas as alternativas estão corretas. Apenas I e III estão corretas. Apenas II está correta. Apenas I e II estão corretas Apenas I está correta Questão 02 Sobre Compiladores de Linguagens de Programação, marque a alternativa correta CLIQUE NA SUA RESPOSTA ABAIXO O compilador recebe um código executável e transforma este código em um código fonte, um algoritmo que será lido por um programador Para compilar um programa de computador é preciso fazer isso no mesmo computador que o programa irá rodar, se a compilação for outro computador o programa não irá rodar O compilador recebe um código fonte e transforma este código em um programa executável, um programa real que irá rodar no computador e executar as tarefas predefinidas para o mesmo Compiladores são máquinas de transformação que conseguem transformar qualquer algoritmo em programas de computador Um Compilador é um programa de computador que realiza tarefas do nosso dia a dia Questão 03 Como vimos no texto, um algoritmo é uma sequência lógica e bem estruturada de ações a serem executadas para se realizar uma determinada CLIQUE NA SUA RESPOSTA ABAIXO leitura escrita conversa tarefa corrida Questão 04 Leia as afirmativas abaixo e marque a alternativa CORRETA. I. Um algoritmo é uma sequência lógica de instruções para realizar uma determinada tarefa. II. Os algoritmos não representam necessariamente programas de computador, e sim os passos necessários para se realizar uma tarefa. III. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. CLIQUE NA SUA RESPOSTA ABAIXO II e III são verdadeiros. I e III são verdadeiros. Todas são verdadeiras. I e II são verdadeiros. Apenas II é verdadeira. Questão 05 A listagem a seguir apresenta uma sequência de valores, marque com V quais dos valores abaixo são do tipo Real (Float) e com F os que não são do tipo Real (Float). I - ( ) -678 II - ( ) “0,87” III - ( ) “9,12” IV - ( ) “ÚNICA” V - ( ) -123 VI - ( ) -33,1 VII - ( ) “Cinco vírgula três” VIII - ( ) 102,57 IX - ( ) Verdadeiro X - ( ) 0,0 De acordo com o pedido acima, indique a sequência correta. CLIQUE NA SUA RESPOSTA ABAIXO V – V – V – F – V – V – F – V – F – F. F – F – F – F – F – V – F – V – F – V. V – F – F – F – V – V – F – V – F – F. F – V – F – V – F – V – F – V – F – V. F – V – V – F – F – V – V – V – F – V. Questão 06 A listagem a seguir apresenta uma sequência de valores, marque com V quais dos valores abaixo são do tipo inteiro e com F os que não são do tipo inteiro. I - ( ) 1000 II - ( ) “0” III - ( ) “-900” IV - ( ) Verdadeiro V - ( ) -450 VI - ( ) 34 VII - ( ) “Casa 08” VIII - ( ) 1 IX - ( ) Falso X - ( ) -1,56 De acordo com o pedido acima, indique a sequência correta. CLIQUE NA SUA RESPOSTA ABAIXO F – V – F – V – F – V – F – V – F – V F – F – V – V – F – F – V – V – V – F V – F – F – F – V – V – F – V – F – F V – F – F – V – V – V – F – V – F – F V – V – V – F – V – V – F – V – F – F Questão 07 Analisando as expressões: X = (2+2)*3 Y = 2+2*3 Quais serão os resultados: CLIQUE NA SUA RESPOSTA ABAIXO X = 12 e Y = 8 X = 12 e Y = 12 X = 12 e Y = 4 X = 4 e Y = 8 X = 8 e Y = 12 Questão 08 Quando temos que tomar algum tipo de decisão ou verificar o conteúdo de alguma variável, devemos utilizar uma Estrutura Condicional ou tomada de decisão PORQUE As tomadas de decisão são realizadas por estruturas condicionais, que avaliam a condição em questão e retornam verdadeiro ou falso de acordo com o resultado da condição. Sobre essas duas afirmativas, é CORRETO afirmar que CLIQUE NA SUA RESPOSTA ABAIXO a primeira é uma afirmativa verdadeira; e a segunda, falsa as duas são verdadeiras, e a segunda é uma justificativa correta da primeira a primeira é uma afirmativa falsa; e a segunda, verdadeira. as duas são verdadeiras, e a primeira é uma justificativa correta da segunda as duas são verdadeiras, mas não estabelecem relação entre si Questão 01 Analise a afirmativa abaixo e marque a alternativa que preencha corretamente os espaços em branco na ordem que aparecem no texto. A estrutura condicional verifica uma dada ________ e retorna uma resposta de verdadeiro se a condição for ________ ou uma resposta de ________ se a condição for falsa. CLIQUE NA SUA RESPOSTA ABAIXO Variável; determinada; falso Estrutura; verdadeira; nula Verdadeira; condição; falso Informação; analisada; retorno Condição; verdadeira; falso Questão 02 Sobre as estruturas condicionais, é correto afirmar que: CLIQUE NA SUA RESPOSTA ABAIXO a estrutura condicional verifica uma dada condição e retorna uma resposta de verdadeiro se a condição for verdadeira ou uma resposta de falso se a condição for falsa a estrutura condicional verifica se um bloco de código de condições de roda corretamente ou não no algoritmo uma estrutura condicional é utilizada para repetir determinada parte do algoritmo as estruturas condicionais podem ser utilizadas em diversos pontos dentro dos algoritmos, mas não podem estar uma dentro da outra a estrutura condicional verifica uma dada condição e retorna uma resposta de falso se a condição for verdadeira ou uma resposta de verdadeira se a condição for falsa Questão 03 Muitas vezes no desenvolvimento de programas temos a necessidade de repetir algum trecho várias vezes, para isso temos duas alternativas, reescrever este trecho de código quantas vezes forem necessárias ou utilizar uma: CLIQUE NA SUA RESPOSTA ABAIXO estrutura de repetição estrutura condicional lógica mais elaborada variável de controle. forma alternativa Questão 04 Quando temos que tomar algum tipo de decisão ou verificar o conteúdo de alguma variável CLIQUE NA SUA RESPOSTA ABAIXO devemos utilizar a área de declaração de variáveis devemos utilizar uma Estrutura Condicional ou tomada de decisão devemos utilizar estrutura de repetição para encontrar o resultado podemos utilizar uma estrutura tipo array vamos encontrar uma situação difícil de resolver Questão 05 Todo LAÇO DE REPETIÇÃO independente da Linguagem de programação (estruturada) ou do Tipo de Laço utilizado, tem as seguintes características: CLIQUE NA SUA RESPOSTA ABAIXO um corpo que inicia obrigatoriamente com início; uma terminação obrigatória com fim. uma variável de controle; um teste para determinar o momento de parar; uma estrutura que irá modificar os valores testados pode declarar diversas variáveis para utilização no programa; pode ter nomes próprios em seu escopo uma tomada de decisão sobre a validade dos valores; uma estrutura complexa que reduz a sua utilização possui uma redefinição de tipos de dados; é utilizado para tomada de decisão; pode aparecer em qualquer lugar do programa Questão 06 Leia as afirmativas abaixo e marque a alternativa CORRETA. I. As estruturas condicionais podem ser comparadas com as estruturas de repetição, quanto a sua forma e funcionalidade, pois ambas realizam um teste que retorna verdadeiro ou falso. II. Toda estruturacondicional e de repetição deve ter claramente o seu início e fim, mesmo quando, em alguns casos, não digitamos estes marcados explicitamente no programa. III. A definição do critério de parada para estruturas condicionais não é obrigatória, uma vez que atingindo a quantidade desejada de repetição o laço irá finalizar automaticamente. CLIQUE NA SUA RESPOSTA ABAIXO Apenas II e III são corretas Apenas II é correta Apenas I é correta Todas as alternativas são corretas Apenas I e II são corretas Questão 07 (NUCEPE-2018) A estrutura de repetição for possui três campos que devem ser preenchidos. Conforme o exemplo a seguir, esses três campos são chamados respectivamente de: for (contador = 1; contador <= 10; contador++) { printf(" %d ",contador); } CLIQUE NA SUA RESPOSTA ABAIXO Condição, inicialização e incremento. Inicialização, (condição ou teste) e (incremento ou iteração) Inicialização, condição e interação. Inicialização, interação e atribuição. Incremento, condição e inicialização. Questão 08 Sobre o trecho de código abaixo, avalie a seguintes afirmativas e marque a alternativa correta. Se (Resultado >= 70) então início Escreva “O aluno está APROVADO”; Fim I – Esta é uma estrutura que pode escrever mais de uma mensagem na tela. II – A mensagem de que o aluno está aprovado será apresentada para qualquer resultado acima de 70, mesmo sendo um valor muito alto. III – Se o resultado for menor que 70 irá apresentar que o aluno está reprovado. CLIQUE NA SUA RESPOSTA ABAIXO Apenas II está correta. Apenas I e II estão corretas Apenas I e III estão corretas Apenas I está correta Apenas III está correta Questão 01 Analise o trecho de código abaixo e marque a alternativa correta. main() { } CLIQUE NA SUA RESPOSTA ABAIXO Este trecho de código representa a sintaxe básica de uma função principal na linguagem C Este trecho de código representa a sintaxe básica de uma função secundária na linguagem C Este trecho de código representa a sintaxe básica de uma função recursiva na linguagem C Este trecho de código representa a sintaxe básica da única função admitida na linguagem C Este trecho de código representa a sintaxe básica de uma função qualquer na linguagem C Questão 02 Os tipos de dados básicos na linguagem C são: CLIQUE NA SUA RESPOSTA ABAIXO inteiro, real e caractere null, void e nil int, float, char, double e void const, var e boolean integer, real, character, double e null Questão 03 (NUCEPE-2018) De acordo com o código a seguir, qual comando estaria no lugar de ***************? #include<stdio.h> int main( ) { int num1, num2; printf("Digite um número: "); *************** printf("Digite outro número: "); scanf("%d",&num2); printf("Os numeros digitados foram %d e %d",num1,num2); } CLIQUE NA SUA RESPOSTA ABAIXO scanf ("%f", &num1). scanf ("%f", &num2). scanf ("%d", &num2). scanf("%d",&num1). scanf ("%d", &num3). Questão 04 Avalie a seguintes afirmativas e marque a alternativa correta. I – A função getchar() tem como objetivo ler um caractere (uma letra) do teclado com a obrigatoriedade de pressionar enter após a digitação do caractere. II – A função getch() tem o seu funcionamento idêntico ao da função getchar(), com diferença apenas na forma de escrita do nome da função. III – A função putchar() exibe um caractere na tela. Ela recebe como parâmetro uma letra (constante) ou uma variável do tipo char e exibe este valor na tela. CLIQUE NA SUA RESPOSTA ABAIXO Apenas I e II estão corretas Apenas I está correta Apenas II e III estão corretas. Apenas II está correta Apenas I e III estão corretas Questão 05 Considere as afirmações sobre a linguagem C e marque a alternativa correta. I. Sobre tipos de dados, cada tipo de dado tem um nome e é capaz de armazenar uma certa quantidade de memória determinada em bytes. II. Os operadores relacionais, como o nome sugere estabelecem uma relação operacional entre algumas partes do código. Estes operadores servem para estabelecer uma relação de operação mútua entre os operandos. III. Os operadores aritméticos nos permitem realizar operações aritméticas básicas em linguagens de programação. CLIQUE NA SUA RESPOSTA ABAIXO Apenas II e III são verdadeiras. Apenas I é verdadeira. Apenas I e II são verdadeiras. Nenhuma alternativa é verdadeira. Apenas I e III são verdadeiras. Questão 06 O técnico de inserção automática de componentes de uma empresa eletroeletrônica, ao reprogramar uma das máquinas, verificou a necessidade de usar operadores lógicos e relacionais, conforme mostrado na tabela abaixo. Na linguagem C, qual ideia de Verdadeiro ou Falso atende às expressões que usam operadores relacionais ou lógicos como base de conceito para orientar o técnico na programação da máquina? CLIQUE NA SUA RESPOSTA ABAIXO Verificar a expressão que apresenta para falso valor == 0 e para verdadeiro valor != 0 Verificar a expressão que apresenta para falso valor <= 0 e para verdadeiro valor != 0 Verificar a expressão que apresenta para falso valor >= 1 e para verdadeiro valor <1 Identificar a expressão que apresenta verdadeiro para valor > 1 ou igual a 0 Identificar a expressão que apresenta verdadeiro para valor < 1 ou igual a 0 Questão 07 (FAPEC-2018) Considere o código a seguir escrito na linguagem C. #include<stdio.h> int main() { printf("Valor total: %.1f",9.1415169265); } Assinale a alternativa que apresenta a saída correta. CLIQUE NA SUA RESPOSTA ABAIXO Valor total: 9.1 Valor total: 9.142 Valor total: 9.141517e+00 Valor total: 9.14 Valor total: 9.141517 Questão 08 Avalie as seguintes linhas de código na linguagem C e assinale a alternativa correta. Linha 01: int A,B; Linha 02: float C,D; Linha 03: A = 10; B = 20; Linha 04: C = 40; Linha 05: D = 15.32; Linha 06: C = A; printf(“%.2f”,C); CLIQUE NA SUA RESPOSTA ABAIXO O comando de saída vai enviar para o dispositivo padrão de saída o número 40.00. O comando de saída vai enviar para o dispositivo padrão de saída o número 10.00. A atribuição realizada na Linha 04 não é permitida pois o valor inteiro 40 não pode ser atribuído à variável float C. A atribuição realizada na Linha 06 não é permitida pois o valor de A não é do mesmo tipo que C. Não podemos ter mais de uma instrução por linha de código como apresentado nas Linhas 03 e 06. Questão 01 Leia as afirmativas abaixo e marque a alternativa CORRETA. I. O condicional ternário ((condição)? Valor se verdadeiro: valor se falso) é uma estrutura condicional que pode ser utilizada para substituir o condicional IF em qualquer situação que o IF for aplicado. II. O Switch-case é uma estrutura condicional que pode ser utilizada em diversas situações de condicionais, mas ela tem algumas restrições de uso, tal como limitação do tipo de dados utilizado na estrutura. III. Uma estrutura condicional pode ser simples ou composta. Quando simples, ela verifica somente uma condição sem se preocupar com os casos contrários, já a estrutura condicional composta, sempre gera uma verificação pelo caso contrário ao da condição estabelecida, com um comportamento de exclusão para as demais. IV. Pode-se utilizar estruturas condicionais tantas quantas vezes forem necessárias dentro de um programa, mas não podemos ter várias condições uma dentro da outra, pois isso pode gerar conflito com a forma de funcionamento do comando else. CLIQUE NA SUA RESPOSTA ABAIXO Apenas III e IV estão corretas. Apenas IV está correta. Apenas I e II estão corretas. Apenas II e III estão corretas Todas as alternativas estão corretas.Questão 02 (UECE-CEV-2018) Atente para o seguinte programa em C: #include<stdio.h> int main( ) { int m,n,i,soma; m = 2; n = 10; soma = 0; for (i=m ; i < n ; i++) { if ((i % 2) == 0) soma = soma + i; } printf("Soma = %d ",soma); printf("i = %d",i); } Considerando o programa apresentado acima, assinale a afirmação verdadeira. CLIQUE NA SUA RESPOSTA ABAIXO O programa calcula a soma de todos os números primos entre m e n. A linha 9 é executada (n-m+1) vezes. O valor da variável i ao final do programa é 9. O valor da variável soma ao final do programa é 20. o programa não irá rodar, pois existe um erro no código. Questão 03 Marque a alternativa correta CLIQUE NA SUA RESPOSTA ABAIXO As tarefas de entrada e saída em um algoritmo são tarefas complementares de devem sempre ser realizadas em conjunto Para atribuirmos um valor a uma variável, devemos utilizar o operador de lógica relacional atribuída As palavras reservadas são algumas palavras de uma linguagem de programação que precisamos reservar antes de sua utilização Sintaxe é um termo utilizado em algoritmos e programação para descrever a forma básica de uma instrução ou comando A ordem de precedência dos operadores determina a ordem que devemos utilizar os mesmos, não podendo utilizar um antes do outro que tenha maior precedência Questão 04 (FUNCERN-2017) Analise o código do programa C a seguir: #include<stdio.h> int main( ) { char autores[2][20] = {"SILVA, Ana","SOUZA, Pedro"}; int obrasPublicadas[2][5] = {{20,51,30,17,44},{150,120,90,110,88}}; for (int i=0; i<2; i++) { printf("%s",autores[i]); printf("\nNumero de obras publicadas: "); for (int j=0; j<5; j++) printf("\t %d",obrasPublicadas[i][j]); printf("\n"); } } Como saída do processamento desse programa, o número total de linhas impressas visíveis na tela do usuário será CLIQUE NA SUA RESPOSTA ABAIXO 12 4 6 10 14 Questão 05 Avalie a seguintes afirmativas e marque a alternativa correta. I – Uma alternativa ao uso do comando IF-ELSE é a utilização do SWITCH- CASE. II – O SWITCH-CASE tem como princípio de funcionamento o fato de destacar uma variável e verificar se ela contém algum valor específico, definido em seus casos. III – Para que o SWITCH-CASE funcione corretamente devemos utilizar uma variável de controle, que pode ser de qualquer tipo de dados CLIQUE NA SUA RESPOSTA ABAIXO Apenas I e III estão corretas Apenas I está correta Apenas II está correta Todas as alternativas estão corretas Apenas I e II estão corretas Questão 06 O laço DO-WHILE tem a mesma definição de estrutura que o laço WHILE, com a única diferença que este faz o teste no: CLIQUE NA SUA RESPOSTA ABAIXO momento que deseja parar. meio de seus códigos de corpo meio de sua estrutura início de sua estrutura. final de sua estrutura Questão 07 Analise o algoritmo abaixo que se propõe a ler dois valores referentes à Base e Altura de uma figura geométrica e apresentar a área desta figura. #include<stdio.h> #include<conio.h> int altura,largura,area; int main() { printf("Informe a Altura: "); scanf(" A ",&altura); printf("Informe a Largura: "); scanf("%d",&largura); area = altura * largura; if ( B ) { printf("A área do retângulo é: %d",area); } C { printf("A área do quadrado é: %d",area); } getch(); } A sequência de opções que podem substituir CORRETAMENTE as marcações A, B e C neste algoritmo é respectivamente: CLIQUE NA SUA RESPOSTA ABAIXO altura – altura == largura – if (largura) %f – retângulo – if (quadrado) %d – altura < largura – else %d – altura != largura – else %b – altura = largura – if (quadrado) Questão 08 Os comandos de seleção mais conhecidos e utilizados na linguagem C são: CLIQUE NA SUA RESPOSTA ABAIXO >, >=, <, <=, != e == break e continue &&, || e ! IF, Switch-Case e o condicional ternário for e while Questão 01 (COMPERVE-2016) Analise o trecho de código em C a seguir. #include<stdio.h> int comp(int a, int b) { if (b == 0) return a; else return comp(b,a%b); } int main() { printf("%d",comp(15,20)); } O valor impresso após a execução desse código é CLIQUE NA SUA RESPOSTA ABAIXO 5 20 0 1 15 Questão 02 Uma função nada mais é do que uma sub-rotina usada em um programa. Na linguagem C, denominamos função a um conjunto de comandos que realiza uma tarefa específica em um módulo específico, desta forma podemos dividir um programa em várias partes, no qual cada função realiza uma tarefa. De acordo com as definições de funções, avalie as afirmativas abaixo e assinale a alternativa correta. I - As Funções são blocos de código que possuem um nome E II – As funções ficam aguardando em seu programa para serem executados somente quando o seu nome for chamado. Sobre essas duas afirmativas, é CORRETO afirmar que CLIQUE NA SUA RESPOSTA ABAIXO a primeira é uma afirmativa falsa; e a segunda, verdadeira as duas são verdadeiras, e a segunda é um completo correto da primeira a primeira é uma afirmativa verdadeira; e a segunda, falsa as duas são verdadeiras, e a primeira é uma justificativa correta da segunda as duas são verdadeiras, mas não estabelecem relação entre si Questão 03 (NUCEPE-2018) Analise o trecho de código a seguir e marque a única alternativa CORRETA em relação ao que será escrito após a execução do programa. #include<stdio.h> void impr3() { printf("3 "); } void impr2() { impr3(); printf("2 "); } void impr1() { printf("1 "); } int main( ) { impr1(); impr2(); } CLIQUE NA SUA RESPOSTA ABAIXO 1 3 2. 2 1 3. 3 2 1. 2 3 1. 1 2 3. Questão 04 Avalie a seguintes afirmativas e marque a alternativa correta. I – O retorno de uma função especifica o tipo do valor que o comando return da função devolve. II – O que diferencia a declaração de uma função por uma variável são os parêntesis utilizados nas funções. III – Variáveis declaradas dentro de uma função são denominadas variáveis locais. CLIQUE NA SUA RESPOSTA ABAIXO Apenas I e III estão corretas Todas as alternativas estão corretas Apenas II está correta Apenas I está correta Apenas I e II estão corretas Questão 05 Avalie a seguintes afirmativas e marque a alternativa correta. I – Podemos ter tantas quantas funções precisarmos em nosso programa. II – Para cada função declarada devemos ter variáveis locais e globais definidas. III – Todas as funções de um algoritmo irão executar em uma sequência definida na sua declaração. CLIQUE NA SUA RESPOSTA ABAIXO Apenas I e III estão corretas. Apenas I e II estão corretas Apenas II está correta Apenas I está correta Todas as alternativas estão corretas Questão 06 Considerando a linguagem C, identifique como verdadeiras (V) ou falsas (F) as seguintes afirmativas. ( ) Uma função não pode ter espaço em branco na definição de seu nome, formando, por exemplo, nome como ‘valor total’. ( ) As funções podem retornar apenas um valor, ou seja, apenas uma referência para um tipo de dados (uma variável, uma constante, uma referência de memória).( ) O número máximo de argumentos de uma função é 10. ( ) A estrutura de uma função deve ser limitada ao programa principal a qual será chamada, ou seja, só pode conter os mesmos elementos que já contem em seu programa principal. Assinale a alternativa que apresenta a sequência correta, de cima para baixo. CLIQUE NA SUA RESPOSTA ABAIXO V – V – V – V. F – F – V – V. F – F – F – F. V – F – V – F. V – V – F – F. Questão 07 Leia as afirmativas abaixo e marque a alternativa CORRETA. I. Quando o comando return está associado a algum valor este valor deve ser do mesmo tipo da declaração da função e será retornado ao processo que chamou a função. II. As variáveis globais recebem esta definição, pois tem visibilidade global, o podem ser utilizadas em qualquer lugar dentro do programa global a qual estão inseridas. III. Na linguagem C, as variáveis podem ser declaradas somente no início dos blocos, ou seja, após a abertura das chaves {. CLIQUE NA SUA RESPOSTA ABAIXO Apenas I e II são verdadeiras Todas as alternativas são verdadeiras Apenas III é verdadeira Apenas II e III são verdadeiras Apenas I e III são verdadeiras Questão 08 Avalie a seguintes afirmativas e marque a alternativa correta. I – As variáveis declaradas dentro de uma função também podem ser utilizadas na função principal main. II – Se na função existir uma variável local com o mesmo nome de uma variável global, a chamada simples desta variável sempre retornará a variável local. III – Se uma função for declarada logo após a declaração de uma outra função, na execução elas devem respeitar esta ordem de executar a primeira declaração e depois a segunda. CLIQUE NA SUA RESPOSTA ABAIXO Todas as alternativas estão corretas Apenas I e III estão corretas Apenas II está correta Apenas I está correta Apenas I e II estão corretas Questão 01 Em C, os índices dos arrays sempre iniciam em: CLIQUE NA SUA RESPOSTA ABAIXO -1 (menos um) 1 (um) 2 (dois) 3 (três) 0 (zero) Questão 02 Considere um vetor com N elementos que contem números aleatórios. Considere também um algoritmo de busca sequencial, que examina o primeiro elemento deste vetor e segue sequencialmente, examinando elemento por elemento até encontrar o desejado ou até atingir o final do vetor. CLIQUE NA SUA RESPOSTA ABAIXO Se o elemento procurado for o último o algoritmo poderá não encontrar, pois até chegar em sua posição no vetor a informação de busca já foi perdida na memória. O algoritmo de busca descrito é muito eficiente e sempre encontrará facilmente e rapidamente o elemento procurado, independentemente do tamanho do vetor de entrada com os elementos. Se o elemento procurado for o primeiro o algoritmo descrito poderá entrar em loop pois está programado para percorrer todas as posições do vetor de entrada. O cenário descrito não representa uma descrição de algoritmo de busca. O cenário descrito apresenta o princípio de funcionamento de um dos algoritmos mais simples para busca, o algoritmo de pesquisa sequencial. Questão 03 Analise o programa em C abaixo e marque a alternativa CORRETA a respeito de sua funcionalidade. #include<stdio.h> #include<conio.h> int main() { int valores[5][5],i,j; for (i=0;i<5;i++) { for (j=0;j<5;j++) { valores[i][j] = (i+1)*(j+1); } } for (i=0;i<5;i++) { for (j=i;j<5;j++) { valores[i][j] = 0; } } } CLIQUE NA SUA RESPOSTA ABAIXO Este programa declara uma matriz quadrada de ordem 5 e duas variáveis auxiliares para laço de repetição. Ele inicializa os valores da matriz utilizando operações com os valores das próprias variáveis auxiliares dos laços e após a inicialização transforma a matriz em uma pseudo matriz triangular inferior, colocando 0 (zero) em sua diagonal principal e em todos os elementos acima desta. Este programa insere valores na matriz e depois zera todos os valores inseridos, para isso o programa utiliza dois laços de repetição e duas variáveis auxiliares, i e j. Este programa trabalha com duas matrizes para inserir valores baseados na utilização de i e j dentro do programa com a finalidade de explorar ao máximo a otimização da utilização de matrizes com laços de repetição, pois este é o objetivo de ser utilizar tal estrutura. Este programa declara uma matriz de tamanho 5x5 e duas variáveis auxiliares para laço de repetição. Ele inicializa os valores da matriz utilizando as variáveis i e j dos laços e após a inicialização transforma a matriz em uma matriz triangular superior, colocando 0 (zero) em todos os elementos abaixo da diagonal principal. Este programa não faz absolutamente nada, pois tem um erro que impede a sua execução. Questão 04 Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema: você precisa criar um algoritmo que lê o nome e as 4 notas de 500 alunos, calcular a média de cada aluno e informar quais foram aprovados e quais foram reprovados. Para este tipo de problema podemos utilizar estruturas de dados tipo Vetor ou Matriz. Considerando este contexto, avalie as seguintes asserções e a relação proposta entre elas, e marque a opção correta. I. Os vetores são estruturas que armazenam dados do mesmo tipo em posições sequenciais de memória onde que podemos acessar cada tipo através de um índice, esta estrutura é muito diferente da estrutura Matriz. PORQUE II. A estrutura Matriz armazena uma quantidade maior de elementos e estes podem ser distribuídos por entre os índices e os diversos tipos de dados existentes dentro da mesma estrutura. CLIQUE NA SUA RESPOSTA ABAIXO A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Questão 05 Avalie a seguintes afirmativas e marque a alternativa correta. I – As estruturas, em C, são conjuntos de variáveis distintas agrupadas em um único lugar. II – Assim como as estruturas, os vetores são um conjunto de variáveis e podem substituir a utilização das estruturas em qualquer situação. III – Na definição de estruturas não podemos ter variáveis de tipos de dados diferentes. CLIQUE NA SUA RESPOSTA ABAIXO Apensas I e II estão corretas Apenas I e III estão corretas Todas as alternativas estão corretas Apenas II está correta Apenas I está correta Questão 06 Dado um algoritmo com um array global de tamanho 10, chamado vetor, e todas as declarações e inicializações necessárias para o seu correto funcionamento. Dado ainda que este algoritmo tem duas funções, funcaoAlgo1 e funcaoAlgo2 (apresentadas abaixo), e que estas funções foram declaradas e assinadas no programa. Dado um programa principal que faz a leitura de valores para o vetor e chama a função funcaoAlgo1, analise a descrição apresentada e os trechos de códigos abaixo e marque a alternativa CORRETA. void funcaoAlgo1() { for (i=0;i<9;i++) { for (j=i+1; j<10;j++) { if (vetor[j]<vetor[i]) funcaoAlgo2 (i,j); } } } void funcaoAlgo2(int x, int y) { int aux; aux = vetor[x]; vetor[x] = vetor[y]; vetor[y] = aux; } CLIQUE NA SUA RESPOSTA ABAIXO Este cenário apresenta uma estrutura que utiliza um vetor de inteiros, duas funções auxiliares e dentro do programa principal preenche o vetor e invoca as funções auxiliares, chamando primeiro a primeira função e depois a segunda função. As funções embaralham os valores do vetor. Este cenário apresenta uma estrutura que utiliza um vetor de inteiros, duas funções auxiliares e dentro do programa principal faz a leiturados valores neste vetor de inteiro e invoca as funções auxiliares para realizar a ordenação de forma crescente nos valores armazenados no vetor. Este cenário demonstra a utilização de uma estrutura complexa para a realização de tarefas simples de tratamento de entrada e saída de dados inteiros em estrutura do tipo vetor. As funções demonstradas fazem uma demonstração de entrada, saída e movimentação do valores no vetor. Este cenário apresenta uma situação em que vários blocos de códigos escritos e agrupados dentro de um programa principal com todas as suas declarações, mas não realiza nenhuma atividade relevante, não fazendo movimentação de dados e nem utilização de memória. Este cenário não é relevante e apresenta uma estrutura falha e com erros, ao se codificar toda a definição apresentada será necessário modificar algumas funcionalidades e redefinir algumas informações para evitar erros de compilação e execução do programa. Questão 07 Enade Ciência da Computação (2017) - O algoritmo a seguir trabalha com um vetor global v de números inteiros e rearranja esse vetor de tal forma que seus elementos, ao final, estejam ordenados de forma crescente. Note que n é uma variável global que determina o tamanho do vetor. Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para que os elementos sejam ordenados de forma crescente, assinale a opção correta no que se refere às correções adequadas. CLIQUE NA SUA RESPOSTA ABAIXO A linha 08 deve ser corrigida da seguinte forma: while ( j >= 0 && v [ j ] > chave) e a linha 10, do seguinte modo: v [ j + 1 ] = v [ j ]; . A linha 04 deve ser corrigida da seguinte forma: for (i = 1; i < n – 1; i++) e a linha 13, do seguinte modo: v[j – 1] = chave; A linha 04 deve ser corrigida da seguinte forma: for ( i = 1; i < n -1; i++) e a linha 07, do seguinte modo: j = i + 1; A linha 10 deve ser corrigida da seguinte forma: v [ j + 1 ] = v [ j ]; e a linha 13, do seguinte modo: v [ j – 1 ] = chave; . A linha 07 deve ser corrigida da seguinte forma: j = i + 1 e a linha 08, do seguinte modo: while (j >= 0 && v[ j ] > chave). Questão 08 Analise o código/algoritmo escrito abaixo e marque a alternativa correta sobre o mesmo: #include<stdio.h> typedef struct Data{ int Dia; int Mes; int Ano; }; int main() { Data data1; printf("Dia 1: "); scanf("%d",&data1.Dia); printf("Mes 1: "); scanf("%d",&data1.Mes); printf("Ano 1: "); scanf("%d",&data1.Ano); printf("Data 01 = %d/%d/%d",data1.Dia,data1.Mes,data1.Ano); } CLIQUE NA SUA RESPOSTA ABAIXO A declaração ‘Data data1’, na primeira linha dentro da função main, não é uma declaração válida, uma vez que Data não é um tipo de dados válido em C. Este código não irá funcionar pois existe um erro na declaração da estrutura Data, entrando em conflito com os tipos de dados básicos em C. Este programa redefine uma data do sistema, declarando um tipo para isso, e depois solicita ao usuário uma nova data para trocar com a do sistema. Este programa declara um tipo abstrato de dados Dada, solicita ao usuário um dia, um mês e um ano, e exibe a data informada pelo usuário formatada como dia/mês/ano. Este programa declara uma estrutura data e escreve a data atual na tela.
Compartilhar