Algoritmo e Programação de Computadores1. Introdução à Programação1.1 Organização Básica de um ComputadorO computador é co...
Algoritmo e Programação de Computadores       Considerando o seguinte problema, dados três valores não nulos, a, b, c, det...
Algoritmo e Programação de Computadores        identificador deverá sempre começar por uma letra, somente composto por let...
Algoritmo e Programação de Computadores                                   Menor igual a               <=                  ...
Algoritmo e Programação de Computadores       < declaração de variáveis>       inicio       < lista de comandos>       fim...
Algoritmo e Programação de Computadores       Leia (Frase)       Escreva (Frase)Fimalgoritmo                              ...
Algoritmo e Programação de Computadores No segundo caso, a expressão é avaliada e o seu resultado é exibido;Ex.:Algoritmo...
Algoritmo e Programação de Computadores2.10 Exercícios (Ler, Escrever, Atribuição e Funções)Todos os exercícios deverão se...
Algoritmo e Programação de Computadores   pd = percentual de desconto   sb = salário bruto   td = total de desconto   sl =...
Algoritmo e Programação de Computadores3.1 A Tela Principal do VisuAlgA tela do VisuAlg compõe-se da barra de tarefas, do ...
Algoritmo e Programação de ComputadoresNovo (Ctrl-N): Cria um novo "esqueleto" de pseudocódigo, substituindo o texto prese...
Algoritmo e Programação de Computadorespseudocódigos, pois permitem a verificação dos valores das variáveis e da pilha de ...
Algoritmo e Programação de Computadores      Leia (a)      Leia (b)      Soma <- a + b      Se (soma >= 15) entao         ...
Algoritmo e Programação de ComputadoresExemplo: Fazer um algoritmo para ler um valor numérico. Se este valor for igual a 1...
Algoritmo e Programação de Computadores5. Estruturas de RepetiçãoTodo o algoritmo que possui um ou mais de seus passos rep...
Algoritmo e Programação de Computadores5.4 Repetição controlada pelo usuárioalgoritmo”repetição controlada”var     x, r : ...
Algoritmo e Programação de ComputadoresEx.: Pedir a leitura de um valor para a variável X, multiplicar este valor por 3, i...
Algoritmo e Programação de Computadores17. Para os funcionários de uma empresa, construir um algoritmo que, determine qual...
Algoritmo e Programação de Computadores6. FluxogramaO fluxograma é uma representação gráfica de algoritmos onde formas geo...
Algoritmo e Programação de Computadores7. Palavras reservadasAs palavras reservadas não podem ser usadas como identificado...
Algoritmo e Programação de Computadores8. Referências Bibliográficas-   CRESPO, SÉRGIO; EVARISTO, JAIME; aprendendo a Prog...
Upcoming SlideShare
Loading in...5
×

53297189 apostila-algoritmo-e-logica-i

9,776

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
9,776
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
154
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

53297189 apostila-algoritmo-e-logica-i

  1. 1. Algoritmo e Programação de Computadores1. Introdução à Programação1.1 Organização Básica de um ComputadorO computador é composto basicamente de 4 unidades: unidade de entrada, unidade de saída,unidade de processamento e memória. A unidade de entrada, é um dispositivo utilizado para fazer ainteração entre o usuário e o computador. A unidade de saída, por sua vez, serve para que o usuárioveja os resultados do processamento realizado pelo computador. A unidade central deprocessamento, também conhecida como CPU, é responsável por todo o processamento requerido,transformando os dados de entrada em dados de saída. Na memória são armazenados os dados einformações temporariamente, que serão utilizados no processamento. Entrada Processamento Saída Memória1.2 Linguagem de MáquinaAs unidades componentes de um computador precisam se comunicar entre si. Para que hajacomunicação é necessário que se estabeleça uma linguagem. A linguagem utilizada paracomunicação entre os componentes de um computador é chamada de linguagem de máquina,constituída por dois símbolos básicos (zero e um), cada um deles denominados de bit (binary digit).Uma linguagem de máquina, portanto, é constituída, por uma seqüência de bits, ou seja, seqüênciasde dígitos zero e um.Para que haja a comunicação do homem com o computador, é necessário que as palavras dalinguagem escrita seja traduzida para a linguagem de máquina.1.3 AlgoritmoUm algoritmo nada mais é do que “um conjunto finito de regras, bem definidas, para a solução de umproblema em um tempo finito”.Ex.: 1
  2. 2. Algoritmo e Programação de Computadores Considerando o seguinte problema, dados três valores não nulos, a, b, c, determinar a suamédia aritmética. As tarefas a serem executadas para a solução deste problema, podem ser descritasda seguinte forma: 1. Obter os valores de a, b, c 2. Calcular a média aritmética através da fórmula: (a+b+c)/3 3. Comunicar o resultado obtido: média aritmética 4. TerminarA seqüência de tarefas acima, especificadas passo a passo, é um algoritmo, pois é formado por umconjunto finito de regras que podem ser consideradas bem definidas e cuja execução produz asolução do problema proposto, após um tempo finito.1.4 LinguagemUma linguagem escrita (ou linguagem de programação) pode ser definida como um conjunto desímbolos e regras (instruções), utilizados no processo de comunicação homem-máquina. Ocomputador foi concebido para executar instruções escritas em linguagens de máquina, portanto, ocomputador é capaz de executar um algoritmo escrito nesta linguagem (programa).1.5 ProgramaOs programas de computadores nada mais são do que algoritmos escritos numa linguagem decomputador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que são interpretados eexecutados por uma máquina, no caso um computador.Um algoritmo escrito numa linguagem de computador é chamado de programa fonte ou simplesmenteprograma. As instruções de um programa fonte são chamadas comandos. O programa fonte étraduzido para a linguagem de máquina. Há dois tipos que programas que fazem esta tradução: osinterpretadores e os compiladores. Os interpretadores traduzem os comandos para a linguagem demáquina um a um enquanto que os compiladores traduzem todo o programa para a linguagem demáquina.2. Introdução à Linguagem Algorítimica2.1 ConstanteUma informação é constante quando não sofre nenhuma alteração no decorrer do tempo.Uma constante pode ser: - um número (inteiro ou real) - um valor lógico - um caractereEx.: PI, NP, 5, 6.3, 0, “Aprovado”, falso2.2 VariávelUma informação é variável quando tem a possibilidade de ser alterada em algum instante no decorrerdo tempo.Uma variável é uma posição de memória a qual estão associados um identificador e um tipo de dado.Pelo nome dado a essa variável temos acesso a seu conteúdo, podendo manipulá-lo (alterar,consultar, apagar, etc).Sintaxe: Var <lista de identificadores> : <tipo de dado>Onde: - Lista de identificadores: se tiver mais de um identificador basta separá-los por vírgula e será usada no programa para fazer referência àquela variável. O primeiro caractere do 2
  3. 3. Algoritmo e Programação de Computadores identificador deverá sempre começar por uma letra, somente composto por letras, números e sublinhado ( _ ), não deve conter caracteres especiais (espaço em branco, hífen, asterisco, etc. Ex.: media_aluno, soma, ax, y, nomedoaluno Cuidado: nome de identificadores não podem conter palavras reservadas. - Tipo de dado: associado a uma variável é o conjunto de elementos que nela podem ser armazenados. Utilizaremos quatro tipos de dados: inteiro, real, cadeia de caracteres e lógico (ou booleano). Serão definidos como(observe que não possuem acentos): • inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. • real: define variáveis numéricas do tipo real, ou seja, com casas decimais. • caractere: define variáveis do tipo string, ou seja, cadeia de caracteres. • logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.2.3 Expressões AritméticasO Visualg 2.0 é capaz de avaliar as seguintes expressões aritméticas que envolvam os seguintesoperadores:Operadores unários( - e +): isto é, são aplicados a um único operando. São os operadoresaritméticos de maior precedência.Ex.: -3, +x.Enquanto o operador unário - inverte o sinal do seu operando, o operador + não altera o valor emnada o seu valor.Operador Significado ^ Potenciação * Multiplicação / Divisão + Soma - Subtração Operador de divisão inteira. Por exemplo, 5 2 = 2. Tem a mesma precedência do operador de divisão tradicional Mod Operador de módulo (isto é, resto da divisão inteira). Por exemplo, 8 % 3 = 2. Tem a mesma precedência do operador de divisão tradicional.Prioridade das operações - Parênteses mais internos - Efetuar as funções - Efetuar as potências e raízes - Efetuar a multiplicações e divisões - Efetuar as adições e subtrações2.4 Expressões LógicasOperadores RelacionaisUtilizamos os operadores relacionais para realizar comparações entre dois valores de mesmo tipo dedado. Tais valores são representados por constantes, variáveis (identificadores) ou expressõesaritméticas. O resultado obtido de uma relação é sempre um valor lógico (verdadeiro ou falso). Maior que > Menor que < Maior igual a >= 3
  4. 4. Algoritmo e Programação de Computadores Menor igual a <= Igual a = Diferente de <>Ex.:2*4 = 24/8(15%4) < (19%6)Operadores Lógicos R1 R2 (R1) e (R2) (R1) ou (R2) Verdadeiro Verdadeiro Verdadeiro Verdadeiro Verdadeiro Falso Falso Verdadeiro Falso Verdadeiro Falso Verdadeiro Falso Falso Falso Falso R1 nao (R1) Verdadeiro Falso Falso VerdadeiroPrioridade entre operadores lógicos nao e ouPrioridades entre todos os operadores Parênteses mais internos Funções matemáticas Operadores aritméticos Operadores relacionais Operadores lógicos2.5 Comando de atribuiçãoÉ o ato de colocar um valor dentro de uma variável. O valor a ser atribuído deve ser compatível com otipo de variável.Sintaxe: Identificador de variável <- expressãoEx.: a <- 3 Valor1 <- 1.5 Valor2 <- Valor1 + a vet[1] <- vet[1] + (a * 3) matriz[3,9] <- a/4 - 5 nome_do_aluno <- "José da Silva" sinalizador <- FALSO2.6 Estrutura/Execução de um programa na Linguagem AlgorítmicaA estrutura de um programa escrito em linguagem algorítmica terá a seguinte estrutura. Algoritmo "<nome do algoritmo>" var 4
  5. 5. Algoritmo e Programação de Computadores < declaração de variáveis> inicio < lista de comandos> fimalgoritmoAs palavras algoritmo e fimalgoritmo fazem parte da sintaxe da linguagem e sempredelimitam o inicio e fim de um algoritmo; a < declaração de variáveis> é a seçãoou parte do algoritmo onde descrevemos os tipos de dados que serão usados na lista decomandos.; inicio indica o fim das declarações e o início da seção de comandos; <lista de comandos > é apenas uma indicação de que entre as palavras inicio efimalgoritmo podemos escrever uma lista com uma ou mais instruções ou comandos. Éimportante salientar que, quando um algoritmo é “executado”, as instruções oucomandos de um algoritmo são sempre executados na ordem em que aparecem nomesmo. As palavras que fazem parte da sintaxe da linguagem são palavras reservadas,ou seja, não podem ser usadas para outro propósito em um algoritmo que não sejaaquele previsto nas regras de sintaxe. A palavra algoritmo, por exemplo, é uma palavrareservada.2.7 Comando de EntradaVimos anteriormente que a maioria dos programas manipula dados que são fornecidos pelo usuáriodurante a execução do programa. Estes dados, repetindo, constituem a entrada do programa e,naturalmente, devem ser armazenados em variáveis. O comando do Visualg que permite que ousuário digite no teclado algum dado durante a execução de um programa e que armazena este dadona memória é chamado de comando de entrada e deve ser escrito com a seguinte sintaxe:Sintaxe: Leia (identificador de variável)Exemplo: leia (NumeroConta) leia (NumeroAgencia) leia (NomeCliente)É incorreto usar: leia (NumeroConta+60) leia (12345) leia (NomeCliente+Sobrenome)2.8 Comando de SaídaUm comando de saída é utilizado quando necessitamos apresentar os resultados da execução doalgoritmo no vídeo (monitor do computador).Sintaxe: Escreva (identificador de variável) ou Escreva (expressão) ou Escreva (“mensagem”) ou uma combinação destes casos. No primeiro caso, o conteúdo da variável associada ao comando é exibido na tela do vídeo;Ex.:Algoritmo “Exibir uma variável”Var Frase : caracterInicio 5
  6. 6. Algoritmo e Programação de Computadores Leia (Frase) Escreva (Frase)Fimalgoritmo 6
  7. 7. Algoritmo e Programação de Computadores No segundo caso, a expressão é avaliada e o seu resultado é exibido;Ex.:Algoritmo “Exibir uma expressão”Var a, b, c : realInicio Leia a Leia b Leia c Escreva ((a+b+c)/3)Fimalgoritmo No terceiro caso, a mensagem escrita entre aspas é exibida.Ex.:Algoritmo “Exibir uma mensagem”Inicio Escreva (“Estou aprendendo a programar”)FimalgoritmoOBS.: No Visualg existem dois comandos escreva com finalidades diferentes quandousado consecutivamente.Escreval (<expressão ou identificador ou constante>)Mostra o primeiro resultado na mesma linha depois em linhas diferentes.Escreva (<expressão ou identificador ou constante>)Mostra o resultado na mesma linha, mas em colunas diferentes.Exemplo X <- 3.5 Y <- 4 Escreva ("O valor de X é", X) Escreva (" E o valor de Y é ", Y) Escreval (" A soma de X e Y é", X+Y) Escreval ("O valor de X é", X) Escreval ("E o valor de Y é ", Y) Escreval ("A soma de X e Y é", X+Y)Faria com que aparecesse na tela:O valor de X é 3.5 E o valor de Y é 4 A soma de X e Y é 7.5O valor de X é 3.5E o valor de Y é 4A soma de X e Y é 7.52.9 Métodos para construção de algoritmos a) Ler atentamente o enunciado do problema; b) Retirar do enunciado a relação das entradas de dados; c) Retirar do enunciado a relação das saídas de dados; d) Determinar o que deve ser feito para transformar as entradas determinadas nas saídas especificadas. Nesta fase teremos a construção do algoritmo propriamente dito; e) Executar o algoritmo. Implica em executar todas as ações descritas seguindo um fluxo de execução estabelecido, verificando a existência de possíveis erros no desenvolvimento do algoritmo. Essa atividade é conhecida como “teste de mesa”. 7
  8. 8. Algoritmo e Programação de Computadores2.10 Exercícios (Ler, Escrever, Atribuição e Funções)Todos os exercícios deverão ser feitos obedecendo as regras do Português Estruturado utilizado pelointerpretador Visualg. Somente utilize os comandos vistos, anteriormente, em aula.1. Imprimir a mensagem: ALGORITMO SÓ SE APRENDE PRATICANDO.2. Imprimir seu nome.3. Ler um número e imprimi-lo.4. Ler três números inteiros e imprimi-los.5. Ler um número inteiro e imprimir seu sucessor e seu antecessor.6. Ler nome, endereço e telefone e imprimi-los.7. Entrar com um número e imprimir a seguinte saída: NUMERO: QUADRADO: RAIZ QUADRADA:8. Entrar com nome e idade. Imprimir a seguinte saída: NOME: IDADE:9. Efetuar a leitura de um número inteiro e apresentar o resultado do quadrado deste número.10. Ler dois valores inteiros (variáveis A e B) e efetuar as operações de adição, subtração, multiplicação e divisão de A por B, apresentando ao final os quatro resultados obtidos.11. Escreva um algoritmo que forneça o valor em graus Fahrenheit, de uma temperatura expressa em graus Celcius. 9C + 32 F= 512. Faça um algoritmo para calcular o volume de uma esfera de raio r. 4πr 3 V = 313. Faça um algoritmo que, para quatro valores reais, a, b, c e d determine: a) a média aritmética (MA); b) a média harmônica (MH); c) a média geométrica (MG); d) a média quadrática (MQ). 4 a 2 + b2 + c2 + d 2 MH = M = 4 a.b.c.d G MQ = 1 1 1 1 4 + + + a b c d14. Construir um programa que efetue o cálculo do salário líquido de um professor. Para fazer este programa você deverá possuir alguns dados, tais como: valor da hora aula, número de aulas dadas no mês e percentual de desconto do INSS. Em primeiro lugar, deve-se estabelecer qual será o seu salário bruto para efetuar o desconto e ter o valor do salário líquido. ht = horas trabalhadas no mês vh = valor hora aula 8
  9. 9. Algoritmo e Programação de Computadores pd = percentual de desconto sb = salário bruto td = total de desconto sl = salário líquido15. Efetuar o cálculo da quantidade de litros de combustível gasta em uma viagem, utilizando-se um automóvel que faz 12 Km por litro. Para obter o cálculo, o usuário deverá fornecer o tempo gasto na viagem e a velocidade média durante a mesma. Desta forma, será possível obter a distância percorrida com a fórmula DISTÂNCIA = TEMPO * VELOCIDADE. Tendo o valor da distância, basta calcular a quantidade de litros de combustível utilizada na viagem com a fórmula LITROS_USADOS = DISTÂNCIA / 12. O programa deverá apresentar os valores da velocidade média, tempo gasto na viagem, a distância percorrida e a quantidade de litros utilizada na viagem.16. Ler a temperatura em graus Fahrenheit e apresentá-la convertida em graus Centígrados. A fórmula de conversão é: C = (F – 32) * (5 / 9), onde F é a temperatura em Fahrenheit e C é a temperatura em Centígrados.17. Ler dois valores para as variáveis A e B, efetuar a troca de valores de forma que a variável A passe a possuir o valor da variável B e que a variável B passe a possuir o valor da variável A. Apresentar os valores trocados.18. Efetuar o cálculo do valor de uma prestação em atraso, utilizando a fórmula: PRESTAÇÃO = VALOR + (VALOR * (TAXA / 100) * TEMPO).19. Uma loja de animais precisa de um programa para calcular os custos de criação de coelhos. O custo é calculado com a fórmula CUSTO = (NUM_COELHOS * 0.70) / 18 + 10. O programa deve ler um valor para a variável NUM_COELHOS e apresentar o valor da variável CUSTO.3. Iniciando o Visualg 2.0 (Interpretador de Linguagem Algorítmica)Fonte: Ajuda do Visualg 2.0O Visualg 2.0 é uma ferramenta que permite ao aluno escrever um programa num ambiente próximoda realidade, ou seja, o aluno poderá executar o seu algoritmo utilizando o computador, vendo naprática o que acontece com um programa. Esta ferramenta simula o que acontece na tela docomputador com o uso dos famosos comandos "leia" e "escreva", bem como possibilitar a verificaçãodos valores das variáveis, o acompanhamento passo a passo da execução de um algoritmo (pelo seugrande valor didático), e até mesmo suportar um modo simples de depuração. Aliado a tudo isto,deveria estar um editor de texto com recursos razoáveis (tais como abrir e salvar arquivos) e quedispusesse de todos os principais recursos de um ambiente gráfico do Visualg. 9
  10. 10. Algoritmo e Programação de Computadores3.1 A Tela Principal do VisuAlgA tela do VisuAlg compõe-se da barra de tarefas, do editor de textos (que toma toda a sua metadesuperior), do quadro de variáveis (no lado esquerdo da metade inferior), do simulador de saída (nocorrespondente lado direito) e da barra de status. Quando o programa é carregado, já apresenta noeditor um "esqueleto" de pseudocódigo, com a intenção de poupar trabalho ao usuário e de mostrar oformato básico que deve ser seguido. Explicaremos a seguir cada componente da interface do3.2 A Barra de TarefasContém os comandos mais utilizados no VisuAlg (estes comandos também podem ser acessadospelo menu ou por atalhos no teclado).Abrir (Ctrl-A): Abre um arquivo anteriormente gravado, substituindo o texto presente no editor. Seeste tiver sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto. 10
  11. 11. Algoritmo e Programação de ComputadoresNovo (Ctrl-N): Cria um novo "esqueleto" de pseudocódigo, substituindo o texto presente no editor. Seeste tiver sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto.Salvar (Ctrl-S): Grava imediatamente o texto presente no editor. Na primeira vez que um novo texto égravado, o VisuAlg pede seu nome e localização.Imprimir: Imprime imediatamente na impressora padrão o texto presente no editor. Para configurar aimpressão, use o comando Imprimir do menu Arquivo (acessível também pelo atalho Ctrl-P).Cortar (Ctrl-X): Apaga texto selecionado, armazenando-o em uma área de transferência.Copiar (Ctrl-C): Copia o texto selecionado para a área de transferência.Colar (Ctrl-V): Copia texto da área de transferência para o local em que está o cursor.Gravar bloco de texto: Permite a gravação em arquivo de um texto selecionado no editor. Aextensão sugerida para o nome do arquivo é .inc.Inserir bloco de texto: Permite a inserção do conteúdo de um arquivo. A extensão sugerida para onome do arquivo é .inc.Desfazer (Ctrl-Z): Desfaz último comando efetuado.Refazer (Shift-Ctrl-Z): Refaz último comando desfeito.Localizar (Ctrl-L): Localiza no texto presente no editor determinada palavra especificada.Substituir (Ctrl-U): Localiza no texto presente no editor determinada palavra especificada,substituindo-a por outra.Corrigir Indentação (Ctrl-G): Corrige automaticamente a indentação (ou tabulação) dopseudocódigo, tabulando cada comando interno com espaços à esquerda.Numerar linhas: Ativa ou desativa a exibição dos números das linhas na área à esquerda do editor.A linha e a coluna do editor em que o cursor está em um determinado momento também sãomostradas na barra de status (parte inferior da tela). Por motivos técnicos, esta opção éautomaticamente desativada durante a execução do pseudocódigo, mas volta a ser ativada logo emseguida.Mostrar variáveis modificadas: Ativa ou desativa a exibição da variável que está sendo modificada.Como o número de variáveis pode ser grande, muitas podem estar fora da janela de visualização;quando esta característica está ativada, o VisuAlg rola a grade de exibição de modo que cadavariável fique visível no momento em está sendo modificada. Este recurso é especialmente útilquando se executa um pseudocódigo passo a passo. Por questões de desempenho, a configuraçãopadrão desta característica é desativada, quando o pseudocódigo está sendo executadoautomaticamente. No entanto, basta clicar este botão para executá-lo automaticamente com aexibição ativada. No final da execução, a configuração volta a ser desativada.Restaurar tela inicial:Executar (F9): Inicia (ou continua) a execução automática do pseudocódigo.Executar com timer (Shift-F9):: Insere um atraso (que pode ser especificado no intervalo ao lado)antes da execução de cada linha. Também realça em fundo azul o comando que está sendoexecutado, da mesma forma que na execução passo a passo.Intervalo do timer: Atraso em cada linha, para quando se deseja executar o pseudocódigo comtimer.Passo (F8): Inicia (ou continua) a execução linha por linha do pseudocódigo, dando ao usuário aoportunidade de acompanhar o fluxo de execução, os valores das variáveis e a pilha de ativação dossubprogramas.Parar (Ctrl-F2): Termina imediatamente a execução do pseudocódigo. Evidentemente, este botãofica desabilitado quando o pseudocódigo não está sendo executado.a linha em que esteja o cursor.Estes pontos de parada são úteis para a depuração e acompanhamento da execução dos 11
  12. 12. Algoritmo e Programação de Computadorespseudocódigos, pois permitem a verificação dos valores das variáveis e da pilha de ativação desubprogramas.Desmarcar todos os breakpoints (Ctrl-F5): Desativa todos os breakpoints que estejam ativadosnaquele momento.Executar em modo DOS: Com esta opção ativada, tanto a entrada como a saída-padrão passa a seruma janela que imita o DOS, simulando a execução de um programa neste ambiente.Gerar valores aleatórios: Ativa a geração de valores aleatórios que substituem a digitação de dados.A faixa padrão de valores gerados é de 0 a 100 inclusive, mas pode ser modificada (basta alterarintervalo ao lado). Para a geração de dados do tipo caractere, não há uma faixa pré-estabelecida: osdados gerados serão sempre strings de 5 letras maiúsculas.Intervalo dos valores aleatórios: Faixa de valores que serão gerados automaticamente, quandoesta opção estiver ativada.Perfil (F7): Após a execução de um pseudocódigo, exibe o número de vezes que cada umas dassuas linhas foi executada. É útil para a análise de eficiência (por exemplo, nos métodos deordenação).Mostrar pilha de ativação (Ctrl-F3): Exibe a pilha de subprogramas ativados num dado momento.Convém utilizar este comando em conjunto com breakpoints ou com a execução passo a passo.Ajuda (F1): Possibilita acesso às páginas de ajuda e às informações sobre o VisuAlg.3.4 Quadro de VariáveisÉ formado por uma grade na qual são mostrados o escopo de cada variável (se for do programaprincipal, será global; se for local, será apresentado o nome do subprograma onde foi declarada),seus nomes (também com os índices, nos casos em que sejam vetores), seu tipo ("I" para inteiro, "R"para real, "C" para caractere e "L" para lógico) e o seu valor corrente. A versão atual do VisuAlgpermite a visualização de até 500 variáveis (contando individualmente cada elemento dos vetores).3.5 A Barra de StatusSituada na parte inferior da tela, esta barra contém dois painéis: o primeiro mostra a linha e a colunaonde o cursor está, e o segundo mostra a palavra Modificado no caso em que o pseudocódigo tenhasido alterado desde que foi carregado ou salvo pela última vez. Nesta barra, há ainda um terceiropainel disponível, que ainda não tem um uso específico na atual versão.4. Estruturas de Seleção4.1 Estrutura simplesUma estrutura de seleção vai analisar se uma dada seqüência de comandos será ou não executada.Sintaxe: estrutura simples SE (expressão lógica) ENTAO Seqüência de comandos FIMSEA seqüência de comandos só será executada se a expressão lógica for verdadeira, se for falsa areferida seqüência não é executada e o sistema passa a executar o comando seguinte ao comandoSE.Ex.: Elaborar um algoritmo que leia 2 valores e imprima a sua soma caso o resultado seja igual ousuperior a 15.Algoritmo “condição simples”Var a, b, soma : inteiroInicio Escreva (“Entre com dois valores”) 12
  13. 13. Algoritmo e Programação de Computadores Leia (a) Leia (b) Soma <- a + b Se (soma >= 15) entao Escrever soma FimseFimalgoritmo4.2 Estrutura CompostaSintaxe: estrutura composta SE (expressão lógica) ENTAO Seqüência de comandos 1 SENAO Seqüência de comandos 2 FIMSEA seqüência de comandos 1 só será executada se a expressão lógica for verdadeira, se for falsa,será executada a seqüência de comandos 2.Ex.: Elaborar um algoritmo que leia dois números inteiros, efetuar a soma desses números, se oresultado for maior que 10, multiplique o resultado por 2, caso contrário multiplique o resultado por 3.Exiba os resultados encontrados.Algoritmo “Condição composta”Var a, b, soma : inteiroInicio Escreva (“Entre com dois valores”) Leia (a) Leia (b) Soma <- a + b Se (soma > 10) entao Escreva soma*2 Senao Escreva soma*3 FimseFimalgoritmo4.3 Comando de seleção múltiplaSintaxe: escolha <expressão-de-seleção> caso <exp11>, <exp12>, ..., <exp1n> <seqüência-de-comandos-1> caso <exp21>, <exp22>, ..., <exp2n> <seqüência-de-comandos-2> outrocaso <seqüência-de-comandos-extra> fimescolhaComentário: Cada comando ESCOLHA poderá conter uma lista de mais de um procedimento CASO<expressão>, e apenas um dos <bloco-de-comandos...> será executado caso seja satisfeita acondição <expressão> ou, se nenhuma condição for satisfeita, OUTROCASO será executado. 13
  14. 14. Algoritmo e Programação de ComputadoresExemplo: Fazer um algoritmo para ler um valor numérico. Se este valor for igual a 1 então imprimir ovalor lido, se o valor for igual a 2 então imprimir o seu dobro, se o valor for igual a 3 então imprimir oseu triplo e se o valor for igual a 4 então imprimir o seu quádruplo.algoritmo "escolha"varval : inteiroinicioleia (val)escolha valcaso 1 escreva ("simples = ",val)caso 2 escreva ("dobro = ",val*2)caso 3 escreva ("triplo = ",val*3)caso 4 escreva ("quadruplo = ",val*4)outrocaso escreva ("outro caso ", val)fimescolhafimalgoritmoExercícios1. Um hotel cobra R$ 60,00 a diária e mais uma taxa de serviços. A taxa de serviços é de: - R$ 5,50 por diária, se o número de diárias for maior que 15; - R$ 6,00 por diária, se o número de diárias for igual a 15; - R$ 8,00 por diária, se o número de diárias for menor que 15; Construa um algoritmo que mostre o nome a conta de um cliente.2. Entrar com o salário de uma pessoa e imprimir o desconto do INSS segundo a tabela abaixo: - menor ou igual a R$ 600,00 - isento - maior que R$ 600,00 e menor ou igual a R$ 1200,00 - 20% - maior que R$ 1200,00 e menor ou igual a R$2000,00 - 25% - maior que R$ 2000,00 - 30%3. Faça um algoritmo que possa imprimir o menu abaixo: O usuário deverá selecionar uma das opções, digitando um número 1 – solteiro(a) e este deverá escrever o estado civil da pessoa. Emitir mensagem 2 – desquitado(a) de erro caso seja escolhida uma opção inexistente. 3 – casado(a) 4 – divorciado(a) 5 – viúvo(a) OPCAO: Antes de começar a programar é preciso entender bem o enunciado do problema. Leia-o várias vezes, se necessário. 14
  15. 15. Algoritmo e Programação de Computadores5. Estruturas de RepetiçãoTodo o algoritmo que possui um ou mais de seus passos repetidos um determinado número de vezesdenomina-se algoritmos de repetição.5.1 Variável ContadorÉ uma variável que recebe um valor inicial (geralmente 0) e é incrementado em algum passo doalgoritmo, de um valor constante (geralmente 1).Ex.: cont <- 0 //Atribuição de um valor para a variável cont . . . cont <- cont + 1 //Incremento de 1 para a variável cont5.2 Variável Acumulador:É uma variável que recebe um valor inicial (geralmente 0) e é incrementada em algum outro passo doalgoritmo, de um valor variável.Ex.: acum <- c . . . acum <- acum + vOnde v é uma variável qualquer e c é uma constante que geralmente é zero.A diferença básica entre uma variável contador e uma variável acumulador está no valor doincremento, que no caso do contador é um valor constante e no caso do acumulador é um valorvariável.5.3 Comando ENQUANTO FACA (repetição com teste no início)Este comando faz com que o conjunto de instruções colocado no seu interior, seja repetido enquantoo valor da expressão lógica for verdadeiro. ENQUANTO <expressão lógica ou relacional> FACA bloco de comandos FIMENQUANTOEx.: Pedir a leitura de um valor para a variável X, multiplicar este valor por 3, implicando-o à variávelde resposta R e apresentar o valor de R obtido, repetindo esta seqüência por 5 vezes.Algoritmo “enquanto..faca”Var x, r, cont : inteiroInicio cont <- 1 enquanto cont <= 5 faca leia (x) r <- x * 3 escreva (r) cont <- cont + 1 fimenquantoFimalgoritmo 15
  16. 16. Algoritmo e Programação de Computadores5.4 Repetição controlada pelo usuárioalgoritmo”repetição controlada”var x, r : inteiro resp : caracterinicio resp <- “sim” enquanto (resp = “sim”) ou (resp = “s”) ou (resp = “S”) faca leia (x) r <- x * 3 escreva (r) escreva (“deseja continuar (sim / não)?”) leia (resp) fimenquantofimalgoritmo5.5 Exercícios1. Elaborar um algoritmo que efetue o calculo do fatorial do número 5.2. Faça um algoritmo para apresentar o total da soma dos cinco primeiros números inteiros.3. Desenvolva os algoritmos abaixo utilizando o comando FACA ENQUANTO a) Apresentar todos os valores numéricos inteiros ímpares situados na faixa de 0 a 20. Para verificar se o número é ímpar, efetuar dentro da malha a repetição desta condição com a instrução SE, perguntando se o número é ímpar; sendo, mostre-o, não sendo, passe para o próximo passo. b) Faça um algoritmo que apresente todos os valores numéricos inteiros pares situados na faixa de 100 a 200. c) Apresentar o total da soma obtido dos cem primeiros números inteiros (1+2+3+4+...98+99+100). d) Apresentar as potências de 3 variando de 0 a 15. Deve ser considerado que qualquer número elevado a zero é 1, e elevado a um é ele próprio. Deverá ser apresentado, observando a seguinte definição: 30 = 1 31 = 3 32 = 9 (...) 315 = 143489075.6 Comando PARA..FACAO comando PARA PROXIMO é uma estrutura de repetição que repete a execução de uma dadaseqüência de comandos um número de vezes determinado pelo próprio programa.Sintaxe: para <variável> de <valor inicial> ate <valor final> [passo] faca <lista de comandos> fimparaOnde:<variável> Representa a variável que controlará o processo de repetição.<valor inicial> Consiste do valor inicial que deverá ser assumido pela variável de controle.<valor final> Constitui-se do valor final da variável de controle.<passo> Representa qual o incremento que deve ser sofrido pela variável de controle. 16
  17. 17. Algoritmo e Programação de ComputadoresEx.: Pedir a leitura de um valor para a variável X, multiplicar este valor por 3, implicando-o à variávelde resposta R e apresentar o valor de R obtido, repetindo esta seqüência por 5 vezes.Algoritmo “para..faca”var x, r, i : inteiroinicio para i de 1 ate 5 passo 1 faca //incrementa i de 1 em 1 leia (x) r <- x * 3 escreva (r) fimparafimalgoritmo5.7 Exercícios: Utilize o comando PARA PROXIMO4. Elaborar um algoritmo que efetue o cálculo do fatorial do número 5.5. Apresentar todos os valores numéricos inteiros ímpares situados na faixa de 1000 a 1500.6. Apresentar o total da soma obtido de N números inteiros.7. Apresentar o fatorial de um número qualquer.8. Elaborar um algoritmo que apresente no final, o somatório dos valores pares existentes entre 10 até 20.9. Elabore um algoritmo que, utilizando as duas estruturas de repetição, imprima a tabuada do 5.10. Escrever um algoritmo que gera e escreve os números ímpares entre 100 e 200.11. Escrever um algoritmo que lê 10 valores, um de cada vez, e conta quantos deles estão no intervalo [10,20] e quantos deles estão fora deste intervalo, escrevendo estas informações.12. Escrever um algoritmo que lê um número não conhecido de valores, um de cada vez, e conta quantos deles em cada um dos intervalos [0,25], (25,50], (50,75], (75,100].13. Faça o teste de mesa para os trechos de algoritmos a seguir:Trecho 1 A <- 1 Trecho 3 S <- 0 A <- 1 Enquanto A < 5 faca B <- 4 S <- S + A S <- 0 A <- A + 2 Enquanto A <= 6 faca Fimenquanto Se A <= B entao S <- S + A * B Senao S <- S + A * B Fimse A <- A + 1Trecho 2 B <- B - 1 A <- 1 Fimenquanto N <- 0 S <- 0 Trecho 4 Enquanto S < 12 faca Para G de 1 ate 5 passo 1 faca S <- S + A C <- 0 A <- A + 1 Enquanto C < G faca N <- N + 1 C <- C + 1 Fimenquanto Fimenquanto Fimpara14. Faça um algoritmo que imprima todos os números pares compreendidos entre 85 e 907. O algoritmo deve também calcular a soma destes valores.15. Construa um algoritmo que verifique se um número fornecido pelo usuário é primo ou não.16. Construa um algoritmo que leia três valores inteiros e os coloque em ordem crescente. 17
  18. 18. Algoritmo e Programação de Computadores17. Para os funcionários de uma empresa, construir um algoritmo que, determine qual sexo que apresenta maior média salarial.18. A série de Fibonacci é formada pela seguinte seqüência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55...etc. Escreva um algoritmo que gere a série de Fibonacci até o vigésimo termo.19. Construa um algoritmo que, para cada grupo de 50 valores inteiros, determine: a. A soma dos números positivos; b. A quantidade de valores negativos.20. Construir um algoritmo que tome como entrada, N números inteiros, e mostre o menor deles.21. Foi feita uma pesquisa com um grupo de alunos de uma universidade, onde se perguntou para cada aluno, o número de vezes que utilizou o restaurante da universidade, no último mês. Construa um algoritmo que determine: a. O percentual de alunos que utilizaram menos que 10 vezes o restaurante. b. O percentual de alunos que utilizaram entre 10 e 15 vezes. c. O percentual de alunos que utilizaram o restaurante acima de 15 vezes.22. Considere que em uma eleição para prefeito, concorrem três candidatos. Cada candidato é identificado pó um número inteiro (1,2,3). Em uma pesquisa eleitoral, perguntou-se a cada entrevistado, em quem votaria na próxima eleição para prefeito. Cada entrevistado deu seu voto conforme abaixo: 1,2 ou 3 : voto para os respectivos candidatos; 4 : voto nulo; 5 : indeciso; Faça um algoritmo que calcule e escreva: a. Percentual de votos de cada candidato; b. Percentual de eleitores indecisos.23. A conversão de graus Fahrenheit para centígrados é obtida pela fórmula C=5/9(F-32). Escreva um algoritmo que calcule e escreva uma tabela de graus centígrados em função de graus Fahenheit que variem de 50 a 150 de 1 em 1. 18
  19. 19. Algoritmo e Programação de Computadores6. FluxogramaO fluxograma é uma representação gráfica de algoritmos onde formas geométricas diferentesimplicam ações distintas. É composto de um conjunto de símbolos pré-definidos.Simbologia básica: Terminal: símbolo utilizado para indicar inicio/fim do fluxo do programa. Seta de fluxo de dados: indica o sentido do fluxo de dados. Conecta os símbolos ou blocos existentes. Teclado: indica a entrada de dados recebidas ou fornecidas de ou por um computador. Display: símbolo utilizado para exibir informações no vídeo ou monitor. Processamento: símbolo ou bloco utilizado para indicar cálculos a efetuar, atribuições de valores ou qualquer manipulação de dados que tenha bloco específico para sua descrição Condição: indica uma condição, podendo resultar em uma resposta verdadeira ou falsa. Repetição: símbolo utilizado para repetir uma determinada seqüência do programa. Conector: utilizado quando é necessário particionar o diagrama. Conector: indica a conexão do fluxo em outra página.Obs.: Existem vários outros símbolos, cada qual com seu significado e função. Para esta disciplinautilizaremos os indicados na lista acima com suas respectivas variações (quando houver). 19
  20. 20. Algoritmo e Programação de Computadores7. Palavras reservadasAs palavras reservadas não podem ser usadas como identificador de variáveis, ou seja, não podemser declaradas como variáveis. PALAVRAS RESERVADASaleatório e grauprad passoabs eco inicio pausaalgoritmo enquanto int piarccos entao interrompa posarcsen escolha leia procedimentoarctan escreva literal quadarquivo exp log radpgrauasc faca logico raizqate falso logn randcaracter fimalgoritmo maiusc randicaso fimenquanto mensagem repitacompr fimescolha minusc secopia fimfuncao nao sencós fimpara numerico senaocotan fimprocedimento numpcarac timercronometro fimrepita ou tandebug fimse outrocaso verdadeirodeclare função para xou 20
  21. 21. Algoritmo e Programação de Computadores8. Referências Bibliográficas- CRESPO, SÉRGIO; EVARISTO, JAIME; aprendendo a Programar, programando numa linguagem algorítmica executável (ILA), Book Express, Rio de Janeiro, 2000.- FARRER, H. et al. Programação estruturada e computadores: algoritmos estruturados. Rio de Janeiro: LTC, 1989.- FORBELLONE, A. L. V.; EVERSPACHER, H. F. Lógica de Programação: a construção de Algoritmos e Estrutura de Dados. São Paulo: Makron Books, 1993.- GUIMARÃES, A.; LAGES, N. Algoritmos e estrutura de dados. Rio de Janeiro: LTC, 1985.- MANZANO, J. A. Estudo Dirigido de Algoritmos. São Paulo: Érica, 1997.- OLIVEIRA, A. B. Introdução à Programação: algoritmos. Florianópolis: Bookstore, 1999.- SALVETI, D. D. Algoritmos. São Paulo: Makron Books, 1998.- WIRTH, N. Algoritmos e Estrutura de Dados. Rio de Janeiro: Prentice-Hall, 1989. 21

×