
















































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
logica de programação em python
Tipologia: Manuais, Projetos, Pesquisas
1 / 88
Esta página não é visível na pré-visualização
Não perca as partes importantes!
ALGORITMO E LÓGICA
DE PROGRAMAÇÃO
REITORIA Prof. Me. Gilmar de Oliveira DIREÇÃO ADMINISTRATIVA Prof. Me. Renato Valença DIREÇÃO DE ENSINO PRESENCIAL DIREÇÃO DE ENSINO EAD Profa. Dra. Giani Andrea Linde Colauto Prof. Me. Daniel de Lima DIREÇÃO FINANCEIRA Eduardo Luiz Campano Santini DIREÇÃO FINANCEIRA EAD Guilherme Esquivel COORDENAÇÃO DE ENSINO, PESQUISA E EXTENSÃO Profa. Ma. Luciana Moraes COORDENAÇÃO ADJUNTA DE ENSINO COORDENAÇÃO ADJUNTA DE PESQUISA Profa. Dra. Nelma Sgarbosa Roman de Araújo Profa. Ma. Luciana Moraes COORDENAÇÃO ADJUNTA DE EXTENSÃO Prof. Me. Jeferson de Souza Sá COORDENAÇÃO DO NÚCLEO DE EDUCAÇÃO A DISTÂNCIA Prof. Me. Jorge Luiz Garcia Van Dal COORDENAÇÃO DE PLANEJAMENTO E PROCESSOS Prof. Me. Arthur Rosinski do Nascimento COORDENAÇÃO PEDAGÓGICA EAD COORDENAÇÃO DO DEPTO. DE PRODUÇÃO DE MATERIAIS DIDÁTICOS Profa. Ma. Sônia Maria Crivelli Mataruco Luiz Fernando Freitas REVISÃO ORTOGRÁFICA E NORMATIVA Beatriz Longen Rohling Carolayne Beatriz da Silva Cavalcante Caroline da Silva Marques Eduardo Alves de OliveiraJéssica Eugênio Azevedo Marcelino Fernando Rodrigues Santos PROJETO GRÁFICO E DIAGRAMAÇÃO Bruna de Lima Ramos Hugo Batalhoti Morangueira ESTÚDIO, PRODUÇÃO E EDIÇÃO Vitor Amaral PoltronieriAndré Oliveira Vaz DE VÍDEO Carlos Firmino de Oliveira Carlos Henrique Moraes dos Anjos Kauê Berto Pedro Vinícius de Lima MachadoThassiane da Silva Jacinto
FICHA CATALOGRÁFICA Dados Internacionais de Catalogação na Publicação - CIP S237a Santos, Cleber Jose Semensate Algoritmo e lógica de programação / Cleber Jose Semensate Santos. Paranavaí: EduFatecie,87 p.: il. Color. 2023.
As imagens utilizadas neste material didático são oriundas dos bancos de imagensShutterstock.
2023 by Editora Edufatecie. Copyright do Texto C 2023. Os autores. Copyright C O conteúdo dos artigos e seus dados em sua forma, correção e confiabilidade são de responsabilidade exclusiva Edição 2023 Editora Edufatecie. dos autores e não representam necessariamente a posição oficial da Editora Edufatecie. Permitido o download daobra e o compartilhamento desde que sejam atribuídos créditos aos autores, mas sem a possibilidade de alterá-la de nenhuma forma ou utilizá-la para fins comerciais.
Computadores evoluíram e, hoje em dia, fazem parte do dia a dia das pessoas. Celulares, computadores, relógios, carros e até eletrodomésticos possuem programas e, para criar programas, é necessário dominar a linguagem de programação. Esta obra pretende introduzir uma linguagem de programação específica, o Python, com o objetivo de auxiliá-lo a desenvolver seus próprios programas. Serão abordados os conceitos básicos dessa linguagem, de modo que você possa utilizar o mesmo conceito apresentado em outras linguagens de programação. No primeiro capítulo da obra, apresentaremos os conceitos básicos dos compu- tadores para explicar como os softwares funcionam. Dessa forma, esperamos que você consiga entender a importância da programação. Além disso, esse capítulo explicará como você deve configurar seu computador para desenvolver os programas que serão realizados nos capítulos posteriores. No capítulo seguinte, introduziremos um conceito básico de linguagem de progra- mação, a variável, que é um espaço de memória onde podemos guardar informação. Nesse mesmo capítulo, observaremos que, com as variáveis, também são realizadas operações. No terceiro capítulo, o conceito de condições será apresentado. Os programas executam códigos capazes de realizar decisões e modificar sua execução de acordo com as condições em que o programa se encontra. Já no quarto capítulo, será trabalhado o conceito de laço de repetição ou, em in- glês, loops, nos quais partes de código podem ser copiadas, possibilitando a realização de tarefas repetidas. Uma das características importantes dos programas é interagir com os usuários. Nesse sentido, o quinto capítulo explicará como você pode mostrar mensagens e receber entrada do usuário. Uma das vantagens de programas e códigos é você poder reutilizá-los com o uso de funções, como mostrado no sétimo capítulo. Mostraremos, assim, os princípios básicos da programação para que você possa desenvolver programas simples.
Boa leitura!
APRESENTAÇÃO DO MATERIAL
UNIDADE 4
UNIDADE 3
UNIDADE 2
UNIDADE 1
SUMÁRIO
INTRODUÇÃO
Prezado(a) aluno(a), Este capítulo é uma introdução a algoritmos e programação. Aqui serão abordados os princípios que embasam esse conteúdo. Para acompanhar, não é necessário ter um conhecimento prévio de programação ou ser um hacker de computadores. Parte-se do princípio de que o leitor sabe somente como interagir com o computador, ligar, desligar, instalar e utilizar programas e acessar a internet. Sendo assim, pretende-se, com este capítulo, estimular a curiosidade por esta disciplina, introduzindo os conceitos básicos, de forma que o leitor entenda a importância da programação e da linguagem de programação Python. Além disso, pretende-se preparar o ambiente, instalando o programa que utilizaremos, chamado PyCharm.
RESOLUÇÃO DE
DESAFIOS LÓGICOS
TÓPICO
O ser humano, desde os tempos mais remotos, sempre foi fascinado pelo conheci- mento do mundo ao seu redor. Além da curiosidade, o ser humano buscou sempre conhe- cer 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 conhecimento adquirido sob forma empírica, isto é, a partir da experimentação prática, aos poucos, foi sendo substituído por um conhecimento mais formalizado, 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
A LÓGICA E
A RESOLUÇÃO
TÓPICO
Há, 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 problemas. É 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 problema , apresentada a seguir.
1º passo: ENUNCIAR O PROBLEMA Todo problema necessita ser claramente enunciado. Enunciar significa descrever 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 “ne- cessito de algo que me eleve até o teto”. Prefira um enunciado claro, direto, descrevendo o problema, como “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 indígena, por exemplo, que nunca tenha visto uma escada, não saberá o significado do enunciado.
2º passo: DESCREVER TODAS AS PARTES CONSTITUINTES DO PROBLEMA A partir do enunciado, realiza-se uma decomposição em partes lógicas , que fa- zem 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:
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.
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.
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 premissa (conhecimento comum ou fato verdadeiro) que esteja faltando. Deve-se seguir posteriormente os passos 3, 4 e 5, até a finalização.
_05. Observo que o cisne 5 é 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.
2.2 Método Dedutivo No método dedutivo, conforme Law (2008), as premissas são avaliadas e ordena- das 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 enunciado “desejo saber se Maria é filha de João”. Tem-se as seguintes premissas:
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
TÓPICO
Note que tanto o método indutivo quanto o dedutivo são inteiramente suportados 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 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 , repre- sentando todas as situações em que o operador é verdadeiro ou falso. Considere V como fato VERDADEIRO e F como fato FALSO.
Fonte: o autor.
O operador A + B somente é falso (o resultado é F) quando A é falso e B é falso.
Operador E (A. B) Trata-se do operador lógico que relaciona dois fatos, A e B, que podem ocorrer somente juntos. Quando se diz A e B (A.B), significa dizer que A acontece (é verdadeiro) e B, necessariamente, também acontece (é verdadeiro). Vejamos abaixo um exemplo com a 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 auto- rizaçã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 em- presa, 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. TESOUREIRO. 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.
Fonte : o autor.
O operador A. B somente é verdadeiro (o resultado é V) quando A é verdadeiro e B é verdadeiro.
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 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, temos a 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.
Fonte: o autor.
~A V F
A F V
4.1 Algoritmos De acordo com Cormen et al. (2012), um algoritmo é uma sequência de instru- çõ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. 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 é suficiente como descri- ção. Por exemplo, “Receita de pudim de leite condensado” define exatamente o objetivo final.
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).
O AMBIENTE DE PROGRAMAÇÃO
PYTHON E AS CARACTERÍSTICAS
TÓPICO
O processo de transformar um algoritmo em um programa de computador é conhe- cido como codificação. De fato, os computadores são programados por uma linguagem específica, usualmente denominada linguagem de programaçã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 instruçõ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 linguagem 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 existentes, 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.
5.1 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.