Prévia do material em texto
<p>Linguagem e Técnicas</p><p>de Programação</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 Linguagem C, buscando a compreensão dos principais</p><p>comandos que serão utilizados no decorrer do curso.</p><p>4</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>5</p><p>Exemplo de um algoritmo em Portugol Studio</p><p>6</p><p>7</p><p>O algoritmo tem como papel fundamental ser o elo de ligação entre dois mundos (real e</p><p>computacional). A atividade de programação tem início com a construção do algoritmo.</p><p>8Inicia 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</p><p>de 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</p><p>essenciais de um problema ou sistema,</p><p>enquanto oculta os detalhes desnecessários.</p><p>12</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 Java, C, C++,</p><p>(Pascal Delphi) Essas linguagens são interpretados e executados por uma máquina,</p><p>no caso um computador. É importante ressaltar que o computador executa</p><p>exatamente os comandos escritos nas linguagens de programação. Assim um</p><p>comando colocado em lugar errado levará ao erro na execução do programa. Outro</p><p>fator de erros é a desobediências nas regras de escrita, impedindo a execução do</p><p>programa.</p><p>13</p><p>Conceitos</p><p>Básicos</p><p>Programas</p><p>14</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>15</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>16</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>17</p><p>Até aqui 12/08</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 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>28</p><p>Exemplo de Fluxogramas</p><p>Ex. “Calcular a média de quatro números”:</p><p>29</p><p>Símbolos</p><p>Básicos de</p><p>Fluxogramas</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 linguagem da margem</p><p>para vários tipos de</p><p>interpretação.</p><p>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>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>35</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>36</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>37</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>38</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>39</p><p>Propriedades de Algoritmos</p><p>40</p><p>Será que fazemos</p><p>algoritmos diariamente???</p><p>41</p><p>PROBLEMA</p><p>42</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>43</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>44</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>45</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 46</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é. 47</p><p>Exemplos de Algoritmos</p><p>Algoritmo em Pseudocódigo</p><p>Do Passo 6- tomar café</p><p>48</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>49</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>50</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>51</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>54</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>55</p><p>Algoritmos X Programa</p><p>56</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>57</p><p>Até aqui – 14/08</p><p>58</p><p>Nesta disciplina daremos ênfase</p><p>em Pseudocódigo (Portufol Studio)</p><p>e em programas na linguagem C</p><p>59</p><p>Linguagem C</p><p>60</p><p>Linguagem C</p><p>61</p><p>C é uma linguagem de programação compilada de propósito geral,</p><p>estruturada, imperativa, procedural, padronizada pela Organização</p><p>Internacional para Padronização (ISO), criada em 1972 por Dennis Ritchie</p><p>na empresa AT&T Bell Labs para desenvolvimento do sistema operacional</p><p>Unix (originalmente escrito em Assembly).</p><p>C é uma das linguagens de programação mais populares e existem</p><p>poucas arquiteturas para as quais não existem compiladores para C. C</p><p>tem influenciado muitas outras linguagens de programação (por</p><p>exemplo, a linguagem Java), mais notavelmente C++, que originalmente</p><p>começou como uma extensão para C.</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>62</p><p>ESTRUTURA DE PROGAMA</p><p>EM LINGUAGEM C</p><p>63</p><p>ESTRUTURA DE UM PROGRAMA EM LINGUAGEM C</p><p>64</p><p>Um programa C consiste de uma ou mais</p><p>partes chamadas funções. Um programa em</p><p>C consiste de pelo menos uma função</p><p>chamada main.</p><p>Esta função marca o ponto de início de</p><p>execução do programa.</p><p>ESTRUTURA DE UM PROGRAMA EM</p><p>LINGUAGEM C</p><p>diretivas para o pré-processador</p><p>declaração de variáveis globais</p><p>main ()</p><p>{</p><p>declaração de variáveis locais da função main</p><p>comandos da função main</p><p>}</p><p>65</p><p>DIRETIVAS PARA O PROCESSADOR - BIBLIOTECAS</p><p>66</p><p>• Diretiva #include permite incluir uma biblioteca.</p><p>• Bibliotecas contêm funções pré-definidas, utilizadas nos programas.</p><p>• Exemplos:</p><p>EXEMPLO DE UM PROGRAMA EM</p><p>LINGUAGEM C</p><p>67</p><p>AMBIENTE DE DESENVOLVIMENTO DE</p><p>PROGRAMAS EM LINGUAGEM C</p><p>• O Dev-C++ é um ambiente de desenvolvimento de</p><p>programas em C e C++ (editor, compilador, bibliotecas...)</p><p>• Pode ser baixado por:</p><p>https://sourceforge.net/projects/orwelldevcpp/</p><p>68</p><p>Passo para criar um programa em C</p><p>69</p><p>1) Para iniciar, abra o Dev e depois clique no menu Arquivo | Novo | Arquivo</p><p>Fonte</p><p>Passo para criar um programa em C</p><p>70</p><p>2) Na janela de código, digite o programa como abaixo:</p><p>71</p><p>Passo para criar um programa em C</p><p>3) Salve o programa. Para salvar clique no menu Arquivo | Salvar Como…</p><p>Defina um a pasta para armazenar os exercícios</p><p>72</p><p>Passo para criar um programa em C</p><p>4) Crie uma nova pasta clicando no ícone</p><p>Crie uma nova</p><p>pasta, a</p><p>nomeie.</p><p>Dê nome ao</p><p>arquivo</p><p>Clique em</p><p>Salvar</p><p>73</p><p>Passo para criar um programa em C</p><p>4) Compilar e executar o programa</p><p>Compile e</p><p>execute o</p><p>programa</p><p>74</p><p>Acentuação de caracteres em C com locale.h</p><p>Chamamos de “localizar” um programa quando fazemos a adaptação deste às</p><p>características de uma determinado idioma ou de uma região.</p><p>A linguagem C utiliza o arquivo de cabeçalho #include <locale.h> para</p><p>implementar a localização de programas.</p><p>Para utilizar a localidade especificada pelo sistema operacional usamos a</p><p>função setlocale() da seguinte forma:</p><p>set locale(LC_ALL,“”);</p><p>onde LC_ALL faz referência à todos os aspectos da localização.</p><p>75</p><p>Acentuação de caracteres em C com locale.h</p><p>76</p><p>Acentuação de caracteres em C com locale.h</p><p>Saída na tela:</p><p>Portugol Studio</p><p>77</p><p>Portugol Studio</p><p>78</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>79</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>80</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>81</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>VARIÁVEIS, CONSTANTES E</p><p>IDENTIFICADORES</p><p>82</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>83</p><p>Importância da variável de Variável</p><p>84</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>85</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>86</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>87</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>88</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>89</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>90</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>91</p><p>VARIÁVIES</p><p>92</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>93</p><p>VARIÁVIES</p><p>94</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>95</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>96</p><p>97</p><p>• Case Sensitivity (Sensibilidade a Maiúsculas e Minúsculas):</p><p>o Em Portugol Studio e em C, as variáveis são sensíveis a maiúsculas e</p><p>minúsculas, ou seja, idade, Idade, e IDADE são consideradas variáveis</p><p>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, 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>98</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>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>Palavras</p><p>Reservadas</p><p>em C</p><p>102</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>103</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>104</p><p>EXEMPLO DE IDENTIFICADORES</p><p>105</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>106</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>107</p><p>108</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>109</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>DECLARAÇÃO DE VARIÁVEIS</p><p>110</p><p>O conteúdo de uma variável é o valor que ela armazena. É importante</p><p>lembrar que uma variável só pode armazenar um valor de cada vez. No</p><p>entanto, ela pode assumir vários valores distintos do mesmo tipo durante a</p><p>execução do algoritmo. O ato de se criar uma variável é conhecido como</p><p>declaração de variável.</p><p>DECLARANDO</p><p>VARIÁVEIS</p><p>111</p><p>112</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 qualquer momento.</p><p>O conteúdo de uma constante será atribuído no momento de sua criação e não poderá ser</p><p>mais alterado. A atribuição de 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>113</p><p>114</p><p>CONSTANTES</p><p>Saída de dados:</p><p>Algoritmo:</p><p>115</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: Numérico(inteiro, real), caractere,</p><p>cadeia e logico.</p><p>116</p><p>BOAS PRÁTICAS - COMENTÁRIOS</p><p>117</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.</p><p>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>118</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>119</p><p>Tipos de</p><p>Dados</p><p>120</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>121</p><p>Esse quadro resume os tipos de dados básicos em Portugol</p><p>Studio</p><p>TIPOS BÁSICOS DE DADOS EM C</p><p>122</p><p>• Todas as variáveis em C têm um tipo;</p><p>• Cada tipo define os valores que a variável pode armazenar;</p><p>• Cada tipo ocupa uma certa quantidade de Memória.</p><p>ENTRADA E SAÍDA DE</p><p>DADOS</p><p>123</p><p>124</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>125</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>126</p><p>COMANDO DE SAÍDA DE DADOS</p><p>127</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>128</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 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>Comandos de Entrada e Saída de Dados</p><p>129</p><p>• leia: O comando leia é utilizado para</p><p>capturar a entrada do usuário. A entrada é</p><p>armazenada na variável especificada.</p><p>Exemplo:</p><p>• escreva: O comando escreva é utilizado</p><p>para imprimir texto ou valores na tela.</p><p>Pode-se concatenar texto e variáveis, e o</p><p>cursor permanece na mesma linha após a</p><p>impressão. Exemplo:</p><p>RETORNANDO DADOS</p><p>130</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>131</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>132</p><p>Vamos concluir a estrutura já criada com esses comandos? Acompanhe o algoritmo a</p><p>seguir:</p><p>EXEMPLO DE</p><p>ENTRADA E</p><p>SAÍDA EM</p><p>PORTUGOL</p><p>STUDIO</p><p>133</p><p>Comandos de Entrada e Saída de Dados</p><p>134</p><p>Esses são os</p><p>principais</p><p>comandos de saída</p><p>de dados em</p><p>Portugol Studio e C,</p><p>com suas</p><p>respectivas</p><p>sintaxes e usos.</p><p>COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>135</p><p>Funções de Leitura e Impressão</p><p>• Todos os seus programas devem se comunicar com o</p><p>usuário através de funções de impressão (na tela) e de</p><p>leitura (pelo teclado).</p><p>• Basicamente, nos programas, o usuário fornece números</p><p>inteiros ou reais para o programa através da leitura pelo</p><p>teclado (função scanf);</p><p>• Enquanto que o programa fornece ao usuário os</p><p>resultados via impressão de mensagens na tela (função</p><p>printf).</p><p>#include <stdio.h></p><p>COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>136</p><p>Saída de dados</p><p>Chamamos de saída de dados a escrita, ou seja, a exibição de textos ou</p><p>valores de variáveis no vídeo.</p><p>• A função printf()</p><p>O comando usado para exibir valores na tela é a função printf().</p><p>Sintaxe Básica:</p><p>printf(“Mensagem a ser escrita na tela”);</p><p>Basicamente, a função printf imprime todos os</p><p>caracteres que estão entre aspas.</p><p>EXEMPLO DE</p><p>SAÍDA EM</p><p>LINGUAGEM C</p><p>137</p><p>COMANDO DE</p><p>SAÍDA EM</p><p>LINGUAGEM C</p><p>138</p><p>Para cada sequência de caracteres "%d", a função printf imprime na</p><p>tela um número inteiro que é resultado das expressões aritméticas</p><p>contidas no printf separadas por vírgula. Assim, na linha 11, o primeiro</p><p>"%d" imprime na tela o conteúdo da variável “x" e segundo "%d"</p><p>imprime na tela o resultado da variável “res“.</p><p>COMANDO DE</p><p>SAÍDA EM</p><p>LINGUAGEM C</p><p>139</p><p>A sequência de caracteres "\n", indica à função printf</p><p>para “pular de linha”, isto é, faz com que o cursor da</p><p>tela vá para a próxima linha. No printf da linha 8, como</p><p>a sequência está no final da mensagem, isto significa</p><p>que depois de imprimir a mesma na tela, o cursor irá</p><p>para a próxima linha.</p><p>COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>140</p><p>Para imprimir o conteúdo de uma variável dentro do texto é necessário</p><p>inserir neste mesmo texto no local de impressão um %, seguido do tipo a ser</p><p>mostrado. As opções disponíveis para impressão de variáveis são:</p><p>(ponteiro)</p><p>COMANDO DE ENTRADA DE DADOS EM LINGUAGEM C</p><p>141</p><p>Entrada de dados</p><p>Tem por função efetuar a leitura de dados de uma fonte externa (teclado).</p><p>• A função scanf()</p><p>É utilizada para fazer a leitura de dados formatados via teclado.</p><p>Sintaxe:</p><p>scanf(“expressão de controle”, lista de argumentos);</p><p>EXEMPLO DE</p><p>ENTRADA EM</p><p>LINGUAGEM C</p><p>142</p><p>EXEMPLO DE</p><p>ENTRADA EM</p><p>LINGUAGEM C</p><p>143</p><p>Exemplo, linha 8:</p><p>scanf ("%d", &x);</p><p>O scanf irá esperar o usuário digitar um número inteiro pelo</p><p>teclado e, após o usuário digitar a tecla <ENTER>,</p><p>armazenará o número digitado na variável x. Um exemplo</p><p>está na linha 8 do programa anterior: o número digitado irá</p><p>ser armazenado na variável x. Observe que no scanf deve-se</p><p>colocar o caractere "&" antes do nome da variável.</p><p>TABELA DE TIPOS BÁSICOS DE REPRESENTAÇÃO EM LINGUAGEM C</p><p>PARA AS FUNÇÕES PRINTF() E SCANF()</p><p>144</p><p>Tipo de dados Formato Exemplos</p><p>char %c scanf("%c",&ch);</p><p>printf("O caractere armazenado foi: %c \n", ch);</p><p>int %d scanf("%d",&x);</p><p>printf(“O Valor de x= %d \n", x);</p><p>float %f scanf("%f",&y);</p><p>printf(“O Valor de y= %f \n", y);</p><p>double %lf scanf("%lf",&z);</p><p>printf(“O Valor de z= %lf \n", z);</p><p>Char[] %s scanf("%s",nome); // Não precisa &</p><p>printf("O nome armazenado foi: %s \n", nome);</p><p>OPERADORES</p><p>145</p><p>OPERADOR DE ATRIBUIÇÃO</p><p>146</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>147</p><p>OPERADOR DE ATRIBUIÇÃO</p><p>148</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</p><p>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>149</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>151</p><p>Resumo dos Operadores Matemáticos em C</p><p>Decrementa em 1 o valor de xx----</p><p>Incrementa em 1 o valor de xx++++</p><p>Resto da divisão de x por yx % y %</p><p>Divide x por yx / y /</p><p>Multiplica x e yx * y*</p><p>Subtrai y de xx – y -</p><p>Soma x e yx + y+</p><p>ComentárioExemploOperador</p><p>152</p><p>Resumo dos Operadores Aritméticos de Atribuição em C</p><p>Equivale a x = x % yx %= y%=</p><p>Equivale a x = x / yx /= y /=</p><p>Equivale a x = x * yx *= y *=</p><p>Equivale a x = x – yx -= y-=</p><p>Equivale a x = x + yx += y +=</p><p>Atribui o valor de y a xx = y=</p><p>ComentárioExemploOperador</p><p>Exemplos de Abreviaturas de Atribuição em C</p><p>153</p><p>OPERADORES</p><p>RELACIONAIS</p><p>EXEMPLO DE USO DOS OPERADORES RELACIONAIS</p><p>155</p><p>OPERADORES RELACIONAIS EM LINGUAGEM C</p><p>156</p><p>Tabela Operadores Relacionais em C</p><p>OPERADORES LÓGICOS</p><p>157</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/if para que seja tomada</p><p>uma ú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>158</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 LÓGICOS</p><p>159</p><p>OPERADOR LÓGICO PORTUGOL STUDIO</p><p>Multiplicação lógica e</p><p>Adição lógica ou</p><p>Negação nao</p><p>OPERADORES</p><p>LÓGICOS</p><p>e</p><p>ou</p><p>nao</p><p>Portugol Studio Linguagem C</p><p>161</p><p>RESUMO DA TABELA VERDADE</p><p>162</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>OPERADORES LÓGICO EM LINGUAGEM C</p><p>163</p><p>Para usar os operadores lógicos,</p><p>devemos relembrar a Tabela verdade</p><p>TABELA VERDADE</p><p>164</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>165</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>TABELA DE PRIORIDADES</p><p>166</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º Incremento e decremento (++, --) – Linguagem C</p><p>4º Multiplicação, divisão e módulo (*,/,%)</p><p>5º Adição e subtração</p><p>6º Operadores relacionais (>, <, >=,<=, ==, != )</p><p>7º Negação (nao,!)</p><p>8º Conjunção (e,&&)</p><p>9º 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>167</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>168</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>16</p><p>9</p><p>ESTRUTURAS DE CONTROLE</p><p>170</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>171</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>172</p><p>ESTRUTURA SEQUENCIAL</p><p>173</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>174</p><p>Para enteder o problema é 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>175</p><p>LISTA DE EXERCÍCIOS</p><p>ESTRUTURA</p><p>SEQUENCIAL</p><p>17</p><p>6</p><p>LISTA DE EXERCÍCIOS</p><p>177</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: Linguagem e Técnicas de Programação</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: Conceitos Básicos</p><p>Slide 6: Exemplo de um algoritmo em Portugol Studio</p><p>Slide 7</p><p>Slide 8</p><p>Slide 9</p><p>Slide 10: O que é Programação? = ABSTRAÇÃO!</p><p>Slide 11: Abstração</p><p>Slide 12: Conceitos Básicos</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: Características de um Algoritmo</p><p>Slide 17: Estrutura de um Algoritmo</p><p>Slide 18: Até aqui 12/08</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 Descrição Narrativa</p><p>Slide 29: Exemplo de Fluxogramas</p><p>Slide 30: Símbolos Básicos de Fluxogramas</p><p>Slide</p><p>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: Importância de Algoritmos</p><p>Slide 36: Regras para Construção de Algoritmos</p><p>Slide 37: Fases de Algoritmos</p><p>Slide 38: Fases de Algoritmos</p><p>Slide 39: Propriedades de Algoritmos</p><p>Slide 40: Propriedades de Algoritmos</p><p>Slide 41: Será que fazemos algoritmos diariamente???</p><p>Slide 42: PROBLEMA</p><p>Slide 43: PROBLEMA</p><p>Slide 44</p><p>Slide 45: LÓGICA</p><p>Slide 46: Exemplos de Algoritmos</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: Resolução do Problema 1 – Descrição Narrativa</p><p>Slide 52: Resolução do Problema 1 - Fluxograma</p><p>Slide 53: Exemplos de Pseudocódigo</p><p>Slide 54: Estrutura do Pseudolinguagem</p><p>Slide 55: Testar Algoritmos</p><p>Slide 56: Algoritmos X Programa</p><p>Slide 57</p><p>Slide 58: Até aqui – 14/08</p><p>Slide 59: Nesta disciplina daremos ênfase em Pseudocódigo (Portufol Studio) e em programas na linguagem C</p><p>Slide 60: Linguagem C</p><p>Slide 61: Linguagem C</p><p>Slide 62: Compilador x Interpretador</p><p>Slide 63: ESTRUTURA DE PROGAMA EM LINGUAGEM C</p><p>Slide 64: ESTRUTURA DE UM PROGRAMA EM LINGUAGEM C</p><p>Slide 65: ESTRUTURA DE UM PROGRAMA EM LINGUAGEM C</p><p>Slide 66: DIRETIVAS PARA O PROCESSADOR - BIBLIOTECAS</p><p>Slide 67: EXEMPLO DE UM PROGRAMA EM LINGUAGEM C</p><p>Slide 68: AMBIENTE DE DESENVOLVIMENTO DE PROGRAMAS EM LINGUAGEM C</p><p>Slide 69: Passo para criar um programa em C</p><p>Slide 70: Passo para criar um programa em C</p><p>Slide 71: Passo para criar um programa em C</p><p>Slide 72: Passo para criar um programa em C</p><p>Slide 73: Passo para criar um programa em C</p><p>Slide 74</p><p>Slide 75</p><p>Slide 76</p><p>Slide 77: Portugol Studio</p><p>Slide 78: Portugol Studio</p><p>Slide 79: Portugol Studio - Característica</p><p>Slide 80: Portugol Studio - Característica</p><p>Slide 81: Portugol Studio</p><p>Slide 82: VARIÁVEIS, CONSTANTES E IDENTIFICADORES</p><p>Slide 83: VARIÁVES, CONSTANTES, IDENTIFICADORES</p><p>Slide 84: Importância da variável de Variável</p><p>Slide 85: Variável</p><p>Slide 86: Conceito e Características das Variáveis</p><p>Slide 87: Função das Variáveis</p><p>Slide 88: Escopo das Variáveis</p><p>Slide 89: Escopo das Variáveis</p><p>Slide 90: Variáveis</p><p>Slide 91: Exemplos de Variáveis</p><p>Slide 92: VARIÁVIES</p><p>Slide 93: VARIÁVIES</p><p>Slide 94: VARIÁVIES</p><p>Slide 95: IDENTIFICADORES</p><p>Slide 96</p><p>Slide 97</p><p>Slide 98</p><p>Slide 99: Palavras Reservadas Portugol Studio</p><p>Slide 100: Palavras Reservadas Portugol Studio</p><p>Slide 101: Palavras Reservadas em C</p><p>Slide 102</p><p>Slide 103</p><p>Slide 104: IDENTIFICADORES</p><p>Slide 105</p><p>Slide 106: Exercícios: quais destes nomes são válidos???</p><p>Slide 107: EXERCÍCIOS</p><p>Slide 108</p><p>Slide 109</p><p>Slide 110</p><p>Slide 111</p><p>Slide 112</p><p>Slide 113</p><p>Slide 114</p><p>Slide 115</p><p>Slide 116: CONSIDERAÇÕES DE VARIÁVIES</p><p>Slide 117</p><p>Slide 118</p><p>Slide 119: TIPOS DE DADOS</p><p>Slide 120: Tipos de Dados</p><p>Slide 121: Tipos de Dados</p><p>Slide 122: TIPOS BÁSICOS DE DADOS EM C</p><p>Slide 123: ENTRADA E SAÍDA DE DADOS</p><p>Slide 124</p><p>Slide 125</p><p>Slide 126: COMANDO DE ENTRADA E SAÍDA DE DADOS</p><p>Slide 127</p><p>Slide 128</p><p>Slide 129: Comandos de Entrada e Saída de Dados</p><p>Slide 130</p><p>Slide 131</p><p>Slide 132</p><p>Slide 133: EXEMPLO DE ENTRADA E SAÍDA EM PORTUGOL STUDIO</p><p>Slide 134: Comandos de Entrada e Saída de Dados</p><p>Slide 135: COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>Slide 136: COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>Slide 137: EXEMPLO DE SAÍDA EM LINGUAGEM C</p><p>Slide 138: COMANDO DE SAÍDA EM LINGUAGEM C</p><p>Slide 139: COMANDO DE SAÍDA EM LINGUAGEM C</p><p>Slide 140: COMANDO DE SAÍDA DE DADOS EM LINGUAGEM C</p><p>Slide 141: COMANDO DE ENTRADA DE DADOS EM LINGUAGEM C</p><p>Slide 142: EXEMPLO DE ENTRADA EM LINGUAGEM C</p><p>Slide 143: EXEMPLO DE ENTRADA EM LINGUAGEM C</p><p>Slide 144: TABELA DE TIPOS BÁSICOS DE REPRESENTAÇÃO EM LINGUAGEM C PARA AS FUNÇÕES PRINTF() E SCANF()</p><p>Slide 145: OPERADORES</p><p>Slide 146: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 147: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 148: OPERADOR DE ATRIBUIÇÃO</p><p>Slide 149: LINEARIZAÇÃO DE EXPRESSÕES</p><p>Slide 150: OPERADORES ARITMÉTICOS</p><p>Slide 151: Resumo dos Operadores Matemáticos em C</p><p>Slide 152: Resumo dos Operadores Aritméticos de Atribuição em C</p><p>Slide 153: Exemplos de Abreviaturas de Atribuição em C</p><p>Slide 154: OPERADORES RELACIONAIS</p><p>Slide 155: EXEMPLO DE USO DOS OPERADORES RELACIONAIS</p><p>Slide 156: OPERADORES RELACIONAIS EM LINGUAGEM C</p><p>Slide 157: OPERADORES LÓGICOS</p><p>Slide 158: OPERADORES LÓGICOS</p><p>Slide 159: OPERADORES LÓGICOS</p><p>Slide 160: OPERADORES LÓGICOS</p><p>Slide 161</p><p>Slide 162: RESUMO DA TABELA VERDADE</p><p>Slide 163: OPERADORES LÓGICO EM LINGUAGEM C</p><p>Slide 164: TABELA VERDADE</p><p>Slide 165: OPERADORES DE CARACTERES</p><p>Slide 166: TABELA DE PRIORIDADES</p><p>Slide 167: EXERCÍCIOS DE FIXAÇÃO</p><p>Slide 168: Exercícios de Fixação</p><p>Slide 169: ESTRUTURAS DE CONTROLE</p><p>Slide 170: ESTRUTURAS DE CONTROLE</p><p>Slide 171: ESTRUTURA SEQUENCIAL</p><p>Slide 172: ESTRUTURA SEQUENCIAL</p><p>Slide 173: ESTRUTURA SEQUENCIAL</p><p>Slide 174: ESTRUTURA SEQUENCIAL</p><p>Slide 175</p><p>Slide 176: LISTA DE EXERCÍCIOS ESTRUTURA SEQUENCIAL</p><p>Slide 177: LISTA DE EXERCÍCIOS</p>