Buscar

Assusto 1 - Introdução à lógica de programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 42 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Introdução à lógica de programação e 
ambiente Python
APRESENTAÇÃO
Você está convidado a compreender o mundo à sua volta e refletir: os seres humanos vivem em 
um mundo organizado, não é verdade? Observe a natureza, o espaço à sua volta, o dia a dia das 
cidades. Tudo, absolutamente tudo ao seu redor tem uma determinada forma de trabalhar, de 
funcionar. Para que seja possível entender o mundo, e até mesmo os seres humanos, nas 
decisões e comportamentos que acontecem em todos os momentos da vida, utiliza-se uma 
ferramenta de raciocínio preciosa: a lógica.
Nesta Unidade de Aprendizagem, você irá conhecer um pouco mais sobre a lógica, a forma 
usual de lógica empregada para programação de computadores, conhecerá, ainda, uma 
importante linguagem de programação e o ambiente de programação Python.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Resolver desafios lógicos.•
Descrever a estratégia de desenvolvimento de programas de computadores.•
Definir o ambiente de programação Python e as características da linguagem.•
DESAFIO
Sabe-se que na lógica de Aristóteles o raciocínio pode ser representado por meio de declarações, 
ou também as chamadas premissas, que descrevem fatos ou conhecimentos de senso comum. A 
representação de modo ordenado e sequencial dessas premissas descreve o raciocínio a ser 
utilizado para resolver um problema ou ainda “descobrir a verdade”.
Você foi convidado a integrar o projeto TechLife, que se propõe a desenvolver um ambiente 
integrado de computação dos serviços públicos da cidade, e a sua função no projeto é de análise 
e obtenção dos conhecimentos específicos, ações, premissas e conhecimentos de senso comum 
para elaboração desses programas que irão gerenciar o ambiente digital da cidade.
No entanto, um fato está prestes a acontecer, que colocará suas habilidades de raciocínio lógico 
à prova.
Veja:
INFOGRÁFICO
A essência da lógica em programação reside no algoritmo, e, sem dúvida alguma, é a parte mais 
difícil em programação. O algoritmo é, em última análise, a síntese lógica criada para resolver 
algum problema, ou realizar uma tarefa. E um bom programador deve saber criar muito bem um 
algoritmo.
Veja, no Infográfico, um roteiro que apresenta os passos que irão auxiliá-lo nessa tarefa.
CONTEÚDO DO LIVRO
O ser humano, por sua natureza inteligente, buscou sempre conhecer o funcionamento do 
mundo como forma essencial para sobrevivência.
O conhecimento adquirido experimentalmente foi progressivamente substituído por um 
conhecimento mais formalizado, sob a forma de uma descrição de fatos ordenados ou ainda leis 
de formação, que, ainda hoje, convenciona-se chamar de leis da natureza.
Tais leis da natureza são, na verdade, abstrações do homem, formas de explicar e relacionar os 
acontecimentos e seus efeitos no seu dia a dia, usando da única capacidade que o distingue dos 
demais animais: o raciocínio. O Logus, termo grego para razão, é o modo inerente do ser 
humano, como espécie, compreender o mundo ao seu redor, seja pela curiosidade inata da 
espécie, seja pelo motivo único de sobreviver.
 
Leia o capítulo Introdução à lógica de programação e ambiente Python, da obra Pensamento 
Computacional, e conheça um pouco mais sobre como formalizar e desenvolver esse modo de 
interpretação da realidade, usando, para isso, a lógica, conhecimento para programar 
computadores.
Por fim, veja também um pouco sobre o ambiente e a linguagem de programação Python, 
observando o uso e a aplicação prática da lógica no desenvolvimento de aplicações de 
computador.
 
Boa leitura!
PENSAMENTO 
COMPUTACIONAL
Rubem Dutra Ribeiro Fagundes
Introdução à lógica 
de programação e ao 
ambiente Python
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Resolver desafios lógicos.
 � Descrever a estratégia de desenvolvimento de programas de
computadores.
 � Definir o ambiente de programação Python e as características da
linguagem.
Introdução
Como sabemos, os computadores realizam tarefas e processos em aten-
dimento à programação armazenada em seus circuitos de memória. Essa 
programação, por sua vez, é criada por seres humanos, os programadores, 
que utilizam um conhecimento indispensável para a geração não só de 
programas de computadores, mas também de quaisquer descrições 
formais do funcionamento organizado do mundo: a lógica.
Neste capítulo, você vai estudar sobre lógica e resolver problemas e 
desafios lógicos, visando a preparar sua forma de pensar para aprender 
a programar computadores. A partir desse entendimento, você vai ve-
rificar como descrever estrategicamente programas de computadores. 
Por fim, você vai ter contato com uma das linguagens e ambientes de 
programação mais utilizados atualmente para a geração de aplicativos: 
a linguagem Python.
Resolução de desafios lógicos 
O ser humano, desde os tempos mais remotos, sempre foi fascinado pelo 
conhecimento do mundo ao seu redor. Além da curiosidade, o ser humano 
buscou sempre conhecer o funcionamento do mundo como forma essencial para 
sua sobrevivência. Os ciclos da natureza, as estações do ano, as temporadas 
de colheitas de vegetais e os ciclos de procriação de animais são alguns dos 
exemplos de conhecimentos adquiridos pelo homem, ao longo de milhares de 
anos, e que mostram o quanto o universo é organizado e regular.
De modo similar, o homem busca sempre soluções por meio da descoberta 
de padrões, também conhecidos como relações de causalidade, para solucionar 
os problemas que ocorrem cotidianamente em sua existência. Assim, o co-
nhecimento adquirido sob forma empírica, isto é, a partir da experimentação 
prática, aos poucos, foi sendo substituído por um conhecimento mais forma-
lizado, relacionado à descrição de fatos ordenados ou às leis de formação, que 
convencionamos chamar de leis da natureza.
Observe que a natureza não está subordinada a nenhuma lei do homem. Lei, 
aqui, possui o significado de uma obrigatoriedade, observada pelo homem, de 
um determinado comportamento ou fato acontecer, mediante algumas condi-
ções previamente definidas. Trata-se de uma forma de o homem descrever o 
comportamento da natureza, de forma a prever a sua regularidade.
Dizer, por exemplo, que uma das leis da natureza é que “o Sol surgirá no 
horizonte no começo do dia”, consiste apenas em descrever um comportamento 
regular do nosso astro-rei. Ele um dia poderá explodir e não nascer mais no 
horizonte, pouco importando a lei da natureza sobre o seu surgimento.
Elaboramos constantemente esse entendimento de tudo o que acontece ao 
nosso redor por meio de um processo de pensamento chamado raciocínio. 
O uso da razão, ou raciocínio, pode ser descrito de forma livre como a ca-
pacidade do ser humano de estabelecer relações de causa e efeito a partir de 
determinados fatos observados.
Ao observarmos, por exemplo, que uma goiabeira produz goiabas em 
abundância somente em uma determinada época do ano — digamos, no mês 
de março —, usamos a razão para concluir que o mês de março é o mês da 
colheita de goiabas nas goiabeiras. Logo, caso queiramos comer goiabas, 
vamos ter que esperar o mês de março chegar.
Introdução à lógica de programação e ao ambiente Python2
Na Grécia Antiga, em torno do ano de 322 a.C., o filósofo Aristóteles 
se dedicou a estudar e formalizar esse modo de pensamento, promovendo 
a descrição e formalização do uso da razão, que, em grego, tem o nome de 
logus, surgindo, então, a lógica, uma área de estudos da Filosofia. Na lógica 
de Aristóteles, o raciocínio pode ser representado por meio de declarações, 
também chamadas premissas, que descrevem fatos ou conhecimentos de 
senso comum.
A representação de modo ordenado e sequencial dessas premissas descreve 
o raciocínio a ser utilizado para resolver um problema ou, ainda, “descobrir a 
verdade”. Como exemplo, considere o conjunto de premissas abaixo.
a) Duas pessoas são irmãs entresi quando ambas possuem ao menos 
um mesmo pai ou mãe.
b) Maria é filha de Pedro.
c) Beto é filho de Pedro. 
Assumindo que Pedro é o mesmo indivíduo nas premissas 2 e 3, o que 
podemos concluir? Conclui-se que Beto é irmão de Maria ou Maria é irmã 
de Beto.
A lógica de Aristóteles representou um avanço sem precedentes para a humanidade, 
pois proporcionou ferramentas racionais (isto é, a partir do uso da razão) para descrever 
o que, de outra forma, parecia ser desconhecido ou mágico.
A lógica é também aplicada extensivamente na matemática, em que leis 
e teoremas foram descobertos e formalizados diretamente pelo processo 
conhecido como demonstração de teorema. Considere o exemplo:
 � X = A
 � Y = A
 � Logo, X = Y.
3Introdução à lógica de programação e ao ambiente Python
Essa é a apresentação matemática formal da seguinte premissa: “Se duas 
grandezas são iguais a uma terceira, então são iguais entre si”. Deve-se notar 
que a representação matemática é totalmente simbólica: A pode ser qualquer 
coisa; ainda assim, a representação matemática anterior permanecerá válida.
A lógica é extensivamente empregada em todas as áreas das ciências, e o 
conhecimento científico está formalmente representado segundo a lógica. A 
aplicação da lógica impõe uma abordagem clara e direta frente ao problema 
que se deseja resolver, exigindo uma análise de cada parte constituinte.
A lógica e a resolução de problemas
Existem basicamente dois métodos de aplicação de lógica, o método dedutivo 
e o método indutivo, ambos largamente empregados na resolução de proble-
mas. É importante salientar que o termo problema deve ser entendido como 
qualquer informação, descoberta ou mesmo solução que se deseja encontrar. 
Não é, necessariamente, uma situação difícil, que necessita de solução. Nesse 
contexto, denominamos tecnicamente esse problema como desafio lógico.
Conforme lecionam Russell e Norvig (2013), para ambos os métodos de 
aplicação lógica, aplica-se a sequência geral de análise descritiva do pro-
blema, apresentada a seguir.
1º passo: enunciar o problema
Todo problema necessita ser claramente enunciado. Enunciar significa des-
crever claramente o problema ou necessidade, ou ainda o objetivo do que se 
deseja obter. Para tanto, evite palavras e expressões vagas, bem como descrições 
emocionais; seja objetivo no enunciado.
Por exemplo, se você precisa trocar uma lâmpada no teto, evite dizer: 
“Necessito de algo que me eleve até o teto”. Prefira um enunciado claro, direto, 
descrevendo o problema: “Necessito de uma escada para subir até o teto”.
Tenha como base que um enunciado deve, no mínimo, ser claramente 
entendido por qualquer pessoa, sem necessidade de conhecimentos específicos. 
Observe, no entanto, que o enunciado pode fazer uso de conhecimento comum. 
No exemplo anterior, o enunciado faz uso do conhecimento que o leitor deverá 
ter sobre o que é uma escada. Um índio, por exemplo, que nunca tenha visto 
uma escada, não saberá o significado do enunciado.
Introdução à lógica de programação e ao ambiente Python4
2º passo: descrever todas as partes constituintes do problema
A partir do enunciado, realiza-se uma decomposição em partes lógicas, que 
fazem parte da estrutura do problema. Tais partes são declarações, ou ainda 
premissas, que formam todo o conhecimento verdadeiro que se tem sobre o 
problema. As premissas abrangem o seguinte.
 � Fatos descritos no enunciado.
 � Conhecimentos de senso comum.
 � Conhecimentos técnicos referentes ao problema.
 � Relações de causa e efeito conhecidas.
 � Sujeitos que, segundo o enunciado, realizam ações.
 � Objetos que, segundo o enunciado, sofrem ações.
Enfim, trata-se de informações sob forma de declarações, que detalhem 
tudo o que for necessário para a condução da solução.
3º passo: ordenação lógica das premissas
Uma vez que se possui todas as premissas sobre o problema, deve-se proceder 
à ordenação, gerando uma sequência declarativa de fatos ou conhecimentos 
de senso comum, utilizando-se como base a regra da causa e efeito.
 � Premissas que são reconhecidas como causa devem vir antes de pre-
missas reconhecidas como efeitos (ou consequências).
 � Premissas que são efeitos podem também ser causas de outras premissas, 
que, então, deverão ser declaradas posteriormente — trata-se do efeito 
cascata, em que o efeito de um fato anterior é a causa de um fato seguinte.
4º passo: avaliação conclusiva
Deve-se avaliar a sequência de premissas, aplicando o método dedutivo ou o 
método indutivo para a obtenção da solução.
5Introdução à lógica de programação e ao ambiente Python
5º passo: conclusão
Deve-se formalizar a conclusão obtida. Tal conclusão é, agora, uma premissa 
válida e poderá ser utilizada em outro problema. Se, no entanto, uma conclusão 
não foi obtida, deve-se retornar ao 2º passo, verificando a falta de alguma pre-
missa (conhecimento comum ou fato verdadeiro) que esteja faltando. Deve-se 
seguir posteriormente os passos 3, 4 e 5, até a finalização.
Observe que a sequência apresentada é, em si mesma, uma aplicação do 
método lógico de resolução de problemas. 
Método indutivo
De acordo com Law (2008), no método de análise indutiva, as premissas ou, 
ainda, os fatos conduzem a uma “lei de formação”, pela repetição de algum 
padrão de comportamento.
Vejamos um exemplo. Temos o seguinte enunciado: “Necessito saber 
aproximadamente em que momento do dia ocorre o nascimento do sol”. Agora, 
vejamos as premissas a seguir.
1. O nascimento do sol é o momento em que o astro-rei encontra-se no 
horizonte leste do local onde estou.
2. Leste é um dos pontos referenciais de localização na superfície do 
planeta Terra.
3. Dia é um intervalo de tempo em que o planeta Terra gira ao redor de 
seu próprio eixo, e tal tempo é usualmente de 24 horas.
4. Foram feitas observações durante 30 dias consecutivos, em que:
 ■ No 1º dia, o sol estava no horizonte leste às 6 horas da manhã.
 ■ No 2º dia, o sol estava no horizonte leste às 6 horas e 15 minutos 
da manhã.
 ■ No 3º dia, o sol estava no horizonte leste às 6 horas e 10 minutos 
da manhã.
 ■ No 4º dia, o sol estava no horizonte leste às 6 horas da manhã.
 ■ No 5º dia, o sol estava no horizonte leste às 6 horas e 12 minutos 
da manhã.
 ■ No 30º dia, o sol estava no horizonte leste às 6 horas e 14 minutos 
da manhã.
Introdução à lógica de programação e ao ambiente Python6
No método indutivo, deve-se observar as premissas sobre o problema, 
procurando algum padrão que revele uma lei de formação que seja a solução. 
Para esse exemplo, observe que o sol nasceu sempre após as 6 horas da manhã 
e até as 6 horas e 15 minutos. Conclui-se que o sol nasce aproximadamente 
entre 6 horas e 6 horas e 15 minutos da manhã, todos os dias.
O método indutivo é empregado com muita reserva no meio científico, 
pois as conclusões obtidas por meio dele são generalizações, que podem 
conduzir a inverdades.
Vejamos um exemplo com as seguintes premissas:
1. Observo que o cisne 1 é branco.
2. Observo que o cisne 2 é branco.
3. Observo que o cisne 3 é branco.
4. Observo que o cisne 4 é branco.
5. Observo que o cisne 5 é branco.
6. Observo que o cisne 6 é branco.
7. Observo que o cisne 5.000 é branco.
Logo, por indução, concluo que todo cisne é branco. Parece certo, até o 
momento em que viajo para a Nova Zelândia. Lá, existem cisnes pretos. Então, 
minha conclusão baseada no raciocínio da indução me levou à conclusão errada.
Método dedutivo
No método dedutivo, conforme Law (2008), as premissas são avaliadas e 
ordenadas em uma sequência de causa e efeito, de modo que a conclusão 
obtida seja resultante da sequência completa, emergindo como fato novo 
extraído ou, ainda, deduzido a partir das premissas constituintes.
Vejamos um exemplo com o seguinte enunciado: “Desejo saber se Maria 
é filha de João”. Tem-se as seguintes premissas:
1. Todo ser humano possui em seu corpo uma estrutura molecular deno-
minada DNA.
2. O DNA é único para cada ser humano e está presente no seu corpo e 
no corpo de seus descendentes.3. Descendente é todo ser humano gerado a partir de outros dois seres 
humanos.
4. Ao ser humano gerador, denominamos pai ou mãe.
5. Ao ser humano gerado, denominamos filho ou filha.
7Introdução à lógica de programação e ao ambiente Python
6. O DNA de um ser humano pode ser identificado utilizando-se de teste 
inequívoco, chamado teste de DNA.
7. O teste de DNA mostra o DNA presente no corpo do indivíduo, incluindo 
os componentes de DNA de seus geradores.
8. Maria foi submetida ao teste de DNA.
9. Não foi identificado componente de DNA de João no teste de Maria.
Das premissas acima, já ordenadas, podemos concluir que: João não é pai 
de Maria ou Maria não é filha de João.
O método dedutivo usualmente exige um maior número de premissas, todas 
válidas, para gerar uma conclusão igualmente válida. É o método utilizado 
pelos cientistas, pois se baseia somente na obtenção da verdade a partir de fatos 
e conhecimentos que possam ser comprovados também como verdadeiros, 
sem generalizações.
Operadores lógicos
Note que tanto o método indutivo quanto o dedutivo são inteiramente suporta-
dos pelas premissas, que devem ser claramente apresentadas de forma direta e 
concisa. Para a construção das premissas, são utilizados operadores lógicos, 
que estabelecem as relações entre os elementos que compõem a premissa, 
conforme lecionam Russell e Norvig (2013).
Operador de IMPLICAÇÃO (A→B)
Esse operador é extensivamente utilizado em lógica e constitui a operação 
lógica CAUSA→EFEITO.
Quando se diz que A IMPLICA B (A→B), isso significa dizer que, quando 
A acontece, ou é verdadeiro (CAUSA), B necessariamente acontece (EFEITO).
Vejamos um exemplo, em que se tem a seguinte premissa: “Sempre que 
chove, as calçadas da rua ficam molhadas”. Temos a seguinte representação:
(CHUVA)→(CALÇADA MOLHADA)
No exemplo, CHUVA é a causa, e o efeito, ou a consequência, são as 
CALÇADAS MOLHADAS. As premissas podem se relacionar entre si, em 
uma situação causa→efeito, produzindo uma sequência dedutiva lógica, que 
conduzirá à solução ou à conclusão. 
Abaixo, podemos analisar a tabela verdade do operador IMPLICAÇÃO, 
representando todas as situações em que o operador é verdadeiro ou falso. 
Considere V como fato VERDADEIRO e F como fato FALSO.
Introdução à lógica de programação e ao ambiente Python8
A B A → B
F F V
F V V
V F F
V V V
Quadro 1. Tabela verdade do operador IMPLICAÇÃO
O operador A B somente é falso (o resultado é F) quando A é verdadeiro 
e B é falso.
Modus ponens
Tome cuidado com a interpretação frequentemente errônea do operador de impli-
cação. Dizer que A→B significa que, quando A acontece, B necessariamente também 
acontece, como consequência de A. No entanto, B poderá ocorrer independentemente 
de A. Considere a sentença: “Sempre que chove, as calçadas da rua ficam molhadas”.
(CHUVA)→(CALÇADA MOLHADA)
Se chover for um fato verdadeiro, então temos como verdadeiro que as calçadas 
estão molhadas. No entanto, se apenas sabemos que as calçadas estão molhadas, 
isso não torna verdadeiro o fato CHUVA. Afinal, as calçadas podem estar molhadas 
por qualquer outra razão.
Esse processo de dedução errônea descrito aqui é conhecido como modus ponens, 
que diz o seguinte: sejam dois fatos A e B e A→B, então, se B ocorreu, também ocorreu 
A. Ou seja, o modus ponens é uma falácia, isto é, uma dedução inválida acerca de 
uma premissa.
Veja outro exemplo bem comum: Maria acredita que, se João está magoado com 
ela, então não fará contato com ela hoje. Temos a seguinte representação:
(JOÃO MAGOADO)→(NÃO FARÁ CONTATO)
Então, ao final do dia, se João não tiver feito qualquer contato com Maria, ela concluirá 
que ele está magoado. No entanto, João pode não ter feito contato com ela por 
quaisquer outros motivos, como: seu telefone não estava funcionando, não havia 
acesso a outro meio de comunicação, e João não tinha condições de ir ao encontro 
de Maria. E, para registro, João está muito feliz com Maria, não está nem um pouco 
magoado com ela.
Fonte: Law (2008).
9Introdução à lógica de programação e ao ambiente Python
Operador OU (A + B)
Esse operador é também muito utilizado em lógica e constitui a operação que 
relaciona dois fatos A e B, que podem ocorrem conjuntamente ou de forma 
alternada. Quando se diz A OU B (A + B), significa dizer que: A acontece e 
B não acontece; A não acontece e B acontece; A e B acontecem juntos.
Vejamos um exemplo com a seguinte premissa: “Todo animal bovino possui 
cores BRANCA ou PRETA”. Temos a seguinte representação:
(COR DE BOVINOS): (BRANCA + PRETA)
No exemplo, um BOVINO poderá ser de cor BRANCA, poderá ser de cor 
PRETA e poderá ser de duas cores, BRANCA e PRETA (bovinos malhados). 
Isso significa dizer que um bovino obrigatoriamente deve conter ao menos uma 
dessas duas cores. Qualquer outro animal que não contenha ao menos essas 
duas cores não será um bovino. Um bovino não poderá ser verde, amarelo, 
vermelho, enfim, qualquer outras cores que não sejam as citadas.
O operador OU pode ser aplicado para mais de dois elementos. Sabe-se, 
por exemplo, que existem bovinos de cor marrom e, ainda, bovinos com 
combinações dessa cor com as outras duas, branca e preta. Assim, podemos 
atualizar de forma mais correta a premissa acima:
(COR DE BOVINOS): (BRANCA + PRETA + MARROM)
Abaixo, vejamos a tabela verdade do operador OU, representando todas 
as situações em que o operador é verdadeiro ou falso. Considere V como fato 
VERDADEIRO e F como fato FALSO.
A B A + B
F F F
F V V
V F V
V V V
Quadro 2. Tabela verdade do operador OU
O operador A + B somente é falso (o resultado é F) quando A é falso e 
B é falso.
Introdução à lógica de programação e ao ambiente Python10
Operador E (A . B)
Trata-se do operador lógico que relaciona dois fatos, A e B, que podem ocorrem 
somente juntos. Quando se diz A E B (A.B), significa dizer que A acontece 
(é verdadeiro) e B necessariamente também acontece (é verdadeiro).
Vejamos um exemplo com a seguinte premissa: “Toda autorização de 
pagamento deve ser assinada pelo presidente e pelo tesoureiro”. Temos a 
seguinte representação:
(AUTORIZAR PAGAMENTO): (ASSINATURA PRESIDENTE . 
TESOUREIRO)
No exemplo, o PRESIDENTE e o TESOUREIRO devem ambos assinar a 
autorização. Se somente um deles, isoladamente, assinar o documento, sem 
a assinatura do outro, não haverá autorização. 
O operador E pode ser aplicado para mais de dois elementos. Em uma 
dada empresa, por exemplo, exige-se que também o vice-presidente assine a 
autorização. Assim, para essa empresa, podemos atualizar a premissa acima:
(AUTORIZAR PAGAMENTO): (ASSINATURA PRESIDENTE . TE-
SOUREIRO . VICE-PRESIDENTE)
Abaixo, temos a tabela verdade do operador E, representando todas as 
situações em que o operador é verdadeiro ou falso. Considere V como fato 
VERDADEIRO e F como fato FALSO.
A B A . B
F F F
F V F
V F F
V V V
Quadro 3. Tabela verdade do operador E
O operador A . B somente é verdadeiro (o resultado é V) quando A é 
verdadeiro e B é verdadeiro.
11Introdução à lógica de programação e ao ambiente Python
Operador de NEGAÇÃO (~A)
Esse operador é o mais simples utilizado em lógica e constitui a operação 
lógica de inversão do estado lógico do elemento da premissa. Quando se diz 
“não A”, ou a negação de A, NÃO A (~A) significa dizer que, se A existe ou 
é verdadeiro, ~A não existe ou é falso.
Vejamos um exemplo com a seguinte premissa: “Todo ser vivo não pode 
estar morto”. Ou, ainda: “A morte é a negação da vida”. Temos a seguinte 
representação:
(MORTE): (~VIDA)
No exemplo, um ser vivo não pode estar morto, e um morto não pode 
estar vivo. São fatos opostos um em relação ao outro. O operador ~ pode ser 
aplicado mais de uma vez no mesmo elemento. Tomando o exemplo anterior, 
pode-se também enunciar:
(VIDA): ~(~VIDA)
Esse enunciado pode ser lido como: “a vida é a negação da negação da 
vida”. Como negação de vida é a morte, então a negação da negação é a vida. 
Assim, (A): ~(~A), isto é, a negação da negação de A é o próprio A.
Abaixo, temosa tabela verdade do operador NEGAÇÃO, representando 
todas as situações em que o operador é verdadeiro ou falso. Considere V como 
fato VERDADEIRO e F como fato FALSO.
A ~A 
F V
V F
Quadro 4. Tabela verdade do operador NEGAÇÃO
Estratégia de desenvolvimento de programas 
de computadores
Uma vez que a lógica, seus métodos e seus operadores, formalizam o nosso 
processo de raciocínio, deve-se empregar esse conhecimento para elaborar 
programas de computadores. Computadores, como todos sabemos, são 
máquinas, ou seja, não têm a capacidade de pensar. Mesmo com todos os 
Introdução à lógica de programação e ao ambiente Python12
atuais recursos computacionais, as formas de comunicação e as capacidades 
de processamento de dados muitíssimo superiores à capacidade humana, os 
computadores não conseguem estabelecer seus próprios processos de raciocínio 
nem conseguem criar por si mesmos qualquer iniciativa de ação. 
Até o presente momento, todos os computadores executam uma sequência 
de comandos, conhecida como programa, e tal programa foi anteriormente 
criado por um ser humano, um programador. Esse ser humano, o progra-
mador, é que detém o conhecimento ou, ainda, o uso da razão, para elaborar 
a sequência lógica que o computador vai executar.
Observe que o programador necessita dominar o conhecimento lógico o 
suficiente para a elaboração dessa sequência de instruções, também chamada 
de comandos, que será executada pela máquina. De forma análoga ao processo 
de dedução lógica, não existe possibilidade de declarações vagas, premissas 
inválidas ou de sentido incompreensível. Máquinas não são inteligentes.
A programação de computadores é o processo de registrar na memória 
da máquina essa sequência de comandos, escrita em uma linguagem de 
programação de computadores. Existe uma vasta quantidade de diferentes 
linguagens de programação. Felizmente, não é necessário conhecer todas para 
programar um computador. É necessário saber criar um algoritmo.
Desenvolver um algoritmo para fazer alguma coisa não é uma tarefa simples. No vídeo 
disponível no link a seguir, conheça Josh Darnit, que publicou uma série de vídeos no 
YouTube chamada Exact Instructions Challenge (em português, “O desafio das instruções 
exatas”). Nessa série de vídeos, Josh desafia seus filhos a criarem uma sequência de 
instruções para a realização de tarefas simples, como fazer um sanduíche de pasta 
de amendoim ou um desenho.
https://qrgo.page.link/aWL7w
13Introdução à lógica de programação e ao ambiente Python
Algoritmos
De acordo com Cormen et al. (2012), um algoritmo é uma sequência de ins-
truções, escritas de forma clara, ordenada e finita, e elaborada para realizar 
uma determinada tarefa ou resolver um problema. Observe o quão próximo 
é o processo de análise lógica da definição de algoritmo.
Como a lógica procura descrever, com o uso da razão, o mundo ao seu 
redor, todo o funcionamento do mundo pode ser “algoritmizável”. Qualquer 
fato, qualquer cenário, qualquer método ou procedimento pode ser descrito 
com um algoritmo.
Qualquer fato, cenário, método ou procedimento pode ser descrito com um algoritmo. 
Acesse os links a seguir para verificar dois exemplos do cotidiano em que se aplicam al-
goritmos — uma receita culinária e a troca de pneu de um automóvel, respectivamente.
https://qrgo.page.link/y2Q75
https://qrgo.page.link/YJw8n
Segundo Cormen (2014), a criação de algoritmos obedece à sequência 
descrita a seguir.
1º passo: descrição do problema a resolver ou tarefa a ser feita
Essa descrição necessita ser clara e objetiva, definindo-se com precisão qual é 
a tarefa a ser realizada. Com frequência, o próprio título do algoritmo é sufi-
ciente como descrição. Por exemplo, “Receita de pudim de leite condensado” 
define exatamente o objetivo final. 
Introdução à lógica de programação e ao ambiente Python14
2º passo: decompor a tarefa ou o problema em todas as ações 
necessárias para a realização
Deve-se também relacionar todos os itens necessários para a realização. 
Nenhuma ação, tecnicamente chamada instrução, pode ser esquecida ou 
implicitamente entendida.
3º passo: ordenação lógica das ações
Deve-se proceder à ordenação das ações de modo que, ao final, a tarefa ou o 
problema esteja resolvido com sucesso. 
4º passo: conclusão
Deve-se avaliar a sequência de instruções, determinando se o objetivo foi 
alcançado. Ou seja, deve-se testar a sequência, executando passo a passo 
cada instrução na ordem estabelecida e observando se, ao final, a tarefa foi 
realmente concluída com êxito. Esse teste é conhecido como teste de mesa.
Caso a tarefa ou o problema não tenha sido concluído, retorne ao 2º passo, 
verificando a falta de alguma instrução, e siga novamente o 3º e o 4º passos, 
sucessivamente, até que o algoritmo esteja certo. Caso a tarefa ou problema 
tenha sido concluído com êxito, deve-se parar as ações, já que seu algoritmo 
estará pronto, conforme leciona Cormen et al. (2012).
Ao final do semestre, um professor necessita calcular as médias de seus alunos e 
publicá-las, indicando quais alunos estão em exame e quais foram aprovados. Sabendo 
que o professor realiza duas provas de peso igual, e que a média mínima de aprovação 
é 7, faça um algoritmo para o professor realizar o cálculo e gerar a lista de aprovados 
e a lista de alunos em exame.
Número de alunos: 30 
Faça a seguinte sequência para cada um dos 30 alunos:
1. Leia o nome do aluno.
2. Leia a nota da prova P1.
3. Leia a nota da prova P2.
4. Calcule a média do aluno: somar P1 com P2 e dividir o resultado por 2.
15Introdução à lógica de programação e ao ambiente Python
5. Se (média do aluno for menor do que 7,0), então: 
Inclua o nome do aluno e a média calculada na lista “alunos em exame”.
Senão: 
Inclua o nome do aluno e a média calculada na lista “alunos aprovados”.
6. Proceda para o próximo aluno.
7. Imprima em tela ou papel a lista “alunos aprovados”.
8. Imprima em tela ou papel a lista “alunos em exame”.
Note que o algoritmo está em linguagem comum; não é nenhuma linguagem de 
programação específica. Note também que, para tornar mais clara a interpretação e 
a compreensão, alguns formatos de escrita e definições são usualmente adotados, 
como vemos a seguir.
 � Tabulação de instruções, definindo blocos distintos de instruções. No exemplo 
acima, veja que as instruções de cálculo de cada média de cada aluno e a decisão 
e inclusão em uma das listas de alunos estão todas no bloco que começa com a 
instrução “Faça a seguinte sequência para cada um dos 30 alunos”. 
 � A estrutura SE (CONDIÇÃO LÓGICA) + ENTÃO (BLOCO DE AÇÕES) + SENÃO (BLOCO 
DE AÇÕES) é conhecida como estrutura condicional e define uma tomada de 
decisão a partir da validade da condição lógica:
 � Caso a condição lógica seja verdadeira, o bloco ENTÃO será executado.
 � Caso a condição lógica seja falsa, o bloco SENÃO será executado.
 � Veja que a estrutura condicional está também com os seus blocos de instruções 
com tabulação, em que a sequência de instruções para o bloco ENTÃO e a sequ-
ência de instruções para o bloco SENÃO estão posicionadas mais internamente.
 � No exemplo, nome do aluno, nota da prova P1, nota da prova P2 e média calculada 
são definidas como variáveis do algoritmo. 
Criar um algoritmo é a principal etapa para a programação de computadores. A partir 
de um algoritmo bem desenvolvido, vários programas podem ser feitos, utilizando-se 
várias linguagens de programação diferentes, à escolha do programador e de acordo 
com as limitações da máquina.
O ambiente de programação Python e as 
características da linguagem
O processo de transformar um algoritmo em um programa de computador 
é conhecido como codificação. De fato, os computadores são programados 
por uma linguagem específica, usualmente denominada linguagem de pro-
gramação. Programar, no contexto das ciências da computação, corresponde 
à transcrição da sequência de instruções do algoritmo em uma sequência de 
Introdução à lógica de programação e ao ambiente Python16instruções de máquina — chamadas mais tecnicamente de códigos de máquina 
—, gerando-se, assim, um programa que poderá ser executado pelo computador.
Note que essa relação do algoritmo com o programa codificado em lingua-
gem de programação não é direta. Uma instrução do algoritmo pode necessitar 
de uma sequência de várias instruções na linguagem de programação. O 
inverso, dependendo da linguagem de programação, também pode ocorrer: 
uma sequência de várias instruções do algoritmo pode ser codificada por uma 
única instrução de programação.
Dentre a quantidade realmente grande de linguagens de programação exis-
tentes, algumas são mais próximas do modo formal de escrever os algoritmos, 
tornando fácil o processo de codificação. Uma dessas linguagens é a Python.
Introdução à linguagem Python
Python é uma linguagem recente no universo da computação. Criada em 1991 
por Guido van Rossum, Python é hoje uma das linguagens de programação 
mais utilizadas no mundo, sendo empregada no desenvolvimento de centenas 
de milhares de aplicativos por empresas como Microsoft, Google, Amazon, 
dentre outras. O grande sucesso da linguagem Python vem da sua facilidade 
para programação, sendo caracterizada pelo próprio autor como uma linguagem 
utilizada para drasticamente reduzir o tempo de desenvolvimento de aplicações.
Assim, conforme Maruch e Maruch (2006), Python tem vantagens únicas, 
como vemos abaixo.
 � Linguagem clara e simples: Python é muito fácil de entender, ao menos 
para os programadores de língua inglesa, pois as instruções são muito 
próximas das utilizadas para a construção do algoritmo. Mesmo quem 
nunca tenha visto Python antes consegue entender com pouquíssima 
dificuldade um programa escrito na linguagem, interpretando o seu 
funcionamento.
 � Linguagem multiparadigma: Python aceita tanto programação pro-
cedural quanto programação orientada a objetos (os dois principais 
paradigmas em programação), tornando fácil a interação entre equipes 
de programadores acostumadas com quaisquer dessas filosofias. 
 � Linguagem interpretada: Python não é compilado para rodar dire-
tamente no computador; Python roda em um ambiente previamente 
instalado na máquina, e o programa é interpretado por esse ambiente 
no momento da execução. 
17Introdução à lógica de programação e ao ambiente Python
 � Linguagem altamente portável: como Python não é compilado, não 
há diferenças no código de um programa feito para um computador e 
que será depois executado em outro tipo de máquina. O ambiente de 
programação Python, uma vez instalado em ambas as máquinas, vai 
proporcionar uma padronização de funções e recursos. 
 � Linguagem script: a linguagem script é uma linguagem usualmente 
utilizada pelo sistema operacional para controlar outros programas e 
aplicativos. Python tem os recursos de uma linguagem script, o que 
significa que as aplicações feitas nessa linguagem podem diretamente 
executar e fazer uso dos resultados de outras aplicações instaladas 
no computador. Trata-se de uma facilidade para programadores que 
necessitam de uma integração entre aplicativos diferentes.
Python está disponível no link a seguir. Baixe o ambiente de programação e arquivos 
de instalação, configuração, documentação, programas-exemplo, enfim, tudo o que 
quiser saber e fazer sobre Python.
https://qrgo.page.link/38eFU
Python: fundamentos
A linguagem Python vem com um ambiente próprio para o desenvolvimento 
de aplicações e que funciona no modo interativo e no modo programado, 
denominado integrated development and learning environment (IDLE). 
Para iniciar o ambiente, escreva python na linha de comando da janela 
de comandos do seu computador ou clique no ícone IDLE (Python GUI) 
no menu da sua tela inicial. A Figura 1 mostra como iniciar a chamada do 
ambiente.
Introdução à lógica de programação e ao ambiente Python18
Figura 1. Chamando o ambiente Python (a) no menu iniciar e (b) via console.
(a) (b)
Modo interativo
É a maneira mais fácil de trabalhar e se acostumar com a linguagem, conforme 
Maruch e Maruch (2006). No modo interativo, os comandos são executados 
imediatamente, exibindo na tela o resultado. Veja o exemplo da Figura 2. 
Figura 2. Exemplo do modo interativo.
No exemplo, foi definida uma variável de nome x com valor 10, outra va-
riável y com valor 12 e, depois, a soma x + y. O ambiente retornou o resultado 
imediatamente: 22.
O ambiente interativo pode ser utilizado para cálculos rápidos, testes de 
mesa, ou mesmo para testar um bloco de comandos.
19Introdução à lógica de programação e ao ambiente Python
Variáveis e expressões
Antes de dar continuidade ao modo programado do ambiente Python, é im-
portante compreender um pouco mais sobre a linguagem Python.
Variáveis
As variáveis em Python são declaradas sempre iniciando com uma letra, não 
podem ter espaços e são variáveis ditas case sensitive, isto é, variáveis com 
nomes iguais, mas escritos em maiúsculas ou em minúsculas, são reconhecidas 
como diferentes. 
Exemplos de declarações de variáveis válidas:
x=10
nome="Maria"
Area_do_quadrado= Base * Altura
CATETO2=200.345
Exemplos de declarações de variáveis inválidas:
20Casal=300
Nome de Familia = "Torres"
Note também que, em Python, você não necessita definir o tipo de variável 
na declaração, como acontece com algumas linguagens. Basta fazer a atribuição 
do valor, e a linguagem define diretamente o tipo, conforme leciona Lutz (2011).
No exemplo anterior, ao declarar nome="Maria", Python já interpretou 
que nome será uma variável que conterá caracteres (os símbolos “ ” são a 
forma usual, na maioria das linguagens de programação, de sinalizar que Maria 
é uma palavra, um conjunto de letras, e não outra variável chamada Maria). 
Instruções e funções
Python possui instruções simples de escrever, tornando o código bem legível 
e de fácil entendimento. Além de instruções, Python possui um conjunto 
básico e extenso de funções à disposição do programador, bem como permite 
a instalação de bibliotecas com funções específicas. Veja a seguir algumas 
instruções muito utilizadas na linguagem Python.
Introdução à lógica de programação e ao ambiente Python20
Entrada de dados — a entrada de dados, realizada pelo usuário via teclado, 
utiliza a instrução input:
Nome_da_Variavel = input('Mensagem ao usuário ')
No comando input, o usuário receberá a Mensagem ao usuário, 
orientando para fazer uma entrada de dados que será atribuída à variável 
Nome_da_Variavel. Por exemplo:
Nome_do_Aluno = input('Entre com o nome do aluno:')
Mensagens e saída de dados — as mensagens dirigidas ao usuário, bem como 
aqueles resultados que serão apresentados durante e ao final do processamento, 
utilizam o comando print:
print('Mensagem ao usuário')
Acima, o comando print contém somente uma mensagem ao usuário, 
que será impressa na tela ou em papel.
print('Mensagem sobre alguma saída de dados', 
Nome_da_Variavel)
Nesse formato, o comando print emite uma mensagem ao usuário e, a 
seguir, o valor que está contido na variável. Esse é um formato usual para 
apresentação de resultados durante ou após o processamento. A linguagem 
Python é muito completa, atendendo várias necessidades de programação 
e diferentes tipos de aplicações, exigindo o aprendizado gradual de vários 
outros comandos e recursos.
Modo programado
O modo programado do Python possui um editor de texto, permitindo a escrita 
do código diretamente.
Para utilizar esse modo, deve-se criar um arquivo novo com o editor do 
ambiente, diretamente no menu de cabeçalho do aplicativo IDLE (Figura 3), 
conforme leciona Lutz (2011).
21Introdução à lógica de programação e ao ambiente Python
Figura 3. Criação do programa: (a) chamando o editor e (b) editor ativo.
(a) (b)
Na Figura 3b, observe que o símbolo # marca o início de um comentário. 
Os comentários funcionam como mensagens que o programador utiliza em 
várias partes do código para descrever o funcionamento do programa. Essas 
mensagens não são processadas pela máquina. A Figura3b também ilustra 
um primeiro programa em Python, que vai imprimir as mensagens contidas 
nas funções print. A Figura 4 exibe o resultado após o uso da tecla F5.
Figura 4. Execução do programa da Figura 3b.
Introdução à lógica de programação e ao ambiente Python22
Criando um programa em Python
Vamos utilizar os conceitos vistos até aqui para criarmos um programa em 
Python.
Enunciado
O plano diretor de desenvolvimento urbano de uma cidade determina qual 
é o percentual de área máximo destinado para garagem em relação à área 
total do terreno da casa, dependendo da localização desse terreno na cidade. 
Uma empresa de arquitetura está com vários contratos e necessita calcular 
rapidamente esse percentual, antes de iniciar os projetos. Faça um programa 
que recebe as medidas do terreno e da garagem e calcula o percentual de 
ocupação da área da garagem em relação ao terreno.
Algoritmo
O algoritmo para esse programa consiste no cálculo da área da garagem, no 
cálculo da área do terreno e em realizar o quociente entre os dois valores e 
multiplicar o resultado por 100, para uma resposta em percentual.
Lembrando que: área (em metros quadrados) = largura (em metros) × 
profundidade (em metros). Observe ainda que a operação de multiplicação 
utiliza o símbolo *. Vejamos a sequência lógica desse algoritmo:
1. Entrar com o valor da largura da garagem em metros.
2. Entrar com o valor da profundidade da garagem em metros.
3. Calcular área da garagem = largura da garagem * profundidade da 
garagem.
4. Entrar com o valor da largura do terreno em metros.
5. Entrar com o valor da profundidade do terreno em metros.
6. Calcular área do terreno = largura do terreno * profundidade do terreno.
7. Calcular percentual de ocupação = (área da garagem / área do terreno) 
* 100.
8. Apresentar em tela o resultado.
23Introdução à lógica de programação e ao ambiente Python
Programa Python
O programa em Python é quase uma tradução direta do algoritmo (considerando 
a língua inglesa). Observe a clareza do código:
Largura_Garagem=float(input("Entre com a largura da 
garagem em metros: "))
Profundidade_Garagem=float(input("Entre com a pro-
fundidade da garagem em metros: "))
#Abaixo, cálculo da área da garagem
Area_Garagem=Largura_Garagem * Profundidade_Garagem 
Largura_Terreno=float(input("Entre com a largura do 
terreno em metros: "))
Profundidade_Terreno=float(input("Entre com a pro-
fundidade do terreno em metros: "))
# Abaixo, cálculo da área do terreno
Area_Terreno=Largura_Terreno * Profundidade_Terreno
# Agora, cálculo do percentual de ocupação
Percentual = ((Area_Garagem)/(Area_Terreno))* 100
print("Percentual de ocupação:",Percentual)
A Figura 5 apresenta o código no editor do ambiente Python e a execução 
do programa, com um exemplo em que a área da garagem é de 30 metros 
quadrados e a área do terreno da garagem é de 400 metros quadrados.
Introdução à lógica de programação e ao ambiente Python24
Figura 5. Programa que calcula o percentual de ocupação da área de garagem em relação 
ao terreno: (a) algoritmo codificado em Python e (b) execução após uso da tecla F5.
(a) (b)
Pratique a criação de algoritmos, pois Python será o principal aliado para 
programar e gerar rapidamente os seus próprios aplicativos.
CORMEN, T. H. Desmistificando algoritmos. Rio de Janeiro: Elsevier; Campus, 2014. 188 p.
CORMEN, T. H. et al. Algoritmos: teoria e prática. 3. ed. Rio de Janeiro: Elsevier; Campus, 
2012. 926 p.
LAW, S. Filosofia: guia ilustrado Zahar. 2. ed. Rio de Janeiro: Zahar, 2008. 352 p. 
LUTZ, M. Programming Python. 4. ed. Sebastopol: O’Reilly, 2011. 1585 p.
MARUCH, S.; MARUCH, A. Python for dummies. New York: John Wiley & Sons, 2006. 432 p.
RUSSELL, S; NORVIG, P. Inteligência artificial. 3. ed. Rio de Janeiro: Elsevier, 2013. 1056 p.
Leituras recomendadas
LUTZ, M. Python pocket reference: Python in your pocket. 5. ed. Sebastopol: O’Reilly, 
2014. 254 p.
LUTZ, M.; ASCHER, D. Aprendendo Python. 2. ed. Porto Alegre: Bookman; O’Reilly, 2007. 
566 p.
MATTHES, E. Curso intensivo de Python: uma introdução prática e baseada em projetos 
à programação. São Paulo: Novatec, 2016. 656 p.
25Introdução à lógica de programação e ao ambiente Python
DICA DO PROFESSOR
Python é hoje uma das linguagens de programação mais utilizadas para o desenvolvimento de 
aplicações, sendo largamente empregada nos mais diversos dispositivos, tais como tablets, 
celulares, placas de desenvolvimento (existe python para raspberry-pi), computadores PC e 
Apple, entre tantos outros ambientes de computação.
Na Dica do Professor, você verá a importância dessa linguagem e conhecerá os primeiros passos 
para desenvolver programas.
Conteúdo interativo disponível na plataforma de ensino!
EXERCÍCIOS
1) A representação do processo de raciocínio baseia-se na definição de declarações 
conhecidas como premissas, que constituem a base lógica utilizada para a conclusão 
de um dado problema. Assim, baseado nas premissas de que:
 
- Todo homem é mortal. 
- Pedro é homem.
 
É possível concluir que:
A) Pedro é um mamífero, pois todo homem é mamífero.
B) Todo homem é Pedro.
C) Todos os mortais são Pedro.
D) Pedro é mortal.
Highlight
E) Todo mamífero é mortal.
2) Veja como os métodos de raciocínio podem ser utilizados nas situações cotidianas da 
vida:
João foi morar algum tempo no interior, em um pequeno sítio, fora da cidade. Uma 
das coisas interessantes que observou foi o fato de que os galos cantavam pela manhã. 
Sua curiosidade o levou a acordar antes do sol nascer e observar o momento em que o 
galo começava a cantar: 
- Na 1a manhã, o galo cantou exatamente quando o sol estava nascendo no horizonte. 
- Na 2a manhã, o galo cantou exatamente quando o sol havia nascido a poucos 
minutos no horizonte. 
- Na 3a manhã, o galo cantou exatamente quando o sol estava nascendo no horizonte. 
... 
- Na 30a manhã, o galo cantou exatamente quando o sol estava nascendo no 
horizonte.
João também observou que o galo não deixou de cantar em nenhum dos dias.
Baseado na narrativa das experiências de João, é possível dizer que:
A) Usando o método dedutivo, João concluiu que os galos cantam sempre no nascer do sol.
B) Usando o método indutivo, João concluiu que os galos cantam sempre no nascer do sol.
C) João não conseguiu chegar a nenhuma conclusão devido ao comportamento imprevisível 
dos galos.
D) Usando o método indutivo, João concluiu o tempo que o planeta Terra leva para girar em 
torno do próprio eixo.
E) Usando o método dedutivo, João concluiu que o galo estava doente.
Utilize um mesmo operador lógico para estabelecer a relação entre os conceitos A , B 3) 
sendo: 
A B 
ABERTO FECHADO 
BRANCO PRETO 
NOITE DIA
A) A : ~B
B) A -> B
C) A: ~ (~B)
D) A + B
E) A . B
4) Utilizando as instruções a seguir: 
I - Em uma folha de papel em branco, desenhe um segmento de reta em qualquer 
posição: horizontal, vertical ou inclinada. 
II - Una com outro segmento de reta as extremidades livres dos segmentos de retas já 
existentes. 
III - Partindo da ponta escolhida, desenhe outro segmento de reta em qualquer 
posição que seja diferente da posição do segmento de reta anterior. 
IV - Escolha uma das pontas do segmento de reta desenhado na folha. 
 
Qual seria a sequência de instruções correta de um algoritmo para desenhar um 
triângulo qualquer? Como sugestão, faça um teste de mesa para validar a sequência 
correta.
A) I, II, III, IV.
Highlight
B) Falta uma instrução para uso de um compasso, necessário para se desenhar um triângulo.
C) I, IV, III, II.
D) IV, III, II, I.
E) As instruções, quando ordenadas, vão gerar o desenho de um círculo.
5) Com referência à estrutura e à sintaxe da linguagem Python, cujo aprendizado tem 
sido desenvolvido ao longo da disciplina, analise o programa a seguir:
nome=input("Nome do aluno? ") 
P1=float(input("Entre com a nota da Prova 1 ")) 
P2=float(input("Entre com a nota da Prova 2 ")) 
media=(P1+P2)/2 
print("ALUNO: ",nome) 
print("Média= ",media) 
 
É possível afirmar que:
A) O programa recebe o nome e as notas das provas de um aluno, calcula a média e emite 
uma mensagem contendo o nome do aluno e a média calculada.
B) O programa recebe o nome e as notas das provas de um aluno, calcula a média e emite 
uma mensagem contendo o nome do aluno, a média calculada e a mensagem "ALUNO 
APROVADO".
C) O programa recebe o nome e as notas das provas de um aluno, calcula a média e emite 
uma mensagem contendo o nome do aluno, a nota da prova P1, a nota da prova P2, a 
média calculada e a mensagem "ALUNO APROVADO".
O programa recebe o nome e as notas das provas de um aluno, calcula a média e emite D) 
Highlight
Highlight
uma mensagem contendo o nome do aluno, a nota da prova P1, a nota da prova P2 e a 
média calculada.
E) O programa recebe o nome e as notas das provas de um aluno, calcula a média e emite 
uma mensagem contendo o nome do aluno, a média calculada e a mensagem "ALUNO 
REPROVADO".
NA PRÁTICA
Os computadores são ferramentas úteis para análise de mercado, levantamento de custos, 
registros de vendas, entre outras operações que envolvem diretamente o mercado de consumo de 
produtos e serviços. Assim, com a constante flutuação das moedas estrangeiras, a situação do 
mercado consumidor e o momento econômico são alguns dos fatores que exigem da indústria de 
produtos e de serviços uma regular análise e definição de preço final de venda. Um desafio 
preocupante para a indústria é a elaboração do preço final de venda de um determinado produto. 
Raquel foi contratada por uma grande fábrica de calçados para auxiliar na criação de uma 
ferramenta que ajudasse na determinação do valor de custo de um produto e o seu preço final de 
mercado.
Para isso, Raquel usou o ambiente e a linguagem Python. Acompanhe o Na Prática!
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Python Brasil
Acesse o link e conheça a página oficial do Python no Brasil. Esse é um endereço essencial para 
todo o programador da linguagem. Além de documentação, você pode baixar versões para 
diferentes modelos de computadores e sistemas operacionais.
Conteúdo interativo disponível na plataforma de ensino!
Code
Este site é uma iniciativa internacional em português para aproximar os jovens do mundo 
inteiro, para aprender ciências da computação e programação. Existem módulos e opções de 
projetos e formas de ensinar para crianças até 11 anos, jovens adolescentes até 15 anos e até 
mesmo jovens adultos acima de 18 anos. Excelente referência para quem está começando a 
programar.
Conteúdo interativo disponível na plataforma de ensino!
Python
Página dedicada aos fãs de Python. Muitas publicações e referências, incluindo ofertas de 
emprego, bem como cursos de formação. Segundo a própria página, a missão é “ajudar quem 
está começando a conhecer o Python, assim como divulgar cursos, eventos, jobs, congressos, 
etc.”.
Conteúdo interativo disponível na plataforma de ensino!

Continue navegando