Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>LÓGICA DE</p><p>PROGRAMAÇÃO E</p><p>ALGORITMOS - LPA</p><p>Prof.ª Me. Liliane Balduino de Carvalho Coelho</p><p>e-mail: liliane.coelho@docente.unip.br</p><p>1</p><p>Qual a importância desta</p><p>disciplina???</p><p>2</p><p>Importância da Disciplina</p><p>A disciplina de linguagem e técnicas de programação é fundamental para alunos de</p><p>Análise e Desenvolvimento de Sistemas porque:</p><p>1) Fundamentos Essenciais: proporciona os conhecimentos básicos de</p><p>programação.</p><p>2) Resolução de Problemas: desenvolve habilidades de pensamento lógico e</p><p>estruturado.</p><p>3) Desenvolvimento de Software: ensina a criar software de qualidade.</p><p>4) Algoritmos: ajuda na compreensão e implementação de algoritmos.</p><p>5) Base para Outras Disciplinas: prepara para estudos mais avançados.</p><p>6) Habilidades Práticas: proporciona competências diretamente aplicáveis no</p><p>mercado de trabalho.</p><p>7) Adaptabilidade: ensina a aprender novas linguagens e tecnologias.</p><p>3</p><p>Objetivos da Disciplina</p><p>• Compreender os conceitos introdutórios de lógica e algoritmos;</p><p>• Aprender a construir sequências lógicas de passos para se atingir a</p><p>solução de problemas;</p><p>• Entender os conceitos referentes às três principais formas de</p><p>representação dos algoritmos;</p><p>• Explorar a ferramenta Portugol Studio e/ou VisualG, buscando a</p><p>compreensão dos principais comandos que serão utilizados no</p><p>decorrer do curso.</p><p>4</p><p>MÓDULO I</p><p>CONCEITOS BÁSICOS</p><p>5</p><p>Conceitos Básicos</p><p>Algoritmos</p><p>Um Algoritmo é uma sequência de instruções limitadas, ordenadas de forma lógica para</p><p>a resolução de uma determinada tarefa ou um problema.</p><p>Tudo que fazemos intencionalmente existe um algoritmo, fazemos instintivamente pois</p><p>conforme vamos crescendo e aprendendo novas instruções ao se incorporando ao</p><p>nosso repertório. O ser humano desde o início de sua existência tem procurado meios</p><p>para solucionar seus problemas.</p><p>Algumas outras definições sobre algoritmos:</p><p>“Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a</p><p>realização de uma tarefa” ,[Ascencio, 1999].</p><p>“Algoritmo é uma sequência finita de instruções ou operações cuja execução, em</p><p>tempo finito, resolve um problema computacional, qualquer que seja sua instância”,</p><p>[Salvetti, 1999].</p><p>6</p><p>Exemplo de um algoritmo em Portugol Studio</p><p>7</p><p>8</p><p>O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real</p><p>e computacional). A atividade de programação tem início com a construção do</p><p>algoritmo.</p><p>9Inicia o processo de mapeamento das abstrações</p><p>O Gap Semântico, definido</p><p>como “a distância do que o</p><p>usuário solicita para o que</p><p>o analista de sistemas</p><p>compreende”</p><p>O que é abstração?</p><p>O que é Programação? = ABSTRAÇÃO!</p><p>A realidade é complexa</p><p>e rica em detalhes!</p><p>O que você abstrai dessa realidade?</p><p>Abstração</p><p>Abstração</p><p>=</p><p>Operação mental que</p><p>observa a realidade e</p><p>captura apenas os</p><p>aspectos relevantes</p><p>para um contexto</p><p>• A tarefa de programar sistemas computacionais</p><p>envolve o exercício constante da abstração da</p><p>realidade e sua codificação em uma linguagem de</p><p>programação.</p><p>• Em programação, abstração é um conceito</p><p>fundamental que envolve a simplificação da</p><p>complexidade ao focar nos aspectos essenciais de um</p><p>problema ou sistema, enquanto oculta os detalhes</p><p>desnecessários.</p><p>13</p><p>Abstração</p><p>Conceitos Básicos</p><p>Conceitos Básicos</p><p>Programas</p><p>Os programas de computadores os algoritmos escritos numa linguagem de</p><p>computador. Existem diversas linguagens de programação, tais como Phython,</p><p>Java, C, C++, (Pascal Delphi). Essas linguagens são interpretados e executados por</p><p>uma máquina, no caso um computador. É importante ressaltar que o computador</p><p>executa exatamente os comandos escritos nas linguagens de programação. Assim</p><p>um comando colocado em lugar errado levará ao erro na execução do programa.</p><p>Outro fator de erros é a desobediências nas regras de escrita, impedindo a</p><p>execução do programa.</p><p>14</p><p>Conceitos</p><p>Básicos</p><p>Programas</p><p>15</p><p>Conceitos Básicos</p><p>Lógica de programação</p><p>A lógica em programação, é a técnica de encadear pensamentos</p><p>para atingir um determinado objetivo.</p><p>O objetivo principal da Lógica de Programação é demonstrar</p><p>técnicas para resolução de problemas e consequentemente</p><p>automatização de tarefas.</p><p>16</p><p>Características de um Algoritmo</p><p>1.Finitude: um algoritmo deve ter um número finito de passos.</p><p>2.Definido: cada passo deve ser claro e não ambíguo.</p><p>3.Entrada: deve haver zero ou mais entradas.</p><p>4.Saída: deve haver pelo menos uma saída.</p><p>5.Eficácia: as operações devem ser básicas e executáveis em um tempo finito.</p><p>17</p><p>Estrutura de um Algoritmo</p><p>1.Entrada: Dados fornecidos ao algoritmo.</p><p>2.Processamento: Conjunto de instruções para processar a entrada.</p><p>3.Saída: Resultado obtido após o processamento.</p><p>Exemplo:</p><p>18</p><p>Estrutura de um Algoritmo</p><p>Dados de entrada: representam os dados que são fornecidos para o</p><p>computador para que ele possa manipular a saída de saída.</p><p>Processamento: qualquer manipulação nos dados de entrada para</p><p>gerar a saída. Ex: cálculo de uma fórmula</p><p>Dados de Saída: estes representam os resultados do</p><p>processamento sobre os dados de entrada.</p><p>19</p><p>Estrutura de</p><p>um</p><p>Algoritmo</p><p>20</p><p>Exemplos de Algoritmos Simples</p><p>Algoritmo de Soma de Dois Números</p><p>•Passo 1: Iniciar.</p><p>•Passo 2: Ler número A.</p><p>•Passo 3: Ler número B.</p><p>•Passo 4: Somar A e B.</p><p>•Passo 5: Mostrar o resultado.</p><p>•Passo 6: Terminar.</p><p>21</p><p>Exemplos de Algoritmos Simples</p><p>22</p><p>Início</p><p>Fornecer o primeiro valor inteiro;</p><p>Fornecer o segundo valor inteiro;</p><p>Fornecer o terceiro valor inteiro;</p><p>Somar os três valores;</p><p>Pegar o resultado da soma e dividir por 3;</p><p>Mostrar o resultado obtido;</p><p>Fim</p><p>Exemplo 1: Algoritmo para calcular a média de três valores inteiros:</p><p>Exemplos de Algoritmos Simples</p><p>23</p><p>Para o exemplo anterior, temos:</p><p>• Quais são os dados de entrada?</p><p>R: Três números inteiros.</p><p>• Qual é o processamento a ser realizado nos dados de entrada?</p><p>R: Somar os três valores inteiros e dividir o resultado por três.</p><p>• Quais são os dados de saída?</p><p>R: A média dos três valores inteiros.</p><p>Processamento</p><p>dos Dados</p><p>(Processo)</p><p>Entrada de</p><p>Dados</p><p>(Fornecidos)</p><p>Saída de Dados</p><p>(Resultado)</p><p>Exemplos de Algoritmos Simples</p><p>24</p><p>Início</p><p>Fornecer o primeiro valor inteiro;</p><p>Fornecer o segundo valor inteiro;</p><p>Fornecer o terceiro valor inteiro;</p><p>Somar os três valores;</p><p>Pegar o resultado da soma e dividir por 3;</p><p>Mostrar o resultado obtido;</p><p>Fim</p><p>ENTRADA</p><p>PROCESSAMENTO</p><p>SAÍDA</p><p>Estruturas de Controle de Algoritmos</p><p>1.Sequência: Execução linear de instruções.</p><p>2.Decisão (Seleção): Escolha entre caminhos diferentes com base em</p><p>uma condição (ex: if-else).</p><p>3.Repetição (Loop): Repetição de um bloco de instruções (ex: for, while).</p><p>25</p><p>Representação de Algoritmo</p><p>Representação da lógica</p><p>Para desenvolver um programa é preciso ter um bom raciocino lógico, para</p><p>representarmos está lógica utilizamos as simbologias dos algoritmos. Na linguagem</p><p>computacional temos três tipos de algoritmos mais utilizados, são eles:</p><p>descrição narrativa, fluxograma e pseudocódigo ou portugol, que</p><p>descreveremos a seguir.</p><p>26</p><p>Representação de Algoritmo</p><p>1.Descrição Narrativa: a descrição narrativa consiste em entender o</p><p>problema proposto e escrever sua solução através da linguagem natural,</p><p>ou seja, a língua portuguesa.</p><p>2.Fluxogramas: diagramas gráficos que mostram o fluxo do algoritmo.</p><p>3.Pseudocódigo: descrição textual que usa uma linguagem semelhante à</p><p>programação para descrever o algoritmo.</p><p>27</p><p>Exemplo de Fluxogramas</p><p>Ex. “Calcular a média de quatro números”:</p><p>28</p><p>Símbolos</p><p>Básicos de</p><p>Fluxogramas</p><p>29</p><p>Exemplo de Descrição Narrativa</p><p>Ex. “somar dois números”:</p><p>1) Escrever primeiro número no retângulo A</p><p>2) Escrever segundo número no retângulo B</p><p>3) Somar o número do retângulo A com o número do</p><p>retângulo B</p><p>4) Escrever o resultado no retângulo C</p><p>A B C</p><p>+ =10 12 22</p><p>30</p><p>Exemplo de Pseudocódigo</p><p>Exemplo de Pseudocódigo para Encontrar o Maior de Dois Números</p><p>31</p><p>Vantagem e Desvantagens – Descrição Narrativa</p><p>Descrição Narrativa</p><p>Vantagens Desvantagem</p><p>Não é necessário aprender</p><p>nenhum conceito novo.</p><p>Basta escrever da maneira</p><p>como se fala.</p><p>Esta</p><p>linguagem da margem</p><p>para vários tipos de</p><p>interpretação. Portanto, se</p><p>você não for claro o</p><p>suficiente isto poderá</p><p>trazer dificultar a transição</p><p>desse algoritmo para a</p><p>programação.</p><p>32</p><p>Vantagem e Desvantagens – Fluxogramas</p><p>Fluxograma</p><p>Vantagens Desvantagem</p><p>O entendimento gráfico é</p><p>bem mais simples.</p><p>o É necessário que se</p><p>tenha conhecimento dos</p><p>símbolos.</p><p>o Modificações e edições</p><p>difíceis.</p><p>33</p><p>Vantagem e Desvantagens – Pseudocódigo ou Portugol</p><p>Pseudocódigo ou Portugol</p><p>Vantagens Desvantagem</p><p>O entendimento é bem mais</p><p>simples.</p><p>É necessário que se tenha</p><p>conhecimento da sintaxe</p><p>utilizada.</p><p>34</p><p>ATÉ AQUI - 13/08</p><p>35</p><p>Importância de Algoritmos</p><p>• Eficiência: algoritmos eficientes economizam tempo e recursos</p><p>computacionais.</p><p>• Soluções Padronizadas: algoritmos oferecem soluções padronizadas para</p><p>problemas comuns.</p><p>• Base da Programação: entender algoritmos é essencial para a construção de</p><p>programas eficazes.</p><p>Esses conceitos são fundamentais e formam a base para o estudo mais</p><p>aprofundado de algoritmos e programação.</p><p>36</p><p>Regras para Construção de Algoritmos</p><p>As regras para escrever um algoritmo não são complexas, basta ser</p><p>simples e objetiva.</p><p>Para isso descreva a sequência de instruções seguindo as dicas abaixo:</p><p>• Use um verbo por frase, seja objetivo.</p><p>• Não use frases rebuscadas e confusas, seja simples e claro no seu</p><p>objetivo.</p><p>• Não use palavras que deixe margem de dúvidas.</p><p>37</p><p>Fases de Algoritmos</p><p>Importante: um mal desenvolvedor de</p><p>algoritmos dificilmente será um bom</p><p>programador. Portanto, antes de ficar diante</p><p>do computador para desenvolver um</p><p>programa é preciso definir as metas.</p><p>38</p><p>Fases de Algoritmos</p><p>• Identificação do Problema: determinar o que se quer resolver ou qual objetivo a ser</p><p>atingido;</p><p>• Identificação das “entradas do sistema”: quais informações estarão disponíveis</p><p>(serão fornecidas);</p><p>• Identificação das “saídas do sistema”: quais informações deverão ser</p><p>geradas/calculadas como resultado;</p><p>• Definir os passos e a ordem a serem realizados: determinar a sequências de ações</p><p>que leve à solução do problema (transforme as entradas nas saídas).</p><p>• Teste o Algoritmo: teste cada passo do algoritmo, com todos os seus caminhos para</p><p>verificar se o processamento está gerando os resultados esperados. Crie valores de</p><p>teste para submeter ao algoritmo.</p><p>• Revisão: reveja o algoritmo, checando as boas normas de criação.</p><p>39</p><p>Propriedades de Algoritmos</p><p>• Um algoritmo é considerado eficaz, quando o resultado</p><p>pretendido é obtido, independentemente do tempo e dos</p><p>recursos utilizados.</p><p>• Por outro lado, um algoritmo será considerado eficiente,</p><p>caso consiga atingir o resultado esperado no mínimo de</p><p>tempo e com o menor número possível de recursos.</p><p>• Um algoritmo deverá ser sempre eficaz e eficiente.</p><p>40</p><p>Propriedades de Algoritmos</p><p>41</p><p>Será que fazemos</p><p>algoritmos diariamente???</p><p>42</p><p>PROBLEMA</p><p>43</p><p>Problemas fazem parte do nosso cotidiano.</p><p>Sempre que nos deparamos com um problema buscamos um</p><p>procedimento para solucionar o mesmo.</p><p>PROBLEMA</p><p>44</p><p>O uso da lógica é primordial na solução de problemas. Com ela é</p><p>possível alcançar objetivos com eficiência e eficácia.</p><p>Ninguém ensina outra pessoa a pensar, mas a desenvolver e</p><p>aperfeiçoar esta técnica, com persistência e constância.</p><p>45</p><p>Diariamente nos deparamos com</p><p>problemas que dependem de</p><p>raciocínio para serem</p><p>solucionados.</p><p>Isso acontece em casa, no</p><p>trabalho, na escola, ..., por</p><p>exemplo, no momento que</p><p>acordamos realizamos uma</p><p>porção de tarefas em uma</p><p>sequência lógica.</p><p>LÓGICA</p><p>46</p><p>Lógica é a técnica de encadear</p><p>pensamentos para atingir</p><p>determinado objetivo.</p><p>Necessária para desenvolver</p><p>programas e sistemas, pois permite</p><p>definir a sequência lógica para a</p><p>solução de um problema.</p><p>Exemplos de Algoritmos</p><p>No dia-a-dia executamos vários tipos de algoritmos, por exemplo imagine a seguinte</p><p>situação: O objetivo é levantar às 6:00h e sair para trabalhar.</p><p>Passo 1 – desligar o despertador</p><p>Passo 2 – levantar</p><p>Passo 3 – escovar os dentes</p><p>Passo 4 – tomar banho</p><p>Passo 5- trocar de roupa</p><p>Passo 6- tomar café</p><p>Passo 7-sair de casa.</p><p>Cada passo desse pode ser desenvolvido com refinamento 47</p><p>Exemplos de Algoritmos</p><p>Algoritmo em Descrição Narrativa Do Passo 6- tomar café</p><p>1. Preparação:</p><p>o Pegue uma xícara limpa.</p><p>o Verifique se há café disponível.</p><p>o Se necessário, prepare o café (colocar água para ferver, adicionar pó de café na cafeteira, etc.).</p><p>2. Preparo do Café:</p><p>o Se estiver usando uma cafeteira elétrica, ligue-a e espere até que o café esteja pronto.</p><p>o Se estiver fazendo café manualmente (coador), despeje a água quente lentamente sobre o pó de café</p><p>no coador.</p><p>3. Servir o Café:</p><p>o Despeje o café na xícara.</p><p>4. Adicionar Complementos (Opcional):</p><p>o Adicione açúcar, leite ou outros complementos, se desejado.</p><p>5. Beber o Café:</p><p>o Aguarde alguns instantes para o café esfriar a uma temperatura segura.</p><p>o Beba o café. 48</p><p>Exemplos de Algoritmos</p><p>Algoritmo em Pseudocódigo</p><p>Do Passo 6- tomar café</p><p>49</p><p>Exemplos de Algoritmos</p><p>Refinamento de ações</p><p>• Note que o algoritmo as ações podem ser desdobradas em</p><p>ações menores. Essas ações são chamadas de não-primitivas.</p><p>• Já ações que não podem mais ser desdobradas são chamadas</p><p>de primitivas.</p><p>Obs: devemos desdobrar as ações sempre ao máximo que for</p><p>possível</p><p>50</p><p>Exemplos de Algoritmos</p><p>Problema 1 : calcular a média de um aluno, baseado</p><p>nas notas de quatro provas, e verificar se foi aprovado.</p><p>Critério: será aprovado se a média for igual ou superior</p><p>a 7.0</p><p>51</p><p>Resolução do Problema 1 – Descrição Narrativa</p><p>1) Entrar com as 4 notas</p><p>2) Calcular a média</p><p>3) Verificar se a média é maior ou igual a 7.0</p><p>4) Se sim, apresentar no vídeo “Aprovado”</p><p>5) Se não, apresentar no vídeo “Reprovado”</p><p>52</p><p>Resolução do</p><p>Problema 1 -</p><p>Fluxograma</p><p>Exemplos de</p><p>Pseudocódigo</p><p>Estrutura do Pseudolinguagem</p><p>55</p><p>Testar Algoritmos</p><p>Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de</p><p>TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa</p><p>para verificar se o procedimento utilizado está correto ou não. Ou seja, haverá a</p><p>simulação da execução no papel para validar o código.</p><p>Veja o exemplo: Utilize a tabela abaixo:</p><p>Nota da Prova 1</p><p>Nota da Prova 2</p><p>Nota da Prova 3</p><p>Nota da Prova 4</p><p>Obs: a média é calculada pela fórmula (P1+P2+P3+P4)/4</p><p>TESTE DE MESA</p><p>1ª execução</p><p>2ª execução</p><p>3ª execução</p><p>56</p><p>Algoritmos X Programa</p><p>57</p><p>ALGORITMO X PROGRAMA</p><p>Um algoritmo é uma sequência lógica de ações a serem executadas para se executar</p><p>uma determinada tarefa. Um Programa é a formalização de um algoritmo em uma</p><p>determinada linguagem de programação, segundo suas regras de sintaxe e semântica,</p><p>de forma a permitir que o computador possa entender a sequência de ações.</p><p>LINGUAGEM DE PROGRAMAÇÃO</p><p>Conjunto de símbolos ( comandos, identificadores, caracteres etc. ....) e regras de</p><p>sintaxe que permitem a construção de sentenças que descrevem de forma precisa</p><p>ações compreensíveis e executáveis para o computador.</p><p>58</p><p>• Programa de Computador: sequência de</p><p>instruções não ambígua e finita em uma</p><p>linguagem de programação específica que,</p><p>quando executada, resolve um problema</p><p>determinado.</p><p>• Linguagem de máquina: é a linguagem</p><p>binária (composta de zeros e uns) utilizada</p><p>pelos computadores, para representar</p><p>dados, programas e informações. É tediosa,</p><p>difícil de se compreender e fácil de gerar</p><p>erros na programação.</p><p>59</p><p>Compilador x Interpretador</p><p>• Compilador: é um programa utilizado para traduzir os programas escritos pelo</p><p>programador nas linguagens de alto nível (programa fonte) para a linguagem de máquina</p><p>(programa executável), a fim de poder ser executado pelo computador. Ex: Linguagem C,</p><p>phyton</p><p>• Interpretador: é um programa que traduz os programas escritos pelo programador para a</p><p>linguagem de máquina, no momento da execução (não existindo assim o programa</p><p>executável). Ex: Linguagem PHP e Phyton.</p><p>60</p><p>Nesta disciplina daremos ênfase em</p><p>Pseudocódigo em Portugol Studio</p><p>61</p><p>Portugol</p><p>Studio</p><p>62</p><p>Portugol Studio</p><p>63</p><p>O Portugol Studio é uma ferramenta educativa desenvolvida para facilitar o</p><p>aprendizado de lógica de programação e algoritmos, especialmente para iniciantes.</p><p>Ele é particularmente popular em cursos introdutórios de programação por usar uma</p><p>sintaxe em português, o que torna o processo de aprendizagem mais acessível para</p><p>falantes da língua portuguesa.</p><p>Baixar em: https://univali-lite.github.io/Portugol-Studio/</p><p>Portugol Studio - Característica</p><p>64</p><p>Características do Portugol Studio:</p><p>1.Sintaxe em Português: uma das maiores vantagens do Portugol Studio é que ele usa</p><p>palavras-chave e estruturas de controle em português. Isso elimina a barreira da</p><p>linguagem que muitos iniciantes enfrentam ao aprender a programar em linguagens que</p><p>utilizam inglês.</p><p>2.Ambiente Integrado de Desenvolvimento (IDE) Simples: o Portugol Studio oferece um</p><p>ambiente de desenvolvimento integrado (IDE) que é simples e intuitivo. Ele inclui recursos</p><p>como edição de código, execução de programas e visualização de saídas, tudo em uma</p><p>única interface.</p><p>3.Foco em Algoritmos e Lógica de Programação: o objetivo principal do Portugol Studio</p><p>é ensinar os fundamentos da programação e da lógica algorítmica. Isso inclui o uso de</p><p>variáveis, estruturas de controle (como loops e condicionais), funções, e manipulação de</p><p>dado</p><p>Portugol Studio - Característica</p><p>65</p><p>4 . Compatibilidade Multiplataforma: o Portugol Studio é compatível com diferentes</p><p>sistemas operacionais, como Windows, macOS e Linux, o que facilita seu uso em</p><p>diferentes ambientes educacionais.</p><p>5. Exemplos e Exercícios Práticos: a ferramenta vem com diversos exemplos e permite</p><p>que os professores criem exercícios personalizados para os alunos. Isso ajuda a</p><p>reforçar os conceitos aprendidos e permite a prática contínua.</p><p>6. Feedback em Tempo Real: durante a execução de um programa, o Portugol Studio</p><p>fornece feedback em tempo real, mostrando erros de sintaxe ou lógica diretamente no</p><p>código. Isso facilita a correção de erros e acelera o processo de aprendizado.</p><p>7. Comunidade e Recursos Online: há uma comunidade ativa de usuários do Portugol</p><p>Studio que compartilham exemplos, exercícios e soluções. Além disso, existem</p><p>tutoriais e documentações disponíveis online para ajudar novos usuários a se</p><p>familiarizarem com a ferramenta.</p><p>Portugol Studio</p><p>66</p><p>Para quem é indicado?</p><p>O Portugol Studio é ideal para:</p><p>• Estudantes que estão começando a aprender programação.</p><p>• Professores que querem ensinar lógica de programação de forma didática e</p><p>acessível.</p><p>• Qualquer pessoa interessada em entender os conceitos básicos de algoritmos e</p><p>programação antes de avançar para linguagens mais complexas.</p><p>Portugol Studio</p><p>67</p><p>Exemplos de Uso:</p><p>• Resolução de problemas matemáticos simples: Escrever programas que calculam</p><p>a média de notas, a área de figuras geométricas, ou que resolvem equações simples.</p><p>• Estruturas de controle: Criar programas que utilizam "se", "enquanto", e "para" para</p><p>tomar decisões e repetir ações.</p><p>• Manipulação de dados: Criar algoritmos que lidam com vetores, matrizes, e</p><p>ordenação de listas.</p><p>Em resumo, o Portugol Studio é uma excelente ferramenta educativa que torna o</p><p>aprendizado de programação mais acessível e menos intimidante para iniciantes.</p><p>Ele serve como uma base sólida para aprender os conceitos que serão usados em</p><p>linguagens de programação mais avançadas.</p><p>MÓDULO II</p><p>VARIÁVEIS E ESTRUTURA</p><p>SEQUENCIAL</p><p>68</p><p>VARIÁVEIS, CONSTANTES E</p><p>IDENTIFICADORES</p><p>69</p><p>VARIÁVES, CONSTANTES, IDENTIFICADORES</p><p>Como já sabemos, os computadores</p><p>manipulam dados através dos programas. Mas</p><p>como os programas trabalham com estes</p><p>dados?</p><p>Os dados ficam na memória, portanto o programa</p><p>precisa de uma forma de acessar esta memória e,</p><p>consequentemente, os dados. Os programas acessam</p><p>os dados através de constantes e variáveis.</p><p>70</p><p>Importância da variável de Variável</p><p>71</p><p>Para um programa acessar um dado da memória,</p><p>este precisa saber onde o dado está, ou qual é o</p><p>seu endereço. Como trabalhar com endereços é</p><p>muito difícil e sujeito a erros, o dado de um</p><p>programa é localizado na memória através das</p><p>variáveis.</p><p>Variável</p><p>72</p><p>Variáveis</p><p>Os computadores processam dados</p><p>que ficam em sua memória. Assim, o</p><p>programa precisa de uma forma para</p><p>acessar esta memória e,</p><p>consequentemente, os dados.</p><p>Conceito e Características das Variáveis</p><p>73</p><p>Uma variável é um espaço na memória do computador que é reservado para</p><p>armazenar um valor que pode ser alterado durante a execução de um programa.</p><p>Principais características:</p><p>• Nome: cada variável tem um nome único dentro de um determinado escopo, que</p><p>serve para identificar e acessar o valor armazenado.</p><p>• Tipo: a variável é associada a um tipo de dado, que define o tipo de valor que ela</p><p>pode armazenar (por exemplo, inteiro, real, caractere, etc.).</p><p>• Valor: o conteúdo ou valor atual da variável, que pode mudar ao longo do tempo.</p><p>Função das Variáveis</p><p>74</p><p>Função das Variáveis:</p><p>• Armazenar Dados: Variáveis permitem armazenar dados temporariamente, como</p><p>resultados intermediários de cálculos ou dados de entrada do usuário.</p><p>o Simples – armazena um único valor por vez</p><p>o Compostas – armazena vários valores ao mesmo tempo (vetores e matrizes)</p><p>• Reutilização: Com as variáveis, é possível reutilizar e manipular dados ao longo do</p><p>programa, sem a necessidade de alocar novos espaços de memória</p><p>repetidamente.</p><p>Escopo das Variáveis</p><p>75</p><p>Escopo das Variáveis:</p><p>O escopo de variáveis refere-se ao contexto dentro de um programa em</p><p>que uma variável é válida e pode ser acessada. O escopo determina a</p><p>visibilidade e a disponibilidade de uma variável em diferentes partes do</p><p>código.</p><p>Compreender o escopo é importante para evitar erros e bugs no código,</p><p>especialmente em linguagens de programação como C ou em ambientes</p><p>de algoritmos.</p><p>Escopo das Variáveis</p><p>76</p><p>Escopo da Variável:</p><p>• Local – Uma variável local só pode ser usada dentro da sua função.</p><p>• Global – Uma variável global é uma variável definida fora de uma</p><p>função. As variáveis globais podem ser acessadas de qualquer</p><p>função. O acesso a essas variáveis podem ser acessadas em</p><p>qualquer parte do programa, exceto dentro de funções ou blocos</p><p>onde variáveis locais com o mesmo nome possam sobrescrevê-las.</p><p>Variáveis</p><p>77</p><p>É praticamente impossível criarmos um programa de computador que não</p><p>utilize pelo menos uma variável (a não ser que seu programa apenas imprima</p><p>alguma informação em tela!). Toda variável a ser utilizada deve ser identificada (ter</p><p>um nome) e tipada (ter um tipo).</p><p>Exemplos de Variáveis</p><p>78</p><p>VARIÁVIES</p><p>79</p><p>Ex: representação com 25 posições da memória. Os números são os endereços da memória</p><p>VARIÁVIES</p><p>80</p><p>VARIÁVIES</p><p>81</p><p>Nas variáveis temos:</p><p>NOME</p><p>Tipo: cadeia</p><p>Conteúdo: “João”</p><p>CPF</p><p>Tipo: inteiro</p><p>Conteúdo: 2625387454</p><p>SALARIO</p><p>Tipo: real</p><p>Conteúdo: 2500,00</p><p>IDENTIFICADORES</p><p>Programas de computador utilizam os recursos de hardware mais básicos</p><p>para executar algoritmos. Enquanto o processador executa os cálculos, a</p><p>memória é responsável por armazenar dados e servi-los ao processador.</p><p>• Identificadores: Representam os nomes escolhidos para rotular as</p><p>variáveis, procedimentos e funções.</p><p>82</p><p>REGRAS PARA NOMEAR IDENTIFICADORES</p><p>As regras para nomear variáveis são fundamentais para garantir que os nomes</p><p>sejam válidos e compreensíveis tanto para o compilador quanto para os</p><p>desenvolvedores. Aqui estão as principais regras:</p><p>• Nomes de variáveis podem ser atribuídos com um ou mais caracteres;</p><p>• Início com Letra ou Subtraço (_) underline</p><p>• Não pode conter espaços ou caracteres especiais ($, %, #, @, espaço em</p><p>branco, etc), exceto underline;</p><p>83</p><p>84</p><p>• Case Sensitivity (Sensibilidade a Maiúsculas e Minúsculas):</p><p>o Em Portugol Studio, as variáveis são sensíveis a maiúsculas e minúsculas,</p><p>ou seja, idade, Idade, e IDADE são consideradas variáveis diferentes.</p><p>• Não Usar Palavras Reservadas:</p><p>Não se pode usar palavras reservadas da linguagem de programação como nome</p><p>de variáveis.</p><p>o Exemplos de palavras reservadas em C: int,</p><p>float, return, if</p><p>o Exemplos de palavras reservadas em Portugol Studio: inteiro, real, logico,</p><p>enquanto.</p><p>REGRAS PARA NOMEAR IDENTIFICADORES</p><p>85</p><p>COMANDO DE DECLARAÇÃO</p><p>Consiste na definição dos nomes e valores das</p><p>constantes e dos nomes e tipos das variáveis que</p><p>serão utilizadas pelos algoritmos, incluindo</p><p>comentário, quando se fizerem necessários.</p><p>A declaração deve estar no início do algoritmo,</p><p>antes das constantes e variáveis serem de fato</p><p>utilizadas no algoritmo.</p><p>Comando de</p><p>Declaração de</p><p>variáveis e</p><p>constantes</p><p>86</p><p>DECLARAÇÃO DE VARIÁVIES E CONSTANTES</p><p>No momento em que a variável é declarada, é reservado um espaço na memória RAM</p><p>(Random Access Memory), onde ficará armazenado o conteúdo desta variável.</p><p><tipo das variáveis> <identificador 1>, <identificador 2>, ..., <identificador n></p><p>onde <tipo das variáveis> determina que tipo de valor as variáveis poderão receber e</p><p><identificador i> é o nome (identificador) de uma variável e. Os identificadores das</p><p>variáveis são usados para referenciá-las dentro do algoritmo. Tais identificadores</p><p>devem ser claros e precisos, dando uma ideia do “papel” da variável no algoritmo.</p><p>DECLARANDO</p><p>VARIÁVIES</p><p>87</p><p>88</p><p>CONCEITO DE E CONSTANTES</p><p>Constantes</p><p>As contantes são dados estáticos, o seu conteúdo pode ser acessado a</p><p>qualquer momento. O conteúdo de uma constante será atribuído no</p><p>momento de sua criação e não poderá ser mais alterado. A atribuição de</p><p>valores é feita com o operador</p><p>Exemplos: pi, polegada.</p><p>Por exemplo, quando atribuímos o valor de pi (3,1415), o valor não se</p><p>altera nunca. Nesses casos atribuímos uma constante ao invés de utilizar o</p><p>valor fixo no programa.</p><p>DECLARANDO</p><p>CONSTANTES</p><p>89</p><p>90</p><p>CONSTANTES</p><p>Saída de dados:</p><p>Algoritmo:</p><p>91</p><p>Uma diferença fundamental entre</p><p>constantes e variáveis é que</p><p>constantes mantêm o mesmo valor</p><p>durante toda a execução do</p><p>programa, enquanto variáveis podem</p><p>ter seus valores alterados conforme o</p><p>programa é executado.</p><p>A escolha entre o uso de constantes e</p><p>variáveis depende do contexto e dos</p><p>requisitos do programa. Constantes</p><p>são úteis quando você quer garantir</p><p>que um valor não seja modificado</p><p>acidentalmente, enquanto variáveis</p><p>são usadas para armazenar dados que</p><p>podem mudar ao longo do tempo.</p><p>VARIÁVEIS X CONSTANTES</p><p>CONSIDERAÇÕES DE VARIÁVIES</p><p>• Define os locais na memória que serão rotulados com o identificador da</p><p>variável que será utilizada para a manipulação de um determinado tipo de</p><p>dado;</p><p>• Nenhuma variável pode ser usada sem antes ter sido declarada;</p><p>• Toda variável possui um nome ou identificador;</p><p>• O conteúdo pode variar ao longo da execução do programa;</p><p>• As variáveis só podem armazenar valores de um mesmo tipo, de forma</p><p>que elas são classificadas como: inteiro, real, caractere, cadeia e logico.</p><p>92</p><p>93</p><p>PALAVRAS RESERVADAS</p><p>Palavras Reservadas</p><p>São palavras que terão uso específico no</p><p>nosso pseudocódigo e que não deverão</p><p>ser usadas como identificadores, para</p><p>não causar confusão na interpretação.</p><p>Palavras</p><p>Reservadas</p><p>Portugol</p><p>Studio</p><p>Categoria de Palavras Reservadas</p><p>• Declaração de Tipos: inteiro, real, caractere,</p><p>cadeia, logico, vetor</p><p>• Controle de Fluxo: se, senao, enquanto,</p><p>para, faca</p><p>• Entrada e Saída: leia, escreva</p><p>• Funções e Procedimentos: funcao,</p><p>procedimento, retorne</p><p>• Constantes: const</p><p>• Outras: inicio, fim, verdadeiro, falso</p><p>95</p><p>• Comprimento do Nome:</p><p>Não há um limite estrito em muitas linguagens modernas, mas é recomendável</p><p>manter nomes de variáveis curtos, porém descritivos, para facilitar a leitura do</p><p>código.</p><p>Exemplo: somaTotal é mais descritivo que apenas s, mas não tão longo a ponto de</p><p>dificultar a leitura.</p><p>REGRAS PARA NOMEAR IDENTIFICADORES</p><p>BOAS PRÁTICAS PARA DEFINIR IDENTIFICADORES</p><p>96</p><p>Boas Práticas:</p><p>• Nomes Descritivos: escolha nomes que reflitam claramente o propósito da</p><p>variável. Por exemplo, use altura para armazenar a altura de uma pessoa.</p><p>• Evite Abreviações Incompreensíveis: nomes como cnt em vez de contador</p><p>podem ser confusos para outras pessoas lendo o código.</p><p>• Consistência: mantenha uma convenção de nomeação consistente (como</p><p>camelCase ou snake_case) ao longo de todo o código.</p><p>IDENTIFICADORES</p><p>É importante que seja seguido um padrão para os</p><p>identificadores, onde possam ser destacados das palavras</p><p>reservadas existentes na linguagem estruturada, exemplo:</p><p>• Primeira letra da palavra em maiúscula e as restantes</p><p>minúsculas; (Nome, Idade)</p><p>• Todas as letras maiúsculas; (NOME, IDADE)</p><p>• Todas as letras minúsculas. (nome, idade)</p><p>97</p><p>EXEMPLO DE IDENTIFICADORES</p><p>98</p><p>Exemplos de Nomes Válidos: Exemplos de Nomes Inválidos:</p><p>notaAluno</p><p>media_salarial</p><p>_totalVendas</p><p>contador1</p><p>1valor (começa com um número)</p><p>nome@usuario (contém caractere</p><p>inválido)</p><p>float (palavra reservada)</p><p>Exercícios: quais destes nomes são válidos???</p><p>99</p><p>NOME</p><p>Nome do pai</p><p>Nomedamãe</p><p>X</p><p>1ENDERECO</p><p>ENDEREÇO1</p><p>RUA&NUMERO</p><p>CEP</p><p>NOTA2</p><p>Sexo</p><p>Telefone</p><p>Nota-1</p><p>Nota_2</p><p>Resposta:</p><p>NOME</p><p>X</p><p>CEP</p><p>NOTA2</p><p>Sexo</p><p>Telefone</p><p>Nota_2</p><p>EXERCÍCIOS</p><p>Verifique se os nomes dos identificadores são válidos marcando V ou F:</p><p>a) Sexo ( ) e) Localidade ( ) i) Endereco ( )</p><p>b) 12Nome ( ) f) Nota1 ( ) j) Valor $ ( )</p><p>c) Nota ( ) g) Percentagem% ( ) k) Numero ( )</p><p>d) Sexo=M/F ( ) h) Nome Pai ( ) i) NomeAluno ( )</p><p>100</p><p>BOAS PRÁTICAS - COMENTÁRIOS</p><p>101</p><p>Atenção: antes de tudo, devemos falar sobre a importância dos comentários</p><p>em algoritmos.</p><p>• É utilizado para adicionar informações afim de facilitar o entendimento de</p><p>quem ler o algoritmo, e adicionar observações sobre o funcionamento do</p><p>programa, etc. Serve de documentação do programa.</p><p>• É importante frisar que os comentários não são executados pelo programa,</p><p>ou seja, no momento da execução do programa os comentários são</p><p>ignorados.</p><p>• No Portugol Studio ou em C, um comentário inicia com // ou /**/</p><p>BOAS PRÁTICAS - COMENTÁRIOS</p><p>102</p><p>• Os comentários são declarações não compiladas que podem conter qualquer</p><p>informação textual que o programador queira adicionar ao código-fonte para</p><p>referência e documentação de seu programa.</p><p>• O compilador ignora completamente o que quer esteja dentro de um</p><p>comentário.</p><p>• É sempre uma boa ideia colocar comentários em seu programa das coisas que</p><p>não são claras. Isto vai ajudar quando mais tarde você olhar o programa que</p><p>escreveu já há algum tempo ou vai ajudar a entender programas escritos por</p><p>outra pessoa, mas também não abuse deles: um código com muitos fica difícil</p><p>de ser lido.</p><p>TIPOS DE DADOS</p><p>10</p><p>3</p><p>Tipos de</p><p>Dados</p><p>104</p><p>Tipos de dados básicos em Portugol Studio</p><p>Descrição dos Tipos de Dados:</p><p>• inteiro: Usado para armazenar números sem fração,</p><p>como -10, 0, 5, 1000.</p><p>• real: Usado para armazenar números com fração, como</p><p>3.14, 0.001, -2.5.</p><p>• caractere: Usado para armazenar um único símbolo de</p><p>texto, como 'A', '9', '$'.</p><p>• cadeia: Usado para armazenar uma sequência de</p><p>símbolos de texto, como "Olá", "1234", "Portugol".</p><p>• logico: Usado para armazenar um valor de verdadeiro ou</p><p>falso, como verdadeiro ou falso.</p><p>Tipos de</p><p>Dados</p><p>105</p><p>Esse quadro resume os tipos de dados básicos em Portugol Studio</p><p>ENTRADA E SAÍDA DE</p><p>DADOS</p><p>106</p><p>107</p><p>O que significa</p><p>entrada e saída?</p><p>ENTRADA E</p><p>SAÍDA DE</p><p>DADOS</p><p>108</p><p>Entrada – São comados que</p><p>levam informações de fora</p><p>para dentro do computador.</p><p>Saída - São comados que</p><p>levam informações do</p><p>computador para fora .</p><p>COMANDO DE ENTRADA E</p><p>SAÍDA DE DADOS</p><p>109</p><p>COMANDO DE SAÍDA DE DADOS</p><p>110</p><p>Os algoritmos precisam interagir com o usuário e para isso podemos utilizar o comando</p><p>escreva() para imprimir alguma coisa na tela. Esse é um comando muito simples e portanto</p><p>será o primeiro que aprenderemos nessa mecânica de entrada/saída de dados.</p><p>Por exemplo, podemos mostrar uma mensagem na tela utilizando o seguinte comando:</p><p>Ao executar o comando, na tela apareceria a</p><p>mesma mensagem que vemos na Figura ao lado.</p><p>COMANDO DE ENTRADA DE DADOS</p><p>111</p><p>Para que o usuário interaja com o algoritmo, este precisa ler o dado por meio</p><p>do comando leia().</p><p>Contudo, assim como</p><p>quando lemos alguma informação e guardamos ela no nosso</p><p>cérebro, o computador também guardará o dado lido na memória. Lembrando do conceito</p><p>de variáveis, o dado informado será armazenado em uma variável.</p><p>Lembre-se que o</p><p>comando leia sempre</p><p>guardará o valor em</p><p>uma variável.</p><p>Execução do comando leia</p><p>RETORNANDO DADOS</p><p>112</p><p>Retornando dados</p><p>O comando escreva também pode</p><p>retornar o valor de variáveis ao</p><p>usuário, juntamente com outras</p><p>informações que queremos passar.</p><p>Como exemplo podemos informar</p><p>ao usuário qual foi o nome</p><p>informado utilizando os seguintes</p><p>comandos:</p><p>113</p><p>Na Figura vemos como funciona o esquema, considerando que o usuário digitaria Carlos</p><p>no momento da execução.</p><p>Na linha 3 passamos a mensagem que queremos entre aspas e o algoritmo nos retorna o</p><p>valor armazenado na variável nome. A sintaxe utilizada com a impressão de texto (entre "")</p><p>se faz necessária para dar clareza ao que está sendo impresso.</p><p>EXEMPLO DE</p><p>ENTRADA E</p><p>SAÍDA EM</p><p>PORTUGOL</p><p>STUDIO</p><p>114</p><p>115</p><p>Vamos concluir a estrutura já criada com esses comandos? Acompanhe o algoritmo</p><p>completo:</p><p>MÓDULO II</p><p>ESTRUTURA SEQUENCIAL</p><p>116</p><p>TIPOS DE DADOS</p><p>117</p><p>Tipos de</p><p>Dados</p><p>118</p><p>Esse quadro resume os tipos de dados básicos em Portugol</p><p>Studio</p><p>Tipos de</p><p>Dados</p><p>119</p><p>Tipos de dados básicos em Portugol Studio</p><p>Descrição dos Tipos de Dados:</p><p>• inteiro: Usado para armazenar números sem fração,</p><p>como -10, 0, 5, 1000.</p><p>• real: Usado para armazenar números com fração, como</p><p>3.14, 0.001, -2.5.</p><p>• caractere: Usado para armazenar um único símbolo de</p><p>texto, como 'A', '9', '$'.</p><p>• cadeia: Usado para armazenar uma sequência de</p><p>símbolos de texto, como "Olá", "1234", "Portugol".</p><p>• logico: Usado para armazenar um valor de verdadeiro ou</p><p>falso, como verdadeiro ou falso.</p><p>OPERADORES</p><p>120</p><p>OPERADOR DE ATRIBUIÇÃO</p><p>121</p><p>Operadores de ATRIBUIÇÃO</p><p>Um operador de atribuição atribui um valor ao operando à sua esquerda</p><p>baseado no valor do operando à direita. O operador de atribuição básico é</p><p>o igual (=), que atribui o valor do operando à direita ao operando à</p><p>esquerda. Isto é, x = y atribui o valor de y a x.</p><p>O comando de atribuição é a forma do programador</p><p>dar valor a uma variável ou constante</p><p>OPERADOR DE ATRIBUIÇÃO</p><p>122</p><p>OPERADOR DE ATRIBUIÇÃO</p><p>123</p><p>✓No comando de atribuição, a variável e a expressão</p><p>devem ser do mesmo tipo, exceto no caso em que a</p><p>variável é real, quando a expressão pode ser inteira.</p><p>Neste caso, o valor inteiro da expressão é</p><p>transformado em real.</p><p>✓Do seu lado esquerdo fica a variável à qual está sendo atribuído o valor,</p><p>e à sua direita pode-se colocar qualquer expressão (constantes,</p><p>variáveis, expressões numéricas), desde que seu resultado tenha tipo</p><p>igual ao da variável.</p><p>Comando de Atribuição</p><p>LINEARIZAÇÃO DE EXPRESSÕES</p><p>124</p><p>Linearização de Expressões</p><p>Para a construção de algoritmos que realizam cálculo matemáticos, todas as</p><p>expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas,</p><p>devendo também ser feito o mapeamento dos operadores da aritmética</p><p>tradicional para os do Portugol, a tabela a seguir mostra um exemplo.</p><p>OPERADORES</p><p>ARITMÉTICOS</p><p>OPERADORES</p><p>RELACIONAIS</p><p>EXEMPLO DE USO DOS OPERADORES RELACIONAIS</p><p>127</p><p>OPERADORES LÓGICOS</p><p>128</p><p>• Os operadores lógicos são utilizados quando é necessário usar duas ou</p><p>mais condições dentro da mesma instrução se para que seja tomada uma</p><p>única decisão cujo resultado será verdadeiro ou falso.</p><p>• Os operadores lógicos combinam condições simples em expressões</p><p>lógicas.</p><p>• O valor de retorno se uma expressão lógica é verdadeiro (true) ou falso</p><p>(false).</p><p>OPERADORES LÓGICOS</p><p>129</p><p>Operações Lógicas</p><p>• São operações efetuadas com os valores booleanos (true ou</p><p>false,[Verdadeiro ou Falso]). Esse tipo de operação é utilizado nas</p><p>condicionais SE, e em estruturas de repetição.</p><p>• Os operadores lógicos que iremos aprender são os seguintes: e, ou e o</p><p>operador nao</p><p>OPERADORES</p><p>LÓGICOS</p><p>OPERADOR</p><p>LÓGICO</p><p>PORTUGOL</p><p>STUDIO</p><p>Multiplicação</p><p>lógica</p><p>e</p><p>Adição lógica ou</p><p>Negação nao</p><p>OPERADORES LÓGICO EM LINGUAGEM C</p><p>131</p><p>Para usar os operadores lógicos,</p><p>devemos relembrar a Tabela verdade</p><p>132</p><p>RESUMO DA TABELA VERDADE</p><p>133</p><p>OPERADOR RESULTADO DE EXPRESSÃO</p><p>e Uma expressão (e) é verdadeira se todas as condições forem</p><p>verdadeiras.</p><p>ou Uma expressão (ou) é verdadeira se pelo menos uma condição for</p><p>verdadeira.</p><p>nao Uma expressão (nao) inverte o valor da expressão ou condição, se</p><p>verdadeira inverte ara falsa e vice-versa.</p><p>TABELA VERDADE</p><p>134</p><p>F ou F → FF e F → F</p><p>F ou V → VF e V → F</p><p>Não V → FV ou F → VV e F → F</p><p>Não V → FV ou V → VV e V → V</p><p>Tabela</p><p>NÃO (!)</p><p>Tabela</p><p>OU (||)</p><p>Tabela</p><p>E (&&)</p><p>OPERADORES DE CARACTERES</p><p>135</p><p>+ é um operador de concatenação de strings (que são cadeias de caracteres), quando é</p><p>usado com dois valores (variáveis ou constantes) que são um caractere ou uma cadeia de</p><p>caracteres. Em algumas linguagens, esse operador é representado por outro símbolo. Por</p><p>exemplo, no PHP, ele é representado por um ponto. O Portugol suporta o operador de</p><p>concatenação. Veja um exemplo:</p><p>PRIORIDADE ENTRE OS OPERADORES</p><p>136</p><p>OPERADOR PRIORIDADE</p><p>NEGAÇÃO 3 (Maior)</p><p>E 2</p><p>OU 1</p><p>OPERADOR PRIORIDADE</p><p>ARITMÉTICOS 3 (Maior)</p><p>RELACIONAIS 2</p><p>LÓGICOS 2</p><p>Operadores são indispensáveis em nossos programas, mas para que</p><p>possamos criar algoritmos eficientes, precisamos atentar às</p><p>particularidades dos operadores, bem como à ordem de precedência</p><p>de cada um.</p><p>PRIORIDADE GERAL ENTRE OS OPERADORES</p><p>137</p><p>TABELA DE PRIORIDADES ENTRE FUNÇÃO E OPERADORES</p><p>1º Parênteses</p><p>2º Potenciação e radiciação</p><p>3º Multiplicação, divisão e módulo resto (*,/,%)</p><p>4º Adição e subtração</p><p>5º Operadores relacionais (>, <, >=,<=, ==, != )</p><p>6º Negação (nao)</p><p>7º Conjunção (e)</p><p>8º Disjunção (ou)</p><p>EXERCÍCIOS DE FIXAÇÃO</p><p>1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo.</p><p>Informe se as expressões são verdadeiras ou falsas.</p><p>138</p><p>2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras</p><p>ou falsas.</p><p>139</p><p>Exercícios de Fixação</p><p>3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são</p><p>verdadeiras ou falsas.</p><p>a) (A > C) e (C<=D ) ( )</p><p>b) (A+B) > 10 ou (A+B) = (C+D) ( )</p><p>c) (A>=C) e (D>=C) ( )</p><p>ESTRUTURAS DE</p><p>CONTROLE</p><p>14</p><p>0</p><p>ESTRUTURAS DE CONTROLE</p><p>141</p><p>Toda linguagem de programação precisa oferecer um mínimo de três formas</p><p>básicas de controle:</p><p>1. Executar uma série de instruções lineares (SEQUENCIAL);</p><p>2. Praticar testes para decidir entre ações alternativas (CONDICIONAL);</p><p>3. Repetir uma sequência de instruções até que certa condição seja atendida</p><p>(REPETIÇÃO).</p><p>ESTRUTURA</p><p>SEQUENCIAL</p><p>142</p><p>ESTRUTURA SEQUENCIAL</p><p>A estrutura sequencial é um dos</p><p>blocos de construção básicos em</p><p>programação e refere-se a uma</p><p>sequência de instruções que são</p><p>executadas em ordem, uma após a</p><p>outra. Essa é a forma mais simples</p><p>de estrutura de controle e é usada</p><p>para realizar tarefas passo a passo.</p><p>143</p><p>ESTRUTURA SEQUENCIAL</p><p>144</p><p>Na estrutura sequencial os</p><p>comandos de um algoritmo são</p><p>executados numa sequência pré-</p><p>estabelecida.</p><p>Cada comando é executado</p><p>somente após o término do</p><p>comando anterior.</p><p>ESTRUTURA SEQUENCIAL</p><p>Conceitos-chave da estrutura sequencial em algoritmos:</p><p>• Sequencialidade: As instruções são executadas em ordem, da primeira para</p><p>a última, sem desvios ou repetições. Cada instrução é executada após a</p><p>conclusão da anterior.</p><p>• Início e Fim: Um algoritmo começa com uma instrução de início e termina</p><p>com uma instrução de fim. Essas instruções marcam o início e o fim da</p><p>execução do algoritmo.</p><p>• Variáveis: Variáveis são usadas para armazenar dados temporariamente.</p><p>Você pode atribuir valores às variáveis e realizar operações com esses</p><p>valores no decorrer do algoritmo.</p><p>• Entrada e Saída: Os algoritmos frequentemente incluem instruções para</p><p>entrada de dados (por exemplo, a partir do teclado) e saída de resultados</p><p>(por exemplo, na tela).</p><p>145</p><p>Para enteder o problema</p><p>é necessário</p><p>identificar:</p><p>1. Quais são os dados de entrada?</p><p>2. Quais são os cálculos a serem realizados?</p><p>3. Quais são os dados de saída?</p><p>4. Qual a ordem correta dos comandos?</p><p>146</p><p>Faça isto sempre que for resolver um</p><p>algoritmo, ou seja, um problema!</p><p>LISTA DE EXERCÍCIOS</p><p>ESTRUTURA</p><p>SEQUENCIAL</p><p>14</p><p>7</p><p>LISTA DE EXERCÍCIOS</p><p>148</p><p>1) Faça um algoritmo que leia três notas, calcule e escreva a média.</p><p>2) Elabore um algoritmo em que leia o tamanho do lado de um quadrado e escreva a área</p><p>e o perímetro do quadrado. (Perímetro = 4 * Lado; área = Lado 2).</p><p>3) Faça um algoritmo em leia dois valores para as variáveis A e B, efetuar a troca dos</p><p>valores de forma a variável A passe a ter o valor de B, e que a variável B passe a ter o</p><p>valor de A.</p><p>4) Faça um algoritmo que calcule e escreva, para um salário informado pelo usuário, um</p><p>novo salário com aumento de 18%.</p><p>5) Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual.</p><p>Calcule e mostre a idade dessa pessoa.</p><p>Slide 1: LÓGICA DE PROGRAMAÇÃO E ALGORITMOS - LPA</p><p>Slide 2: Qual a importância desta disciplina???</p><p>Slide 3: Importância da Disciplina</p><p>Slide 4: Objetivos da Disciplina</p><p>Slide 5</p><p>Slide 6: Conceitos Básicos</p><p>Slide 7: Exemplo de um algoritmo em Portugol Studio</p><p>Slide 8</p><p>Slide 9</p><p>Slide 10</p><p>Slide 11: O que é Programação? = ABSTRAÇÃO!</p><p>Slide 12: Abstração</p><p>Slide 13: Conceitos Básicos</p><p>Slide 14: Conceitos Básicos</p><p>Slide 15: Conceitos Básicos</p><p>Slide 16: Conceitos Básicos</p><p>Slide 17: Características de um Algoritmo</p><p>Slide 18: Estrutura de um Algoritmo</p><p>Slide 19: Estrutura de um Algoritmo</p><p>Slide 20: Estrutura de um Algoritmo</p><p>Slide 21: Exemplos de Algoritmos Simples</p><p>Slide 22: Exemplos de Algoritmos Simples</p><p>Slide 23: Exemplos de Algoritmos Simples</p><p>Slide 24: Exemplos de Algoritmos Simples</p><p>Slide 25: Estruturas de Controle de Algoritmos</p><p>Slide 26: Representação de Algoritmo</p><p>Slide 27: Representação de Algoritmo</p><p>Slide 28: Exemplo de Fluxogramas</p><p>Slide 29: Símbolos Básicos de Fluxogramas</p><p>Slide 30: Exemplo de Descrição Narrativa</p><p>Slide 31: Exemplo de Pseudocódigo</p><p>Slide 32: Vantagem e Desvantagens – Descrição Narrativa</p><p>Slide 33: Vantagem e Desvantagens – Fluxogramas</p><p>Slide 34: Vantagem e Desvantagens – Pseudocódigo ou Portugol</p><p>Slide 35: ATÉ AQUI - 13/08</p><p>Slide 36: Importância de Algoritmos</p><p>Slide 37: Regras para Construção de Algoritmos</p><p>Slide 38: Fases de Algoritmos</p><p>Slide 39: Fases de Algoritmos</p><p>Slide 40: Propriedades de Algoritmos</p><p>Slide 41: Propriedades de Algoritmos</p><p>Slide 42: Será que fazemos algoritmos diariamente???</p><p>Slide 43: PROBLEMA</p><p>Slide 44: PROBLEMA</p><p>Slide 45</p><p>Slide 46: LÓGICA</p><p>Slide 47: Exemplos de Algoritmos</p><p>Slide 48: Exemplos de Algoritmos</p><p>Slide 49: Exemplos de Algoritmos</p><p>Slide 50: Exemplos de Algoritmos</p><p>Slide 51: Exemplos de Algoritmos</p><p>Slide 52: Resolução do Problema 1 – Descrição Narrativa</p><p>Slide 53: Resolução do Problema 1 - Fluxograma</p><p>Slide 54: Exemplos de Pseudocódigo</p><p>Slide 55: Estrutura do Pseudolinguagem</p><p>Slide 56: Testar Algoritmos</p><p>Slide 57: Algoritmos X Programa</p><p>Slide 58</p><p>Slide 59</p><p>Slide 60: Compilador x Interpretador</p><p>Slide 61: Nesta disciplina daremos ênfase em Pseudocódigo em Portugol Studio</p><p>Slide 62: Portugol Studio</p><p>Slide 63: Portugol Studio</p><p>Slide 64: Portugol Studio - Característica</p><p>Slide 65: Portugol Studio - Característica</p><p>Slide 66: Portugol Studio</p><p>Slide 67: Portugol Studio</p><p>Slide 68</p><p>Slide 69: VARIÁVEIS, CONSTANTES E IDENTIFICADORES</p><p>Slide 70: VARIÁVES, CONSTANTES, IDENTIFICADORES</p><p>Slide 71: Importância da variável de Variável</p><p>Slide 72: Variável</p><p>Slide 73: Conceito e Características das Variáveis</p><p>Slide 74: Função das Variáveis</p><p>Slide 75: Escopo das Variáveis</p><p>Slide 76: Escopo das Variáveis</p><p>Slide 77: Variáveis</p><p>Slide 78: Exemplos de Variáveis</p><p>Slide 79: VARIÁVIES</p><p>Slide 80: VARIÁVIES</p><p>Slide 81: VARIÁVIES</p><p>Slide 82: IDENTIFICADORES</p><p>Slide 83</p><p>Slide 84</p><p>Slide 85</p><p>Slide 86</p><p>Slide 87</p><p>Slide 88</p><p>Slide 89</p><p>Slide 90</p><p>Slide 91</p><p>Slide 92: CONSIDERAÇÕES DE VARIÁVIES</p><p>Slide 93</p><p>Slide 94: Palavras Reservadas Portugol Studio</p><p>Slide 95</p><p>Slide 96</p><p>Slide 97: IDENTIFICADORES</p><p>Slide 98</p><p>Slide 99: Exercícios: quais destes nomes são válidos???</p><p>Slide 100: EXERCÍCIOS</p><p>Slide 101</p><p>Slide 102</p><p>Slide 103: TIPOS DE DADOS</p><p>Slide 104: Tipos de Dados</p><p>Slide 105: Tipos de Dados</p><p>Slide 106: ENTRADA E SAÍDA DE DADOS</p><p>Slide 107</p><p>Slide 108</p><p>Slide 109: COMANDO DE ENTRADA E SAÍDA DE DADOS</p><p>Slide 110</p><p>Slide 111</p><p>Slide 112</p><p>Slide 113</p><p>Slide 114: EXEMPLO DE ENTRADA E SAÍDA EM PORTUGOL STUDIO</p><p>Slide 115</p><p>Slide 116</p><p>Slide 117: TIPOS DE DADOS</p><p>Slide 118: Tipos de Dados</p><p>Slide 119: Tipos de Dados</p><p>Slide 120: OPERADORES</p><p>Slide 121: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 122: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 123: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 124: LINEARIZAÇÃO DE EXPRESSÕES</p><p>Slide 125: OPERADORES ARITMÉTICOS</p><p>Slide 126: OPERADORES RELACIONAIS</p><p>Slide 127: EXEMPLO DE USO DOS OPERADORES RELACIONAIS</p><p>Slide 128: OPERADORES LÓGICOS</p><p>Slide 129: OPERADORES LÓGICOS</p><p>Slide 130: OPERADORES LÓGICOS</p><p>Slide 131: OPERADORES LÓGICO EM LINGUAGEM C</p><p>Slide 132</p><p>Slide 133: RESUMO DA TABELA VERDADE</p><p>Slide 134: TABELA VERDADE</p><p>Slide 135: OPERADORES DE CARACTERES</p><p>Slide 136: PRIORIDADE ENTRE OS OPERADORES</p><p>Slide 137: PRIORIDADE GERAL ENTRE OS OPERADORES</p><p>Slide 138: EXERCÍCIOS DE FIXAÇÃO</p><p>Slide 139: Exercícios de Fixação</p><p>Slide 140: ESTRUTURAS DE CONTROLE</p><p>Slide 141: ESTRUTURAS DE CONTROLE</p><p>Slide 142: ESTRUTURA SEQUENCIAL</p><p>Slide 143: ESTRUTURA SEQUENCIAL</p><p>Slide 144: ESTRUTURA SEQUENCIAL</p><p>Slide 145: ESTRUTURA SEQUENCIAL</p><p>Slide 146</p><p>Slide 147: LISTA DE EXERCÍCIOS ESTRUTURA SEQUENCIAL</p><p>Slide 148: LISTA DE EXERCÍCIOS</p>

Mais conteúdos dessa disciplina