Conceitos Básicos de Algoritmos Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos • Um algoritmo é uma forma de representar a solução de um problema através de uma seqüência de passos Conceitos Básicos de Algoritmos • São exemplos de algoritmos receitas de bolos, manuais técnicos, guias de montagem, programas de computadores, etc. • Um algoritmo pode ser descrito de várias formas Conceitos Básicos de Algoritmos Descrição Textual Informal • Bolo Fofo de Fubá – Ingredientes: • • • • • • • • 5 ovos 250 gramas de margarina cremosa 2 xícaras (chá) de açúcar 1 xícara (chá) de farinha de trigo 1 xícara (chá) de fubá 200 gramas de coco ralado 1 copo de leite 1 colher (sopa) de fermento Conceitos Básicos de Algoritmos Descrição Textual Informal • Modo de preparo: Quão cremoso?!? – Bata a margarina, as gemas e o açúcar até ficar Quanto tempo?!? cremoso – Junte o leite, o coco e a farinha e continue batendo De uma vez só?!? – Acrescente o fermento e, por último, as claras em neve Quanto tempo?!? – Unte uma forma com manteiga e leve ao forno para assar Conceitos Básicos de Algoritmos Descrição Textual Informal • Modo de preparo: – Bata a margarina, as gemas e o açúcar por 15 minutos – Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos – Acrescente 20 g de fermento e, por último, as claras em neve – Unte uma forma com manteiga e leve ao forno para assar por 30 minutos Conceitos Básicos de Algoritmos Descrição Gráfico-Textual Informal • Montagem de um Aeromodelo – Material • • • • • Cola especial para plásticos Estilete Lixas finas Durex ou fita crepe Pregador de roupas, elásticos Conceitos Básicos de Algoritmos Descrição Gráfico-Textual Informal • Identificação das peças Conceitos Básicos de Algoritmos Descrição Gráfico-Textual Informal • Instruções – Leia e entenda as instruções antes de começar a montagem – Lave as peças com água e detergente. Na lavagem serão removidos desmoldantes e sujeiras, que dificultam a colagem e a pintura. Faça isto dentro de uma bacia, para evitar perder peças pequenas, que porventura se soltem – Encontre as peças que devem ser usadas na primeira parte da montagem (Figura 1) – Lixe as peças com cuidado eliminando as rebarbas – ... Conceitos Básicos de Algoritmos Descrição Textual Informal • Troca de pneu “Abra o porta-mala e verifique se todos acessórios estão lá. Em caso negativo, feche o porta-malas e peça carona a alguém. Em caso positivo, retire o triângulo, posicione-o a cerca de 30 m do carro, e, depois, retire o estepe e o macaco. Levante o carro... “ Conceitos Básicos de Algoritmos Descrição Gráfica Informal • Troca de pneu Conceitos Básicos de Algoritmos Descrição Gráfica Semiformal: Fluxograma • Troca de pneu Pneu furado? Abre porta-malas Acessórios OK? Fecha porta-malas Segue viagem Pega triângulo Conceitos Básicos de Algoritmos Descrição Textual Formal: Linguagem Estruturada • Troca de pneu abre(porta_malas) se acessório_ok = VERDADEIRO então fecha(porta_malas) espera_carona() senão pega_triangulo() ... Conceitos Básicos de Algoritmos Descrição Formal: Fórmula Matemática • Cálculo de ex x o x1 x 2 x3 x4 e ... 0! 1! 2! 3! 4! x Conceitos Básicos de Algoritmos Problemas Complexos • Problema da Torre de Hanoi – Seja a seguinte situação: • deve-se mover todos os discos do primeiro eixo para o terceiro mantendo-se a ordem original • em cada movimento, pode-se mover apenas um disco • um disco nunca poderá ser sobreposto por outro maior Conceitos Básicos de Algoritmos Problemas Complexos • Passo 1: mova disco menor para terceiro eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 2: mova disco médio para segundo eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 3: mova disco menor para segundo eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 4: mova disco maior para terceiro eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 5: mova disco menor para primeiro eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 6: mova disco médio para terceiro eixo Conceitos Básicos de Algoritmos Problemas Complexos • Passo 7: mova disco menor para terceiro eixo Conceitos Básicos de Algoritmos Problemas Complexos • Seqüência de passos completa: Passo 1: mova disco menor para terceiro eixo Passo 2: mova disco médio para segundo eixo Passo 3: mova disco menor para segundo eixo Passo 4: mova disco maior para terceiro eixo Passo 5: mova disco menor para primeiro eixo Passo 6: mova disco médio para terceiro eixo Passo 7: mova disco menor para terceiro eixo Conceitos Básicos de Algoritmos • Não existe um algoritmo para construir algoritmos – a criação de um algoritmo é um exercício de criatividade e experiência Variáveis e Tipos • Uma variável pode ser vista como uma caixa que pode conter apenas um elemento de uma certa natureza, tipo e com determinado valor. Variáveis e Tipos • Exemplo – tipo: caixa_de_bebida – nome: Caixa1 – valor: refrigerante Caixa1 de b caixa bebida e b Caixa1 i d a Variáveis e Tipos • O tipo determina o conjunto de valores que a variável pode assumir – caixa_de_bebida pode conter cerveja, refrigerante, guaraná, isotônico, vinho, etc. Variáveis e Tipos • Em um determinado instante uma variável pode conter apenas um valor • Uma variável sempre tem um valor • A declaração de variáveis segue a forma: declare <nome de uma ou mais variáveis>: <tipo> • Exemplo: caixa de declare Caixa1: caixa_de_bebida bebida Caixa 1 Variáveis e Tipos • Para colocar um valor em uma variável é usado o comando de atribuição () • Sempre à esquerda da atribuição tem que aparecer uma variável declare Caixa1: caixa_de_bebida inicio Caixa1 cerveja caixa de bebida Caixa 1 Variáveis e Tipos • Para colocar um valor em uma variável é usado o comando de atribuição () • Sempre à esquerda da atribuição tem que aparecer uma variável declare Caixa1: caixa_de_bebida inicio Caixa1 cerveja caixa de Caixa1 refrigerante bebida Caixa 1 Variáveis e Tipos • Para colocar um valor em uma variável é usado o comando de atribuição () • Sempre à esquerda da atribuição tem que aparecer uma variável declare Caixa1: caixa_de_bebida inicio Caixa1 cerveja caixa de bebida Caixa1 refrigerante Caixa 1 Caixa1 guaraná Variáveis e Tipos • Não há sentido em um valor possível de variável receber uma variável!!! guaraná Caixa1 Variáveis e Tipos • Uma variável pode receber o valor (conteúdo) de outra variável: declare Caixa1, Caixa2: caixa_de_bebida caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Uma variável pode receber o valor (conteúdo) de outra variável: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja caixa de bebida caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Uma variável pode receber o valor (conteúdo) de outra variável: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja Caixa2 Caixa1 caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Observe que o valor de Caixa1 é copiado para Caixa2, i.e., Caixa1 não é “esvaziada” declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja Caixa2 Caixa1 caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2: caixa_de_bebida caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante Caixa1 Caixa2 caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante Caixa1 Caixa2 Caixa2 Caixa1 caixa de bebida Caixa 1 caixa de bebida Caixa 2 Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida caixa de bebida Caixa 1 caixa de bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida inicio Caixa1 cerveja caixa de bebida Caixa 1 caixa de bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante caixa de bebida Caixa 1 caixa de bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante Aux Caixa1 caixa de bebida Caixa 1 caixa de bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante Aux Caixa1 caixa de Caixa1 Caixa2 bebida Caixa 1 caixa de bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos • Para inverter o valor de duas variáveis: declare Caixa1, Caixa2, Aux: caixa_de_bebida inicio Caixa1 cerveja Caixa2 refrigerante Aux Caixa1 caixa de Caixa1 Caixa2 bebida caixa de Caixa2 Aux Caixa 1 bebida Caixa 2 caixa de bebida Aux Variáveis e Tipos Tipos Numérico • Tipos da linguagem: numerico – Para variáveis que conterão números algoritmo “CalculaArea” declare Área, Raio, Pi: numerico numerico Área Raio numerico Raio numerico Pi Variáveis e Tipos Tipos Numérico • Tipos da linguagem: numerico – Para variáveis que conterão números algoritmo “CalculaArea” declare Área, Raio, Pi: numerico inicio Raio 13 numerico Área Raio 13 numerico Raio numerico Pi Variáveis e Tipos Tipos Numérico • Tipos da linguagem: numerico – Para variáveis que conterão números algoritmo “CalculaArea” declare Área, Raio, Pi: numerico inicio Raio 13 13 Pi 3.14 numerico Área Raio 13 numerico 3.14 Raio numerico Pi Variáveis e Tipos Tipos Numérico • Tipos da linguagem: numerico – Para variáveis que conterão números algoritmo “CalculaArea” declare Área, Raio, Pi: numerico inicio Raio 13 13 128.175 Pi 3.14 13 numerico Área Pi*Raio*Raio numerico Área Raio Raio 3.14 numerico Pi Variáveis e Tipos Operadores Numéricos • Operadores Numéricos (aritméticos) fornecem como resultado um número – A prioridade indica qual operador será executado primeiro – No caso de empate, é executado primeiro o operador que aparece mais à esquerda – Parênteses pode ser usados para alterar a prioridade Operador soma subtração Exponenciação multiplicação Divisão Divisão inteira Módulo (resto) Símbolo + ^ * / \ % Prioridade 0 0 0 1 1 1 1 Variáveis e Tipos Operadores Numéricos • Exemplo 4*5/2+(40-20)*-5 4*5/2+ 20 *-5 20 /2+ 20 *-5 10 + 20 *-5 10 + -100 -90 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico numerico Num1 Raio numerico Num2 numerico Num3 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico inicio Num2 13 numerico Num1 Raio 13 numerico Num2 numerico Num3 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico inicio Num2 13 Num1 Num2/5 2.6 numerico Num1 Raio 13 numerico Num2 numerico Num3 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico inicio Num2 13 Num1 Num2/5 2.6 Num3 Num2\5 13 numerico Num1 Raio numerico Num2 2 numerico Num3 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico inicio Num2 13 Num1 Num2/5 3 Num3 Num2\5 13 numerico Num1 Num2%5 numerico Num1 Raio Num2 2 numerico Num3 Variáveis e Tipos Operadores Numéricos • Exemplo algoritmo “TestaOperadores” declare Num1, Num2, Num3: numerico inicio Num2 13 Num1 Num2/5 3 Num3 Num2\5 13 numerico Num1 Num2%5 numerico Num1 Raio Num3 2^3 Num2 8 numerico Num3 Comandos de E/S • Muitos algoritmos necessitam que “alguém” lhes forneça algumas informações • Também, muitas vezes o algoritmo precisa passar para “alguém” alguma informação comandos de entrada e saída de dados Comandos de E/S • Exemplo – algoritmo para calcular a soma de dois números algoritmo “soma” declare X, Y, Soma: numerico inicio Soma X+Y fimalgoritmo Quanto vale X e Y? 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Comando de entrada de dados “Alguém” (o usuário do algoritmo) fornece os valores para as variáveis 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Comando de entrada de dados algoritmo “soma” declare X, Y, Soma: numerico inicio leia X leia Y Soma X+Y fimalgoritmo 13 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Comando de entrada de dados algoritmo “soma” declare X, Y, Soma: numerico inicio leia X leia Y Soma X+Y fimalgoritmo 7 13 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Comando de entrada de dados algoritmo “soma” declare X, Y, Soma: numerico inicio leia X leia Y Soma X+Y fimalgoritmo 13 13 7 numerico Raio X numerico Caixa1 Y 20 numerico Soma Comandos de E/S • Várias variáveis podem ser lidas no mesmo comando de entrada algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y fimalgoritmo 13 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Várias variáveis podem ser lidas no mesmo comando de entrada algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y fimalgoritmo 7 13 13 numerico Raio X numerico Caixa1 Y numerico Soma Comandos de E/S • Várias variáveis podem ser lidas no mesmo comando de entrada algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y fimalgoritmo 13 13 7 numerico Raio X numerico Caixa1 Y 20 numerico Soma Comandos de E/S • Após o comando de entrada de dados deve haver o nome de uma ou mais variáveis algoritmo “calculaSalario” declare ValorHora, HorasTrabalhadas: numerico inicio leia ValorHora, HorasTrabalhadas Comandos de E/S • Após o comando de entrada de dados deve haver o nome de uma ou mais variáveis algoritmo “calculaSalario” declare ValorHora, HorasTrabalhadas: numerico inicio leia ValorHora, HorasTrabalhadas leia 123 Comandos de E/S • Após o comando de entrada de dados deve haver o nome de uma ou mais variáveis algoritmo “calculaSalario” declare ValorHora, HorasTrabalhadas: numerico inicio leia ValorHora, HorasTrabalhadas leia ValorHora*HorasTrabalhadas Comandos de E/S • Imaginando que o algoritmo é executado por um computador, o comando de leitura pára o algoritmo e espera que o usuário digite um valor • O comando de escrita escreve algo na tela Comandos de E/S • Exemplo: algoritmo “soma” declare X, Y, Soma: numerico inicio escreva “Entre com dois números” leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo Comandos de E/S • Exemplo: algoritmo “soma”Entre com dois números declare X, Y, Soma: numerico inicio escreva “Entre com dois números” leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo Comandos de E/S • Exemplo: algoritmo “soma”Entre com dois números 13 declare X, Y, Soma: numerico 7 inicio escreva “Entre com dois números” leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo Comandos de E/S • Exemplo: algoritmo “soma”Entre com dois números 13 declare X, Y, Soma: numerico 7 O resultado de 13 + 7 é inicio escreva “Entre com dois números” leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo Comandos de E/S • Exemplo: algoritmo “soma”Entre com dois números 13 declare X, Y, Soma: numerico 7 O resultado de 13 + 7 é inicio 20 escreva “Entre com dois números” leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo Ohhh! Variáveis e Tipos Tipo Lógico • Tipos da linguagem: logico – Para variáveis que conterão valores lógicos (verdadeiro ou falso) declare Achou: logico 13 numerico logico Achou Raio Variáveis e Tipos Tipo Lógico • Tipos da linguagem: logico – Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO) declare Achou: logico inicio Achou FALSO FALSO numerico logico Achou Raio Variáveis e Tipos Tipo Lógico • Tipos da linguagem: logico – Para variáveis que conterão valores lógicos (VERDADEIRO ou FALSO) declare Achou: logico inicio Achou FALSO Achou VERDADEIRO VERDADEIRO numerico logico Achou Raio Variáveis e Tipos Operadores Lógicos • Operadores lógicos fornecem como resultado verdadeiro ou falso Operador ou exclusivo adição lógica multiplicação lógica negação Símbolo xou ou e nao Prioridade 0 1 2 3 Variáveis e Tipos Operadores Lógicos • Tabela Verdade A FALSO FALSO VERDADEIRO VERDADEIRO B FALSO VERDADEIRO FALSO VERDADEIRO A xou B FALSO VERDADEIRO VERDADEIRO FALSO A ou B FALSO VERDADEIRO VERDADEIRO VERDADEIRO A e B FALSO FALSO FALSO VERDADEIRO nao A VERDADEIRO VERDADEIRO FALSO FALSO Variáveis e Tipos Operadores Lógicos • Exemplo FALSO ou VERDADEIRO e nao (VERDADEIRO e FALSO) FALSO ou VERDADEIRO e nao FALSO FALSO ou VERDADEIRO e VERDADEIRO FALSO ou VERDADEIRO VERDADEIRO Variáveis e Tipos Operadores Lógicos • Operadores lógicos são utilizados corriqueiramente: – Se não chover e o jogo for a noite ou se chover e jogo for de dia então iremos assistir declare Chover, Jogo_noite, Assistir: logico ... Assistir nao Chover e Jogo_noite ou Chover e nao Jogo_noite Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Para variáveis que conterão seqüências de caracteres (“palavras”) – O valor deve estar entre aspas declare Nome: caracter inicio Nome “Luís da Silva” “Luís da Silva” numerico caracter Nome Raio Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter 13 numerico caracter Chave Raio 3.14 Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter declare Código numerico 13 numerico caracter Chave Raio numerico Código Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter declare Código numerico declare Aux logico 13 numerico caracter Chave Raio numerico Código logico Aux Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter declare Código numerico declare Aux logico inicio Chave “234” “234” 13 numerico caracter Chave Raio numerico Código logico Aux Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter declare Código numerico declare Aux logico inicio Chave “234” Código 234 “234” 13 numerico caracter Chave Raio 234 numerico Código logico Aux Variáveis e Tipos Tipo Caracter • Tipos da linguagem: caracter – Um número é diferente de uma seqüência de caracteres numéricos declare Chave caracter declare Código numerico declare Aux logico inicio Chave “234” Código 234 Aux Chave = Código “234” 13 numerico caracter Chave Raio 234 numerico FALSO Código logico Aux Variáveis e Tipos Operadores Literais • Operadores que servem para modificar seqüências de caracteres Operador concatena remove Símbolo + - Variáveis e Tipos Operadores Relacionais • Operadores servem para comparar operandos • Fornecem como resultado verdadeiro ou falso Operador maior menor Maior ou igual Menor ou igual igual diferente Símbolo > < >= <= = <> Prioridade 0 0 0 0 0 0 Variáveis e Tipos Operadores Relacionais • Exemplo: algoritmo “trianguloIsoceles” declare É_isóceles: logico declare Lado1, Lado2, Lado3: numerico inicio leia Lado1, Lado2, lado3 É_isóceles (((Lado1 = Lado2) ou (Lado3 = Lado2)) e (Lado1 <> Lado3)) ou ((Lado1 = Lado3) e (Lado1 <> Lado2)) Variáveis e Tipos Operadores Relacionais • Exemplo: algoritmo “Xara” declare Nome1, Nome2: caracter declare xara: logico inicio escreva “Entre com 2 nomes” leia Nome1, Nome2 xara nome1 = nome2 escreva “Os dois são xaras?”, xara fimalgoritmo Comandos de E/S • Comando de saída de dados O algoritmo “mostra” para o usuário alguma mensagem, conteúdo de variável ou resultado da execução Caixa1 Comandos de E/S • Após executado o algoritmo, ele “mostra” para o usuário o resultado algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y escreva Soma fimalgoritmo 13 13 7 numerico Raio X numerico Caixa1 Y 20 numerico Soma Comandos de E/S • Após executado o algoritmo, ele “mostra” para o usuário o resultado algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y escreva Soma fimalgoritmo algoritmo 13 13 7 numerico Raio X numerico Caixa1 Y 20 numerico Soma Comandos de E/S Ô loco! • Após executado o algoritmo, ele “mostra” para o usuário o resultado algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y escreva Soma fimalgoritmo 13 13 7 numerico Raio X numerico Caixa1 Y 20 numerico Soma Comandos de E/S • O comado de escrita pode ser também usado para escrever mensagens e resultados de expressões algoritmo “soma” declare X, Y, Soma: numerico inicio leia X,Y Soma X+Y escreva “O resultado de “, X, “ + “, Y, “ é” escreva Soma fimalgoritmo