DSOFT Amintas engenharia DSOFT Unidade 3 Algoritmos Estruturados DSOFT Algoritmos Estruturados Ementa desta Unidade: 3.1 – Conceitos de Algoritmos 3.2 – Tipos de variáveis; 3.3 – Estruturas Condicionais; 3.4 – Estruturas de repetição; 3.5 – Construção de algoritmos; DSOFT Algoritmos Estruturados 3.1 – Conceitos de Algoritmos A palavra algoritmo deriva do nome do matemático árabe Mohammed ibu-Musa alKhowarizm (≈800d.C.). Algoritmo é a descrição de um padrão de comportamento, expresso em termos de um repertório bem definido e finito de ações “primitivas”, das quais damos por certo que podem ser executadas. DSOFT Algoritmos Estruturados Exemplo: Digamos que uma dona de casa irá dar ordens para sua empregada descascar batatas. A dona de casa passará o seguinte algoritmo para descascar batatas: “Traga a cesta de batatas do porão” “Traga a panela do armário” “Descasque as batatas” “Devolva a cesta ao porão” DSOFT Algoritmos Estruturados Características de um algoritmo: Utiliza comandos simples, que não levam a dupla interpretação. É detalhado o suficiente para que qualquer pessoa o siga sem dificuldade. É determinístico, ou seja, dadas as mesmas condições de entrada, o algoritmo irá produzir a mesma resposta. DSOFT Algoritmos Estruturados Estrutura de um algoritmo: Para construirmos um algoritmo, iremos utilizar o Português Estruturado (também chamado de Portugol). A primeira estrutura de todo algoritmo é: Algoritmo <NomeDoAlgoritmo> E a última linha de todo algoritmo é: Fim Algoritmo DSOFT Algoritmos Estruturados Logo abaixo da primeira linha do algoritmo, devemos esclarecer de forma sucinta o objetivo do algoritmo com um texto entre chaves: {Objetivo: <Objetivo do Algoritmo>} Devemos identificar também os parâmetros de entrada do algoritmo, que é o conjunto de valores que ele espera para poder ser executado com sucesso: Parâmetros de entrada <lista de variáveis> DSOFT Algoritmos Estruturados Finalmente, o último passo antes de passar para a construção do algoritmo é identificar os parâmetros de saída, que é o conjunto de valores entregue pelo algoritmo ao final da sua execução: Parâmetros de saída <lista de variáveis> Algoritmos Estruturados DSOFT Exemplo da estrutura do algoritmo: Algoritmo Exemplo {Objetivo: Mostrar a estrutura de um algoritmo} Parâmetros de entrada a, b, c Parâmetros de saída x, y ... Fim Algoritmo DSOFT Algoritmos Estruturados 3.2 – Tipos de variáveis 3.2.1 - Variáveis Dentro de um algoritmo, variáveis correspondem a posições de memória do computador, onde fica armazenado determinado valor. As variáveis são representadas por identificadores que são cadeias de caracteres alfanumérico. Matrizes e vetores podem ser representados pelos seus elementos através de índices, tais como vetor[i] e matriz[i,j]. DSOFT Algoritmos Estruturados Trabalharemos neste curso com somente 4 tipos de variáveis (as linguagens de programação possuem conjuntos enormes de tipos de variáveis, mas podemos dizer que todos são derivados destas quatro primitivas): -Inteiro: Representa os números inteiros; -Real: Qualquer número real (com vírgula); -Caracter: Variáveis que recebem caracteres (letras e números). -Lógico: Recebe valores Falso e Verdadeiro. DSOFT Algoritmos Estruturados Podemos imaginar que variável é o nome de um local onde será armazenado qualquer valor do conjunto de valores suportado pelo seu tipo. Soma Valor 5,452 Toda variável deve ser declarada no algoritmo antes de ser utilizada com o seguinte comando: <Tipo da Variável>: <NomeA>, <NomeB>; DSOFT Algoritmos Estruturados 3.2.2 - Comandos básicos: Atribuição: Agora que já sabemos como declarar as variáveis que serão usadas em nossos algoritmos, podemos inserir valores nelas com o seguinte comando: <NomeDaVariável> ← <expressão>; Onde a expressão pode ser somente um valor ou uma expressão matemática que utiliza outros valores e variáveis. DSOFT Algoritmos Estruturados Expressões aritméticas: Para representarmos as expressões aritméticas, utilizamos a notação matemática já conhecida, dada na seguinte tabela: Função Descrição Função Descrição + Soma - Subtração * Multiplicação / Divisão ^ Expoente Log10 Logaritmo decimal Loge Logaritmo natural Raiz2 Raiz Quadrada Abs Valor absoluto quociente Divisão inteira Arredonda Arredonda para inteiro Sinal 1 se >0; 0 se =0; -1 se <0 Max Maior valor Resto Resto da divisão Min Menor valor Trunca Corta casas decimais DSOFT Algoritmos Estruturados Expressões Lógicas: São expressões cujos resultados são sempre lógicos (Verdadeiro ou Falso), não dependendo do tipo das variáveis ou expressões utilizadas. Existem operadores relacionais e operadores lógicos. Os operadores relacionais fazem a comparação entre valores não lógicos, retornando um valor lógico e são mostrados na tabela a seguir: Algoritmos Estruturados DSOFT Operador Descrição Operador Descrição < Menor ≤ Menor ou igual > Maior ≥ Maior ou igual = Igual ≠ Diferente Os operadores lógicos, por outro lado, permitem a combinação de relações cujos resultados sejam lógicos e são: Operador Descrição e Conjunção ou Disjunção não Negação DSOFT Algoritmos Estruturados As tabelas abaixo mostram os resultados lógicos para os operadores lógicos. e ou não a V F V F V V F V V V F F F V F F a V F F V DSOFT Algoritmos Estruturados 3.2.3 – Comandos de entrada e saída Apesar dos parâmetros de entrada e saída serem especificados logo no início do algoritmo, devemos ler e escrever estes parâmetros no algoritmo para podermos utilizá-los. O comando para leitura de um ou mais parâmetros é o: Leia <lista de variáveis> Onde a lista de variáveis pode conter qualquer parâmetro de entrada. DSOFT Algoritmos Estruturados Quando o algoritmo termina, ele deve exibir os valores calculados, que estarão armazenados nas variáveis dos parâmetros de saída. Para isso, devemos utilizar o comando: Escreva <lista de variáveis> Onde a lista de variáveis contém as variáveis dos parâmetros de saída especificados. DSOFT Algoritmos Estruturados 3.3 - Estruturas Condicionais O uso de uma estrutura condicional torna possível a escolha dos comandos a serem executados quando uma certa condição é satisfeita ou não. Esta estrutura permite o controle de qual código será executado. As estruturas condicionais podem ser simples ou compostas. DSOFT Algoritmos Estruturados 3.3.1 – Estrutura Condicional Simples: Esta estrutura é utilizada quando temos que decidir pela execução de um trecho do algoritmo e possui a forma: Se <condição lógica> então <comandos> Fim se Nesta estrutura, o trecho <comandos> só será executado se a <condição lógica> for verdadeira. DSOFT Algoritmos Estruturados 3.3.2 – Estrutura condicional composta: Esta estrutura é utilizada quando temos que decidir qual de dois caminhos seguir dentro do algoritmo (somente um dos trechos é executado). Se <condição lógica> então <comandos 1> Senão <comandos 2> Fim se DSOFT Algoritmos Estruturados 3.4 – Estruturas de repetição Em cálculo numérico, muitas vezes devemos repetir um trecho do algoritmo diversas vezes, até que seja atendida uma condição específica. Nestes casos, utilizamos as estruturas de repetição, que podem ter número definido ou indefinido de repetições. DSOFT Algoritmos Estruturados 3.4.1 – Número indefinido de repetições: Nesta estrutura, não temos idéia do número de vezes que o trecho do algoritmo deverá ser executado. Temos então uma estrutura que irá repetir o trecho do algoritmo até que seja satisfeita uma condição de parada. Esta estrutura é mostrada a seguir: DSOFT Algoritmos Estruturados Repita <comandos 1> se <condição lógica> então interrompa fim se <comandos 2> Fim repita <comandos 3> DSOFT Algoritmos Estruturados Na estrutura mostrada, o trecho <comandos 1> é executado e então verifica-se a condição lógica. Se ela for verdadeira, é executado o comando interrompa, que transfere a execução do algoritmo para o trecho <comandos 3>. Se a condição lógica for falsa, o trecho <comandos 2> é executado e em seguida é executado novamente o trecho <comandos 1>. Esta sequência só é quebrada quando a condição lógica for verdadeira. DSOFT Algoritmos Estruturados 3.4.2 – Número definido de repetições Quando o número de repetições a ser executado é conhecido, usamos a seguinte estrutura: Para <controle>←<valor inicial> até <valor final> passo <delta> faça <comandos> Fim para DSOFT Algoritmos Estruturados Nesta estrutura, uma variável de controle é utilizada para contar as repetições de valor inicial até valor final, com uma diferença entre valores igual ao passo. Depois de atingido o valor final, a execução do algoritmo continua com os comandos após o “fim para”. DSOFT Algoritmos Estruturados 3.5 – Construção de algoritmos Com as definições passadas, podemos agora construir algoritmos estruturados através de exemplos. Exemplo 1: Construa um algoritmo que multiplique um valor por 2. DSOFT Algoritmos Estruturados Resolução: Algoritmo Dobrar {Objetivo: Multiplicar um valor por dois} Parâmetros de entrada: Valor Parâmetros de saída: Valor_Dobrado Leia Valor Valor_Dobrado←Valor * 2 Escreva Valor_Dobrado Fim Algoritmo DSOFT Algoritmos Estruturados Exemplo 2: Faça um algoritmo que encontre o fatorial de um número. Algoritmo Fatorial {Objetivo: Calcular o fatorial de um número} Parâmetro de entrada: Número Parâmetro de saída: Fatorial Leia Número Inteiro Valor Fatorial←1 DSOFT Algoritmos Estruturados Para Valor ←1 até Número Passo 1 Faça Fatorial=Fatorial*Valor Fim para Escreva Fatorial Fim Algoritmo DSOFT www.matematiques.com.br engenharia