informática prof. renato da costa - cloud object storage · exemplos: pascal, c, visual basic,...

36
Técnico Judiciário – Área Administrativa Informática Prof. Renato da Costa

Upload: hoanghuong

Post on 08-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

Técnico Judiciário – Área Administrativa

Informática

Prof. Renato da Costa

Page 2: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,
Page 3: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br

Informática

Professor Renato da Costa

Page 4: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,
Page 5: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br

Edital

INFORMÁTICA: Noções básicas de bancos de dados, linguagem e lógica de programação, redes de computadores e dispositivos móveis.

BANCA: FCC

CARGO: Técnico Judiciário – Área Administrativa

Page 6: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,
Page 7: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br 7

Informática

LÓGICA DE PROGRAMAÇÃO

ALGORITMO

Um Algoritmo é uma sequência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema.

PROGRAMA

Um programa nada mais é do que um algoritmo escrito em uma linguagem computacional.

LINGUAGENS DE PROGRAMAÇÃO

Permitem o desenvolvimento de programas em uma linguagem de alto nível, textual, semelhante a que pensamos ou escrevemos, e que posteriormente são convertidas para uma linguagem de máquina, codificada, interpretada pelo computador.

As linguagens de programação permitem ao homem o desenvolvimento de maneira ilimitada, possibilitando a criação de jogos, editores de texto, planilhas eletrônicas até sistemas operacionais.

Existem várias linguagens de programação, cada uma com suas características, comandos e recursos.

Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras.

ALGORITMOS EM “PORTUGOL”

Durante nosso aprendizado, iremos aprender a desenvolver nossos algoritmos em uma pseudolinguagem conhecida como “Portugol” ou Português Estruturado.

“Portugol” é derivado da aglutinação de Português + Algol. Algol é o nome de uma linguagem de programação usada no final da década de 1950.

Page 8: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br8

Vale ressaltar que as sintaxes dos comandos usados nos algoritmos são abstratas, podendo ter pequenas variações de acordo com cada examinador/banca. Convenhamos que o mais importante é a lógica, ou seja, o pensamento elaborado e não a sintaxe utilizada.

Técnicas de Programação

Programação sequencial: o programa é descrito através de várias linhas, executadas uma após a outra.

Programação estruturada: dispõe da possibilidade de dividir o programa em subprogramas (procedimentos ou funções), diminuindo o tempo de programação para tarefas repetitivas, facilitando a manutenção e minimizando os erros.

Programação orientada a eventos: o programa, na verdade, é dividido em várias partes agregadas a objetos utilizados pelo ambiente da linguagem, e esses trechos do programa são despertados por ações determinadas, como um clique em um botão ou uma fatia de tempo.

MATEMÁTICA NA INFORMÁTICA

Como a maioria dos programas possui algum tipo de processo matemático, iremos começar a estudar seus operadores.

OPERADORES ARITMÉTICOS

+ → Adição

- → Subtração

* → Multiplicação

/ → Divisão

^ou**→Exponenciaçãoex.23=2^3ou2**3

Qual o resultado da expressão abaixo?

=2+2*2^2

Lembre-se que a prioridade dentre os operadores descritos anteriormente é a mesma da matemática: primeiro a exponenciação seguida da multiplicação e divisão, e, por último, a soma e subtração. Logo, o resultado é ____.

Page 9: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 9

OPERADORES RELACIONAIS

> → Maiorque

< → Menorque

>=→ MaiorouIgual

<=→ MenorouIgual

= → Igual

<>→ Diferente

LINEARIZAÇÃO DE EXPRESSÕES

Para a construção de Algoritmos, todas as expressões aritméticas devem ser colocadas em linhas.

É importante também ressalvar o uso dos operadores correspondentes da aritmética tradicional para a computacional.

Exemplo:

23+ 5−3( )⎡

⎣⎢

⎦⎥+1=

Tradicional

(2/3+(5–3))+1=

Computacional

MODULARIZAÇÃO DE EXPRESSÕES MATEMÁTICAS

A modularização é a divisão da expressão em partes, proporcionando maior compreensão e definindo prioridades para a sua resolução.

Como pode ser observado no exemplo anterior, em expressões computacionais usamos somenteparênteses“( )”paramodularização.

Na informática podemos ter parênteses dentro de parênteses.

Exemplos de prioridades:

(2+2)/2=2

Primeiro resolve-se o que está em parênteses.

2+2/2=3

Page 10: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br10

OPERADORES ARITMÉTICOS ESPECIAIS (MOD e DIV)

MOD → Retornaorestodadivisãoentre2númerosinteiros.

DIV →Retornaovalorinteiroqueresultadadivisãoentre2númerosinteiros.

Exemplo:

Observação:

Comofoibemdestacadoacima,nuncapoderemosterumaexpressãotipo:2,8mod2,pois2,8não é um número inteiro.

Observe:

• 8*3+7mod2+6*9 • Calculando:24+1+54=79

Observação: A prioridade dos operadores especiais é igual a da multiplicação ou divisão.

EXPRESSÕES LÓGICAS

As expressões compostas de relações baseadas em uma proposição sempre resultam em um valor lógico do tipo Verdadeiro ou Falso.

Exemplos:

2+5>4→ Verdadeiro 3 <> 3 → Falso

OPERADORES LÓGICOS

Atuam sobre expressões lógicas, retornando resultados do tipo Falso ou Verdadeiro.

E RETORNAVERDADEIRO,SEAMBASASPARTESDAEXPRESSÃOFOREMVERDADEIRAS.

OU BASTAQUEUMAPARTEDAEXPRESSÃOSEJAVERDADEIRAPARARETORNARVERDADEIRO.

NÃO INVERTEOESTADO;DEVERDADEIROPASSAPARAFALSOEVICE-VERSA.

Page 11: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 11

Prioridades dos operadores Lógicos:

1. NÃO →Negação

2. E →Conjunção

3. OU →Disjunção

TABELA-VERDADE

SupondoAeBcomoexpressões lógicas,vamosverificarosestadosdecada linhadatabelaabaixo:

A B A E B A OU B NÃO (A)

V V V V F

V F F V F

F V F V V

F F F F V

FUNÇÕES

Umafunçãoéuminstrumento(Sub–algoritmo)quetemcomoobjetivoretornarumvalorouuma informação.

A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seu argumento inicial entre parênteses.

As funções podem ser predefinidas pela linguagem ou criadas pelo programador de acordo com o seu interesse.

Exemplos:

Page 12: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br12

FUNÇÕES PREDEFINIDAS

ABS ( ) VALORABSOLUTO |x|

SQRT ( ) RAIZ QUADRADA x (Square Root)

SQR ( ) ELEVA AO QUADRADO x2

As funções acima são as mais comuns e importantes para nosso desenvolvimento lógico, entretanto, cada linguagem possui suas funções próprias. As funções podem ser aritméticas, temporais, de texto etc.

TABELA GERAL DE PRIORIDADES

PRIMEIRO PARÊNTESESEFUNÇÕES

SEGUNDO SINAISDEMENOSEMAISPARAOPERANDOSUNÁRIOS

TERCEIRO EXPONENCIAL

QUARTO MOD,DIV,MULTIPLICAÇÃOEDIVISÃO

QUINTO SOMAESUBTRAÇÃO

SEXTO OPERADORESRELACIONAIS

SÉTIMO NÃO

OITAVO E

NONO OU

VARIÁVEIS

Variáveis são endereços de memória destinados a armazenar informações temporariamente (durante a execução do algoritmo). Embora uma variável possa assumir diferentes valores, ela só pode armazenar um único valor a cada instante.

* Todo Algoritmo ou programa deve possuir variável!

Por exemplo, imagine que eu quero saber o dobro da sua idade. A fórmula seria: resposta=idade*2.

Neste exemplo temos duas variáveis: a idade, que vai variar para cada leitor e, a resposta, que vai variar de acordo com a idade.

Page 13: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 13

VARIÁVEIS DE ENTRADA E SAÍDA

Variáveis de Entrada armazenam informações fornecidas por um meio externo, normalmente usuários ou discos.

Variáveis de Saída armazenam dados processados, normalmente dados intermediários ouresultados.

Exemplo:

Deacordocomafiguraacima,AeBsãoVariáveisdeEntradaeCéumaVariáveldeSaída.

IDENTIFICADORES

Sãoosnomessignificativosdadosavariáveis,constanteseprogramas.

Regras para construção de Identificadores:

• Nãopodemternomesdepalavrasreservadas(comandosdalinguagem);

• Devem possuir como 1º caractere uma letra ou Underscore (_);

• Ter como demais caracteres letras, números ou Underscore;

• Ternomáximo127caracteres;

• Nãopossuirespaçosembranco;

• A escolha de letras maiúsculas ou minúsculas é indiferente.

Exemplos:

NOME TELEFONE IDADE_FILHONOTA1 SALARIO PI

UMNOMEMUITOCOMPRIDOEDIFICILDELER

UM_NOME_MUITO_COMPRIDO_E_FACIL_DE_LER

Page 14: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br14

SINAL DE ATRIBUIÇÃO

UmaVariávelnuncaéeternamenteigualaumvalor;seuconteúdopodeseralteradoaqualquermomento. Portanto, para atribuir valores a variáveis, devemos usar o sinal de “:=” ou “←”.

Exemplos:

A ←2;

B←3;(lê-sedaseguinteforma:Brecebe3)

C:=A+B;

CONSTANTES

Assim como as variáveis, as constantes são endereços de memória destinados a armazenar informações, entretanto, elas são fixas, inalteráveis durante a execução do programa.

Exemplo:

PI=3.1416

SINAL DE IGUALDADE

As constantes são eternamente iguais a determinados valores, portanto, quando construímos um algoritmo, usamos o sinal de “=” para identificá-las.

Exemplos:

PI=3.1416;

Empresa = ‘Colégio de Informática L.T.D.A.’

V = Verdadeiro

TIPOS DE DADOS

Todas as Variáveis devem assumir um determinado tipo de informação.

O tipo de dado pode ser:

• Primitivo →Pré-definidopelalinguagem;

• Sub-Faixa→Éumapartedeumtipojáexistente;

• Escalar → Definidos pelo programador.

Page 15: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 15

Exemplos:

TIPOS PRIMITIVOS DE DADOS

INTEIRO ADMITE SOMENTE NÚMEROS INTEIROS. GERALMENTE É UTILIZADO PARAREPRESENTARUMACONTAGEM(QUANTIDADE).

REAL ADMITE NÚMEROS REAIS (COM OU SEM CASAS DECIMAIS). GERALMENTE ÉUTILIZADOPARAREPRESENTARUMAMEDIÇÃO.

CARACTEREADMITE CARACTERES ALFANUMÉRICOS. OS NÚMEROS, QUANDO DECLARADOSCOMOCARACTERES,TORNAM-SEREPRESENTATIVOSEPERDEMAATRIBUIÇÃODEVALOR.

LÓGICO ADMITESOMENTEVALORESLÓGICOS(VERDADEIRO/FALSO).

COMANDOS BÁSICOS DE ENTRADA E SAÍDA (INPUT/OUTPUT)

LER/LEIA → Comando de entrada que permite a leitura de Variáveis de Entrada. Alguns autores tratam esse comando com Receber. O resultado é o mesmo.

ESCREVER/ESCREVA → Comando de saída que exibe uma informação na tela do monitor. Alguns autores tratam esse comando com Exibir.

IMPRIMIR/IMPRIMA → Comando de saída que envia uma informação para a impressora.

Exemplos:

ImaginequequeremosobterumnúmerodousuárioeguardaremumavariávelchamadaNUM.

Ler(num);

Page 16: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br16

Agora queremos pegar esse valor e calcular o dobro dele e guardar esse valor na variável DOBRO.

Dobro←num*2;

Para exibir o resultado, seria:

Escrever (dobro)

Até que não é tão difícil, não é mesmo?

FLUXO DE UM ALGORITMO

Todo Algoritmo é composto de um fluxo básico:

Entrada→Processamento→Saída

CORPO GERAL DE UM ALGORITMO

Iremos aprender o corpo geral de um algoritmo passo a passo, entendendo cada área deste.

Todo algoritmo precisa ter a primeira linha como uma identificação (nome) de acordo com o objetivo proposto:

ALGORITMO <<identificador>>;

Em seguida, podemos declarar as constantes, que são sempre opcionais.

CONST

Declaramos o nome da constante e seu valor:

<<identificador>> = <<dado>>;

A declaração de variáveis é praticamente obrigatória, pois um programa sem variáveis só poderia existir para saída de informações, o que não é muito comum.

VAR

Devemos dar um nome a variável e definir o seu tipo (inicialmente iremos aprender usando apenas tipos primitivos de dados). Podemos colocar uma variável em cada linha ou declarar muitas em uma mesma linha, separando-as por vírgulas, desde que elas sejam de mesmo tipo.

<<identificador1>> : <<tipo>>;

<<identificador1>> : <<tipo>>;

Page 17: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 17

Finalmente iremos colocar a palavra reservada que determina o início do algoritmo. Ela irá agrupar vários comandos.

ÍNICIO

Aqui podemos escrever os comandos de entrada e saída de dados, as fórmulas e os demais procedimentos.

<<comando1>>;

<<comandoN>>

Após o bloco de comandos iremos fechar o algoritmo com a respectiva palavra reservada.

FIM.

ESTRUTURAS SEQUENCIAIS

Como pode ser analisado no tópico anterior, todo programa possui uma estrutura sequencial (sequênciadecomandos)determinadaporumÍNICIOeFIM.

PRIMEIRO ALGORITMO

Segueumalgoritmoquevaireceberdoisnúmerosinteirosdigitadospelousuárioecalcularasoma.

ALGORITMOSOMA;

VAR

NUMERO1,NUMERO2,SOMA:INTEIRO;

Page 18: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br18

Observe que o algoritmo acima demonstra bem o fluxo definido anteriormente. Primeiro é feita a entrada de dados (leitura de variáveis), depois o processamento (cálculo da soma) e, em seguida, a saída de dados (exibição da soma obtida no processamento).

Agora, se quiséssemos criar um programa baseado nesse algoritmo, precisaríamos apenas estudar quais palavras reservadas da linguagem desejada exercem as funções desejadas pelo algoritmo.

Observe os exemplos:

Em Pascal:

PROGRAMEXEMPLO:

VAR

NUMERO1,NUMERO2,SOMA:INTEGER;

OUTROS ALGORITMOS DE EXEMPLO

Segundoexemplo:

Segue um Algoritmo que lê o nome e as 4 notas bimestrais de um aluno. Em seguida, oAlgoritmo calcula e escreve a média obtida.

ALGORITMOMEDIA_FINAL;

VAR

NOTA1,NOTA2,NOTA3,NOTA4,MEDIA:REAL;

NOME:CARACTERE[35]{podemos ou não definir o tamanho de caracteres que uma variável desse tipo pode assumir – STRING}

Page 19: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 19

Observe, sempre mantendo o fluxo (envolvido pelos retângulos), entrada, processamento e saída.

Agora vamos criar um algoritmo que utilize uma constante.

Criaremos um Algoritmo que lê o raio de uma circunferência e calcula sua área, sabendo queaáreadacircunferênciaéigualaovalordeπmultiplicadopeloquadradodoraio,sendo π=3,1416.

ALGORITMOAREA_CIRCUNFERENCIA;

CONST

PI=3.1416;

VAR

RAIO,AREA:REAL;

Page 20: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br20

Para concluirmos nossos algoritmos sequenciais, vamos fazer um que tenha uma variável auxiliar.

Iremoscriarumalgoritmoqueleia2númerosinteirosAeB.Troqueseuconteúdoeosexiba.

ALGORITMOTROCATUDO;

VAR

A,B,AUXILIAR:INTEIRO;

{LINHAS DE COMENTÁRIO}

Podemos inserir em um Algoritmo comentários para aumentar a compreensão deste. Para isso, bastaqueoscomentáriosfiquementrechaves“{ }”.

Exemplo:

LER(RAIO);{ENTRADA}

ESTRUTURAS CONDICIONAIS SE

Executa uma sequência de comandos de acordo com o resultado de um teste.

AestruturadedecisãoSEpodeserSimplesouComposta,baseadaemumresultadológico.Apartir daí, uma alternativa será executada.

Page 21: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 21

SIMPLES:

COMPOSTA:

SENÃO

Page 22: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br22

Exemplos:

SegueumAlgoritmoquelê2númeroseescreveomaior.

SegueumAlgoritmoquelêonomeeas4notasbimestraisdeumaluno.Emseguida,oAlgoritmocalcula e escreve a média obtida pelo aluno, escrevendo também se o aluno foi aprovado ou reprovado.

Médiaparaaprovação=6

ALGORITMOMEDIA_FINAL;

VAR

NOTA1,NOTA2,NOTA3,NOTA4,MEDIA:REAL;

NOME:CARACTERE[35]

Page 23: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 23

NINHOS DE SE

Usadosparatomadasdedecisõescommaisde2opções.

FormaGeral:

Page 24: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br24

Exemplos:

SegueumAlgoritmoquelê3númeroseescreveomaior.

Segueoutroexemplomuitocomum:

Algoritmo que lê os lados de um triângulo e escreve se ele é equilátero, isóscele ou escaleno.

ALGORITMOTRIÂNGULO;

VAR

L1,L2,L3;REAL;

Page 25: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 25

Observe a lógica do algoritmo:

Sel1=l2el1=l3,os3ladossãoiguais,logootriânguloéEquilátero.

Sel1=l2oul1=l3oul2=l3,lembrandoqueessadecisãosóvaiacontecerseotriângulonãoforescaleno. Caso qualquer uma dessas opções seja verdadeira, o triângulo é isóscele.

Logo, se o triângulo não for equilátero e nem isósceles, é lógico que ele só pode ser escaleno.

Page 26: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br26

ESTRUTURA DE CONDIÇÃO CONFORME

AestruturadecondiçãoCONFORMEequivaleaumninhodeSE,usadaquandodispomosdemaisde2opçõesparaumadecisão.Seumodoémaisfácildesercompreendido:

FormaGeral:

IremosusaromesmoexemplodocapituloanteriorparademonstraraestruturaCONFORME.Observe como o algoritmo fica menor e de melhor compreensão.

SegueumAlgoritmoquelê3númeroseescreveomaior.

ALGORITMOACHA_MAIOR;

VARA,B,C:INTEIRO;

Page 27: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 27

Podemos ter inúmeras opções (CASOS) em uma estrutura conforme. A Condição OUTROSCASOSseriaequivalenteaumSENÃO,ouseja,senenhumadasopçõesforverdadeira,elaéexecutada. Logo, podemos concluir que a opçãoOUTROSCASOSpode ou não existir nessaestrutura (não há obrigatoriedade).

Caso existam várias condições que possam ser verdadeiras dentro da estrutura, somente a primeira será executada, desprezando as demais.

ESTRUTURA DE REPETIÇÃO “PARA”

Quando uma sequência de comandos deve ser executada repetidas vezes, tem-se uma estrutura de repetição.

A estrutura de repetição, assim como a de decisão, envolve sempre a avaliação de uma condição.

Na repetição PARA, o algoritmo apresenta previamente a quantidade de repetições desejadas.

FormaGeral:

A repetição por padrão determina o passo do valor inicial até o valor final como sendo 1. Determinadas linguagens possuem passo –1 ou permitem que o programador defina o passo.

Segueabaixoumalgoritmoquevaiexibir10vezesafrase“EditoraImpetus”demaneiraarcaica:

ALGORITMOREPETE1;

Page 28: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br28

Que algoritmo grande para algo tão simples, não? Ainda bem que no Word existe Copiar e Colar, caso contrário não colocaria esse exemplo... Imagine ainda se fosse para exibir 100 vezes! Ufa... Vamos ver do modo mais simples agora:

ALGORITMOREPETE2;

Deste modo, se quiséssemos repetir 100 vezes, bastava substituir o valor final da repetição de 10 por 100.

Segueumalgoritmoqueescreveos100primeirosnúmerospares.

Segue um algoritmo, quase que padrão, exigido como exercício pelos professores dasuniversidades... Criar um algoritmo que leia um número N e calcule seu fatorial:

Page 29: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 29

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO INICIAL

É usada para repetir N vezes uma ou mais instruções, tendo como vantagem o fato de não ser necessário o conhecimento prévio do número de repetições.

FormaGeral:

ALGORITMO NOVE

Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. Oprograma termina quando o usuário digitar um salário menor que 0.

Page 30: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br30

Seo primeiro valor testado for falso, a repetição terminará semque suas instruções sejamexecutadas, pois o teste precede os comandos. Logo, o número de repetições varia de 0 a N vezes.

A estrutura de repetição ENQUANTO pode substituir a estrutura PARA, mas a recíproca nem sempre é verdadeira, lembrando que cada situação deve ditar a estrutura ideal.

Abaixo segue um exemplo de cálculo de fatorial utilizando a estrutura ENQUANTO.

Page 31: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

TRT-SE – Informática – Prof. Renato da Costa

www.acasadoconcurseiro.com.br 31

TODAS AS VARIÁVEIS QUE ACUMULAM VALORES DEVEM

RECEBER UM VALOR INICIAL.

REPITA ENQUANTO FOR VERDADEIRO!

ESTRUTURA DE REPETIÇÃO INDETERMINADA COM VALIDAÇÃO FINAL

Assim como a estrutura ENQUANTO é usada para repetir N vezes uma ou mais instruções.

Suaprincipalcaracterísticaéteravalidaçãofinal,fazendocomquearepetiçãosejaexecutadaao menos uma vez.

FormaGeral;

Segue um algoritmo que calcule a soma dos salários dos funcionários de uma empresa. Oprograma termina quando o usuário digitar um salário menor que 0.

Page 32: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br32

Segueumalgoritmoqueescreveos100primeirosnúmerospares.

REPITA ATÉ SER FALSO!

Loop

Devemos ter atenção ao trabalharmos com estruturas de repetição indeterminada para não cairmos no erro de Loop, ou seja, criarmos um programa com uma rotina que se torne eterna, pois o processamento irá causar erro e travamento da máquina.

Trecho de algoritmo com exemplo de Loop Eterno:

ENQUANTO10>2FAÇA

ESCREVER(´BRASIL´)

FIMENQUANTO

Como10serásempremaiordoque2,acondiçãoserásempreverdadeiraeoprograma irárepetirapalavraVASCOeternamente.

Page 33: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br 33

Questões

EXERCÍCIOS

1. (MPE-RS – FCC – 2008)

A execução de uma expressão lógica obede-ce como prioridade a ordem dos operado-res

a) Or, And e Not.b) Not, And e Or.c) And, Not e Or.d) And, Or e Not.e) Not, Or e And.

2. (CP2 – 2016) Considere a notação abaixo para as seguintes operações lógicas:

NOT – ¬ AND – ∧ OR – ∨

Assinale a alternativa que apresenta a sim-plificação da expressão: ¬((¬A v B) ^ ¬B).

a) A v B. b) A ^ B. c) A ^ ¬B.d) ¬A v ¬B.

3. (DPE – SP – FCC 2015)

Considere o pseudocódigo abaixo.

Neste algoritmo será impresso

a) A.b) AB.c) B.d) BC.e) C.

Page 34: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br34

4. (TRT-RJ – FCC – 2014)

O seguinte algoritmo foi elaborado em por-tuguês estruturado:

Suponhaque sejam lidososvalores5,3e5, respectivamente, para as variáveis a, b e c. O valor de x ao final da execução do algo-ritmo é

a) 32.b) 40.c) 48.d) 60.e) 75.

5. (PREFEITURA TERESINA – FCC – 2016)

Considere o algoritmo abaixo, escrito em linguagem estruturada:

A = valor inicial

T = 0

Enquanto A < 10 faça

T = A + T

A = A + 1

Fim Enquanto

SupondoqueAtenhacomovaloresiniciais5e2,osvaloresfinaisdeTserão,respecti-vamente,

a) 26e35.b) 32e42.

c) 35e44.d) 39e46.e) 45e54.

(TCE-PA – CESPE – 2016)

6. Com relação aos tipos de dados elemen-tares e estruturados, julgue o item subse-quente.

O algoritmo a seguir efetuará o cálculo da variável C apenas se o valor da variável Xnão for maior que 5.

( ) Certo   ( ) Errado

7. Considerando a linguagem utilizada na construção de algoritmos, julgue o item a seguir.

O algoritmo a seguir fornece como resulta-do 50 números pares.

( ) Certo   ( ) Errado

Page 35: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br 35

TRT-SE – Informática – Prof. Renato da Costa

8. (POLÍCIA CIENTIFICA PE – CESPE – 2016)

inteirod,e,f;

d=3;

e=5;

f=7;

inteiromi=d,ma=d,me;

se (ma < e)

ma=e;

se (ma < f)

ma=f;

se (mi > e)

mi=e;

se (mi > f)

mi=f;

me=d+e+f-mi-ma;

escrevame;

Assinale a opção que apresenta o resultado correto do código com estrutura condicio-nal apresentado.

a) 15.b) 3.c) 5.d) 7.e) 10.

9. (TRF 4R – FCC – 2010)

Considere:

Dado o algoritmo representado na forma de português estruturado, o valor de saída contidonavariávelRESPserá

a) 342.b) 6.c) 22.d) 86.e) 0.

10. (TRE-AM – FCC – 2010)

Em relação à construção de algoritmo, con-sidere:

I – Na estrutura de repetição Enquanto / Faça o bloco de repetição pode ser executa-do várias vezes ou até nenhuma vez. A con-dição é testada antes de entrar na estrutura de repetição.

II – A estrutura de repetição Repita / Até efetua um teste lógico no fim do laço, ga-rantindo que pelo menos uma vez as instru-ções deste são executadas.

III – Toda repetição condicional pode ser representada por uma estrutura do tipo En-quanto / Faça ou Repita / Até, sendo que a primeira repete somente quando a condi-ção é falsa e a segunda somente quando a condição é verdadeira.

IV – Para se impedir a situação conhecida como loop infinito é necessário que, nos laços condicionais, a variável que é testada esteja sempre associada a uma instrução que a atualize no interior do laço.

ÉcorretooqueseafirmaAPENASem

a) I, II e IV.b) I, II e III.c) II, III e IV.d) I e II.e) II e III.

Page 36: Informática Prof. Renato da Costa - Cloud Object Storage · Exemplos: Pascal, C, Visual Basic, Delphi, Java, Cobol, entre outras. ALGORITMOS EM “PORTUGOL” Durante nosso aprendizado,

www.acasadoconcurseiro.com.br36

11. (TJ-PI – FCC – 2009)

Considere o trecho do algoritmo (Pseudo--Código):

Em relação às estruturas básicas de contro-le, o trecho de algoritmo acima refere-se a estrutura

I – condicional simples.II – condicional composta.III – de repetição.IV – de decisão ou seleção.

ÉcorretooqueconstaAPENASem

a) II, III e IV.b) II e IV.c) I e III.d) II e III.e) I, III e IV.

(TRE-PI – FCC – 2009)

De acordo com o algoritmo abaixo, resolva asquestões12,13e14.

12. No algoritmo do enunciado, observa-se que os tipos de dados não foram declarados. Nesse caso, para ajustar o algoritmo, os ti-pos de dados para nome, aux, salario e ni-vel_superior seriam, respectivamente

a) real, lógico, inteiro e real.b) caracter, real, inteiro e lógico.c) real, lógico, inteiro e inteiro.d) caracter, inteiro, real e lógico.e) caracter, lógico, real e real.

13. No algoritmo do enunciado, são variáveis dependentes de comandos de atribuição:

a) nome e aux.b) aux e salario.c) nome e salario.d) nome e nivel_superior.e) salario e nivel_superior.

14. O algoritmo do enunciado apresenta estru-turas de controle condicional, sendo, suces-sivamente,

a) uma composta, uma simples e uma de múltipla escolha.

b) uma simples, uma de repetição e uma de múltipla escolha.

c) duas de múltipla escolha e uma de re-petição.

d) uma composta e duas de repetição.e) três de repetição.

(TCE-AL – FCC – 2009)

15. A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é im-plementada pelo comando básico

a) condicional.b) faça enquanto.c) sequencial.d) de repetição.e) de seleção.

Gabarito: 1.B 2.A 3.C 4.B 5.C 6.E 7.C 8.C 9.C 10.A 11.B 12.D 13.B 14.D 15. D