Algoritmos ± Introdução, Definição e Conceito ± Parte 1

Objetivos:

Esta é a Parte 1 de uma série de tutoriais sobre Algoritmos. Nesta série de tutoriais você aprenderá o que é, para que serve e como funciona um algoritmo.

Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos básicos de informática.

Nota: Este tutorial Técnicas de Programação.

faz

parte

do

Curso:

Algoritmos ± Conceitos, Características e Estruturas ±Parte 1

Neste tutorial e nos demais que seguir utilizaremos como editor de algoritmos o Turbo Pascal 7.0.

INTRODUÇÃO

No estudo da informática o algoritmo e como o alicerce de uma casa, sem ele não se pode construir as paredes e o telhado, ou seja, sem o algoritmo não se pode criar um estudo sistematizado em nenhum campo da informática.

No mundo atual praticamente todas as tarefas podem ser automatizadas, e para isso fazemos o uso de computadores. E os computadores precisam de receberem ordens para funcionarem, daí a necessidade de algoritmos.

Para aprendermos a criar algoritmos não basta estudar ou copiar algoritmos, para se aprender como manipular situações e codificá-las em forma de algoritmo precisamos de escrever e criar algoritmos, pegar exercícios, e praticar.

DEFINIÇÃO

O algoritmo se define por uma seqüência lógica de passos que o computador executara fielmente para que se obtenha um resultado satisfatório. Estas seqüências podem ou não ser executadas dependendo do andamento do algoritmo, porém estes passos sempre serão alcançados em algum momento do algoritmo.

CONCEITO

O conceito de algoritmo é utilizado em praticamente todas as áreas do conhecimento, mesmo sem utilizar o nome algoritmo. Por exemplo na administração e contabilidade um plano de ação é um algoritmo, pois nele são listados passos para que se chegue a um resultado satisfatório.

Coloquemos isto em nosso dia a dia. Você acaba de acordar e sabe que tem que ir ao trabalho, quais os passos que você executa para que o resultado satisfatório (ir ao trabalho) aconteça.

Vejamos:

1º Passo Levanta da cama 2º Passo Vai ao banheiro 3º Passo Veste a roupa 4º Passo Sai de casa

Quando dizemos que este passos tem que ser uma seqüência queremos dizer que, este passos tem que ser executados um após o outro, porque ninguém vai ao banheiro pela manhã sem levantar da cama ou ninguém sai de casa primeiro antes de se vestir.

Para o estudo da informática o raciocínio lógico e fundamental, primário e essencial na evolução

acadêmica atividade.

de

quem

quer

seguir

este

ramo

de

CARACTERISTICAS

Todo algoritmo tem por padrão apresentar algumas características básicas:
y

y y

y

Partir de um ponto inicial e chegar a um ponto final; Não ser ambíguo (ter dupla interpretação); Poder receber dados externos e ser capaz de retornar resultados aos mesmos; Ter todas suas etapas alcançáveis em algum momento do programa. FORMAS DE REPRESENTAÇÃO

Podemos representar um algoritmo de 3 formas distintas:

1ª Forma: Descrição narrativa

Fazemos uso da descrição narrativa, quando queremos descrever um algoritmo de forma que o receptor da informação entenda do assunto mesmo não conhecendo de algoritmos, porém neste tipo de descrição temos uma imprecisão e uma falta de confiabilidade no entendimento do algoritmo além de termos um descrição muito grande para dizer pouca coisa.

Mostrar o resultado da operação. além de termos símbolos dizerem muito mais que palavras. Obs: O conceito de variável será visto mais adiante neste curso. Levandose em consideração o exemplo anterior temos: .Exemplo: Dobro de um número y y y y y Digitar um número. porém este complica-se a medida que o algoritmo cresce. pois se trata de um padrão mundial. Este é mais utilizado. 2ª Forma: Fluxograma Desta forma faremos o uso de símbolos universais que nos ajudaram a compreender o que o algoritmo quer dizer. Gravar o resultado em outra variável. Pegar o número e multiplicar por 2. Gravar em uma variável.

Lembrando que utilizaremos como linguagem de estudo de algoritmos o Turbo Pascal 7.Legenda: Cálculo Decisão Entrada Saída Inicio/Fim 3ª Forma: Linguagem Algorítmica Consiste na representação em linguagem de programação.0. Seguindo o mesmo exemplo: .

Begin Write (µDigite um número:¶).dobro: integer. write ('O dobro de '. (Sugestão do leitor Evaldo Rodrigues de Godoi) program Calcula_Dobro. if num=1 then dobro:=1 else dobro:= 2 * num. read (num). Uses crt. . NUM. DOBRO). µ e µ. Readkey.Program Calcula_Dobro. Var NUM: integer. ' e '. Write (µO dobro de µ. num. var num. DOBRO: integer. DOBRO:= 2 * NUM. End. Read (NUM). dobro). begin write ('Digite um número:'). uses wincrt. readkey.

4 ± Volta a viajar. Qual a seqüência que você realiza para se trocar um pneu. Com esta seqüência é possivel se trocar o pneu do carro.end. 2 . Linguagens Como a visão deste curso e desenvolver futuros programadores. 3 ± Troca o Pneu. Você esta viajando e de repente o pneu do carro fura e você precisa trocá-lo. iremos exemplificar aqui as linguagens de programação (baixo e alto nível) para que saibamos como funciona estes tipos de linguagens.Pega o estepe. já que não tem nenhum posto por perto e você esta viajando sozinho. Porém estamos considerando que a pessoa que ira trocar o pneu sabe como executar esta . Peguemos como exemplo o seguinte fato. 1 ± Desce do carro.

10 ± Montar o triângulo. Este exemplo nos mostra uma linguagem de alto nível pois com comandos reduzidos já conseguimos executar uma tarefa com resultado satisfatório. 8 ± Abrir o porta malas. 9 ± Pegar o triângulo de sinalização. 4 ± Retirar o cinto de segurança. Agora iremos exibir o mesmo problema em uma linguagem de baixo nível.atividade. 2 ± Desligar o carro. 13 ± Colocar o macaco ao lado do carro. 12 ± Retirar o macaco do porta malas. . 17 ± Girar a manivela para levantar o carro. 16 ± Colocar o macaco sob o carro. 14 ± Retirar o estepe do porta malas. 6 ± Colocar as pernas para fora do carro. 11 ± Colocar o triângulo no asfalto para fazer a sinalização. 7 ± Sair do veículo. 5 ± Abrir a porta. 1 ± Estacionar o carro no acostamento. 15 ± Colocar o estepe ao lado do carro. 3 ± Ligar a pisca alerta.

33 ± Continuar a viagem. 25 ± Colocar o macaco no porta malas. 22 ± Parafusar o estepe.18 ± Pegar a chave. 26 ± Guardar o triângulo. 24 ± Colocar o pneu no porta malas. Alto Nível 1 ± Desce do carro Baixo Nível 1 ± Estacionar o carro no acostamento. 19 ± Retirar os parafusos. 23 ± Girar a manivela do macaco ao contrario. 32 ± Ligar o carro. 20 ± Retirar o pneu. 2 ± Desligar o carro. Veja como uma linguagem de alto nível se comporta em relação a uma linguagem de baixo nível. 31 ± Colocar o cinto de segurança. . 27 ± Fechar o porta malas. 21 ± Colocar o estepe. 29 ± Sentar no banco. 30 ± Colocar as pernas para dentro. 28 ± Abrir a porta do carro.

12 ± Retirar o macaco do porta malas. 32 ± Ligar o carro. 6 ± Colocar as pernas para fora do carro. 5 ± Abrir a porta. 33 ± Continuar a viagem. 31 ± Colocar o cinto de segurança. já que se algum passo contido em um . 16 ± Colocar o macaco sob o carro. 9 ± Pegar o triângulo de sinalização. 29 ± Sentar no banco. 28 ± Abrir a porta do carro. 20 ± Retirar o pneu. 7 ± Sair do veículo. 14 ± Retirar o estepe do porta malas. 13 ± Colocar o macaco ao lado do carro. 19 ± Retirar os parafusos. 27 ± Fechar o porta malas. 23 ± Girar a manivela do macaco ao contrario. 10 ± Montar o triângulo. 21 ± Colocar o estepe. porém o programador fica limitado. 26 ± Guardar o triângulo. 24 ± Colocar o pneu no porta malas. 8 ± Abrir o porta malas. Na linguagem de alto nível. 30 ± Colocar as pernas para dentro. 22 ± Parafusar o pneu. 11 ± Colocar o triângulo no asfalto para fazer a sinalização. pois um comando em uma linguagem de alto nível corresponde a vários comandos em uma linguagem de baixo nível. 18 ± Pegar a chave. 4 ± Retirar o cinto de segurança.Pega o estepe 3 ± Troca o Pneu 4 ± Volta a viajar 3 ± Ligar a pisca alerta. 15 ± Colocar o estepe ao lado do carro. o entendimento fica mais fácil. 17 ± Girar a manivela para levantar o carro.2 . 25 ± Colocar o macaco no porta malas.

a programação já esta por baixo ou seja linguagem de baixo nível. CONCLUSÃO Neste tutorial falamos sobre definição e conceito dos algoritmos bem como suas características e formas de representação. além de exemplificarmos linguagens de alto e baixo nível.comando de alto nível não pode ser alterado. isto quer dizer que meu algoritmo funcionou. Por exemplo no comando 4 da linguagem de alto nível ³Voltar a viajar´ se eu quiser ligar o carro primeiro para depois colocar o cinto de segurança será impossível já que a linguagem de alto nível não me permite. liberdade esta que o programador tem quando programa em linguagem de baixo nível. No próximo tutorial . Mas na prática a linguagem de alto nível simplifica a vida do programador já que vários detalhes da programação são desconsideráveis nesta linguagem. Exemplo: Para se fazer menus no Clipper gastá-se muita programação. já no Delphi basta clicar e arrastar. tanto em uma linguagem de alto nível quanto uma linguagem de baixo nível. Mas visualizando todos os comandos listados tem por objetivo trocar o pneu do carro. Toda a programação já esta embutida no Comando Menu do Delphi. ³pneu trocado´. Se partirmos do ponto em que o carro esta com o pneu furado e chagar ao final com o problema resolvido.

Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos apresentados no Algoritmos Parte 1. tipos de variáveis e suas definições Algoritmos ± Identificadores. Constantes e Tipos de Dados ± Parte 2 . Analisaremos posteriormente os tipos de dados que podem ser atribuídos a cada uma destas variáveis e constantes. faz parte do Curso: Algoritmos ± Identificadores. Constantes e Tipos de Dados ± Parte 2 Objetivos: Esta é a Parte 2 de uma série de tutoriais sobre Algoritmos. Nesta parte você ira conhecer sobre identificadores o que são e qual a sua importância para o bom entendimento de algoritmos. Variáveis. Nota: Este tutorial Técnicas de Programação.falaremos sobre variáveis. Variáveis. também estudaremos sobre variáveis e quais as diferenças entre variáveis e constantes além de suas semelhanças.

Não podem haver nenhum identificador repetido. Segue abaixo uma tabela de palavras reservadas pelo Pascal (programa utilizado para estudo de algoritmos em nosso curso). programas e campos de um registro (estes itens serão analisados mais adiante no curso). E também não ter o mesmo nome de palavras reservadas. No conteúdo do identificador não pode conter caracteres especiais (!@#$%&*/-+<>?). Palavras Reservadas Palavras reservadas. são identificadores que já foram usados pelo programa. mas somente os 63 primeiros caracteres são significativos. procedimentos. variáveis. letras. .IDENTIFICADORES Identificadores são conjuntos de caracteres regido por determinadas leis que representam constantes. números e sublinhada ( _ ). ou seja no identificador só podemos ter. após o primeiro caracter. O primeiro caracter do identificador obrigatoriamente tem que ser uma letra. Nos identificadores não pode conter espaços em branco. ou seja se caso utilizarmos uma destas palavras iremos infringir a regra de que não se pode haver identificadores repetidos. tipos. unidades. As leis que regem este conjunto de caracteres são: y y y y y y Podem ter qualquer tamanho. que já foram destinadas a identificar outros elementos. porém recomenda-se o uso de no máximo 8 caracteres.

Na programação a teoria de variáveis tem o mesmo conceito e com alguns diferenciais. pode assumir valores diferente dependendo do cálculo empregado. mais adiante será apresentados algumas funções onde seu nomes se enquadram nesta lista. . o valor da variável sempre conterá somente um valor e ocupara um determinado espaço na memória. VARIÁVEIS Na matemática o termo ³variável´. ou seja como o próprio nome diz variável tem em seu conteúdo valores variáveis.ABSOLUTE AND CONST DIV EXTERNAL FILE BEGIN CASE DOWTO ELSE FORWAR FUNCTION D GOTO IF IMPLEMENTATIO IN INTERFAC N E INTERRUP LABE MOD NIL NIT T L OF OR PACKED PROGRAM RECORD REPEAT SET SHL SHR STRING THEN TO UNIT UNTIL USES VAR WHIL WITH XOR E ARRAY DO FOR Estes são apenas alguns exemplos de identificadores contidos do Pascal.

12. etc 260. 100. para podermos analisar qual o tipo de dado mais apropriado para cada variável. mas o espaço reservado a uma variável sempre estará reservado a ela. etc CONSTANTES Diferente das variáveis. Ex. sobre aplicações e posteriormente esta taxa de juros . João. sobre rendimentos.983. dai a necessidade de se conhecer os ³Tipos de Dados´. ou até que o programa se finalize. 2. José. 153 etc Maria.57.O tamanho que a variável ira ocupar na memória dependerá do tipo de dados que esta variável ira suportar. o que dificulta na hora da atualização do programa. Imagine que você tenha um programa financeiro de 2500 linha de programação que faça cálculos de juros sobre salário. As constantes são muito utilizadas quando temos que fazer referência a um determinado termo várias vezes.: Variável Descrição CODFUN Código Funcionário NOME Nome da Pessoa VALOR Salário da Pessoa Tipo Inteiro Texto Real Valores Permitidos 1. ou seja mesmo o valor de uma variável não ocupar todo o espaço reservado a ela. este espaço continuará reservado.62 . as constantes receberão um valor ao iniciar o programa e este valor é inalterável durante a execução do programa.

Basicamente possuímos três classes de dados. não conseguimos executar cálculos com esse número já que a propriedade do tipo ³TEXTO´ não nos permite. tão operação. Devido a isto o estudo de ³Tipos de Dados´ é muito importante para a programação. TIPOS DE DADOS Como já dissemos para declararmos as variáveis precisamos indicar ao programa qual tipo de dados esta variável ira receber.muda. . Veremos estas classes. se você não faz o uso de constantes você tem que percorrer todas as linha de comando do seu programa localizar onde estão os valores correspondentes as taxas de juros e alterá-las. ou ainda determinar um tipo errado a sua variável. Embora uma variável de tipo µTEXTO¶ aceitar um número. mas se você faz o uso de constantes basta mudar o valor da taxa de juros contido na declaração da constante no inicio dos comando que todo o seu programa esta atualizado automaticamente. As constantes obedecem às mesmas leis de identificadores das variáveis. um trabalho extremamente cansativo. simples. já que durante a execução ele fará referência a uma constante que esta com o valor dos juros alterados. para que não falte e nem sobre espaço na memória pois isto limita a eficiência e velocidade de execução de um programa. lógica e estruturadas.

9 x 10 -39 SINGLE 1. Veja o quadro Tipo INTEGER SHORTINT BYTE WORD LONGINT Valor mínimo -32768 -128 0 0 -2147483648 Valor máximo 32767 127 255 65535 2147483647 Bytes ocupados 2 1 1 2 4 Real ± recebe números reais. Vejamos o quadro.4 x 10 38 1.7 x 10 38 3. Tipo Valor Mínimo REAL 2.5 x 10 -45 DOUBLE 5. Neste tipo de dados temos outros subtipos que seguem a mesma teoria de dados. Da mesma forma que as do tipo ³integer´ as variáveis do tipo real possui as seus subtipos.4 x 10 4932 COMP -2 63 + 1 Valor Máximo 1.Classe de dados ³Simples´ Integer ± recebe números inteiros. com algumas diferencias.7 x 10 308 1.0 x 10 324 EXTENDED 3.1 x 10 4932 2 63 ± 1 Bytes Ocupados 6 4 8 10 8 Dígitos Significativos 11-12 7-8 15-16 19-20 19-20 .

Ex. µteste123¶ . Exemplos: µA¶. A maioria dos computadores utilizam a tabela de códigos ASCII para representar todos os caracteres disponíveis.: Casado := Sim ou Não. µ1¶. recebe um conjuntos de dados simples (Char). µpaula¶. True (verdadeiro) ou False (falso). O tamanho máximo deste tipo de dados é de 255 caracteres. Classe de dados ³Estruturados´ String ± recebe dados alfanuméricos.: µanna¶. Ou seja. µ%¶ Classe de dados ³Lógica´ Boolean ± recebe apenas valores lógicos. escrito entre apóstrofos ( µ ). µa¶. Ex.Char ± representa um único caracter.

Set e Text serão também estudados mais adiante.: (I) ± Os identificadores não podem iniciar com números. Os tipos de dados estruturados Array.: (C) y A9PQ.3W.: (C) y GF. y 123mudar. . Resp. EXERCICIOS RESOLVIDOS 01 ± Marque (C) para correto e (I) para incorreto dente os identificadores abaixo. File. Resp.Estudaremos strings em módulos especifico mais adiante. Resp. y X1YZ. Resp.: (I) ± No identificador não pode haver caracteres especiais. Record. justificar os Incorretos.

y Lápis. Resp. Número inteiro.cor. Ex.: (I) ± No identificador não pode haver espaços em branco. . 2 ± Escreva o tipo de dado ideal par se representar as seguintes informações. Resp. Resp.: (34) 3222-1111 aceita y Número de moradores de um prédio. Pois somente string caracteres especiais. y O número de telefone.: (I) Palavra reservada não pode ser usada como identificador. y Hoje amanha. Resp.: (I) ± No identificador não pode haver caracteres especiais.: Integer.: 25 y Se uma pessoa gosta de bala ou não. Ex.: String. Resp. y Xor.

Valores alfanuméricos.5. Somente (sim) ou falsos (não). Resp.: Boolean.: 5 / 2 = 2. Números decimais.: R$ y A cor de um carro.583.:Real. 25.: String.Resp. Ex.: Real. Resp.: Integer. Resp. Ex.8.: Real. y µAnna Paula¶. Resp. y 0. valores verdadeiros y O valor de um casa. y µ5. Números decimais. Ex. .8E10¶. Números inteiros 3 ± Identificar os tipos dos seguintes dados. Resp.: String. Resp. y Alunos de uma escola.: Preto. y Resultado de uma divisão.28.

: String. y 25. y µ?¶. além de suas diferenças e semelhanças.Resp.: Char.: Boolean.: Integer. y True. além de exemplos para entendimento do conteúdo.: Real. E logo após entramos em um tópico importantíssimo para a programação que é os tipos de dados que as variáveis e constantes podem receber. Resp. No próximo tópico falaremos sobre o operadores: Atribuição. y µ µ. listamos todos os tipos e exemplificamos. CONCLUSÃO: Neste tutorial ficou exemplificado como funciona as leis dos identificadores. Resp. Resp. . o que é e para que serve constantes e variáveis. Resp. Aritiméticos e Lógicos.

Mostraremos o que são e para que servem. Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos apresentados no Algoritmos ± Identificadores. Variáveis. Constantes e Tipos de Dados . Nota : Este tutorial faz parte do Curso: Técnicas de Programação.Parte 2. Nesta parte você ira conhecer sobre Expressões Aritméticas e Lógica além dos operadores empregados nestas expressões. Algoritmos ± Operadores ± Parte 3 OPERADORES .Algoritmos ± Expressões e Operadores ± Parte 3 Objetivos: Esta é a Parte 3 de uma série de tutoriais sobre Algoritmos.além de utilizarmos exemplos e exercícios resolvidos para aumentarmos os conhecimentos aplicados.

Real Inteiro. Real Inteiro. Comandos utilizando operadores serão muito utilizados em todo o curso e em todas as ocorrências em que os algoritmos se fizer necessário. Real Inteiro. Real Inteiro. Os operadores aritméticos são utilizados somente com dados do tipo inteiro e do tipo real. Real Inteiro. Real Inteiro. Operadores Aritméticos Os operadores aritméticos representam operações mais comuns da matemática. Real Real Inteiro Inteiro Inteiro Inteiro .Os operadores tem grande utilidade no desenvolvimento de algoritmos com eles podemos comparar e efetuar cálculos entre variáveis. Expressões Aritméticas Nas expressões aritméticas fazemos o uso dos operadores aritméticos que são símbolos utilizados para efetuarmos cálculos matemáticos. São eles: as Operador Operação + Adição Subtração * Multiplicação / Divisão DIV Divisão inteira MOD Resto da Divisão Operandos Resultado Inteiro.

2 ± A utilização de parênteses indica que as expressões contidas nos mesmos tem prioridade . Segue abaixo uma tabela contendo as prioridades e suas exceções.5 5 DIV 2 2 5 MOD 2 1 Prioridades As prioridades seguem o mesmo contexto da das prioridades em expressões matemáticas. Prioridade Operadores 1ª * / DIV MOD 2ª +- Observações: 1 ± Quando houver expressões com operadores de mesma prioridade segue a de maior prioridade.5 10.5 5/2 2.Exemplos: Expressão Resultado 3+2 5 8±5 3 3 * 3.

5 Funções e procedimentos aritméticos São funções que estão prontas para cálculos específicos. E se houver parêntese alinhados parênteses mais internos tem prioridade. Real .máxima.5 2º (2 + 3) / 2 => 5 / 2 => 2. Abaixo segue uma tabela contento estas funções e procedimentos aritméticos e suas características. Real Finalidade Tipo do Resultado O mesmo do argumento Real Inteiro Inteiro O mesmo do FRAC (X) Parte Fracionária Real TRUNC Parte Inteira Real (X) ROUND Valor Real (X) Arredondado SQR (X) Eleva ao Inteiro. os Exemplos: 1º 2 + 3 / 2 => 2 + 1.5 => 3. Função Tipo do Argumento ABS (X) Valor Absoluto Inteiro.

quadrado SQRT (X) Raiz quadrada LN (X) Logaritmo Natural EXP (X) Exponencial Inteiro.8 ABS (8) 8 FRAC (2. Real Real Real argumento Real Real Real No Pascal não existe nenhuma função que faça a Potenciação (X N).97) 2 EXP (LN(3) * 27 3) ABS (-8. EXP (LN(X)*N).286) 0.5) 2.25) 1. Para se montar .8) 8.25 SQRT (2. Exemplos Expressão Resultado SQR (3) 9 SQR (1.5 TRUNC (1.97) 1 ROUND (1. mas podemos conseguir esta informação utilizando a função LN(X) e EXP(X).286 Expressões Lógicas As expressões lógicas sempre retornaram True (Verdadeiro) e False (Falso).

Operadores Relacionais São usados para comparar duas expressões ou variáveis e retorna se a comparação é verdadeira ou falsa (Valor Lógico). OperadorOperação = Igual > Maior < Menor >= Maior ou Igual <= Menor ou igual <> Diferente Exemplos: Expressão Resultado 1=2 FALSE µA¶ = µa¶ FALSE 5>2 TRUE 3 <= 3 TRUE TRUE < FALSE FALSE . Veremos o que são e como funciona cada um destes operadores e exemplificaremos cada um deles.expressões lógicas utilizamos de operadores relacionais e operadores lógicos. A utilização das expressões lógicas somente serão aplicadas em termos com o mesmo tipo de dados.

utilizados para combinar expressões Operador Operação Not Não (negação) And E (conjunção) Or Ou (disjunção) Prioridade A ordem em que se obedece uma expressão lógica. segue o quadro abaixo Prioridade Operadores 1ª Not 2ª And 3ª Or 4ª = > < >= <= <> .µJOAO¶ > µJOSE¶ 2 + 3 <> 5 µcomp¶ <> µCOMP¶ 11 > 4 FALSE FALSE TRUE TRUE Operadores Lógicos São lógicas.

Y = 2 e Z = 5.Considerando que X = 1. Z ± ABS (X ± SQR(Y)) Resp.: SQRT (5 div 2 + 1 * 2) -> SQRT (2 + 2) -> SQRT (4) -> 2 e. SQRT (Z div Y + X * Y) Resp.2 d.: 5 mod 2 div 2 -> 1 div 2 -> 0 b.EXERCICIOS RESOLVIDOS 1.667 -> 4.2 + 3 * 2 -> 0.2 + 6 -> 6.: 5 ± ABS (1 ± SQR(2)) -> 5 ± ABS (1 ± 4) -> 5 ± ABS (-3) -> 5 ± 3 -> 2 . desenvolva.: FRAC (1/5) + ROUND (5/2) * TRUNC (5/2) -> 0. X + Y + Z / 3 Resp. FRAC (X / Z) + ROUND (Z / Y) * TRUNC (Z / Y) Resp. a.: 1 + 2 + 5 / 3 -> 3 + 1.667 c. Z mod Y div Y Resp.

µa¶ <= µA´ Resp. a.: TRUE b.: TRUE f. µ22¶ > µ200¶ Resp. µCASA¶ <> µcasa¶ Resp.0 Resp.2.: FALSE g.: TRUE e.Dadas as comparações abaixo.: FALSE . escreva os resultados. µ µ = µ µ Resp. 3 = 3.: FALSE c. FALSE = FALSE Resp.: FALSE d. µJOAQUIM¶ < µJOSE¶ Resp.

3.Parte 4 Objetivos: . A or B and not A or not B Resp.Sendo A = TRUE e B = FALSE. Mostraremos a seguir quais são as estruturas dos algoritmos. Qual o resultado das expressões abaixo a.: TRUE c. e para que serve os operadores e as expressões lógicas em que são utilizadas. not A and B or A and not B Resp. (A or B) and (not A or not B) Resp. como se dividem e como funcionam estas estruturas.: FALSE Conclusão Nesta parte mostrei o que é. not (not (A or B) and (A or B)) Resp.: TRUE d. Algoritmos ± Estruturas .: FALSE b.

condicional e de repetição. Nesta parte você aprenderá como funciona as estruturas de comandos utilizadas para se escrever algoritmos bem como o seu funcionamento. faz parte do Curso: Algoritmos ± Estruturas ± Parte 4 ESTRUTURAS Nos algoritmos temos 3 estruturas básica de controle nas quais detalharemos mais adiante. como já foi dito. Esta estrutura estará contida nas demais estruturas que iremos estudar.Esta é a Parte 4 de uma série de tutoriais sobre Algoritmos. Cronologicamente ficaria da seguinte forma: . Nota: Este tutorial Técnicas de Programação. São elas: seqüencial. Pré-requisitos: Para acompanhar esta lição você deve dominar os conceitos básicos de informática. algoritmo é uma seqüência onde o computador irá ler os comando de cima para baixo e da esquerda para a direita. Estrutura Seqüencial Esta estrutura e padrão em toda a forma de algoritmo.

Representaremos as . a condição ira determinar a execução ou não de um determinado comando. caracterizasse por execução de determinados códigos de programação dependendo da veracidade de uma condição. Esta estrutura se subdivide em outras duas estruturas. Estrutura Condicional Simples Neste. . .<Comando-1> <Comando-2> <Comando-3> . Estrutura Condicional Estrutura também conhecida como de decisão ou seleção. <Comando-n> Nesta estrutura o comando-3 somente será executado após o comando-2 e o comando-2 após o comando-1 e assim por diante.

. Fluxograma: Linguagem Algorítmica: Se tempo = sol então Vou à praia Fim-se Para padronizarmos os estudos em Turbo Pascal 7.0 teremos a seguinte sintaxe para resolução do mesmo problema em Pascal.mesmas conforme representação: visto no tópico formas de Descrição Narrativa: Se fizer sol então vou à praia.

Estrutura Condicional Composta Nesta.Senão´ Representaremos as mesmas conforme visto no tópico formas de representação: Descrição Narrativa: Se fizer sol então vou à praia senão jogarei cartas... Vou à Praia. Na estrutura simples temos ³Se.Então....If tempo: = sol then begin.. nesta caso teremos ³Se.. a condição ira determinar qual comando será executado dentre dois listados.. Fluxograma: Linguagem Algorítmica: ...Então´. End...

If tempo: = sol then begin. Estrutura Condicional Composta (case) Esta estrutura e extremamente utilizada quando necessitasse de utilizar o comando if repetidas vezes. . Vou à praia. end Else begin. End.Se tempo = sol então Vou à praia Senão Jogarei cartas Fim-se Padronizando novamente para Pascal. Jogarei cartas. tornando-se assim um comando de alto poder na estruturação de qualquer algoritmo.

Fluxograma: Linguagem Algorítmica: Case mês of 1: mês:= Janeiro. . se igual a 3 então é março e assim por diante. 2: mês:= Fevereiro. 4: mês:= Abril. 3: mês:= Março.Descrição Narrativa: Caso o mês seja igual a 1 então é janeiro. se igual a 2 então é fevereiro.

11: mês:= Novembro. já que o mesmo testa a condição no início da estrutura. 10: mês:= Outubro. 8: mês:= Agosto. 6: mês:= Junho. end. 7: mês:= Julho. .5: mês:= Maio. Esta estrutura e subdividida em 3 sub-estruturas. 12: mês:= Dezembro. 9: mês:= Setembro. Estrutura de repetição com teste no inicio (comando while-do) Os comandos contidos neste tipo de estrutura podem não ser executados nenhuma vez. Estrutura de Repetição Essa estrutura trabalha com a repetição de comandos até que condições se satisfaçam.

Fluxograma: Linguagem Algorítmica: Enquanto tempo <> sol faça Olhar o tempo Fim-enquanto Vou à praia Padronizando: While tempo: <> sol do begin. ficarei em casa. .Descrição Narrativa: Enquanto não fizer sol faça.

pois quando o tempo for igual a sol a condição será falsa. Fluxograma: . Vou à praia Enquanto o tempo for diferente de sol ou seja.Olhar o tempo End. Estrutura de repetição com teste no final (comando repeat-unitil) Permite a repetição dos comandos contidos nesta estrutura até que o mesmo seja verdadeira. e este se repetirá até que o tempo seja igual a sol. (condição verdadeira) a estrutura ira executar os comandos contidos nela. não tiver sol. Descrição Narrativa: Ficarei em casa até que faça sol. somente assim poderemos sair da estrutura de repetição while e executar o comando ³Vou à praia´. Neste tipo de estrutura o comando sempre será executado pelo menos uma vez.

Linguagem Algorítmica: Repita Ficarei em casa Até que tempo = sol Padronizando Repeat begin Ficarei em casa End. Until tempo = sol .

End.Estrutura de repetição automática (comando for) Permite a repetição dos comandos contidos nesta estrutura seja repetida um número específico de vezes. Temos também no comando for a opção que vai decrescendo N até chegar em um valor igual ao segundo da condição. Descrição Narrativa: números de 1 a 100. Exemplo: . Neste exemplo ao iniciar o comando for a variável N recebera o valor do primeiro número da condição (no caso 1) e será impresso na tela o valor do mesmo. isso se repetira até que N seja igual a 100. quando esse comando se repetir o N passara a ter o valor de N+1 ou seja 2. e será impresso novamente na tela. Imprima na tela os Linguagem Algorítmica: For N := 1 to 100 do Begin Writeln (N).

Conclusão: Nesta parte do tutorial. End. No próximo tópico falaremos sobre array dimensionais e arrays bidimensionais. .For N := 100 dowto 1 do Begin Writeln (N). mostrei o conceito de estruturas utilizadas para manipulação de dados. ou seja como o programa ira ordenar os dados para obter os resultados esperados.

Sign up to vote on this title
UsefulNot useful