Prévia do material em texto
Pensamento Computacional
Tema 2: Introdução Aos Princípios Fundamentais da Computação
Módulo 1 - Equação essencial dos computadores
Descrever a equação que representa a essência dos computadores.
Atividade discursiva
Após ter assistido ao vídeo, coloque aqui o seu relato. Agora é o momento de você organizar suas ideias a partir dos seguintes pontos:
1. A equação fundamental dos computadores a partir de suas narrativas.
2. Algo que, de alguma forma, não valida essa equação fundamental.
3. Provoque alguns amigos e familiares sobre a opinião deles. Não precisa sair daqui, pois as redes sociais e os computadores já lhe dão condição de, em minutos, ter suas respostas.
Ainda que tenha processadores extremamente rápidos, as máquinas nunca superam a velocidade da mente humana. Sempre estamos reclamando que nossos PCs, tablets ou celulares, estão lentos.
Até mesmo hoje com o boom das AIs, apesar das nossas descrições, nossas necessidades não são supridas! Nossa mente e criatividade sempre superam a programação e algoritmos.
Vamos fazer o relato de uma experiência. No filme Eu, robô, ocorre o debate filosófico que estamos propondo. Será que, pela inteligência artificial, o algoritmo pode ser compreendido de forma equivocada? Repare que o filme é perfeito no uso da equação primordial, pois, em momento algum, trata de uma mente coletiva para as máquinas. Nem mesmo a Vick, pois tudo o que ela faz é executar uma ordem humana, que não foi feita corretamente. O robô criado pelo doutor segue regras de programação e acúmulo e não cria nada que vá além de sua programação. Embora o detetive busque encontrar algo que comprove a falha — essa nossa expectativa de que as máquinas têm alma, vida própria e são uma ameaça —, isso não acontece. É utilizada a equação de formulação — máquinas impressionantemente velozes e capazes de processar, mas totalmente burras, incapazes de “pensar” ou agir fora de sua programação.
Questão 1
Estudamos sobre a equação essencial dos computadores. De acordo com o que foi visto, os computadores
A. possuem capacidade de discernimento.
B. possuem capacidade de compreensão.
C. são incrivelmente rápidos e tolos.
D. admitem instruções escritas segundo determinadas línguas, como a portuguesa ou a inglesa.
E. são incrivelmente inteligentes.
Questão 2
Analise as afirmações a seguir:
I – Computadores são capazes de executar bilhões de instruções por segundo.
II – Computadores são capazes de discernir e compreender, por exemplo, usando inteligência artificial.
III – Toda e qualquer capacidade de discernimento/compreensão é ausente em computadores. São as pessoas, dotadas de tais habilidades essencialmente humanas, que escrevem listas de instruções para os computadores, que, embora não façam ideia do objetivo da execução das instruções em questão, geram resultados que fazem sentido para as pessoas.
Está correto o que se afirma em
A. I apenas.
B. II apenas.
C. III apenas.
D. I e III.
E. I, II e III.
Módulo 2 - Processo de exploração do potencial dos computadores
Reconhecer o processo de exploração do potencial dos computadores por meio de códigos e algoritmos.
Questão 1
Sobre a diferença entre algoritmos e códigos de computadores, analise as afirmações abaixo e depois marque a opção que relaciona corretamente as afirmações a um código ou a um algoritmo.
I – Sequência de passos simples e bem projetados para realizar uma tarefa ou resolver um problema.
II – Pode ser em uma linguagem de programação padrão.
III – Sequência de instruções que computadores podem executar.
IV – Deve ser escrito em uma linguagem de programação padrão, senão os computadores não conseguirão executá-lo.
A. I – código; II – código; III – algoritmo; IV – algoritmo.
B. I – algoritmo; II – código; III – código; IV – algoritmo.
C. I – código; II – algoritmo; III – algoritmo; IV – código.
D. I – algoritmo; II – algoritmo; III – código; IV – código.
E. I – algoritmo; II – algoritmo; III – código; IV - algoritmo.
Questão 2
Analise as afirmações a seguir:
I – O ser humano, que escreve códigos em alguma linguagem para/através de uma sequência de instruções bastantes simples, consegue gerar uma aplicação útil.
II – A inteligência artificial, que escreve códigos em alguma linguagem para/através de uma sequência de instruções bastantes simples, consegue gerar uma aplicação útil.
III – O processador do computador, que processa instruções escritas em alguma linguagem para/através de uma sequência de instruções bastantes simples, consegue gerar uma aplicação útil.
IV – O ser humano, que escreve códigos em alguma linguagem para/através de uma sequência de instruções complexas, consegue gerar uma aplicação útil.
Está correto o que se afirma em
A. I e II.
B. I e III.
C. II e IV.
D. I apenas.
E. II apenas.
Módulo 3 - Código de instrução de computadores
Empregar códigos simples de instruções de computadores.
Questão 1
Para que um código reproduza a saída "13 35 Brasil", qual das alternativas estaria correta?
A. print("treze","trinta e cinco",Brasil)
B. print(13,35,Brasil)
C. print(13,35,"Brasil")
D. print(13,35,"Brasil"
E. print("13", "35", Brasil)
Questão 2
Qual será a saída do código abaixo?
NOME="João"
print(NOME, "NOME", "NOME");
A. João João João
B. NOME João João
C. João NOME João
D. João NOME NOME
E. NOME, "NOME", NOME
Tema 3: Fundamentos de Softwares de Computadores
Módulo 1
Conceitos básicos de softwares
Reconhecer conceitos básicos sobre softwares.
Compreender estratégias para superar adversários na programação
- Computadores são ferramentas utilizadas para implementar estratégias para resolver problemas de forma computacional.
- O software vem do pensamento humano e de sua capacidade de definir problemas, declarar variáveis e manipulá-las.
Software é um conjunto de instruções virtuais para programar computadores.
- O software não tem forma física, é intangível e de natureza virtual.
- Ele ganha materialização no ambiente virtual quando passa a resolver computacionalmente um problema específico.
Estrutura e finalidade de um programa de computador
- A estrutura de um programa é necessária pela sua importância
- O objetivo de um programa de computador é responder a um problema específico usando componentes como CPU e memória.
As instruções devem ser alocadas na memória sequencialmente.
- Cada instrução representa um pequeno passo em uma estratégia maior para resolver um problema computacional.
- Os programas são normalmente escritos em uma linguagem de programação.
O código-fonte segue regras como linguagem escrita ou falada.
- O código é validado e depois passa por um compilador para criar o próprio programa.
- O programa está escrito em uma linguagem chamada 201.12 203.24.
A linguagem pode ser efetivamente compreendida pelo computador.
- Existe uma sequência de execução entre a escrita de um programa e sua execução efetiva no computador.
- Este vídeo tem como objetivo ajudar os espectadores a entender melhor o conteúdo deste assunto.
Questão 1
Depois que uma CPU executa uma instrução, o que, geralmente, faz a seguir?
A. Apaga as instruções da RAM.
B. Executa a instrução anterior na sequência de instruções.
C. Executa a próxima instrução na sequência de instruções. Dada a lista de instruções de um programa carregadas na RAM, a CPU as executa uma a uma, sequencialmente, na ordem em que aparecem.
D. Grava a instrução no disco.
E. Apaga as instruções no disco.
Questão 2
Em código de máquina, para que serve a instrução goto?
A. Alterar a ordem de execução de instruções pela CPU, como, por exemplo, para implementar loops de repetição e estruturas condicionais.
B. Conforme vimos, a instrução goto é usada para alterar a ordem de execução de instruções. Dois importantes exemplos da utilidade dessa instrução de código de máquina são implementar loops de repetição e implementar estruturas condicionais.
C.
D. Ordenar ao sistema operacional que finalize a execução de um programa.
E. Ordenar ao sistema operacional que a ordem de execução de instruçõespela CPU, por exemplo, seja iniciada pela execução de loops de repetição e estruturas condicionais.
F. Ordenar à CPU que pause a execução de instruções para aguardar que algum evento definido ocorra.
G. Ordenar à CPU que seja lido uma posição da memória RAM indicada pela linha de comando goto.
Módulo 2
Softwares funcionais
Identificar softwares funcionais, como sistemas operacionais e o firmware.
Questão 1
Suponha que você clique duas vezes no Firefox.exe em um computador para executá-lo. Qual das seguintes opções descreve melhor o que acontece?
A. O sistema operacional copia as instruções do Firefox do disco para a RAM e, em seguida, a CPU executa as instruções na RAM.
B. As instruções para o Firefox são traduzidas para JavaScript e depois executadas pelo navegador.
C. O sistema operacional copia as instruções do Firefox para a RAM e, em seguida, a RAM executa as instruções.
D. O hardware, de maneira autônoma, copia as instruções do Firefox do disco para a RAM e, em seguida, a CPU executa as instruções na RAM.
E. O sistema operacional conecta o dispositivo à Internet e abre a página de busca padrão.
Conforme estudamos, o sistema operacional é o nome dado ao conjunto de programas administrativos e de supervisão que intermedeiam a interação humano-computador. Entre as funções do SO, está receber o comando do usuário para iniciar programas (exemplo: duplo clique) e realizar as tarefas administrativas necessárias para que o programa seja executado. Em específico, quando o usuário dá um duplo clique em um arquivo de programa, o SO é quem comanda o carregamento do programa, ou seja, a cópia do conteúdo do arquivo de programa do disco para a RAM. Depois, ele indica à CPU onde, na RAM, está a primeira instrução do programa a ser executado.
Questão 2
Firmwares são componentes fundamentais de computadores, pois:
A. são responsáveis por definir qual é o conjunto de instruções suportado por determinada CPU.
B. são usados para capturar interações do usuário e fornecê-las ao sistema operacional.
C. são responsáveis por dar início ao processo de boot, para carregamento do sistema operacional.
D. são usados para traduzir códigos de computador, que são escritos por programadores em código de máquina.
E. são responsáveis por guardar as informações na memória RAM, de acordo com a instrução da CPU.
O firmware consiste em programas instalados semipermanentemente na memória, usando vários tipos de chips ROM programáveis, como PROMS, EPROMs, EEPROMs e chips flash. O firmware não é volátil e permanece na memória depois que você desliga o sistema.
Módulo 3
Tipos de linguagens de programação
Diferenciar os dois principais tipos de linguagens de programação.
Questão 1
Qual das opções a seguir descreve melhor o que um compilador C++ faz?
A. Traduz o código da máquina em código JavaScript.
B. Traduz o código-fonte C++ em código JavaScript.
C. Traduz o código de máquina em código C++.
D. Traduz o código-fonte C++ em código de máquina.
E. Interpreta o código C++ e envia à CPU.
Já sabemos que CPUs apenas são capazes de executar instruções de baixo nível, ou código de máquina. Entretanto, como instruções de baixo nível são de difícil compreensão para humanos, foram desenvolvidas linguagens de programação de alto nível que admitem instruções de mais fácil compreensão. Nós, humanos, preferimos escrever software em linguagens de alto nível, como, por exemplo, C++. Então, para que a CPU seja capaz de executar as instruções, precisam ser traduzidas da linguagem de alto nível em que foi escrita para a linguagem de máquina. O software que realiza essa tradução é denominado compilador. Portanto, um compilador C++ é responsável por traduzir códigos escritos em C++ para o código de máquina da CPU.
Questão 2
O código de máquina da CPU possui apenas instruções simples e de baixo nível. Uma linguagem de computador (como JavaScript) adiciona recursos de alto nível, como o loop que usamos. Qual das alternativas a seguir é uma instrução de baixo nível?
A. Passe por todos os pixels da imagem.
B. Se X < 5, então, execute a instrução a = 1.
C. Adicione dois números.
D. Salve determinada informação no arquivo.
E. Carregue o próximo vídeo.
Conforme estudamos, CPUs só são capazes de executar instruções muito simplificadas, denominadas instruções de baixo nível, ou código de máquina. Entre as opções listadas, a única que contém uma instrução de baixo nível é a opção “Adicione dois números”. As demais instruções são de alto nível e, para serem executadas pela CPU, deverão ser traduzidas/desmembradas em um conjunto, em geral de 4 a 6, de instruções de código de máquina.
Tema 4: Fundamentos de Hardware
Módulo 1
O que é hardware?
Definir o que é hardware.
Questão 1
A definição de hardware é:
A. termo que designa uma invenção do homem que utiliza sistemas mecânicos.
B. estrutura de programação do computador que define a velocidade e a dinâmica da máquina.
C. nome que passou a ser convencionado para a parte física dos equipamentos de computação.
D. definição genérica para tratar tudo o que é físico em uma máquina.
E. o conjunto de instruções utilizadas nos equipamentos de computação.
Questão 2
Ao introduzirmos a ideia de que o mundo dos computadores não deve ser observado como um retrato atual da tecnologia, o objetivo é demonstrar o sentido de sua construção como solução para os homens. Assim, hardware pode ser compreendido como:
A. exercício metafísico do homem para transformar a natureza.
B. conjunto de técnicas requeridas de quem vai operar um computador.
C. constante processo de invenções que permitam o desenvolvimento das CPUs.
D. variável para o desenvolvimento de máquinas modernas computacionais.
E. um componente físico que vai auxiliar a execução dos softwares.
Hardware é um componente importante para o desenvolvimento das máquinas. As capacidades de armazenar, responder e reduzir geram, com a definição da Lei de Moore, uma possibilidade constante de avanço e também um volume constante de obsolescência. Sem o hardware como variável, é impossível pensar na continuidade do desenvolvimento de máquinas na contemporaneidade.
Módulo 2
Componentes básicos de hardware
Identificar os componentes básicos de hardware de computadores.
Atividade discursiva
Será que, ao tentarmos gravar mais dados em um pen drive cheio, acabaremos sobrescrevendo os dados que já estavam lá?
Um arquivo é apenas uma maneira de ocupar certa área do dispositivo de armazenamento e atribuir um nome a ele. O sistema de arquivos, então, garante que, caso o usuário tente gravar novos arquivos quando o dispositivo já está lotado, os dados já existentes não sejam sobrescritos.
Questão 1
Observe a lista de hardwares a seguir:
I. CPU
II. RAM
III. Disco rígido
IV. SSD (Solid State Drive)
V. Cooler
VI. Pen drive
Marque a opção que indica os componentes de hardware que provêm armazenamento persistente, isto é, os dados permanecem armazenados mesmo quando o componente é desligado.
A. I e II, apenas.
B. I e III, apenas.
C. II e IV, apenas.
D. III, IV e VI, apenas.
E. I, II e III, apenas.
Questão 2
Entre os componentes de hardware estudados, selecione a opção que indica o componente responsável por armazenar instruções e dados usados para execução das instruções que compõem um algoritmo/aplicativo/código.
A. CPU
B. RAM
C. SSD
D. Pen drive
E. ROM
Módulo 3
Unidades de armazenamento de dados
Reconhecer as unidades de armazenamento de dados.
Questão 1
Analise as opções a seguir, que indicam quantos valores diferentes podem ser armazenados, respectivamente, em um conjunto de 2, 7 e 10 bits.
A. 4 valores distintos, 128 valores distintos e 1024 valores distintos.
B. 2 valores distintos, 64 valores distintos e 512 valores distintos.
C. 2 valores distintos, 128 valores distintos e 512 valores distintos.
D. 8 valores distintos, 256 valores distintos e 2048 valores distintos.
E. 4, valores distintos, 14 valores distintos e 20 valores distintos.
O número de combinações distintas possíveis com x bits é calculado como 2x. Então, se temos,respectivamente, 2, 7 e 10 bits, o resultado será:
2 bits: 22 = 4 valores distintos;
7 bits: 27 = 128 valores distintos;
10 bits: 210 = 1024 bits distintos.
Questão 2
Após ler a frase a seguir, no contexto de unidades de armazenamento de dados, analise os enunciados e indique a alternativa a que ela se refere:
“Ao olhar para um byte, na verdade, você está olhando para um conjunto de oito dígitos binários”.
I. Os computadores são construídos de forma que a unidade básica de informação (byte) possa assumir apenas dois valores, zero ou um. Por isso, pode-se dizer que um byte pode assumir dois estados: zero ou um.
II. Aqueles que trabalharam no desenvolvimento de computadores identificaram esta forma como muito mais barata de construir estes hardwares quando comparada a outras formas: tudo o que os computadores são capazes de fazer é construído a partir dessa coleção de bits simples, que são apenas zero e um.
III. Um bit é pequeno demais para ser de fato útil. Então, o que se faz é agrupar oito bits para criar um byte. O byte é apenas uma unidade de medida muito comum, que representa, por exemplo, um caractere.
Das afirmativas acima:
A. somente I é verdadeira.
B. somente III é falsa.
C. II e III são verdadeiras.
D. somente III é verdadeira.
E. I, II e III são verdadeiras.
Tema 5 - Representação de Imagens em Computadores
Módulo 1
Fundamentos de pixels
Identificar os fundamentos sobre pixels.
Questão 1
Considere a grade de pixels a seguir:
Qual seria a coordenada do pixel em vermelho?
A. (3,4)
B. (4,3)
C. (2,3)
D. (3,2)
E. (1,2)
Questão 2
Considere as representações de imagens a seguir:
Assinale a alternativa que indica as imagens com o primeiro e terceiro menor número de pixels, respectivamente:
A. X e Y
B. Y e Z
C. X e Z
D. W e Y
E. W e R
Módulo 2
Esquema Red Green Blue (RGB)
Reconhecer o esquema Red Green Blue (RGB) de representação de cores em computadores.
Questão 1
Suponha que você esteja utilizando o esquema de codificação de cores RGB e que a imagem vista seja a representada à esquerda. Agora, propomos o desafio de fazer o esquema RGB para apresentar a imagem à direita.
Assinale a alternativa correta para Red(R), Green(G) e Blue(B):
A. R= 255, G= 255, B= 255
B. R= 255, G= 255, B= 0
C. R= 0, G= 0, B= 0
D. R= 0, G= 255, B= 0
E. R= 255, G= 0, B= 255
Para conseguirmos como resultante a cor branca no esquema RGB, é necessário mover os controles R, G e B totalmente para a direita, a fim de obtermos o código RGB (255,255,255). Isso representa a máxima intensidade para as luzes vermelho, verde e azul.
Questão 2
Manipule o explorador RGB e utilize os controles deslizantes para ajustar o código de cor do “pixel grande” para (255,100,0). Qual foi a cor resultante no “pixel grande”?
A. Azul-celeste
B. Amarelo
C. Verde-limão
D. Laranja
E. Vermelho
Tema 6: Noções de Programação: Exemplos Com Manipulação de Imagens Digitais
Módulo 1
Manipulação de dados
Definir instruções para manipulação simples de dados.
Questão 1
Considere a imagem a seguir, chamada “circulo.bmp”:
Qual é o código de computador necessário para manipular o pixel do canto superior esquerdo para que fique vermelho?
Resposta A
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( 20 );
pixel = img.getPixel( 0, 0 );
pixel.setRed( 255 );
pixel.setGreen( 0 );
pixel.setBlue( 0 );
Questão 2
Considerando os experimentos realizados na Prática 1, qual seria o código para que o resultado do zoom fosse um afastamento de 2 x em vez de uma aproximação de 2x?
A
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( 2 );
print(img);
B
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( -2 );
print(img);
C
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( -0.5 );
print(img);
D
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( 0.5 );
print(img);
E
img = new SimpleImage( "img/circulo.bmp" );
img.setZoom( -20 );
print(img);
Conforme ilustrado na tabela 2, um afastamento de 2x equivale a um zoom de 0.5.
Módulo 2
Repetição for
Distinguir a estrutura de repetição for.
Questão 1
Dos trechos de código, a seguir, qual gerará o canal azul de uma imagem (toda ela apenas em tons de azul)?
D
for( pixel: img ){
pixel.setGreen(0);
pixel.setRed(0);
}
print( img );
O canal azul de uma imagem é uma modificação à imagem em que apenas as tonalidades de vermelho são mantidas intactas, e os demais componentes (verde e azul) são desconsiderados. Na alternativa D vemos duas: pixel.setGreen(0); e pixel.setRed(0);, que instruem o computador a retirar toda a intensidade dos componentes verde e vermelho. Essa alternativa ajusta a intensidade de vermelho e de verde de cada pixel para 0, mas deixa a intensidade de azul intacta (não há instrução para ajustar a intensidade de azul). Então, esse componente ficou intacto em todos os pixels.
Questão 2
Suponha a imagem a seguir, de 1.400 pixels de largura por 932 de altura:
Lembre-se de que o total de pixels de uma imagem é obtido pela multiplicação do número de pixels de altura pelo número de pixels de largura. Suponha que desejemos escrever um código de computador que retire os componentes de azul e de vermelho para cada pixel da imagem.
Para isso, as instruções seriam:
img.getPixel( 0,0 );
pixel.setBlue( 0 );
pixel.setRed( 0 );
Se escrevêssemos um código para cada um dos pixels da imagem, quantas linhas totais teríamos de escrever?
A 3.914.400
O total de pixels da imagem é 1.400x932, ou seja, 1.304.800 pixels. Como são três instruções por pixel, o programador teria de escrever 3 x 1.304.800 = 3.914.400(3,9 milhões) de linhas de código. Obviamente, isso seria inviável. Então, é fundamental usar a estrutura de repetição for, que nos permite escrever a mesma solução com cerca de cinco linhas de código.
Módulo 3
As expressões em código de computador
Reconhecer expressões.
Questão 1
Na imagem a seguir realizamos uma edição de modo que os componentes azul e verde ficaram totalmente embaralhados:
Não há como recuperá-los (canais de cores verde e azul). Toda a informação útil da imagem está apenas em tons de vermelho. Para tentarmos revelar a imagem original, nossa melhor esperança é ordenar ao computador que, para pixel da imagem:
· Ajuste os componentes de cores azul e verde para 0 (zero);
· Realce os tons em vermelho, multiplicando-os por 10.
Escreva o código-fonte que realiza os passos acima para desvendar o que havia na imagem original. Quando conseguir desvendar o enigma, assinale a alternativa que descreve o que apareceu na imagem:
A. Frutas em uma cesta em cima de uma mesa.
B. Um pássaro voando do ninho.
C. Um veículo de passeio abastecendo.
D. A paisagem de mar e montanha.
E. Uma praia.
O código-fonte a seguir descreve, em código de computador, o passo a passo necessário para desvendar o enigma:
img = new SimpleImage("img/enigma-fig.png");
for(pixel:img){
// Insira suas linhas de código abaixo
pixel.setRed(pixel.getRed()*10);
pixel.setGreen(0);
pixel.setBlue(0);
}
print(img);
Questão 2
A figura a seguir está muito escura:
Desejamos clareá-la, multiplicando os componentes de cores de cada pixel por 30. Clique aqui e escreva, no código-fonte, dentro da estrutura de repetição for, as linhas de código que instruirão o computador a realizar essa tarefa:
Quando você tiver realizado isso com sucesso, será possível observar o que há na imagem. Assinale a alternativa que descreve o que apareceu na imagem:
A. Um submarino cercado de tubarões.
B. Um homem observando uma árvore.
C. Um raio caindo em uma árvore.
D. Um castelo cercado de muralhas.
E. Um homem em cima de um cavalo.
O código-fonte a seguir descreve, em código de computador, o passo a passo necessário para clarear a imagem, conforme solicitado no enunciado, ou seja, para cada pixel da imagem, multiplicando os componentes de cores por 30:
img = new SimpleImage("img/muitoescura.png");
for( pixel: img ){
// Insira suas linhas de código abaixo
pixel.setRed(pixel.getRed()*30);
pixel.setGreen(pixel.getGreen()*30);
pixel.setBlue(pixel.getBlue()*30);
}
print(img );
Módulo 4
A estrutura condicional if
Distinguir a estrutura condicional if.
Questão 1
Analise a instrução if a seguir:
if( pixel.getRed() ==162&&pixel. getGreen() ==162 &&pixel.getBlue() > 200 ){ }
Assinale a alternativa que informa as características dos pixels que serão “selecionados” por este if. Se necessário, clique aqui e use os controles deslizantes do simulador RGB para chegar a sua resposta.
A. Pixels em tonalidades de azul.
B. Pixels em tonalidades de amarelo.
C. Pixels em tonalidades de verde.
D. Pixels em tonalidades de vermelho.
E. Pixels em tonalidade laranja.
O if em questão seleciona pixels que passem em três testes:
· Nível de vermelho igual a 162;
· Nível de verde igual a 162;
· Nível de azul maior do que 200.
Conforme ilustrado pelo exemplo a seguir, obtido por meio do simulador RGB disponibilizado para esta atividade, o teste em questão equivale a escolher pixels em tonalidades de azul.
Questão 2
Na Prática 1, usamos como ponto de partida a imagem a seguir para realizar alguns experimentos:
Suponha que desejemos escrever uma linha de instrução if que selecione os pixels da região em azul para, então, torná-los amarelos.
Assinale a alternativa que contém o código correto para alcançar essa tarefa.
A
if( pixel.getRed()==0 &&pixel.getGreen()==0 &&pixel.getBlue()==255 ){
pixel.setRed(255);
pixel.setGreen(255);
pixel.setBlue(0);
}
Precisamos usar a estrutura condicional if para realizar testes e, se o resultado for verdadeiro, executar algumas instruções.
No caso desta atividade, os pixels da região em azul são os pixels com código RGB(0,0,255). Então, para selecionar corretamente estes pixels, usamos a instrução if, conforme observamos a seguir:
if( pixel.getRed()==0 &&pixel.getGreen()==0 &&pixel.getBlue()==255 ){
}
Depois, precisamos adicionar, dentro da estrutura if, instruções que ajustarão a cor dos pixels selecionados para amarelo. O código RGB do amarelo puro é (255,255,0). Então, o código completo ficaria conforme a alternativa A.
Veja a captura a seguir com o código-fonte e o resultado obtido:
Tema 7: Pensamento Computacional e Aplicações Nas Áreas de Conhecimento
Módulo 1
Pensamento computacional
Definir o pensamento computacional e sua importância para o profissional do século XXI.
Questão 1
Sabemos que o computador representa uma tecnologia muito versátil e que não pode ser reduzida a uma única função. Por isso, compreender o conceito de pensamento computacional é fundamental para que não o confundamos com outras relações que o ser humano possa ter com o computador. Sobre esse conceito, avalie as afirmativas a seguir:
I. Saber navegar pela internet ou mesmo enviar e receber e-mails caracteriza ações referentes ao pensamento computacional.
II. Por se tratar de uma tarefa mais complexa do que mera pesquisa na rede, a publicação de conteúdo na web caracteriza-se como pensamento computacional.
III. É no aumento real da condição cognitiva e operacional do ser humano que se encontra o pensamento computacional.
Está correto o que se afirma em
A. I somente.
B. II somente.
C. III somente.
D. I e II.
E. I, II e III.
Como estudamos, a partir das afirmações de Blinkstein (2008), não são as meras habilidades tecnológicas digitais que caracterizam o pensamento computacional, mas a utilização de computadores ou redes a fim de ampliar de forma significativa a produtividade humana e, especialmente, sua capacidade inventiva.
Questão 2
Podemos afirmar que, entre os quatro pilares do pensamento computacional, existe um principal?
A. Sim. A decomposição é o pilar mais importante de todos, pois é responsável por realizar a divisão do problema complexo.
B. Não. Existem dois principais: o reconhecimento de padrões e os algoritmos, que, juntos, realizam a automação.
C. Sim. O pilar mais importante é a abstração, que possibilita a criação de uma solução genérica que soluciona diversos problemas.
D. Não, pois todos os pilares são igualmente importantes para o pensamento computacional.
E. Sim, o pilar algoritmos é o mais importante, porque define como o programa deve ser codificado.
Assim como todos os pilares de uma casa são igualmente importantes — se retirarmos qualquer um deles, a construção inteira desaba —, no pensamento computacional, os quatro pilares aprendidos se completam e possibilitam que problemas complexos sejam resolvidos de maneira estruturada.
Módulo 2
Pensamento computacional em Economia Criativa, Negócios e Ciências Jurídicas
Identificar as aplicações do pensamento computacional na Economia Criativa, nos Negócios e nas Ciências Jurídicas.
Questão 1
A Economia Criativa é uma área que, cada vez mais, vem utilizando o pensamento computacional em seu estudo e desenvolvimento. Podemos identificar como Economia Criativa:
I. Design – de interiores, gráfico, de moda, de joias e de brinquedos.
II. Novas mídias – software, games e demais conteúdos digitais.
III. Expressões culturais tradicionais – artesanato, festivais etc.
Está correto o que se afirma em
A. I somente.
B. II somente.
C. I e III.
D. I e II.
E. I, II e III.
Questão 2
A utilização de máquinas que auxiliam o ser humano nas mais diversas atividades, ou seja, no pleno uso do pensamento computacional, atinge áreas cada vez mais inesperadas. Talvez o Direito seja uma delas, por se tratar de uma prática tipicamente humana, já que se baseia, de modo prioritário, na arte argumentativa.
Sobre essa utilização, analise as afirmativas:
I. Além da automatização de trabalhos manuais, por meio da utilização de inteligência artificial, tem sido possível interpretar textos, identificar tendências e até mesmo sugerir decisões com base nessas informações jurídicas anteriores.
II. Há previsão de que, nas próximas décadas, haverá softwares que façam buscas inteligentes na literatura jurídica, identificando os pontos mais relevantes em um processo e gerando hipóteses para outros casos similares.
III. O que tem diminuído a velocidade da utilização de softwares no âmbito do Direito é o aumento dos custos com pessoal, bem como o aumento do tempo necessário para realizar pesquisas que ajudariam em um processo jurídico.
Está correto o que se afirma em
A. I somente.
B. II e III.
C. II somente.
D. I e III.
E. I, II e III.
Módulo 3
Pensamento computacional em Educação e Engenharia
Reconhecer a relevância do pensamento computacional nas áreas de Educação e Engenharia.
Questão 1
Qual é o objetivo de incluir o pensamento computacional no currículo da educação básica?
A. Estimular as crianças a escolherem a graduação em Tecnologia da Informação.
B. Ocupar o tempo das crianças e incentivar a escola em tempo integral.
C. Desenvolver o raciocínio das crianças para a solução de problemas complexos.
D. Estimular as crianças a gostarem de Matemática.
E. Aprimorar as habilidades das crianças para os jogos.
O pensamento computacional, ensinado desde os primeiros anos da educação básica, permite que estudantes desenvolvam habilidades de resolver problemas complexos pelo ponto de vista da Computação.
Questão 2
Qual é a justificativa de integrarmos o estudo do pensamento computacional com o ensino da Engenharia?
A. A Engenharia da Computação é um potencial mercado.
B. Os sistemas de Engenharia estão cada vez mais complexos, e precisamos de engenheiros qualificados.
C. Os alunos precisam adquirir conhecimentos básicos em informática.
D. É necessário cumprir a carga horária mínima obrigatória estabelecida pelo Ministério da Educação em laboratórios de informática.
E. É necessário apenas para os cursos de Engenharia de Computação e Telecomunicações.
Com o desenvolvimento tecnológico — especialmente o digital — cada vez mais veloz, é necessário que o campo da Engenharia também esteja atento a sua utilização. Afinal, quanto mais exatidão nos cálculos — com a utilização do software MATLAB, por exemplo —, maior segurança no produto final entregue à sociedade.
image2.png
image9.jpg
image14.jpg
image6.jpg
image8.png
image1.jpg
image16.png
image5.jpg
image10.jpg
image11.pngimage7.jpg
image4.png
image13.png
image12.png
image3.png
image15.jpg