Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos e Programação Estruturada - Algoritmos para Dev Observe o trecho de programa a seguir e julgue as afirmações que se seguem. #include <stdio.h> void main () { int num[5]; printf(“Entre com um numero\n”); scanf(“%d”, &num[0]); printf(“O valor digitado foi: %d”, num [0]*2); getchar(); } I. Segundo Manzano (2010), vetor (array) é um tipo especial de variável capaz de armazenar diversos valores “ao mesmo tempo”. II. O vetor usa vários endereços na memória. III. Por armazenar diversos valores, também é chamado de variável aleatória, ou ainda, estrutura de matricial de valores. IV. A sintaxe para utilização de vetores homogêneos é: tipo variavel [n]. Na sintaxe, “[n]” representa a quantidade de vetores alocados. É correto apenas o que se afirma em: I. Na repetição com variáveis de controle, ou seja, usando o laço “for”, o comando iterativo “for” que em português significa “para”, segundo Mizrahi (2008), é geralmente usado para repetir uma informação por um número fixo de vezes, isto é, pode-se determinar quantas vezes acontecerá a repetição. Para facilitar ainda mais, veja a seguinte representação: for(x = 10,y = 0; x >= 0, y <= 10; x--,y++) De acordo com a representação, analise as asserções a seguir: I. x = 10,y = 0 – Neste trecho, “x” tem o seu valor encerrado em “10” e “y” encerrado em “0”. II. x >= 0, y <= 10 – Neste trecho, o laço se repetirá enquanto x for menor ou igual a zero e enquanto y for maior ou igual a “10”. III. x--,y++ - Ao final da execução dos comandos do laço de repetição, x será decrementado de 1 e y será incrementado de 1. É correto apenas o que se afirma em: III. Pseudocódigos é considerado uma ferramenta que pode auxiliar a programação, ela pode ser escrita em palavras similares ao inglês ou português para facilitar a interpretação e desenvolvimento de um programa. Neste contexto, analise o seguinte algoritmo escrito em pseudocódigo. var real: v1, v2, v3, v4, N1, x; Início escreva (“Digite Nota 1:”); leia v1; escreva (“Digite Nota 2:”); leia v2; escreva (“Digite Nota 3:”); leia v3; escreva (“Digite Nota 4:”); leia v4; N1 ← v1 + v2 + v3 + v4; x ← N1 / 4; escreva(“Resultado = ”, x); Fim. Agora, assinale a alternativa correta. Este algoritmo armazena as notas em variáveis para depois realizar um calculo onde o restado final é armazenado em X e por fim é exibido. No contexto da programação de computadores, um paradigma é uma forma ou um estilo de se programar. Segundo Tucker (2010), um paradigma de programação está relacionado a um padrão de soluções de problemas, onde por sua vez estão relacionados a uma determinada linguagem de programação. Considerando o contexto, avalie as afirmativas a seguir: I - A Programação Imperativa é considerada o paradigma mais antigo, a programação imperativa pode armazenar o programa e suas variáveis, as atribuições, as sequências, os laços e os comandos condicionais. II - A Programação Orientada a Objeto é considerado uma coleção de objetos onde se inter- relacionam, facilitando assim a programação. III - A Programação Funcional são caraterizadas por possuírem atuação matemática, cada uma com um espaço de entrada (domínio) e resultado (faixa). IV- A Programação Lógica é considerada uma programação declarativa, onde um programa pode modelar uma situação problema declarando qual resultado o programa deve obter, em vez de como ele deve ser obtido. Agora, assinale a alternativa correta. Revisar Questão As afirmativas I, II, III e IV estão corretas. Pensando bem, um computador é praticamente inútil se não tiver nenhuma maneira de interagir com o usuário. As trocas de informação entre o computador e o usuário são chamadas entrada e saída (input e output, em inglês). Entrada é a informação fornecida a um programa e saída é a informação fornecida pelo programa. Frequentemente são usados os termos "saída padrão" (standard output, stdout) e "entrada padrão" (standard input, stdin). Eles se referem, na maioria das vezes, ao monitor e ao teclado, que são os meios básicos de interação com o usuário. No entanto, os sistemas operacionais permitem redirecionar a saída e a entrada de programas para outros dispositivos ou arquivos. As funções de entrada e saída na linguagem C trabalham com fluxos de dados, que são uma forma de abstração de dados de maneira sequencial. Assim, toda entrada e saída é feita da mesma maneira, com as mesmas funções, não importando o dispositivo com o qual se está comunicando. As mesmas funções que descrevem o acesso aos arquivos podem ser utilizadas para se acessar um terminal de vídeo. Neste contexto, julgue as afirmações que se seguem. I- A função printf() é uma função de saída e permite facilmente imprimir valores que são sequências de caracteres, além de poder formatar os dados e juntar várias sequências de caracteres. II- Se especificar onde o valor da variável deve ser impresso, através da especificação de formato %d caso a variável seja do tipo int, então precisará, logicamente, especificar qual variável imprimir. Isso é feito dando-se mais um argumento à função printf(). III - A função scanf() lê dados da entrada padrão e os guarda em variáveis do programa. Assim como para printf(), usa-se uma string de edição para especificar como serão escritos os dados.IV - A funcão scanf() retorna o número de conversões realizadas com sucesso. Isso é útil pois, se o valor contido numa variável após a chamada de scanf() for igual ao valor anterior, não é possível saber se o valor digitado foi o mesmo que já havia, ou se não foi feita a conversão. Para obter esse número de conversões realizadas, basta guardar o resultado numa variável do tipo int. É correto apenas o que se afirma em: II e IV. O comando while executa repetições com teste no início enquanto uma condição verdadeira for verificada. Somente após a sua negativa essa condição será interrompida. Analise a aplicação do comando while no trecho a seguir: #include <stdio.h> #include <stdlib.h> main() { int cont=0; while (cont < 20) { printf("PROVA \n"); cont++; } system("PAUSE"); return 0; } O trecho de programa do texto é um exemplo de aplicação do comando while para: mostrar a palavra “PROVA” vinte vezes. Segundo Manzano (2015), os algoritmos criados por você deverão ser convertidos em linguagens de alto nível, como por exemplo: a linguagem Java, Pascal, C, C++ entre outras conceituadas nesta seção. Você deverá escrever os códigos fontes na linguagem escolhida para que os mesmos se tornem executáveis, porém, cada linguagem adota um método particular para gerar o código executável. Considerando o contexto apresentado, faça a correta associação entre as Colunas. COLUNA A COLUNA B I. São gerados códigos intermediários, onde não exige tanto espaço de memórias quanto realizado pelo código fonte. Sua vantagem é ter independência da arquitetura que realizará a execução final, porém, necessita de um interpretador específico para sua geração. 1. Compiladores II. Lê uma instrução do código fonte, transforma em código binário e executa, repete esse processo até que todas as instruções do código fonte sejam executadas. O código é interpretado e executado em tempo real, sem a geração de código executável. 2. Interpretadores III. É gerado um código executável sem a necessidade de interpretar comando por comando. Sua vantagem é a execução mais rápida, porém, caso necessite de alterações, o código fonte deverá ser editado e executado em máquinas de mesma arquitetura. 3. Tradutores Assinale a alternativa que apresenta a associação correta. I - 3; II - 2; III - 1. 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álculosnã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: Temperatura Fahrenheit = 50.00 . As variáveis são usadas para armazenar dados na memória de trabalho e que esses dados podem ser de diferentes tipos (inteiro, decimal, caractere ou booleano), os quais são chamados de tipos primitivos. Podemos armazenar a idade de uma pessoa em uma variável do tipo int, a altura em um tipo float, e assim por diante, mas e se fosse necessário armazenar quinze medidas da temperatura de um dispositivo? A melhor solução para armazenar diversos valores dentro de um mesmo contexto é utilizar: variáveis compostas.
Compartilhar