2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto LINGUAGEM ALGORÍTMICA Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto ______________________________ Linguagem Computacional Introdução •! Para uma melhor padronização de nosso estudos, vamos agora definir uma linguagem para a construção de nossos algoritmos. •! Antes de começarmos a definir as operações básicas de nossa linguagem algorítmica, é importante definir o conceito de variável. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 2 1 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Conceito de variável (1) •! Na Matemática: uma variável é a representação simbólica de um elementos matemático. •! Nos algoritmos: –!Queremos resolver um problema no computador. –!Uma variável vai “carregar” um determinado valor de dados. Adriano Mauro Cansian 3 Conceito de variável (2) •! Definição mais formal: a cada variável corresponde uma posição de memória. –! Cujo conteúdo pode variar (mudar) ao longo do tempo durante a execução de um algoritmo. •! Embora a variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 4 2 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Conceito de variável (3) •! Toda variável é identificada por um nome ou identificador. •! Por exemplo, num algoritmo para calcular a área de um triângulo retângulo pelo teorema de Pitágoras (a2 = b2 + c2): –! Os identificadores (ou “nomes”) A, B e C podem representar as posições de memória que armazenam o valor da hipotenusa e dos catetos. –! Mas estes identificadores poderiam ser chamados também de: LADO_A, LADO_B e LADO_C Adriano Mauro Cansian 5 Conceito de variável (4) •! Observação importante: para um nome de variável, nunca devemos usar uma “palavra reservada”. •! Uma palavra reservada é alguma palavra ou comando que faça parte da linguagem algorítmica. –! Pois causa ambigüidade no entendimento do algoritmo. –! Palavras reservadas serão vistas mais adiante. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 6 3 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Conceito de variável (4) •! Na nossa linguagem algorítmica, vamos admitir que nossas variáveis poderão armazenar (carregar) valores numéricos ou alfanuméricos (“strings”). Agora que sabemos o que é uma variável, veremos as definições das operações básicas de nossa linguagem algorítmica. Adriano Mauro Cansian 7 Colocando dados na variável •! Há duas maneiras de se colocar dados numa variável: 1.!Através de uma operação de “atribuição”. –! Variável “recebe” um valor. 2.!Através de uma operação de “leitura”. –! Um valor é lido (no teclado) e colocado na variável. Veremos a seguir... Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 8 4 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Operação de atribuição (1) •! A operação de atribuição permite armazenar um valor numa variável. •! Variações: –!Se for atribuído uma expressão à variável, será armazenado o resultado final daquela expressão. –!Se for atribuído uma outra variável, será armazenado o conteúdo daquela variável. Adriano Mauro Cansian 9 Operação de atribuição (2) •! Para a operação de atribuição, utilizaremos a seguinte sintaxe: variável ! expressão •! Onde o símbolo “!” denota o operador de atribuição (dizemos “recebe”). Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 10 5 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Exemplos de atribuições Adriano Mauro Cansian 11 Operações de Entrada e Saída (1) •! Para fazer operações num computador: 1.!Deve ser possível fornecer os dados sobre os quais o computador vai operar. –! Entrada de dados. 2.!Deve ser possível ver os resultados das operações feitas sobre os dados. –! Saída de dados •! Operações de E/S, ou operações de I/O (Input/Output). Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 12 6 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Comandos de Entrada e Saída •! Definimos agora dois novos comandos da nossa linguagem algorítmica para manusear entrada e saída: •! O comando leia nos permite ler valores dados, atribuindo-os à variáveis indicadas; –! Leia recebe os dados do dispositivo de entrada e automaticamente atribui à variável associada. •! O comando escreva nos permite mostrar os resultados. Adriano Mauro Cansian 13 Operações de Entrada e Saída (2) •! A entrada pode vir do teclado, ou de qualquer outro dispositivo de entrada. •! A saída pode aparecer na tela do monitor de vídeo, ou ser impressa em papel. –!Por enquanto não nos preocuparemos com detalhes destes dispositivos. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 14 7 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Sintaxe de entrada e saída •! As sintaxes destes comandos são: leia variável-1, variável-2, ..., variável-n escreva expressão-1, expressão-2, ..., expressão-n Adriano Mauro Cansian 15 Se op = ‘+’ então { R ! X + Y; escreva(“A soma é =“, R); } Se op = ‘-’ então { R ! X - Y; escreva(“A diferença é =“, R); }; Se op = ‘*’ então { R ! X * Y; escreva(“A multipl é =“, R); }; Se op = ‘/’ então { R ! X / Y; escreva(“A divisão é =“, R); } Se op ! (+,-,*,/) então escreva (“tente outra vez”); fim Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 16 8 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Exemplos Adriano Mauro Cansian 17 Estrutura Sequencial Prof. Dr. Adriano Mauro Cansian 9 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto !! Sequencial !! •! Num algoritmo (e num programa), os comandos deverão ser executados numa sequência linear. –! Segue-se o texto na ordem em que estão escritos os comandos, de cima para baixo. –! A menos que exista alguma indicação especial em contrário. •! Em nossa linguagem algorítmica, os algoritmos são iniciados com a palavra início e finalizados com a palavra fim. Adriano Mauro Cansian 19 Na Linguagem Algorítmica: •! Linguagem Algorítmica: inicio comando-1 comando-2 ... comando-n Exemplo: início leia A,B SOMA ! A + B escreva SOMA fim fim Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 20 10 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto No Fluxograma INICIO Comando-1 Comando-2 Comando-n FIM Adriano Mauro Cansian 21 Estrutura Condicional (1) •! A estrutura condicional permite escolher um grupo de ações e estruturas a serem executados quando (ou “SE”) determinadas condições forem ou não satisfeitas. •! Também conhecida como estrutura de DECISÃO. –!Decide qual caminho deve seguir na execução do algoritmo. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 22 11 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura Condicional (2) •! “SE” determinada condição for verdadeira, segue um caminho. •! “SE” determinada condição for falsa, segue outro caminho. –! As condições são sempre expressões lógicas: •! Resultam em Verdadeiro ou Falso. •! Estrutura condicional pode se apresentar de duas formas: –! Estrutura condicional simples. –! Estrutura condicional composta. Adriano Mauro Cansian 23 Estrutura Condicional Simples (1) •! Também chamada de Exemplo: “se-então”. ... se MÉDIA ! 7 então início da condicional se condição for verdadeira então comando-1 comando-2 ... comando-n SITUAÇÃO ! 'Aprovado' Escreva SITUAÇÃO ... fim da condicional Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 24 12 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura Condicional Simples (2) Falso: Não executa Verdadeiro: Condição comandos Executa comandos Comando-1 Comando-2 Comando-n Adriano Mauro Cansian 25 Estrutura condicional composta (1) •! SE condição “x” verdadeira então <execute estes comandos “A”> SENÃO <execute estes comandos “B”> “SENÃO” quer dizer: se a condição “x” for falsa Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 26 13 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura condicional composta (2) Exemplo: ... se PESO > 80 então se condição então comando-A1 comando-A2 ... comando-An senão comando-B1 comando-B2 ... comando-Bn escreva 'Você está obeso' escreva 'Faça atividades físicas' senão escreva 'Você está no peso certo' escreva 'Procure manter sua forma' ... Adriano Mauro Cansian 27 Estrutura condicional composta (3) SENÃO (falso): SE (verdadeiro): Executa comandos A Executa F Condição comandos B V Comando-A 1 Comando-A 2 Comando-A n Comando-B 1 Comando-B 2 Comando-B n Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 28 14 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura de Repetição Estrutura de repetição (1) •! Estrutura de repetição executa uma sequência de comandos, repetidamente, até que uma determinada condição não seja satisfeita. •! Também conhecida como “laço”. •! Utilizaremos o comando enquanto para representar esta estrutura. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 30 15 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura de repetição (2) ENQUANTO uma condição for verdadeira EXECUTA COMANDOS. QUANDO a condição for falsa Pára de executar comandos. Adriano Mauro Cansian 31 Estrutura de repetição (3) enquanto condição verdadeira comando-A1 comando-A2 ... comando-An Exemplo: ... leia SENHA enquanto SENHA <> ’apple’ escreva 'Senha inválida' escreva 'Digite a senha novamente' leia SENHA ... Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 32 16 2 - Linguagem Algorítmica UNESP - Campus de São José do Rio Preto Estrutura de repetição (4) Condição Falso Verdadeiro Comando-A1 Comando-A2 Comando-An Adriano Mauro Cansian 33 Resumo •! Neste tópico vimos: –! Conceito de variável. –! Conceito de comandos e atribuições –! Operações de entrada e saída. –! Estruturas de decisão (se) –! Estruturas de repetição (enquanto) •! Estes conceitos e estruturas formam a base de nossa linguagem algorítmica, que aos poucos irá se tornar uma linguagem de programação. Adriano Mauro Cansian Prof. Dr. Adriano Mauro Cansian 34 17