Baixe o app para aproveitar ainda mais
Prévia do material em texto
RESOLUÇÃO DE PROBLEMAS E ALGORITMOS ALGORITMOS: O QUE SÃO? 2 Uma das tarefas de um programador é resolver, por meio de códigos e comandos, problemas ligados a operações lógicas e matemáticas. Com isso, os primeiros passos são organizar seus pensamentos, utilizando fluxogramas, testes de mesa e pseudocódigos para tornar mais visíveis as etapas até chegar na solução deste problema. FLUXOGRAMAS O fluxograma é uma ferramenta utilizada para representar, através de formas geométricas e seguindo um fluxo. O algoritmo é uma sequência lógica das etapas para a resolução de um determinado problema, composta por desenhos geométricos simples conhecidos como diagrama de bloco. DIAGRAMA DE BLOCOS O diagrama de blocos é uma ferramenta utilizada para representar o método do fluxograma, isto é, o que significa cada símbolo geométrico utilizado no fluxo, sua função, sempre desenvolvido no nível de detalhe necessário, confira um exemplo a seguir. 3 Área de transferência Instruções Entrada/saída Variáveis Controle Ciclos de repetição Ler Escrever Declarar Atribuir Se Subprograma Início Fim Enquanto Para Faça Ponto de parada Comentário Variado FERRAMENTAS PARA DESENVOLVER UM FLUXOGRAMA Para desenvolver um fluxograma há várias ferramentas e plataformas, algumas on-line, outras que precisam ser instaladas no computador, como as que serão citadas a seguir. Para conhecê-las clique nos títulos e você será redirecionado aos sites. Lucidchart Flowgorithm Mas, a maneira mais utilizada para desenvolver um fluxograma é através de papel e caneta. TESTE DE MESA Existe uma técnica denominada teste de mesa que permite a simulação do processo de interpretação de um algoritmo utilizando apenas um papel e uma caneta. Para acompanhar o desenvolvimento de um algoritmo é importante verificar o estado dos dados a cada instrução, verificando o conteúdo de todas as variáveis contidas no algoritmo. Sendo assim, devem-se enumerar as linhas do algoritmo e, em seguida, criar uma tabela em que, a cada linha, são mostrados os conteúdos das variáveis do algoritmo e o número da linha executada. Para uma melhor visualização do processo, adotaremos a seguinte convenção: nas linhas em que uma variável é lida (entrada), o valor da variável ficará entre colchetes [] e quando o conteúdo de uma variável for escrito (saída), ficará entre chaves {}. A seguir aprenda mais sobre pseudocódigos. https://www.lucidchart.com/pages/pt http://www.flowgorithm.org/ 4 PSEUDOCÓDIGO A representação de um algoritmo pode ser vista em diversas situações: em um texto que explique seu passo a passo, em uma lista com tarefas ordenadas ou até mesmo em um fluxograma. Entretanto, como não há uma regra que formalize qual meio utilizar, esse conceito se torna um pouco distante do mundo das linguagens de programação. Foi para mudar essa realidade e aproximar os conceitos que o pseudocódigo foi desenvolvido. Por se tratar de uma linguagem desenvolvida em português, o Portugol é bastante popular no Brasil, mas é possível encontrar diversas outras opções. O objetivo, entretanto, é o mesmo: desenvolver um código que se aproxime do padrão visto em linguagens como C#, Javascript, Python ou Java, por exemplo. A seguir conheça mais sobre a pseudolinguagem do Portugol. PORTUGOL É uma falsa linguagem de programação que serve como base para outras linguagens, apresentando entradas, tipos de dados, processamentos e saídas. Chamada por alguns de português estruturado e, por outros, de portugol. Serve para a criação, desenvolvimento e documentação de um sistema computacional. Portugol possui a estrutura a seguir: Cabeçalho – nome do programa Bloco de variáveis – local de declaração de variáveis a serem utilizadas no programa. Código – instruções do programa. PSEUDOCÓDIGO - PLATAFORMA PARA APRENDIZAGEM 5 A seguir, confira um exemplo de um pseudocódigo. inicio inteiro n1, n2, result ler(n1) ler(n2) result <- n1 + n2 escrever(result) fim Confira uma explicação mais detalhada de algumas linhas do código apresentado. • linha 1: define o início do algoritmo; • linha 2: definição de variáveis. Aqui, as variáveis n1 e n2 do tipo inteiro são criadas para, posteriormente, armazenar os valores que serão inseridos pelo usuário nas linhas 3 e 4. Além disso, é criada a variável que receberá a soma deles, que decidimos chamar de result; • linhas 3 e 4: leitura de variáveis. Aqui, o código lê os valores informados pelo usuário e que serão armazenados nas variáveis n1 e n2. Essa é a entrada de dados do algoritmo; • linha 5: atribuição de valores com o operador <-. Esse operador define que o resultado da soma n1 + n2 seja armazenado na variável result, que definimos na linha 2. É aqui que acontece o processamento dos dados; • linha 6: saída de dados do algoritmo. Após realizar a operação de soma, o resultado só vai aparecer se isso for ordenado, e é isso que fazemos na linha 6. No Portugol, utilizamos o verbo escrever seguido da variável que queremos exibir, entre parênteses; • linha 7: aqui, informamos o fim do nosso algoritmo. ONDE CRIAR UM PSEUDOCÓDIGO Para começar, é possível apenas escrever em uma folha a sequência de instruções que já podemos chamá-la de pseudocódigo, mas a utilização de um software para isso acaba ajudando na parte de familiarização com a programação. Dois exemplos de softwares para realizar a programação em Portugol são: VisuAlg: O VisuAlg é a principal opção para a interpretação de algoritmos em Portugol. É uma boa alternativa para iniciantes e não apenas para escrever pseudocódigo, mas também para entender melhor como ele é executado. Portugol Studio: O Portugol Studio é outra alternativa para quem quer aprender programação e fala português. Com uma sintaxe baseada nas linguagens de programação C e PHP, conta com diversos exemplos e materiais de apoio e permite até mesmo a criação de jogos. 6 A seguir aprenda mais sobre variáveis e constantes. VARIÁVEIS: Variável é o endereço de memória previamente definido para armazenar dados. São temporários, possuem um tipo e podem ser para entrada ou saída de dados. Para não bagunçar a memória que usamos e para podermos utilizar os dados posteriormente, devemos nomear as variáveis, isto é, nomear onde iremos guardar os dados. Para isso devemos seguir algumas regras: • Não utilize números no primeiro caractere porque toda a memória é mapeada numericamente e o computador não consegue identificar o seu espaço criado como variável; • Não utilize espaços em branco porque o computador entende que ali acaba a sentença e pula o que vem depois do espaço em branco, isso quer dizer que se você entrar com nome e sobrenome ele guarda apenas o nome e pula o sobrenome já que existe um espaço em branco entre eles; • Não use palavras reservadas, significa que o computador possui palavras que ele tem como funções específicas tais como print e scan, se o computador recebe a instrução print ele não sabe se é para guardar ou imprimir os dados; • Utilize o nome da variável para sua identificação, se é para guardar números crie uma variável com o nome VALOR, ou NUM, não crie A1, porque desta forma não sabemos o motivo de sua criação. VARIÁVEIS X CONSTANTES 7 CONSTANTE: Além das variáveis, existem também as constantes. A diferença entre os dois é que a constante não pode ter seu valor alterado durante a execução do programa e deve ter seu valor definido logo no momento em que é feita sua declaração. Os casos em que as constantes são mais utilizadas é durante a utilização de constantes matemáticas, como pi ‘π’, ou quando tem um valor que ele não irá ser alterado durante um programa, então ao invés de utilizar a variável pode ser usado as constantes. Declarando esses itens como constantes, há uma segurança a mais, porque se você tentar mudar o valor de uma constante, um erro vai ocorrer. Também é possível definir os tipos de constantes, então temos os valores do tipo real, inteiro, caractere e lógicos. Para declararmosuma constante, temos que seguir o modelo dos exemplos a seguir: const real PI = 3.14 const cadeia NOME_ABNT = “Associação Brasileira de Normas Técnicas” 8 Para trabalhar com linguagens e pseudolinguagens de computador, é preciso compreender como os valores são manipulados. Os dados processados ou armazenados são todos definidos previamente pelos seus tipos para não termos problemas para utilizá-los depois. Como por exemplo, temos números para informar quantidade e caracteres para nomes e endereços. Tudo tem seu tipo e seu uso definidos pelo desenvolvedor da solução digital. A pseudolinguagem Portugol compreende os tipos de dados: Inteiros – negativos ou positivos. • 1 • -9 • 800 • -12 • 1481 Reais – negativos ou positivos, fracionados ou inteiros. • 1,98 • -9,99 • 800 • -12 • 1481,09 Caracteres – cada caractere ou conjunto que utilizamos para escrever um texto. Podendo ser letra ou número. • A1 • Roberto • 800 • RUA 2 • CANETA SV Lógicos – sempre definidos como verdadeiro ou falso, SIM ou NÃO. FORMAS DE ARMAZENAMENTO DE DADOS 9 A seguir, confira um item essencial para manipular dados numa programação e entender sobre operadores aritméticos. OPERADORES ARITMÉTICOS: São símbolos que utilizamos para realizar determinadas tarefas matemáticas. Por exemplo, em pseudolinguagem temos: + adição - subtração / divisão * multiplicação = atribuição % módulo (para calcular o resto de uma divisão) Biblioteca matemática: a. potência b. raiz O símbolo de atribuição “igual” (=) é usado para indicar que o endereço de memória, a variável, receberá um valor. Confira um exemplo a seguir: Exemplo: NOME = “leme”; A variável NOME recebe o dado leme. Agora, leme está guardado no espaço NOME da memória para ser utilizado posteriormente. Além dos operadores aritméticos, outro item importante na sua programação é conhecer a biblioteca, acompanhe a seguir. QUAIS AS FORMAS DE MANIPULAR DADOS COM A PROGRAMAÇÃO? 10 O QUE É UMA BIBLIOTECA? Biblioteca é uma ferramenta na programação para utilizar um conjunto de instruções e funções pré-escritas por outros programadores. Estas instruções resolvem determinados problemas que são comuns e que os programadores costumam utilizar diversas vezes. Um exemplo é a biblioteca matemática, que serve para facilitar e deixar mais rápida a resolução de alguns tipos de operações. Por fim, conheça a seguir os operadores de caracteres. OPERADOR DE CARACTERES O operador relacionado a palavras e letras é o sinal ‘+’, que serve para concatenar ( juntar) palavras e letras, e funciona como o esquema a seguir: cadeia nome = “Ayrton”, sobrenome = “Senna”, concatenado concatenado = nome + “ ” + sobrenome Que resulta em “Ayrton Senna” Se não houvesse o + “ ” + as duas palavras ficariam juntas. Agora, que tal você conhecer mais da programação em Portugol com um exemplo? Vamos lá! 11 A seguir, confira um exemplo de um algoritmo com seu fluxograma e também teste de mesa. O exemplo consiste em: um algoritmo deve ler dois números (a e b) e apresentar o resultado das quatro operações aritméticas (Adição, Subtração, Multiplicação e Divisão). Primeiro confira o fluxograma deste exemplo: Ler a Ler b Escrever “Informe dois números” Escrever “O resultado da soma é de: “ & a+b Escrever “O resultado da divisão é de: ” & divisão Escrever “O resultado da multiplicação é de: ” & multiplicação Escrever a & “-” & b & “=” & a-b Real divisão Inteiro a Inteiro b Divisão <- a / b Inteiro multiplicação Multiplicação < - a * b Principal Fim HORA DE PRATICAR 12 A seguir, confira como fica o teste de mesa: Linhas a b Divisão Multiplicação 1 2 3 4 5 [2] [5] 0,4 {0,4} 10 {10} 6 7 8 9 10 11 12 13 14 15 Teste de Mesa E, por fim, confira como fica o código dessa programação. programa { funcao inicio() { inteiro a, b escreva(“Informe dois números: “) leia(a) leia(b) escreva(“\nO resultado da soma é de: “, a+b) escreva(“\n”, a, “ - “, b, “ = “, a-b) real divisao divisao = a/b escreva(“\nO resultado da divisão é de: “, divisao) inteiro multiplicacao multiplicacao = a*b escreva(“\nO resultado da multimplicação é de: “, multiplicacao) } } Pronto, agora você já conhece um pouco mais do mundo da programação em Portugol. Até mais!
Compartilhar