Prévia do material em texto
Prof. Guibson Santana SEJAM BEM VINDOS!!! Prof. Guibson Santana Introdução a Lógica de Programação em Portugol AULA 01 Prof. Guibson Santana Agenda • Informações sobre a DISCIPLINA • Conceitos Introdutórios • Funções de Entrada e Saída • Tipos de Dados • Variáveis • Exemplo(s) prático(s) Slide 3 Prof. Guibson Santana O QUE VAMOS ESTUDAR? A disciplina aborda os conceitos de lógica e de programação de computadores para a resolução de problemas através de uma sequência de instruções. Os conceitos que estudaremos são: variáveis, expressões, operadores e estruturas de decisão. Utilizaremos a Linguagem Portugol, utilizando o Portugol Studio para tal compreendimento. Slide 4 Prof. Guibson Santana Orientações Complementares O curso possui 6h com o professor(nos dias estipulados pelo calendário, nas aulas virtuais) mais 4h de atividades práticas(disponíveis na Sala Google) totalizando 10h. O estudante terá direito ao certificado, após concluir e postar as atividades em um prazo máximo de 5 dias após o termino da ultima aula prevista no calendário. Slide 5 Prof. Guibson Santana Algumas perguntas antes de iniciarmos 1. Por que devo entender Lógica para ser um bom programador? 2. O que Lógica de Programação tem haver com tudo que faço em meu dia a dia? 3. Por que eu não devo somente estudar a linguagem de programação na qual escolhi utilizar? Para responder todas essas perguntas, precisamos entender alguns conceitos citados nelas. Slide 6 Prof. Guibson Santana Para VOCÊS o que é LÓGICA? Slide 7 Prof. Guibson Santana Lógica Lógica é uma parte da filosofia que estuda o fundamento, a estrutura e as expressões humanas do conhecimento. A lógica foi criada por Aristóteles no século IV a.C. para estudar o pensamento humano e distinguir interferências e argumentos certos e errados. Mas e o que isso tem haver com Lógica de Programação? Slide 8 Prof. Guibson Santana Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados problemas, utilizando se estruturas básicas de programação, construção e representação de algoritmos para posterior codificação em linguagens de programação. Slide 9 Prof. Guibson Santana É a técnica de encadear pensamentos para resolver determinado problema computacional, considerando os limites que a tecnologia da informática impõe. Então se analisarmos bem, quando programamos, precisamos utilizar as estruturas lógicas. Com esses conhecimentos adquiridos, podemos entender tranquilamente a importância dos dois e assim responder sem pestanejar, as duas primeiras perguntas feitas no inicio da aula. Slide 10 Lógica de Programação Prof. Guibson Santana Outros Conceitos básicos Quando pensamos em resolver um problema, devemos analisar e ver que não existe uma única forma de resolução. Para que consigamos traduzir um algoritmo em uma linguagem, precisamos analisar bem as formas de resolução possíveis e escolher a mais adequada. Mas o que seria um algoritmo? Slide 11 Prof. Guibson Santana Algoritmo Segundo Forbellone, algoritmo pode ser definido como uma sequência de passos que visam atingir um objetivo bem definido. Quando elaboramos um algoritmo, devemos especificar ações claras e precisas que possam resultar na solução de um problema proposto. Slide 12 Prof. Guibson Santana Sequência Lógica Convém ressaltar que uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas numa ordem sequencialmente lógica. Sequência Lógica são passos executados até atingir um objetivo ou solução de um problema. Será que existe uma forma de praticarmos, para melhorarmos nosso raciocínio lógico? Slide 13 Prof. Guibson Santana Jogos lógicos Mecanismo utilizado para desenvolver a lógica, praticando alguns conceitos como a matemática. Slide 14 Prof. Guibson Santana Exemplo de Jogo de Lógica Objetivo: • Ajudar 3 canibais e 3 missionários a atravessar o rio. Regras: • Você pode escolher até 2 pessoas para atravessar no barco. • A travessia poderá ser feita nos dois sentidos: da direita para a esquerda e da esquerda para direita. • Quando a balsa chega a uma margem, os elementos que nela estão são contados como estando naquela margem. • A balsa não atravessa sozinha, é necessário que alguém esteja nela. • A única forma de os missionários não serem devorados é não deixar juntos mais canibais do que missionários. Slide 15 Prof. Guibson Santana Solução 1. Atravesse 1 missionário e 1 canibal para a margem esquerda 2. Volte com o missionário para a margem direita 3. Atravesse 2 canibais para a margem esquerda 4. Volte 1 canibal para a margem direita 5. Atravesse 2 missionários para a margem esquerda 6. Volte 1 canibal e 1 missionário para margem direita 7. Atravesse 2 missionários para a margem esquerda 8. Volte 1 canibal para a margem direita 9. Atravesse 2 canibais para margem esquerda 10. Volte 1 canibal para margem direita 11. Atravessam 2 canibais para margem esquerda Slide 16 Prof. Guibson Santana Sucesso de um Algoritmo Quando estudamos sobre variáveis, precisamos entender que elas são um dos fatores que garante o sucesso de um algoritmo ou programa, e por isso devemos garantir a correta utilização delas. Precisamos também entender que a utilização de operadores é fundamental, se utilizados erroneamente, o programa pode apresentar o famoso: erro de lógica. E então respondemos a 3º pergunta feita no inicio da aula. E ai vem uma nova: O que é Linguagem de Programação e o que ela tem haver com tudo isso? Slide 17 Prof. Guibson Santana Assim como em nossa língua nativa (Português), quando vamos pensar em computação, precisamos entender que devemos escrever para o computador em um formato que possamos nos comunicar com ele, e para isso foram criadas as linguagens de programação. Precisamos colocar em mente que são elas que determinam o conjunto de instruções e regras usadas para que possamos criar algo computacional, um sistema lógico, construir nossos algoritmos. A linguagem que estudaremos para programar o que necessitamos e entender tudo isso é o Portugol e a IDE será o Portugol Studio. Sempre que iniciar, estude uma linguagem simples e depois as mais complexas. Slide 18 Linguagem de programação Prof. Guibson Santana Portugol Studio Slide 19 Prof. Guibson Santana Portugol Studio É uma ferramenta para aprender programação, voltada para as pessoas que falam o idioma português. Possui uma sintaxe fácil baseada em C e PHP, diversos exemplos e materiais de apoio à aprendizagem. Também possibilita a criação de jogos e outras aplicações Slide 20 Prof. Guibson Santana Portugol Vários estudos são feitos a respeito da complexidade de aprendizado em programação, e também na utilização das IDEs profissionais que auxiliam na construção dos algoritmos. Além desses dois fatores, existe uma barreira para os brasileiros que é o idioma: o inglês. Pensando em gerar facilidade no aprendizado de quem esta começando a programar, o Portugol foi construído. Slide 21 Prof. Guibson Santana Portugol Também considerado como pseudocódigo, o Portugol é uma linguagem simples e que é bastante aceita em diversas instituições. Com IDEs poderosas como o Portugol Studio, podemos treinar todos os conceitos de lógica de programação, construir até mesmo algoritmos complexos, jogos e etc. Podemos também aproveitar a sintaxe pois chega a ser bem próxima da utilizada na maioria das linguagens usuais. Slide 22 Prof. Guibson Santana Portugol Slide 23 Menor software que podemos criar!!! Prof. Guibson Santana Portugol Podemos identificar as seguintes características na linguagem que trabalharemos com o pseudocódigo: • Todo algoritmo tem um início e um fim; Obs: Delimitamos o inicio e o fim do algoritmo e das funções nele existente com as { }; • Precisamos sempre saber qual comando podemos utilizarpara entrada de dados e para saída de dados. Obs: Na linguagem Portugol, utilizaremos o leia e o escreva. • Quase 100% dos algoritmos possuem variáveis que devem ser declaradas. • Sempre que desejarmos quebrar uma linha, devemos usar o comando de barra invertida: “\n” Slide 24 Prof. Guibson Santana Slide 25 Prof. Guibson Santana Portugol - Variáveis Variáveis são utilizadas para guardar valores que serão usados em um determinado momento da execução do nosso Algoritmo. As variáveis são criadas através da atribuição e destruídas pelo coletor de lixo (garbage collector) quando não existem mais referências à elas. Um dado é classificado como variável quando tem a possibilidade de ser alterado em algum determinado momento do programa (Forbellone). Slide 26 Prof. Guibson Santana Portugol - Variáveis Na sua declaração, precisamos informar o tipo. Um tipo significa “informar” ao computador o que essa variável poderá receber e armazenar na memória do computador. Slide 27 Prof. Guibson Santana Portugol - Variáveis Exemplo(s): Neste exemplo, declaramos 5 variáveis. Cada variável no exemplo possui um tipo no qual faz com que o computador entenda o que queremos guardar(armazenar). Para declararmos uma variável basta informar primeiramente o tipo e depois dar um nome a ela. Obs: o “;” é opcional no Portugol Studio. Slide 28 Prof. Guibson Santana Portugol - Variáveis Algumas regras na criação das variáveis: – Utilize nomes significativos para as variáveis, de preferência nomes curtos; – Nunca utilize nomes para variáveis começando com Números. Exemplo: 2nome, 20B, 1num,... – Não utilize espaços e nem acento. Exemplo: letra n, número, ... – Não utilize caracteres especiais como: *, { , etc... – Em Java, Python e em algumas outras linguagens, letras maiúsculas são diferentes de letras minúsculas, ou seja: A é diferente de a. Portanto, nos programas, evite utilizar nomes de variáveis com letras maiúsculas. Slide 29 Prof. Guibson Santana Portugol - Variáveis Há vários tipos simples de dados já predefinidos como texto e números (inteiros, reais, complexos, etc). Esses tipos podem ser: • Mutáveis: Permitem que o conteúdo da variável seja alterado. • Imutáveis: Não permitemque o conteúdo da variável seja alterado. Para este tipo, nós chamamos de Constantes. Slide 30 Prof. Guibson Santana Portugol - Variáveis Os principais tipos de variáveis são: • inteiro - para valores inteiros (números positivos ou negativos - sem vírgulas) • caracter - para valores que receberão somente um caracter (letra ou número de 0 a 9 ou um sinal) • cadeia - usado quando você desejar armazenar mais de um caracter • real - para valores decimais (números com vírgulas) • logico - para retornar os valores falso ou verdadeiro. Slide 31 Prof. Guibson Santana Portugol - Constantes É utilizada para armazenar informações (valores) que serão imutáveis durante toda a execução de um programa. A constante é inicialmente uma variável que, uma vez definida como sendo uma constante, o seu valor não poderá ser modificado. Para criar uma constante em Portugol, utilizamos a palavra reservada const. Exemplo: const real salario=1045.00; Slide 32 Prof. Guibson Santana Portugol - Variáveis Texto (string/cadeia) Uma string ou cadeia é um tipo de variável com o objetivo de armazenar texto. Uma cadeia padrão segue o padrão Unicode, que suporta acentos e caracteres especiais. A inicialização de uma cadeia deve ser com aspas duplas. Usamos aspas simples apenas quando trabalharmos com apenas 1 caracter. Podemos usar o sinal (=) para atribuir um texto à uma variável. Exemplo: animal = “Tamanduá”; Slide 33 Prof. Guibson Santana Portugol Com as funções que aprenderemos hoje, conseguiremos criar nossos primeiros algoritmos em Portugol, mas que funções são essas? • Funções de Entrada e Saída Logo logo estaremos trabalhando com operadores e funções mais complexas para otimizarmos nossos algoritmos e quase que darmos a autonomia para eles. São elas: • Condicionais Slide 34 Prof. Guibson Santana Portugol Funções de Entrada e Saída • Entrada de Dados refere-se a entrada de dados do mundo externo para o meio digital. É dessa forma que enviamos informações para dentro das nossas aplicações. • Saída de Dados refere-se a forma que o computador usa para nos apresentar algo, seja exibido, impresso ou armazenado. Neste casos os dados podem ser exibidos ou impressos em forma legível para seres humanos, ou escritos em arquivos para uso posterior. Slide 35 Prof. Guibson Santana Portugol E quais são as funções que utilizamos para realizar essas tarefas? Funções de saída de dados • escreva() - serve para imprimir os argumentos passados a ele no terminal. Exemplo: escreva(“Curso de Lógica de Programação”); Slide 36 Prof. Guibson Santana Portugol A função escreva pode receber vários argumentos separados por virgulas e imprimi-los no terminal. Além disso, podemos utilizar também funções de barra invertida para formatar o texto. Exemplos disso é o “\n” e o “\t”. O primeiro para quebra de linha e o segundo para tabulação. Slide 37 Prof. Guibson Santana Portugol Funções de entrada de dados • leia() - faz uma pausa no programa e espera uma entrada do usuário pelo terminal. Para ler a entrada do usuário a função leia() espera que após digitada a entrada o usuário aperte a tecla enter, após isso o leia() lê essa entrada como o tipo de valor recebido, devemos lembrar que o valor deve ser do mesmo tipo declarado. Slide 38 Prof. Guibson Santana Portugol Exemplo de entrada de dados Vamos imaginar que queremos somar um número inteiro recebido pelo teclado do usuário com 20. O algoritmo ficaria da seguinte maneira: 1. programa{ 2. funcao inicio (){ 3. inteiro num; 4. escreva("Digite um número inteiro:"); 5. leia(num); 6. escreva("O numero digitado + 20 é ",num+20); 7. } 8. } Slide 39 Prof. Guibson Santana ATENÇÃO Estejam sempre de olho na SALA GOOGLE, pois é um mecanismo muito importante para o BOM DESENVOLVIMENTO da disciplina e dos CONTEÚDOS ABORDADOS. Slide 40 Prof. Guibson Santana Slide 41 Dúvidas?