Prévia do material em texto
18/01/2022 Primeiro Caderno - Evernote https://www.evernote.com/client/web?login=true#?b=5ac9b6e0-84a0-4170-a6dc-a5efbf353acc&n=f0791054-c36a-6969-fd17-2dc93d67340f& 1/4 UNIDADE 1 - Fundamentos a Algoritmos e das Linguagens de Programação UNIDADE 1 - Fundamentos a Algoritmos e das Linguagens de Programação Questão 1 Pode-se otimizar o uso de variáveis usando as estruturas compostas (vetor e matriz), porém só se pode armazenar valores de um mesmo tipo. Além das estruturas homogêneas, as linguagens de programação oferecem um tipo de variável composta heterogênea chamada de estruturas (structs), ou ainda de registros por alguns autores (SOFFNER, 2013). Assim como se associa os vetores e matrizes com tabelas, pode-se associar uma estrutura a uma ficha de cadastro com diversos campos. Na linguagem C, a criação de uma estrutura deve ser feita antes da função main() e deve possuir a seguinte sintaxe: struct <nome>{ <tipo> <nome_da_variavel1>; <tipo> <nome_da_variavel2>; ... }; De acordo com a sintaxe apresentada, julgue as afirmações que se seguem I. <nome> é o nome da variável. II. As variáveis internas dessa estrutura são os campos que se deseja guardar. III. Uma estrutura funciona como um “tipo de dado”.IV. O uso da estrutura sempre será atribuído à uma ou mais variáveis. É correto apenas o que se afirma em: Questão 2 Os operadores aritméticos podem ser classificados em unário ou binário (MANZANO, 2015). Os binários são operadores que usam dois componentes e os operadores unários usam apenas um componente. É o caso I, II e III. II e IV. I e III. II, III e IV. I e IV. 18/01/2022 Primeiro Caderno - Evernote https://www.evernote.com/client/web?login=true#?b=5ac9b6e0-84a0-4170-a6dc-a5efbf353acc&n=f0791054-c36a-6969-fd17-2dc93d67340f& 2/4 dos operadores aritméticos de incremento (++) e decremento (--). Esses operadores acrescentam ou diminuem “um” ao valor de uma variável e podem ser usados de duas formas: Após a variável: x++ . Nesse caso, é adicionado um após a primeira execução. Após a variável: x-- .Nesse caso, é decrementado um após a primeira execução. Antes da variável: ++x. Nesse caso, é adicionado um antes da primeira execução. Antes da variável: --x.Nesse caso, é decrementado um antes da primeira execução. Baseado no conceito de operadores unários, complete as lacunas do quadro 2 a seguir: Assinale a alternativa que contém a sequência correta: Questão 3 Linguagem de programação são métodos padronizados que determinam instruções para uma máquina ou computador. Segundo Tucker (2010), podemos dizer que a linguagem Assembly é uma forma mais viável de conseguir ler a linguagem de máquina, lembrando que a linguagem Assembly é voltada para máquina, ou seja, trabalha diretamente nas memórias e registros do computador, elas são executadas diretamente pelo processador. Com base nas afirmações sobre a linguagem de programação, avalie as seguintes asserções e a relação proposta entre elas: I. Existem dois tipos de linguagens de programação: as de baixo nível e as de alto nível. Os computadores interpretam tudo como números em base binária, ou seja, só entendem zero e um. PORQUE Pré incremento / pós incremento / pós decremento / pré decremento. Pós decremento / pré decremento / pós incremento / pré incremento. Pós incremento / pré incremento / pós decremento / pré decremento. Pós incremento / pré decremento / pós decremento / pré incremento. Pré decremento / pré incremento / pós decremento / pós incremento. Operador Exemplo Descrição Resultado ++ x++ x + 1 ++ ++x x + 1 -- x-- x - 1 -- --x x - 1 18/01/2022 Primeiro Caderno - Evernote https://www.evernote.com/client/web?login=true#?b=5ac9b6e0-84a0-4170-a6dc-a5efbf353acc&n=f0791054-c36a-6969-fd17-2dc93d67340f& 3/4 II. A linguagem de baixo nível está mais próxima à linguagem de máquina. Assim compreendem as características da arquitetura do computador. Por utilizar somente as instruções do processador é necessário conhecer os registradores da máquina. Uma linguagem de alto nível está muito mais próxima do programador do que do dispositivo, ou seja, é uma linguagem muito mais intuitiva. A respeito dessas asserções, assinale a alternativa correta. Questão 4 Conforme Manzano (2015) toda vez que é necessário armazenar uma quantidade grande de valores do mesmo tipo, podemos utilizar as variáveis compostas ou seja um vetor. A melhor solução para armazenar diversos valores dentro de um mesmo contexto é utilizar variáveis compostas. O vetor, ao ser declarado, reserva um espaço na memória contíguo para armazenar seus elementos. Analise o programa a seguir. #include<stdio.h> int main() { int vetor[19],i; for (i = 0; i <= 19; i++) { vetor[i] = 1; } for (i = 0; i <= 19; i++) { printf ("vetor[%d] = %d \n", i, vetor[i]); } return 0; } Considerando o programa apresentado, julgue as afirmações a seguir. I. Na linha 5, o comando for é utilizado para inicializar o vetor com o número 1. II. Na linha 8, o comando for é utilizado para imprimir os valores do vetor. III.O programa não irá imprimir as informações do vetor corretamente porque estamos atribuindo mais valores ao vetor do que foi declarado. IV. Caso não seja inicializado o vetor, como foi feito no comando for da linha 5, será impresso os valores que estão na memória do computador, esses valores são conhecidos como “lixo de memória”. É correto apenas o que se afirma em: 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 verdadeiras, mas a II não é uma justificativa da I. A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. 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 falsas. 18/01/2022 Primeiro Caderno - Evernote https://www.evernote.com/client/web?login=true#?b=5ac9b6e0-84a0-4170-a6dc-a5efbf353acc&n=f0791054-c36a-6969-fd17-2dc93d67340f& 4/4 Questão 5 Salvetti e Barbosa (1998) afirmam que devemos utilizar os parênteses para ter certeza de que a ordem de precedência das operações seja realizada e os cálculos não sofrerem alterações nos seus valores. Considerando o contexto, avalie o programa a seguir: #include <stdio.h> int main( ) { float C, F; printf("Escreva a Temperatura em graus Celsius: "); scanf("%f", &C); F = ((9 * C) / 5) + 32; printf("Temperatura Fahrenheit = %.2f .\n", F); return 0; } Analisando o programa proposto, caso o valor da variável C receber o valor igual a 10, o comando printf irá imprimir: II, III e IV. I, III e IV. I, II e III. I, II e IV. I, II, III e IV. Temperatura Fahrenheit = 100.00 . Temperatura Fahrenheit = 50.00 . Temperatura Fahrenheit = 35.50 .