Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

<p>Lógica de</p><p>Programação</p><p>Com Raphael Barbieri</p><p>Sumário</p><p>Sumário</p><p>Módulo 1...................................................................................................................................................... 5</p><p>Lição 1: Objetivos do módulo .................................................................................................................... 6</p><p>Lição 2: Definindo a Lógica de Programação ............................................................................................ 6</p><p>Lição 3: Como funciona a web? ................................................................................................................ 7</p><p>O que é a internet .................................................................................................................................. 7</p><p>O caminho da internet ........................................................................................................................... 8</p><p>Clientes e servidores da web ................................................................................................................. 8</p><p>Partes fundamentais da web ................................................................................................................. 9</p><p>Tipos de aplicação web ......................................................................................................................... 9</p><p>Como funcionam as aplicações web...................................................................................................... 9</p><p>Lição 4: O que são algoritmos ................................................................................................................. 10</p><p>Como funcionam os programas? ......................................................................................................... 10</p><p>Como o algoritmo é dividido? .............................................................................................................. 10</p><p>Lição 5: Formas de representação de algoritmos .................................................................................... 11</p><p>Lição 6: Regras para criação de algoritmos ............................................................................................ 12</p><p>Conhecendo os tipos de dados ........................................................................................................... 12</p><p>Quais as estruturas dentro dos algoritmos?......................................................................................... 13</p><p>Lição 7: Quais os tipos de linguagens de programação .......................................................................... 14</p><p>Qual a base da linguagem de programação? ...................................................................................... 15</p><p>Quais os tipos da linguagem de programação? ................................................................................... 15</p><p>Lição 8: Conhecendo o pseudocódigo .................................................................................................... 16</p><p>Quais os tipos da linguagem de programação? ................................................................................... 16</p><p>Tipos de dados do Portugol ................................................................................................................. 16</p><p>Exemplo de código dentro do PortugolStudio ...................................................................................... 17</p><p>Lição 10: O que são variáveis? ............................................................................................................... 17</p><p>Lição 11: O que são constantes? ............................................................................................................ 18</p><p>Lição 12: Quais os tipos de operadores .................................................................................................. 18</p><p>Dados aritméticos ................................................................................................................................ 19</p><p>Dados relacionais ................................................................................................................................ 19</p><p>Dados lógicos ...................................................................................................................................... 19</p><p>Lição 14: 5 passos para aplicar o que você aprendeu............................................................................. 20</p><p>Módulo 2.................................................................................................................................................... 21</p><p>Lição 1: Objetivos do módulo .................................................................................................................. 22</p><p>Lição 2: Conhecendo as estruturas de tomada de decisão ..................................................................... 22</p><p>Tipos de estruturas de tomada de decisão .......................................................................................... 22</p><p>Lição 6: Conhecendo as estruturas de repetição .................................................................................... 25</p><p>Lição 10: 5 passos para aplicar o que você aprendeu............................................................................. 27</p><p>Módulo 3.................................................................................................................................................... 28</p><p>Lição 1: Objetivos do módulo .................................................................................................................. 29</p><p>Lição 2: Conhecendo estruturas de dados .............................................................................................. 29</p><p>Lição 3: O que são vetores? ................................................................................................................... 30</p><p>Como os vetores funcionam ................................................................................................................ 30</p><p>Sintaxe da criação de um vetor ........................................................................................................... 31</p><p>Lição 6: O que são matrizes? .................................................................................................................. 31</p><p>Como as matrizes funcionam .............................................................................................................. 31</p><p>Sintaxe da criação de um matriz .......................................................................................................... 32</p><p>Lição 9: 5 passos para aplicar o que você aprendeu .............................................................................. 32</p><p>Direitos desta edição reservados</p><p>A Voitto Treinamento e Desenvolvimento</p><p>www.voitto.com.br</p><p>Supervisão editorial: Thiago Coutinho de Oliveira</p><p>Apresentação do curso: Raphael Barbieri</p><p>Produção de conteúdo: Luiz Claudio Ralile</p><p>Raphael Barbieri vem desde 2007 na EiTV estudando e implementando novas soluções de</p><p>hardware e software para Sistemas de TV Digital utilizando metodologias ágeis como</p><p>Scrum, FDD (Feature Driven Development) ou Kanban junto com equipes de</p><p>desenvolvimento para arquitetar a melhor solução para o cliente, sendo responsável pela</p><p>estruturação de equipes, acompanhamento de prazos, padrões, qualidade e entrega de</p><p>softwares on-premise ou cloud based.</p><p>É PROIBIDA A REPRODUÇÃO</p><p>Nenhuma parte desta obra poderá ser reproduzida, copiada, transcrita ou mesmo</p><p>transmitida por meios eletrônicos ou gravações sem a permissão, por escrito, do editor.</p><p>Os infratores serão punidos pela Lei n° 9.610/98</p><p>http://www.voitto.com.br/</p><p>Módulo 1</p><p>Introdução a Lógica de</p><p>Programação</p><p>Lição 1: Objetivos do módulo</p><p>Busca-se demonstrar os conceitos iniciais da Lógica de Programação, explicando seus</p><p>princípios fundamentais, diferentes tipos de linguagens e as noções de algoritmos com suas formas</p><p>de representações. Para finalizar é apresentado mais detalhadamente as variáveis e constantes,</p><p>apresentando as respectivas declarações.</p><p>Responderemos perguntas do tipo:</p><p>✔ Como funciona a lógica de programação?</p><p>✔ O que são algoritmos?</p><p>✔ O que são constantes e variáveis?</p><p>Lição 2: Definindo a Lógica de Programação</p><p>Segundo o dicionário Aurélio, lógica é a coerência de raciocínio, de ideias, sequência</p><p>coerente, regular e necessária de acontecimentos, de coisas.</p><p>1. O número 5 é menor que 10</p><p>2. O número 15 é maior que 10</p><p>3. Logo, 15 é maior que 5</p><p>Em resumo, tudo que que fazemos tem uma sequência lógica.</p><p>Mesmo sem ser perceptível, no fim, todas as nossas ações são consequência de uma</p><p>cadeia de outras ações menores que nos levaram até uma atitude final.</p><p>⮚ Para a maneira de pensar logicamente para estipular sequências de passos para a resolução de</p><p>um problema, damos o nome de lógica de programação.</p><p>“Todo mundo deveria aprender a programar porque isso te</p><p>ensina a pensar.”</p><p>A lógica de programação está presente em todos os ramos</p><p>de tecnologia, nos dando as habilidades necessárias para</p><p>realizar o processo mais básico no desenvolvimento: a</p><p>criação de seu algoritmo.</p><p>Lição 3: Como funciona a web?</p><p>O que é a internet</p><p>Internet é uma rede de computadores, constituída por canais e elementos de</p><p>comunicação, com ou sem fio. Ela é diferente de World Wide Web (WWW): enquanto a internet</p><p>é uma estrutura física que possibilita a comunicação entre dispositivos, a WWW é um protocolo</p><p>que usa essa estrutura física para a troca de dados.</p><p>É o conhecimento anterior a</p><p>qualquer outro quando falamos</p><p>de desenvolvimento web.</p><p>1</p><p>Cada linguagem tem suas</p><p>próprias particularidades, como</p><p>sua sintaxe, sua orientação e</p><p>seus tipos de dados, mas a</p><p>lógica por trás de todas é a</p><p>mesma.</p><p>2</p><p>É a porta de entrada para</p><p>tornar-se um programador</p><p>completo, seja em front-</p><p>end ou em back-end.</p><p>3</p><p>- Steve Jobs</p><p>O caminho da internet</p><p>Existem muitos tipos de bancos de dados, mas podem ser divididos principalmente entre</p><p>2 tipos diferentes:</p><p>Clientes e servidores da web</p><p>Existem muitos tipos de bancos de dados, mas podem ser divididos principalmente entre</p><p>2 tipos diferentes:</p><p>Backbone:</p><p>são pontos</p><p>das redes que</p><p>distribuem</p><p>pelas redes as</p><p>informações</p><p>baseadas em</p><p>TCP/IP</p><p>Provedor de acesso:</p><p>são empresas ligadas ao setor de telecomunicações</p><p>que fornecem o acesso à Internet por meio de planos</p><p>Provedor de serviço:</p><p>são empresas recebem os dados do provedor de</p><p>acesso e distribuem aos usuários por variados meios</p><p>Usuário final</p><p>CLIENTE SERVIDOR</p><p>Solicitações</p><p>Respostas</p><p>dispositivos conectados</p><p>à internet dos usuários</p><p>da web e programas de</p><p>acesso (browsers)</p><p>computadores que armazenam</p><p>páginas, sites ou aplicativos</p><p>Partes fundamentais da web</p><p>⮚ TCP/IP:</p><p>Protocolo de Controle de Transmissão e Protocolo de Internet (Transmission</p><p>Control Protocol e Internet Protocol) são protocolos de comunicação que definem como os</p><p>dados trafegam pela web;</p><p>⮚ DNS:</p><p>Servidor de Nome de Domínio (Domain Name Servers) é uma coleção de bancos</p><p>de dados que traduz nomes de host para endereços únicos de IP;</p><p>⮚ HTTP:</p><p>Protocolo de transferência de hipertexto (Hypertext Transfer Protocol) é o que</p><p>possibilita que as pessoas que inserem a URL de um site na web possam ver os conteúdos</p><p>e dados que nele existem.</p><p>Tipos de aplicação web</p><p>Página da web: documento que pode ser mostrado em um navegador web</p><p>Website: conjunto de páginas web agrupadas e conectadas</p><p>Servidor web: computador que hospeda um site na internet</p><p>Mecanismo de busca: sistemas como Google que auxiliam na busca por outras páginas</p><p>Como funcionam as aplicações web</p><p>O usuário clica em um link</p><p>no navegador (browser)</p><p>1</p><p>O navegador formata a</p><p>solicitação e envia para o servidor</p><p>2</p><p>O servidor encontra a página</p><p>solicitada</p><p>3</p><p>Página solicitada</p><p>O navegador resgata o</p><p>código HTML e compila</p><p>em formato visual</p><p>4</p><p>O servidor formata a página e</p><p>envia para o navegador</p><p>5</p><p>Lição 4: O que são algoritmos</p><p>Um algoritmo é uma sequência de instruções ordenadas de forma lógica para resolução</p><p>de uma determinada tarefa ou problema.</p><p>Podemos pensar em algoritmo como uma receita que consiste de uma série de operações</p><p>primitivas. Estas operações não podem ser redundantes e nem subjetivas na sua definição,</p><p>devendo ser claras e precisas.</p><p>Como funcionam os programas?</p><p>Programas são conjuntos de algoritmos organizados de forma lógica, em uma linguagem</p><p>específica para que o computador possa interpretá-la</p><p>⮚ Por exemplo, observe um algoritmo criado para utilizar um telefone fixo:</p><p>Início</p><p>Tirar o fone da base</p><p>Ouvir o sinal de linha</p><p>Teclar o número desejado</p><p>SE der o sinal de chamar</p><p>Conversar;</p><p>Desligar;</p><p>SENAO</p><p>Repetir ligação;</p><p>Fim</p><p>Como o algoritmo é dividido?</p><p>Um algoritmo quando programado num computador é constituído pelo menos de 4 partes:</p><p>Início</p><p>Entrada de</p><p>dados</p><p>Processo</p><p>de dados</p><p>Saída de</p><p>dados</p><p>⮚ Início: O início parte da necessidade de realizar uma ação, seja ela resolver um problema</p><p>ou cumprir uma determinada tarefa.</p><p>⮚ Entrada de dados: Na entrada de dados, são fornecidas as informações durante a</p><p>execução ou lidas informações que já estão embutidas, mas que são necessárias para</p><p>execução do algoritmo.</p><p>⮚ Processo de dados: Na parte do processamento são avaliadas todas as expressões</p><p>algébricas, relacionais e lógicas, assim como todas as estruturas de controle existentes no</p><p>algoritmo.</p><p>⮚ Saída de dados: Na parte de saída, todos os resultados do processamento são enviados</p><p>para um ou mais dispositivos de saída, como: monitor ou até mesmo a própria memória</p><p>do computador</p><p>Lição 5: Formas de representação de algoritmos</p><p>O objetivo das representações de algoritmos é obter uma consistência semântica para a</p><p>eliminação da ambiguidade intrínseca à linguagem natural.</p><p>As três formas mais comuns de representação de algoritmos são:</p><p>1. Descrição narrativa</p><p>A descrição narrativa consiste em analisar o problema e escrever, utilizando uma</p><p>linguagem natural, os passos que devem ser seguidos para a resolução do problema.</p><p>V - Não é necessário aprender nenhum conceito novo, pois a língua natural, já é conhecida.</p><p>Descrição narrativa</p><p>Fluxograma convencional</p><p>Pseudocódigo</p><p>1</p><p>2</p><p>3</p><p>X - Abre espaço para diferentes interpretações e ambiguidades, o que pode dificultar a</p><p>transição deste algoritmo para o programa futuramente.</p><p>2. Fluxograma convencional</p><p>O fluxograma consiste em analisar o problema e escrever, utilizando símbolos gráficos</p><p>predefinidos, os passos que devem ser seguidos para a resolução do problema</p><p>V - A compreensão de elementos gráficos é mais fácil do que a de textos.</p><p>X - É necessário aprender a simbologia dos fluxogramas, que resultam em um algoritmo</p><p>sem muitos detalhes.</p><p>3. Pseudocódigo</p><p>O pseudocódigo consiste em analisar o enunciado do problema e escrever, utilizando</p><p>regras predefinidas, os passos a serem seguidos para a resolução do problema.</p><p>V - Sua transcrição para qualquer linguagem de programação é quase direta.</p><p>X - É necessário aprender as regras de construção de um pseudocódigo.</p><p>Lição 6: Regras para criação de algoritmos</p><p>Conhecendo os tipos de dados</p><p>Os algoritmos irão manipular dados, mas quais são os tipos</p><p>de dados?</p><p>Ler atentamente o enunciado do problema, destacando os pontos mais importantes;</p><p>Definir os dados de entrada;</p><p>Definir o processamento, transformando os dados de entrada em dados de saída;</p><p>Definir os dados de saída;</p><p>Construir e testar o algoritmo.</p><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>1. Númericos</p><p>Podem ser inteiros (positivos ou negativos) ou reais (inclui números fracionados).</p><p>2. Alfanúmericos</p><p>Textos compostos por sequências de caracteres contendo letras e algarismos.</p><p>3. Lógicos</p><p>Assumem dois valores condicionais para tomada de decisão. Ex: V ou F; sim ou não.</p><p>Quais as estruturas dentro dos algoritmos?</p><p>Sequencial:</p><p>Linhas de comando sucessivas com um único fluxo possível de</p><p>processamento</p><p>Condicional:</p><p>Sequências de ações podem ser executadas ou não, dependendo de uma</p><p>ou mais condições</p><p>Repetição:</p><p>Cria blocos de repetição até que uma condição se torne verdadeira ou por</p><p>um número predefinido</p><p>⮚ Estudo do problema:</p><p>Análise do problema e identificação da situação e contexto (possíveis soluções e</p><p>características)</p><p>⮚ Estruturação do algoritmo</p><p>Estruturação da proposta de solução do problema, por meio de um projeto de programa (que</p><p>é o próprio algoritmo)</p><p>⮚ Desenvolvimento do código:</p><p>Escrita do algoritmo a partir de regras e padrões de uma linguagem de programação</p><p>específica, exemplo de linguagens mais comuns: C, C++, C#, Java, PHP, VB, Python, Ruby.</p><p>Codificação do algoritmo</p><p>⮚ Solução:</p><p>Implantação do programa para solução de problemas em situações reais.</p><p>Lição 7: Quais os tipos de linguagens de programação</p><p>O sistema binário é um sistema de numeração posicional, baseado em dois números.</p><p>É utilizado por máquinas com circuitos digitais para interpretar informações e executar</p><p>ações. É por meio dessa linguagem que o computador exibe e processa textos, números e</p><p>imagens, por exemplo.</p><p>As instruções dadas ao computador são traduzidas em sinais elétricos:</p><p>✔ 0 -> Desligado</p><p>✔ 1 -> Ligado</p><p>Qual a base da linguagem de programação?</p><p>Cada sinal elétrico é chamado de Bit ou digito binário.</p><p>00000000 -> Byte</p><p>11111111 -> Byte</p><p>Oito bits compõem um byte, uma unidade completa de informação.</p><p>Quais os tipos da linguagem de programação?</p><p>As linguagens podem ser classificadas em relação a como tratam os tipos de dados:</p><p>✔ Muito tipadas</p><p>São linguagens em que todos os valores de variáveis e funções precisam ter o tipo de</p><p>dados explicitamente declarado.</p><p>✔ Pouco tipadas</p><p>Não é obrigado a declarar o tipo antes de usar uma variável e, se utilizada, a variável pode</p><p>receber um outro sem gerar nenhum tipo de erro. Exemplo: PHP e JavaScript.</p><p>O Bit é a base de toda a linguagem de programação para que, desta forma, o</p><p>computador consiga interpretá-la através de um agrupamento.</p><p>inteiro contador;</p><p>✔ Não tipadas</p><p>Não consideram ou implementam o conceito de tipo de dados.</p><p>Exemplos: Perl e Assembly.</p><p>Lição 8: Conhecendo o pseudocódigo</p><p>O pseudocódigo é a formalização do algoritmo em uma</p><p>linguagem.</p><p>Não há uma regra sobre como deve ser escrito o algoritmo,</p><p>apenas que deve ser fácil de interpretar e fácil de codificar,</p><p>sendo o intermediário entre a linguagem falada e a linguagem de</p><p>programação.</p><p>Quais os tipos da linguagem de programação?</p><p>A representação é a seguinte:</p><p>As palavras Início e Fim estão destacadas como forma de expressar os comandos do</p><p>pseudocódigo e diferenciá-los das demais instruções.</p><p>Chamamos essas palavras de reservadas, como fazendo parte da linguagem em</p><p>pseudocódigo.</p><p>Tipos de dados do Portugol</p><p>O Portugol é um pseudocódigo escrito em português que prevê 4 tipos de dados:</p><p>✔ Inteiro</p><p>✔ Real</p><p>Início</p><p>.......</p><p>Fim</p><p>✔ Caractere</p><p>✔ Lógico</p><p>Exemplo de código dentro do PortugolStudio</p><p>Exemplo de algoritmo utilizando o Portugol:</p><p>Lição 10: O que são variáveis?</p><p>Variável é a representação simbólica dos elementos de memória de um computador.</p><p>Início</p><p>Cada variável corresponde a uma posição de memória, e embora uma variável possa</p><p>assumir diferentes valores, ela pode armazenar apenas um valor a cada instante.</p><p>Variável</p><p>Objeto</p><p>Memória RAM</p><p>Lição 11: O que são constantes?</p><p>Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a</p><p>execução de um programa.</p><p>As constantes, na verdade, são valores inseridos na memória do computador, ou seja,</p><p>nas variáveis definidas pelo usuário.</p><p>Lição 12: Quais os tipos de operadores</p><p>Os operadores são um dos principais elementos de linguagens de programação e</p><p>também entram no dicionário.</p><p>✔ Na solução da grande maioria dos problemas, é necessário que as variáveis tenham seus</p><p>valores consultados ou alterados e, para isso, devemos definir um conjunto de</p><p>operadores (básicos), sendo eles:</p><p>Aritméticos Relacionais Lógicos</p><p>Dados aritméticos</p><p>Operadores aritméticos:</p><p>✔ Soma (+), subtração (-), multiplicação (*), divisão (/) e</p><p>exponenciação (^)</p><p>Exemplos de funções aritméticas básicas:</p><p>✔ Divisão inteira -> DIV(x,y)</p><p>✔ Resto da divisão -> RESTO(x,y)</p><p>✔ Valor absoluto -> ABS(x)</p><p>✔ Raiz quadrada -> RAIZ(x)</p><p>Dados relacionais</p><p>São utilizados para relacionar variáveis ou proposições, resultando num valor lógico</p><p>(verdadeiro ou falso), sendo eles:</p><p>✔ Igualdade (=)</p><p>✔ Diferença ()</p><p>✔ Maior que (>)</p><p>✔ Menor que (=)</p><p>✔ Menor ou igual a ( Operação de conjunção -> Intersecção</p><p>✔ OU (OR) -> Operação de disjunção -> União</p><p>✔ NÃO (NOT) -> Operação de negação -> Negação</p><p>Aritméticos</p><p>Relacionais</p><p>Lógicos</p><p>Lição 14: 5 passos para aplicar o que você aprendeu</p><p>1. Caso sinta dúvidas com o problema, tente utilizar os 3 tipos de representações.</p><p>2. Para criar o algoritmo, se atente as regras de criação para não ocorrer erros.</p><p>3. Crie problemas para si mesmo, o treino é a parte mais importante da programação.</p><p>4. Aproveite de exemplos dentro do próprio software utilizado.</p><p>5. Tente aprimorar os códigos vistos nas aulas, partir de uma base pronta pode ser mais</p><p>fácil.</p><p>Módulo 2</p><p>Estruturas de Lógica de Programação</p><p>Lição 1: Objetivos do módulo</p><p>Nesse módulo serão abordados os 2 principais tipos de estruturação da Lógica de</p><p>Programação - a de decisão e repetição. É apresentado as condicionais compostas e encadeadas,</p><p>assim como todos os tipos de estruturas de repetição.</p><p>Responderemos perguntas do tipo:</p><p>✔ O que são estruturas condicionais?</p><p>✔ O que são estruturas de repetição?</p><p>✔ Como decidir qual estrutura utilizar?</p><p>Lição 2: Conhecendo as estruturas de tomada de decisão</p><p>Estrutura Condicional</p><p>As estruturas de decisão permitem que o algoritmo teste uma ou mais</p><p>condições específicas, acompanhadas por uma instrução (ou conjunto)</p><p>a ser executada se o resultado do teste for verdadeiro, e, opcionalmente,</p><p>outra instrução ou conjunto de instruções.</p><p>Tipos de estruturas de tomada de decisão</p><p>Simples:</p><p>Para situações em que</p><p>se testa uma única</p><p>condição. — se</p><p>verdadeira, executa a</p><p>instrução; se falso, não</p><p>há ação a ser executada.</p><p>Composta:</p><p>Para situações em que</p><p>se testa uma única</p><p>condição — se</p><p>verdadeira, executa um</p><p>comando; se falsa,</p><p>executa outro</p><p>comando.</p><p>Encadeadas:</p><p>Para situações em que</p><p>se testa várias</p><p>condições e também</p><p>para quando um teste</p><p>seja dependente de</p><p>outro teste.</p><p>✔ Marcadores: SE, ENTÃO e FIM SE.</p><p>✔ Há um teste e um grupo de ações que ocorrem apenas se a resposta for verdadeira.</p><p>✔ Apenas um caminho de encadeamento lógico.</p><p>✔ Marcadores: SE, ENTÃO, SENÃO e FIM SE.</p><p>✔ Há um teste e dois grupos de ações — um grupo ocorre a condição é verdadeira; outro se</p><p>a condição é falsa. Apenas dois caminhos de encadeamento lógico.</p><p>✔ Resultado de cada teste define conjunto de comandos.</p><p>✔ Mais de dois caminhos de encadeamento lógico.</p><p>Composta Encadeada:</p><p>✔ Marcadores: SE, ENTÃO, SENÃO e FIM SE.</p><p>✔ Usa-se várias vezes o recurso “SE”, um dentro do outro</p><p>Condicionais Simples</p><p>SE (condição) ENTÃO</p><p>comandos executados se condição for verdadeira (instruções)</p><p>FIM SE</p><p>Condicionais Compostas</p><p>SE (condição) ENTÃO</p><p>comandos executados se condição for verdadeira (instruções)</p><p>SENÃO</p><p>comandos executados se condição for falso (instruções)</p><p>FIM SE</p><p>Condicionais Encadeadas</p><p>✔ Resultado de cada teste define conjunto de comandos.</p><p>✔ Mais de dois caminhos de encadeamento lógico.</p><p>Composta Encadeada:</p><p>✔ Marcadores: FAÇA CASO, CASO, OUTRO CASO, FIM CASO</p><p>✔ Algoritmo mais claro que o encadeado.</p><p>SE (condição) ENTÃO</p><p>Instrução se a primeira é verdadeira</p><p>SENÃO</p><p>SE (condição) ENTÃO</p><p>Instrução se a segunda é verdadeira</p><p>SENÃO</p><p>Instrução se a segunda é falsa</p><p>FIM SE</p><p>FIM SE</p><p>Escolha-caso</p><p>FAÇA CASO</p><p>CASO (condição)</p><p>Instrução se verdadeiro</p><p>CASO (condição)</p><p>Instrução se verdadeiro</p><p>OUTRO CASO</p><p>Instrução se todos são falsos</p><p>FIM CASO</p><p>Lição 6: Conhecendo as estruturas de repetição</p><p>Os recursos de controle do número de vezes que a estrutura será repetida são:</p><p>✔ Contador fixo — cria uma variável para contar número de vezes que a sequência será</p><p>repetida. Repetição é encerrada quando contador atinge valor preestabelecido.</p><p>✔ Flag de resposta (sinalização do usuário) — pergunta ao usuário se rotina deverá ser</p><p>executada novamente — resposta é armazenada em um flag de resposta (variável).</p><p>O loop é interrompido pelo usuário.</p><p>✔ Flag predeterminado (sinalização predeterminada) — usuário encerra o loop quando</p><p>quiser, a partir de uma palavra predeterminada; ou quando uma condição específica é</p><p>satisfeita.</p><p>Estrutura de Repetição</p><p>As estruturas de repetição permitem que uma ação seja repetida várias vezes, ou seja,</p><p>quando desejamos que um determinado conjunto de instruções ou comandos seja</p><p>executado um número definido ou indefinido de vezes.</p><p>Repita:</p><p>A estrutura de repetição</p><p>só é executada</p><p>enquanto a condição é</p><p>verdadeira — se falsa, a</p><p>rotina de repetição é</p><p>encerrada.</p><p>Para:</p><p>Funciona com contador</p><p>fixo. O comando é</p><p>executado até que o</p><p>valor final atenda à</p><p>condição determinada.</p><p>Enquanto:</p><p>Funciona com contador</p><p>fixo e sinalização. Tem</p><p>uma condição de parada</p><p>— se encerra quando é</p><p>retornado um valor falso.</p><p>✔ Marcadores: ENQUANTO, FAÇA e FIM ENQUANTO.</p><p>✔ Variável necessita que valor já esteja cadastrado.</p><p>✔ Instruções são executadas caso o teste lógico seja verdadeiro.</p><p>✔ Marcadores: ENQUANTO, REPITA e ATE.</p><p>✔ É realizado um teste lógico no final da estrutura.</p><p>✔ Instruções são executadas caso o teste lógico seja falso. Quando verdadeiro, a repetição</p><p>é encerrada.</p><p>✔ Marcadores: PARA, DE, PASSO e FAÇA.</p><p>✔ O número de iterações são pré-definidas.</p><p>✔ O comando é executado até que o valor final atenda à condição determinada.</p><p>Enquanto</p><p>ENQUANTO (condição)</p><p>comandos executados se condição for verdadeira (instruções)</p><p>FIM ENQUANTO</p><p>Repita</p><p>REPITA</p><p>comandos executados se condição for verdadeira (instruções)</p><p>ATE (condição)</p><p>Para</p><p>PARA (variável) DE (valor inicial) PASSO (valor final) FAÇA</p><p>Instruções executadas repetidamente até a variável atingir o valor final</p><p>FIM ENQUANTO</p><p>Lição 10: 5 passos para aplicar o que você aprendeu</p><p>1. Por meio de fluxogramas, entenda qual o tipo de estrutura que quer utilizar.</p><p>2. Antes de iniciar o código dentro do software, pode ser válido construí-lo em pseudocódigo.</p><p>3. Decidido de qual estrutura precisa utilizar, tente entendê-la mais profundamente.</p><p>4. Tente construir o código por partes, sempre executando-o durante a construção.</p><p>5. Preste atenção nos valores lógicos, dependendo da estrutura eles podem ser invertidos.</p><p>Módulo 3</p><p>Estrutura de dados</p><p>Heterogêneas</p><p>Homogêneas</p><p>Lição 1: Objetivos do módulo</p><p>O objetivo deste módulo é introduzir e detalhar ao aluno a utilização de vetores e matrizes.</p><p>Será explicado como funcionam e se dividem as estruturas de dados, os tipos de operações, além</p><p>de exemplos de algoritmos com manipulações com vetores e matrizes.</p><p>Responderemos perguntas do tipo:</p><p>✔ O que são vetores?</p><p>✔ O que são matrizes?</p><p>✔ Como manipular matrizes e vetores?</p><p>Lição 2: Conhecendo estruturas de dados</p><p>As estruturas de dados são as formas de organizar dados na memória do computador, com o</p><p>objetivo de utilizá-los mais eficientemente.</p><p>Os métodos de organização desses dados otimizam e diminuem o espaço utilizado na</p><p>memória, e consequentemente tornam os códigos mais simples.</p><p>Existem 2 estruturas compostas de dados:</p><p>Conhecidas como registros</p><p>Conhecidas como arrays</p><p>Heterogêneas</p><p>✔ São aglomerados de dados formados por tipos diferentes, dentro de uma mesma estrutura;</p><p>✔ Cada item de dado é denominado membro (ou campo).</p><p>Por exemplo: inteiro, caractere, literal e real.</p><p>✔ São aglomerados de dados formados por tipos iguais, dentro de uma mesma variável;</p><p>✔ A individualização de cada variável é feita através do uso de índices.</p><p>Por exemplo: vetores e matrizes.</p><p>Lição 3: O que são vetores?</p><p>Em resumo, os vetores são variáveis que podem armazenar vários valores do mesmo</p><p>tipo, sendo considerados arrays unidimensionais.</p><p>✔ Vetores são construídos em forma de linhas;</p><p>✔ Assim como as variáveis, possuem identificadores únicos e valores em sua sintaxe;</p><p>✔ Possuem apenas um índice, sendo assim, unidimensionais.</p><p>Como os vetores funcionam</p><p>Lembre-se que ao criar uma variável, estará criando um espaço na memória.</p><p>Deve-se então especificar quantos valores deseja armazenar, ou seja, quantas posições</p><p>de memória quer alocar para armazenar os dados.</p><p>Sintaxe da criação de um vetor</p><p>A sintaxe da criação de um vetor é:</p><p>Ou seja, para criar um vetor, basta definir o tipo de dado, especificar o nome do vetor e o</p><p>número de posições na memória que quer alocar.</p><p>Lição 6: O que são matrizes?</p><p>Assim como os vetores, as matrizes podem armazenar vários valores do mesmo tipo,</p><p>porém são arrays bidimensionais.</p><p>✔ Matrizes são construídas em forma de linhas e colunas;</p><p>✔ Assim como as variáveis, possuem identificadores únicos e valores em sua sintaxe;</p><p>✔ A dimensão da matriz é composta por uma linha e coluna, sendo bidimensional</p><p>Como as matrizes funcionam</p><p>De maneira idêntica aos vetores, nas matrizes as variáveis são armazenadas na memória.</p><p>1 2 3 5 4 6</p><p>Para armazenar 6 valores, devemos criar seis posições de memória para armazenar esse</p><p>valor.</p><p>inteiro vetor[5]</p><p>tipo de constante</p><p>nome do vetor</p><p>tamanho do vetor</p><p>Ao especificar quantas posições deseja alocar na memória, também será especificado de</p><p>maneira parecida a dos vetores, mas agora considerando linhas e colunas.</p><p>Sintaxe da criação de um matriz</p><p>A sintaxe da criação de um matriz é:</p><p>Ou</p><p>seja, para criar uma matriz, basta definir o tipo de dado, especificar o nome da matriz e o</p><p>tamanho da matriz que quer alocar.</p><p>Lição 9: 5 passos para aplicar o que você aprendeu</p><p>1. Através dos tipos de dados, entenda qual o tipo de estrutura que quer utilizar;</p><p>2. Ao armazenar dados de mesmo tipo, deve ser melhor criar um vetor do que várias</p><p>variáveis;</p><p>3. Ao criar um vetor, tenha em mente como ele será alocado nas posições da memória;</p><p>4. Em caso de dúvida, o PortugolStudio permite a exibição visual das posições da memória;</p><p>5. Cuidado na especificação de tamanho das matrizes, as linhas e colunas podem confundir;</p><p>1 2 3 4 5</p><p>6 7 8 9 10</p><p>Linhas</p><p>C</p><p>o</p><p>lu</p><p>n</p><p>a</p><p>s</p><p>3,1</p><p>0,0</p><p>inteiro matriz[5][5]</p><p>tipo de constante</p><p>nome da matriz</p><p>tamanho da matriz</p>

Mais conteúdos dessa disciplina