Algoritmos e Estruturas de Dados I – Comandos de atribuição, entrada e saída Profa. Mercedes Gonzales Márquez Comandos básicos Um comando é a descrição de uma ação a ser executada em um dado momento. Descreveremos três comandos básicos no desenvolvimento de algoritmos : atribuição, entrada e saída. Atribuição: Este comando permite que se forneça um valor a uma certa variável cujo tipo deve ser compatível com esse valor. Comando de atribuição Forma geral do comando de atribuição identificador ← expressão onde: identificado é o nome da variável; ← é o símbolo de atribuição, e expressão é a representação simbólica de um valor que pode ser do tipo aritmética, lógica ou literal. A avaliação dessa representação simbólica resulta no valor a ser atribuído à variável. Comando de atribuição Exemplo de atribuição: k ← 10 COR ← “VERDE” teste ← falso soma ← 50 media ← soma/k cod ← (n*n+1) > 5 sim ← k = 0 e media < 0 Comando de atribuição Exercícios de fixação 1.7.1.1. e 1.7.1.2. do livro Algoritmos Estruturados de Harry Farrer e outros. Sendo SOMA,NUM,X variáveis numéricas, NOME, COR, DIA variáveis literais, e TESTE, COD, TUDO variáveis lógicas, assinalar os comandos de atribuição considerados inválidos: (a) NOME ← 5 (b) SOMA ← NUM + 2*X (c) TESTE ← COD ou X**2 <> SOMA (d) TUDO ← SOMA (e) COR ← “PRETO” – sqrt(X) Comando de atribuição (f) X ← X+1 (g) NUM ← “*ABC*” (h) DIA ← “SEGUNDA” (i) SOMA + 2 ← X**2 – sqr(NUM) (j) X ← NOME >= COD Quais os valores armazenados em SOMA, NOME e TUDO, supondo-se que NUM, X, COR, DIA, TESTE e COD valem, respectivamente, 5; 2,5; “AZUL”; falso e verdadeiro NOME ← DIA (a) SOMA ←NUM**2/x+ DIV(X+2,) (b) (c) TUDO ←não TESTE ou COD e SOMA<X Comandos de entrada e saída Sabe-se que as unidades de entrada e saída são dispositivos que possibilitam a comunicação entre o usuário e o computador. Exemplo: através de um teclado, o usuário dá entrada ao programa e aos dados na memória e o computador emite mensagens para o usuário através da tela ou impressora. Os comandos de entrada e saída são usados para determinar o momento da entrada de dados para o algoritmo e a saída dos resultados obtidos para o usuário. Comandos de entrada e saída Forma geral do comando de entrada leia (lista de identificadores) Onde lista de identificadores são os nomes das variáveis, separados por vírgula, nas quais serão armazenados os valores provenientes do meio de entrada. Exemplo : suponhamos que nota e numero são variáveis de tipo real e inteiro respectivamente, o comando leia (nota, número) indica que dois valores numéricos (real e inteiro) serão lidos de uma unidade de entrada, quando este comando for executado. Os valores serão armazenados nas posições de memória destinadas para as variáveis nota e número. Comandos de entrada e saída Forma geral do comando de saída escreva (lista de identificadores e/ou constantes) Onde lista de identificadores são os nomes das variáveis, cujos conteúdos serão mostrados ao usuário através de um meio de saída. Além dos conteúdos das variáveis, o valor de uma constante pode ser emitido diretamente. Exemplo : escreva (36, nota, número) indica que a constante 36 e os conteúdos das variáveis nota e número serão exibidos numa unidade de saída, quando este comando for executado. Exemplos - leia Foram digitadas três linhas, onde cada uma delas contém o nome e a nota de um aluno, como se segue PAULO, 100 MARIA, 75 JOSE, 80 Escrever o(s) comandos(s) de entrada que leia(m) estas linhas e armazene(m) os valores na memória principal. Assim, supondo que A,B e C são variáveis do tipo numérico e que X,Y e Z são variáveis do tipo literal, temos duas opções leia (X,A,Y,B,Z,C) ou leia (X,A) leia (Y,B) leia (Z,C) Exemplos - escreva Escrever o(s) comandos de saída que imprima(m) os conteúdos das posições de memória A,B,C,X,Y,Z do exemplo anterior. Mostramos algumas formas COMANDO SAIDA escreva (X,A,Y,B,Z,C) JOSE, 80, MARIA, 75, PAULO, 100 escreva (X,A) escreva (Y,B) escreva (Z,C) JOSE, 80 MARIA, 75 PAULO, 100 Exercício Supondo N e P variáveis de tipo literal, X e A variáveis de tipo numérico e uma linha digitada contendo os valores MMAA, 25 Interpretar a sequência seguinte de comandos e mostrar a sua saída X←0 leia (N,A) X←X+A P←N escreva (P,X) X←X+A escreva (X) A←X escreva (N,X,A)