Prévia do material em texto
Introdução de Algoritmos e Raciocínio Lógico Apresentação Para criar programas computacionais é necessário empregar a lógica de programação, uma técnica onde se faz necessário o desenvolvimento de competências para interpretação, abstração, resolução e formalização de problemas. Trata-se da base da ciência da computação onde sequências lógicas de passos são aplicados a fim de fornecer uma solução a um determinado problema ou para executar uma tarefa específica. Para tal, é aplicado o desenvolvimento de algoritmos que são passo a passo ou sequências lógicas de instruções bem definidas para atingir um objetivo claro, não ambíguo e em um tempo finito. Os algoritmos podem ser expressos por meio de linguagem natural, fluxogramas e pseudocódigo, por exemplo. Eles são os primeiros passos de um programa (software) que são traduzidos em uma linguagem de programação qualquer, como Python, C, Java, PHP e Java Script, para então ser entendidos pelo computador na execução do programa ou na exibição de uma página Web. Um exemplo clássico e simplificado da criação de um algoritmo são as receitas culinárias, como os passos a passos realizados por uma pessoa na concepção de um bolo. Nesta unidade de aprendizagem, estudaremos os conceitos básicos que envolvem algoritmos e lógica de programação, o funcionamento básico de um computador e as etapas básicas para o desenvolvimento de um algoritmo. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: ● Definir o conceito de algoritmos e lógica de programação. ● Diferenciar os componentes básicos de funcionamento de um computador na execução de algoritmos. ● Aplicar as etapas de construção de um algoritmo na solução de problemas. CONCEITOS BÁSICOS ★ Algoritmos ★ Lógica de Programação ★ Características de um Algoritmo ★ Linguagem de Programação Organização de um Compiuter ★ Unidade de entrada e saída ★ Unidade de memória auxiliar ★ UCP ★ Hardware X Software Etapas de um Algoritmo ★ Análise ★ Identificação de entrada e saída ★ Construção ★ Validação CONTEÚDO DO LIVRO O estudo sobre algoritmos são parte essencial na construção e desenvolvimentos de programas. A partir de um algoritmo bem estruturado, claro e não ambíguo é possível facilitar a depuração de programas e consequentemente ajudar os programadores no desenvolvimento. Saber identificar a relação entre os componentes de um computador e os algoritmos é importante, pois ajuda no entendimento do fluxo das informações em um algoritmo. Para isso são levados em consideração a entrada, processamento e saída. A criação e a interpretação de algoritmos pode ser algo desafiador na área da computação. Conhecer as etapas da construção de um programa faz com que o desenvolvimento se torne um pouco menos difícil, pois ajuda na extração e interpretação de problematizações. No capítulo Introdução de Algoritmos e Raciocínio Lógico, você vai poder entender o que são os algoritmos e a lógica de programação, tendo como base exemplos do dia a dia. Além disso, o capítulo aborda a relação entre computador e os algoritmos. E por fim conhecer as etapas na construção de um programa, observando o quanto os algoritmos são essenciais no desenvolvimento de programas de qualidade. OBS: O conteúdo será impresso e deixado junto com este material DICA DO PROFESSOR Conhecer um pouco sobre o funcionamento do computador e sobre as etapas de desenvolvimento de um algoritmo é muito importante a fim de que possamos desenvolver as habilidades para a resolução de problemas através de algoritmos com eficiência e eficácia. Assista ao vídeo para conhecer um pouco sobre este tema. ➔ Conteúdo do vídeo ALGORITMOS Algoritmo é uma sequência finita de instruções ou operações que devem ser executadas em uma determinada ordem e em tempo finito, para a realização de uma atividade/tarefa. Algoritmo é um caminho para a solução de um problema, e em geral, são vários os caminhos que levam a uma solução. LÓGICA DE PROGRAMAÇÃO Lógica: é uma ciência que estuda as formas do pensamento/raciocínio Instrução: é um conjunto de regras/normas definidas para a realização de alguma atividade que resulta em uma ação. Sequência lógica: são os passos executados na ordem determinada para se atingir um objetivo ou chegar a uma solução de um problema. Lógica de Programação é a técnica de encadear pensamentos para atingir determinado objetivo. Permite definir a sequência lógica para o desenvolvimento/solução de um problema. ● CARACTERÍSTICAS DE UM ALGORITMO Deve atender os seguintes requisitos: ★ Possuir um estado inicial (ter início) ★ Consistir de uma sequência lógica finita de ações claras e precisas ★ Produzir dados de saída corretos ★ Possuir um estado final (deve ter um fim) EXEMPLO DE ALGORITMOS EXEMPLO DE NÃO ALGORITMOS Efetuar a compra de um produto. Somar todos os números pares Calcular a média de 3 notas. Calcular todos os valores primo Somar todos os números pares de 2 até 100. Calcular a soma de todos os números divisíveis por 3 HARDWARE X SOFTWARE Hardware: componentes mecânicos e eletroeletrônicos que compõem o computador. Parte “hard” = dura do computador. Exemplos: leitora de disquete, monitor, teclado, mouse, impressora, scanner, vídeo, etc. Software: sequência de instruções e comandos que fazem o computador executar determinadas tarefas. Parte “soft” = lógica. Exemplos: jogos, navegadores da internet, planilha eletrônica, folha de pagamento, editor de texto, etc. COMPONENTES DE UM SISTEMA Entrada: são fornecidos os dados de entrada necessários para a resolução do problema proposto. A entrada pode ser realizada através dos dispositivos de entrada como o teclado, o mouse, o scanner, etc. Processamento: são os procedimentos utilizados para chegar ao resultado final. São avaliadas todas as expressões algébricas, relacionais e lógicas, assim como todas as estruturas de controle (condições e/ou repetições) existentes no algoritmo. Saída: são os dados processados, apresentando o resultado para o problema proposto. Como dispositivos de saída podemos citar o monitor/vídeo, a impressora, etc. ORGANIZAÇÃO SIMPLIFICADA DE UM COMPUTADOR ETAPAS DA CONSTRUÇÃO DE UM PROGRAMA Para codificar um algoritmo em um programa, é necessário uma Linguagem de Programação que é uma linguagem destinada a ser usada para expressar um processo através do qual um computador pode resolver um problema. EXEMPLOS Considere o seguinte problema: São fornecidas as 3 notas de um semestre da disciplina de Algoritmos de um determinado aluno, calcule a média aritmética. Mostre a média calculada e se o aluno foi aprovado ou reprovado. Como regra básica, a média é calculada pela seguinte fórmula. Média = (Nota1 + Nota2 + Nota3) / 3 O aluno é aprovado quando a média é maior ou igual a 7.0, caso contrário é reprovado. [Etapas para a resolução do problema] - Quais são os dados de entrada? A 3 notas do semestre: Nota1, Nota2 e Nota3. A três notas precisam ser informadas como entradas do problema. - Qual será o processamento a ser utilizado? Efetuar o cálculo (Nota1 + Nota2 + Nota3) e comparar a média encontrada com a nota 7.0 3 - Quais são os dados de saída? A média calculada e o resultado “aprovado” ou “reprovado”. NA PRÁTICA Você já desenvolveu um algoritmo hoje? Pode ter certeza que sim. Você desenvolveu não somente um, mas vários algoritmos!!! Vamos ver agora alguns casos práticos da aplicação dos algoritmos no nosso dia a dia. Todos nós sabemos construir algoritmos. Caso contrário, não conseguiríamos sair de casa pela manhã, ir ao trabalho, realizar compras, decidir qual o melhor caminho para chegar a um lugar, voltar para casa, etc. Para que tudo isso possa ser realizado, é necessário uma série de entradas, como que hora acordar, que hora sair de casa, qual o melhor meio de transporte, qual o melhor trajeto conforme o horário do dia, etc. Veja a sequência de atividades para que possamos realizar um saque em um caixa eletrônico: Assim como o saque apresentado acima, construímos e executamos vários algoritmos durante o nosso diaa dia e nem percebemos. Outro exemplo de aplicação - que, particularmente, não é uma atividade agradável de executar - é o caso de, ao estarmos dirigindo em plena avenida, de repente ..ops....furar o pneu! E, então, como trocar, qual a sequência lógica para que tenhamos sucesso nesta empreitada? Mesmo não sendo uma atividade muito agradável, vamos lá! EXERCÍCIOS Qual o componente que representa a funcionalidade descrita acima? DESAFIO TEMA 1 Desafio Muitos são os processos hoje automatizados com o uso do computador dentro das empresas nas mais variadas áreas do setor industrial, comercial e de serviços. Auxilie a empresa a identificar e descrever os passos para o processo de apostas na lotérica. Para isso, identifique: Quais são os dados de entrada? Quais são as etapas que envolvem o processamento? Quais são os dados de saída? Em seguida, descreva, elaborando um texto/narrativa, os principais passos que uma pessoa da comunidade precisa seguir para a realização de uma aposta na lotérica. Os dados de entrada são a identificação do apostador, como o nome e o respectivo número de CPF. As etapas que envolvem o processamento são: ● Geração do nº do cartão de apostas -> com data e hora; sequencial; código de barras ou QR Code; ● Geração da interface gráfica com respectivos números para a digitação da aposta; ● Captura de digitação ou toques; ● Consistir informações; ● Armazenagem dos dados; ● Geração da interface gráfica para pagamento da aposta -> deve calcular valor e identificar o respectivo meio de pagamento (cartão, dinheiro...). Os dados de saída são comprovante de pagamento e volante com a aposta realizada. Passo-a-passo para a realização da aposta A partir dos dados colocados acima fica fácil elaborar o texto passo-a-passo, segue uma sugestão de estrutura para uso do terminal: ● A pessoa da comunidade vai até um terminal, indicando que deseja realizar uma aposta; ● Assim, o sistema deverá mostrar a tela para que essa pessoa insira seus dados de identificação (nome e CPF, conforme mencionamos nos dados); ● Dados inseridos, deve surgir a tela com data, hora, nº da aposta e opções de apostas para que a pessoa escolha as opções por meio de toque na tela ou digitação; ● Após a finalização da aposta, o sistema deverá gerar um código de barras ou QR Code, bem como uma ordem de pagamento; ● A pessoa deve realizar o pagamento, que após confirmado / identificado gerará um comprovante do pagamento e o volante da aposta. - Quais são os dados de entrada? Os números selecionados pelo apostador e o valor entregue ao operador da lotérica como pagamento da aposta. - Quais as etapas que envolvem o processamento? Calcular o valor da aposta conforme quantidade de números selecionados pelo apostador, gerar o comprovante e calcular o troco. - Quais são os dados de saída? Comprovante impresso e, caso necessário, o valor do troco a ser devolvido ao apostador. - Principais passos para a realização de uma aposta na lotérica - para uma pessoa da comunidade. Passo 1: entrar na lotérica. Passo 2: pegar o papel e marcar os números que deseja apostar. Passo 3: entrar na fila. Passo 4: aguardar a sua vez de ser atendido. Passo 5: entregar o papel com os números selecionados para a operadora. Passo 6: a operadora vai registrar os números selecionados. Passo 7: o operador da lotérica deve calcular o valor da aposta conforme quantidade de números apostados pelo apostador. Passo 8: o operador deve passar o valor da aposta ao apostador. Passo 9: o apostador entrega o dinheiro ao operador da lotérica. Passo 10: o operador deve calcular o valor do troco e, se necessário, devolver o valor ao apostador. Passo 11: o operador deve emitir o comprovante da aposta. Passo 12: jogador sai da lotérica.