lp apostila logica de programacao

73
Técnico em Informática Lógica de Programação Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Eduardo Marmo Moreira 2009 São João da Boa Vista - SP

Upload: vanlaer

Post on 30-Jun-2015

6.488 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: LP Apostila Logica de Programacao

Técnico em InformáticaLógica de Programação

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP

Eduardo Marmo Moreira

2009São João da Boa Vista - SP

Page 2: LP Apostila Logica de Programacao

Presidência da República Federativa do Brasil

Ministério da Educação

Secretaria de Educação a Distância

Equipe de ElaboraçãoIFSP

Coordenação InstitucionalCampus São João da Boa Vista

Professor-autorEduardo Marmo Moreira

Comissão de Acompanhamento e ValidaçãoGustavo Aurélio Prieto

Yara Maria Guisso de Andrade Facchini

Projeto GráficoEduardo Meneses e Fábio Brumana

DiagramaçãoMatheus Félix de Andrade”!

RevisãoElizabeth Gouveia da Silva Vanni

Ficha catalográfica

Este Caderno foi elaborado em parceria entre o Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - Campus São João da Boa Vista e o Sistema Escola Técnica Aberta do Brasil – e-Tec Brasil.

Page 3: LP Apostila Logica de Programacao

Amigo(a) estudante!

O Ministério da Educação vem desenvolvendo Políticas e Programas para

expansãoda Educação Básica e do Ensino Superior no País. Um dos caminhos

encontradospara que essa expansão se efetive com maior rapidez e eficiên-

cia é a modalidade adistância. No mundo inteiro são milhões os estudantes

que frequentam cursos a distância. Aqui no Brasil, são mais de 300 mil os

matriculados em cursos regulares de Ensino Médio e Superior a distância,

oferecidos por instituições públicas e privadas de ensino.

Em 2005, o MEC implantou o Sistema Universidade Aberta do Brasil (UAB),

hoje, consolidado como o maior programa nacional de formação de profes-

sores, em nível superior.

Para expansão e melhoria da educação profissional e fortalecimento do En-

sino Médio, o MEC está implementando o Programa Escola Técnica Aberta

do Brasil (e-TecBrasil). Espera, assim, oferecer aos jovens das periferias dos

grandes centros urbanose dos municípios do interior do País oportunidades

para maior escolaridade, melhorescondições de inserção no mundo do tra-

balho e, dessa forma, com elevado potencialpara o desenvolvimento produ-

tivo regional.

O e-Tec é resultado de uma parceria entre a Secretaria de Educação Pro-

fissionale Tecnológica (SETEC), a Secretaria de Educação a Distância (SED)

do Ministério daEducação, as universidades e escolas técnicas estaduais e

federais.

O Programa apóia a oferta de cursos técnicos de nível médio por parte das

escolaspúblicas de educação profissional federais, estaduais, municipais e,

por outro lado,a adequação da infra-estrutura de escolas públicas estaduais

e municipais.

Do primeiro Edital do e-Tec Brasil participaram 430 proponentes de ade-

quaçãode escolas e 74 instituições de ensino técnico, as quais propuseram

147 cursos técnicosde nível médio, abrangendo 14 áreas profissionais.

Apresentação e-Tec Brasil

Page 4: LP Apostila Logica de Programacao

O resultado desse Edital contemplou193 escolas em 20 unidades federa-

tivas. A perspectiva do Programa é que sejam ofertadas10.000 vagas, em

250 polos, até 2010.

Assim, a modalidade de Educação a Distância oferece nova interface para

amais expressiva expansão da rede federal de educação tecnológica dos úl-

timos anos: aconstrução dos novos centros federais (CEFETs), a organização

dos Institutos Federaisde Educação Tecnológica (IFETs) e de seus campi.

O Programa e-Tec Brasil vai sendo desenhado na construção coletiva e par-

ticipaçãoativa nas ações de democratização e expansão da educação profis-

sional no País,valendo-se dos pilares da educação a distância, sustentados

pela formação continuadade professores e pela utilização dos recursos tec-

nológicos disponíveis.

A equipe que coordena o Programa e-Tec Brasil lhe deseja sucesso na sua

formaçãoprofissional e na sua caminhada no curso a distância em que está

matriculado(a).

Brasília, Ministério da Educação – setembro de 2008.

Page 5: LP Apostila Logica de Programacao

Sumário

Apresentação e-Tec Brasil 3

Sumário 5

Outros - instituição validadora 8

Unidade 1 - Introdução à Lógica de Programação 10

1.1 Lógica 10 1.2 Algoritmo 10 1.3 Programas 111.4 Linguagem Pascal 111.5 Exercícios de Fixação 11

Unidade 2 - Desenvolvimento Algoritmos 13

2.1 Pseudocódigos 13 2.2 Frases 132.3 Implementando algoritmos 142.4 Estrutura do Pseudocódigo 142.5 Constantes e Variáveis 15 2.5.1 Constantes 15 2.5.1 Variáveis 162.6 Declaração de Variáveis 17 2.6.1 Exemplos 182.7 Teste de Mesa 192.8 Comentários 19 2.8.1 Exemplos 202.9 Exercícios de Fixação 21

Unidade 3 - Estrutura de um Programa em Pascal 22

3.1 Cabeçalho do Programa 22 3.2 Corpo do Programa ou Bloco de Comandos 233.3 Variáveis e Constantes na linguagem Pascal 23 3.4 Tipos de Dados 24 3.4.1 Corpo do Programa ou Bloco de Comandos 24

Page 6: LP Apostila Logica de Programacao

3.4.2 Tipos de Dados Reais 25 3.4.3 Tipos de Dados Caracteres 25 3.4.4 Tipos Lógicos 26 3.5 Declaração de Variáveis 26 3.6 Comentários 27 3.7 Exercícios de Fixação 27

Unidade 4 - Expressões 29

4.1 Expressões Aritméticas 29 4.1.1 Exemplos 30 4.2 Funções de Biblioteca 31 4.3 Expressões Lógicas 32 4.3.1 Exemplos 33 4.4 Expressões Literais 34 4.5 Tipos de Expressões na Linguagem Pascal 344.6 Tipos de Operadores na Linguagem Pascal 354.6 Tipos de Operadores na Linguagem Pascal 35 4.6.1 Operadores Aritméticos 35 4.6.2 Operadores Relacionais 36 4.6.3 Operadores Lógicos 364.7 Funções de Biblioteca na Linguagem Pascal 364.8 Exercícios de Fixação 38

Unidade 5 - Comandos 41

5.1 Comandos de Atribuição 41 5.1.1 Exemplos 42 5.2 Comando de atribuição na Linguagem Pascal 43 5.3 Comando de Entrada 44 5.3.1 Exemplos 44 5.4 Comandos de Entrada na Linguagem Pascal 34 5.4.1 Exemplos 45 5.5 Comando de Saída 46 5.5.1 Exemplos 46 5.6 Comandos de Saída na Linguagem Pascal 47 5.6.1 Exemplos 47 5.7 Exercícios de Fixação 47

Unidade 6 - Estrutura Condicinal 49

6.1 Exemplos 50

Page 7: LP Apostila Logica de Programacao

6.2 Estrutura Condicional na Linguagem Pascal 51 6.2.1 Exemplo 536.3 Exercícios de Fixação 53

Unidade 7 - Estrutura de Repetição 55

7.1 para 55 7.1.1 Exemplos 567.2 Estrutura de Repetição para na Linguagem Pascal 58 7.2.1 Exemplos 587.3 enquanto 60 7.3.1 Exemplo 607.4 Estrutura de Repetição enquanto na Linguagem Pascal 60 7.4.1 Exemplo 617.5 faça-enquanto 61 7.5.1 Exemplo 627.6 Estrutura de Repetição faça-enquanto na Linguagem Pascal 62 7.6.1 Exemplos 627.7 Exercícios de Fixação 63

Page 8: LP Apostila Logica de Programacao

Outros - instituição validadora

O Decreto presidencial nº 7.566, de 23 de setembro de 1909, institucionalizou o ensino profissional no

Brasil. Em 1910 surgiu a Escola de Aprendizes e Artífices de São Paulo, assemelhando-se a das criadas em

outras capitais de Estado. Ela se destinava inicialmente as camadas mais desfavorecidas, aos “deserdados

da fortuna e menores marginalizados”, ministrando o ensino elementar. Em 1937 passou a denominar-se

Liceu Industrial de São Paulo, oferecendo ensino equivalente ao de primeiro ciclo.

Em 1942 foi promulgada a Lei orgânica do ensino industrial. A nova orientação visava à pre-

paração profissional dos trabalhadores da indústria, dos transportes, das comunicações e da pesca.

Em 1976, procedeu-se à mudança para a nova sede e, em 1978, criaram-se os cursos de ele-

trônica, telecomunicações e processamento de dados. Em 1981, instalam-se os cursos complementares

de mecânica, eletrotécnica e edificações, destinados à clientela, em grande parte integrada ao mercado

de trabalho, mais que necessitava de uma formalização profissional por meio de disciplinas de nível téc-

nico de 2º grau. Estes cursos técnicos tinham a duração de dois anos, prevendo um estágio obrigatório.

No ano de 1987 foi implantada a primeira Unidade de Ensino Descentralizada (UNED) no

Município de Cubatão e, em 1996, ocorreu o início do funcionamento da UNED Sertãozinho. Em 1999,

a Escola Técnica Federal de São Paulo, foi transformada em Centro Federal de Educação Tecnológica de

São Paulo – CEFET, conforme Decreto de 18 de janeiro de 1999. No ano de 2005, foi autorizado o funcio-

namento da UNED Guarulhos. As UNED de São João da Boa Vista e Caraguatatuba foram autorizadas a

funcionar a partir do 1º semestre do ano de 2007, enquanto que as UNED de Bragança e Salto passaram

a funcionar no 2º semestre do ano de 2007.

Em 2008 foram criadas as unidades de São Carlos, São Roque e Campos do Jordão. No mesmo

ano o CEFET-SP se transformou no Instituto Federal de Educação Ciência e Tecnologia pela Lei 11.892

de 29 de Dezembro de 2008, que instituiu a rede federal de educação profissional, científica e tecno-

lógica. De acordo com esta lei os institutos federais (IF) tornaram-se instituições de educação superior,

básica e profissional, pluricurriculares e multicampi, especializados na oferta de educação profissional e

tecnológica nas diferentes modalidades de ensino, com base na conjugação de conhecimentos técnicos

e tecnológicos com as suas práticas pedagógicas.

A expansão do CEFET-SP tem ainda previstas os Campus de Araraquara, Avaré, Barretos, Biri-

gui, Campinas, Catanduva, Itapetininga, Piracicaba, , Presidente Epitácio, Registro, Suzano e Votuporan-

ga.

Técnico em Informática8

Page 9: LP Apostila Logica de Programacao

A Unidade de Ensino Descentralizada de São João da Boa Vista é uma unidade educacional su-

bordinada ao Centro Federal de Educação Tecnológica de São Paulo, autorizada pela Portaria nº 1715 do

Ministro da Educação, publicada no Diário Oficial da União de 20/10/2006. Tem estrutura administrativa

definida pela resolução nº 136/06 de 16/11/2006 do Conselho Diretor do CEFET-SP.

A história do campus se inicia no ano de 1998 quando é formulado o projeto para a criação do

CEPRO em São João da Boa Vista. No ano seguinte o anteprojeto é aprovado pelo Programa de Expansão

da Educação Profissional (PROEP). No mesmo ano se dá o início das obras para construção do prédio em

terreno doado por Paulo Roberto Merlin e Flávio Augusto Canto. Em 2004, o prédio é entregue com

2529m², sendo constituído de onze laboratórios, seis salas de aulas, um auditório com capacidade para

150 lugares, sala de multimídia e demais dependências. As atividades do Centro de Educação Profissional

são iniciadas em 2005. Em 2006 é firmado o convênio entre o CEPRO e CEFET-SP, com apoio da prefei-

tura municipal para a federalização da unidade. Em Janeiro de 2007 o CEFET-SP / UNED SBV iniciou suas

atividades no município.

O IFSP, no município de São João da Boa Vista, veio para atender a necessidade de educar os

jovens são joanenses e da região, a fim de habilitá-los para o ingresso nos setores de indústria e informá-

tica, os quais demandam trabalhadores capacitados para o progresso no desenvolvimento econômico e

para o fortalecimento do pólo educacional na região leste do estado.

Atuação do IFSP na Educação a Distância

No contexto da política de expansão da educação superior no país, implementada pelo

MEC, a EaD coloca-se como uma modalidade importante no seu desenvolvimento. Nesse sentido,

criou-se uma direção para EaD dentro do IF SP.

No âmbito da política de expansão da educação profissionalizante, o Ministério da Educação,

por meio da articulação da Secretaria de Educação a Distância e Secretaria de Educação Profissional e

Tecnológica, lança o Edital 01/2007/SEED/SETEC/MEC, dispondo sobre o Programa Escola Técnica Aberta

do Brasil (e-Tec Brasil).

Tal iniciativa constitui-se uma das ações do Plano de Desenvolvimento da Educação.

Visando oferta de cursos da educação técnica e profissional o IF SP foi selecionado pelo pro-

grama e-Tec Brasil para iniciar suas atividades em 2009.

Tais atividades foram efetivamente implantadas em agosto de 2009 com a criação de dois

cursos técnicos – a saber: técnico em informática para internet e técnico em administração – atingindo 5

municípios do estado de São Paulo (Araraquara, Barretos, Itapevi, Franca e Jaboticabal) e ampliando em

500 a oferta de vagas do Instituto.

e-Tec BrasilLógica 9

Page 10: LP Apostila Logica de Programacao

1.1 Lógica

A lógica de programação é necessária para pessoas que desejam trabalhar

com desenvolvimento de sistemas e programas, ela permite determinar a

sequência lógica para o desenvolvimento de sistemas.

Sequência Lógica é definir um conjunto ordenado de passos para atingir um

determinado objetivo. Convém ressaltar que uma ordem isolada não permi-

te realizar todo o processo, para isso é necessário um conjunto de instruções

colocadas em uma ordem lógica. Para trocar o pneu de um carro é necessário

levantar o carro primeiro, antes de retirar o pneu, isto é, seguir teoricamente

uma “receita de passos” para atingir um determinado objetivo.

1.2 Algoritmo

Um algoritmo é formalmente uma sequência finita de passos que levam a

execução de uma tarefa. Estes passos não podem ser redundantes nem sub-

jetivos na sua definição, devem ser claros e precisos.

Como exemplos, é possível citar as operações fundamentais da matemáti-

ca (adição, multiplicação, divisão e subtração) de números decimais. Outros

exemplos seriam os manuais de aparelhos eletrônicos que explicam passo a

passo como realizar uma instalação do aparelho.

Qualquer atividade pode ser descritas por sequências lógicas. Exemplo:

UNIDADE 1 - INTRODUÇÃO À

LÓGICA DE PROGRAMAÇÃO

Objetivos da aula

De acordo com as referências [1] e [2], este capítulo irá apresen-

tar os conceitos básicos da lógica de programação e o histórico da

linguagem Pascal, bem como alguns exercícios de fixação para assi-

milação dos conceitos.

Técnico em Informáticae-Tec Brasil 10

Page 11: LP Apostila Logica de Programacao

“Chupar uma bala”.

Pegar a bala

Retirar o papel

Chupar a bala

Jogar o papel no lixo

1.3 Programas

Os programas de computadores nada mais são do que algoritmos escritos

numa linguagem de computador que seguem uma determinada sintaxe e

semântica. A sintaxe da linguagem corresponde a escrever os comandos do

algoritmo de acordo com as regras da linguagem. A semântica do algoritmo

corresponde ao sentido dado ao programa, isto é, a lógica do algoritmo.

Diante das linguagens de programação é possível citar a linguagem Pascal,

C, Cobol, Fortran, Visual Basic entre outras. Estas linguagens são interpreta-

das e executadas por uma máquina, no caso um computador.

LINGUAGEM DE PROGRAMAÇÃO = SÍMBOLOS + REGRAS DE SINTAXE

1.4 Linguagem Pascal

A linguagem Pascal foi desenvolvida entre os anos 1968 e 1970 por Nicklaus

Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 foi disponibiliza-

do o primeiro compilador para a linguagem.

O Compilador é o software que realiza a tradução de todo o código-fonte,

isto é, do algoritmo escrito em uma determinada linguagem de programa-

ção para as instruções correspondentes em linguagem de máquina, gerando

o código-objeto do programa. Em seguida é necessário o uso de outro pro-

grama (Link-Editor que é responsável pela junção de diversos códigos-objeto

em um único programa executável).

e-Tec BrasilLógica 11

Page 12: LP Apostila Logica de Programacao

O objetivo do desenvolvimento desta linguagem foi acadêmico, no intuito

de ensinar o paradigma da programação estruturada. O nome foi em home-

nagem ao filósofo e matemático francês Blaise Pascal.

Pela Borland foram lançadas as versões 3.0, 4.0, 5.0 e 5.5 na década de 80.

Durante a década de 90 foram lançadas as versões 6.0, 7.0 e o lançamento

da linguagem Delphi, para programação em ambiente Windows.

O Turbo Pascal é um Ambiente Integrado de Desenvolvimento (IDE - Inte-grated Development Environment), desenvolvido pela Borland, consistindo

de um conjunto de ferramentas de desenvolvimento integradas. Entre as

ferramentas que compõem o Turbo Pascal temos: Editor de Código-Fonte,

Compilador, Link-Editor e o Depurador.

1.5 Exercícios de Fixação

1) Crie uma sequência lógica para tomar banho:

2) Faça um algoritmo para somar dois números e multiplicar o resultado

pelo primeiro número.

3) Descreva com detalhes a seqüência lógica para Trocar um pneu de um

carro.

4) Faça um algoritmo para trocar uma lâmpada. Descreva com detalhes:

5) O que é lógica?

6) O que é sequência lógica?

7) O que é um algoritmo?

8) O que é um programa de computador?

9) Qual é o objetivo da linguagem Pascal?

10) O que é um compilador?

Técnico em Informáticae-Tec Brasil 12

Page 13: LP Apostila Logica de Programacao

2.1 Pseudocódigo

Com o objetivo de aumentar o “know How” do desenvolvimento de progra-

mas, os algoritmos são descritos em uma linguagem chamada pseudocódi-

go, com o objetivo de separar, de maneira didática, a explicação da sintaxe

e da semântica da programação. Este nome é uma alusão à posterior im-

plementação em uma linguagem de programação, ou seja, quando formos

programar em uma linguagem, por exemplo, JAVA, estaremos gerando có-

digo em JAVA. Por isso os algoritmos são independentes das linguagens de

programação. Nesta disciplina adota-se determinadas sintaxes com o intuito

de preparar o estudante na adaptação futura de linguagens que venham

estudar.

O algoritmo deve ser fácil de interpretar e fácil de codificar. Ou seja, ele deve

ser o intermediário entre a linguagem falada e a linguagem de programa-

ção.

2.2 Fases

Uma das maiores dificuldades do programador ou do analista em desenvol-

ver o software é identificar os dados que o software necessita do mundo

real, o que ele irá calcular diante destas informações e os resultados gerados

que serão apresentados. Tendo em vista esta situação, faz-se necessário divi-

dir o problema do mundo real em três fases fundamentais.

UNIDADE 2 - DESENVOLVIDO

ALGORITMOS

Objetivos da aula

De acordo com as referências [1] e [2], este capítulo irá apresentar

os conceitos de Pseudocódigo, como escrever um pseudocódigo, as

fases do algoritmo, as diferenças entre constantes e variáveis e os

tipos de dados presentes em um algoritmo.

e-Tec BrasilLógica 13

Page 14: LP Apostila Logica de Programacao

Onde temos:

ENTRADA: São os dados que irão ser processados pelo algoritmo

PROCESSAMENTO: São os procedimentos utilizados para chegar ao re-

sultado final

SAÍDA: São os dados já processados

2.3 Implementando algoritmos

Para a implementação de um algoritmo serão utilizadas algumas regras na

criação do pseudocódigo, que na sequência será convertido para a lingua-

gem pascal. Um algoritmo é composto de ordens, tomadas de decisões,

processos repetitivos, entre outros, que devem seguir alguns padrões.

Para inicializar o desenvolvimento do pseudocódigo, este deve sempre co-

meçar com a palavra-chave Algoritmo e terminar com a palavra-chave

fimalgoritmo. Estas duas palavras-chave correspondem a estrutura da

sintaxe do pseudocódigo.

Palavra-chave representa o comando que desempenha uma determinada

tarefa para o pseudocódigo. No pseudocódigo ele sempre será apresentado

com letras minúsculas e sublinhado, com exceção do comando Algoritmo

em que a primeira letra do comando, a letra “A”, é representada na forma

maiúscula.

2.4 Estrutura do Pseudocódigo

Forma Geral do Algoritmo:

Algoritmo

Declarações e comandos

Fimalgoritmo

Técnico em Informáticae-Tec Brasil 14

Page 15: LP Apostila Logica de Programacao

Vamos analisar a construção de um algoritmo para resolver o seguinte pro-

blema:

“Calcular e escrever Z = 2X + 5Y”.

Como X e Y podem variar, ou seja, podem receber qualquer valor,

damos o nome de variáveis e os números 2 e 5, como sempre serão 2 e 5,

estes são denominados constantes.

2.5 Constantes e Variáveis

2.5.1 Constantes

São valores, pré-fixados que não sofrem alterações durante a execução do

algoritmo, isto é, começam e terminam com o mesmo valor. Estes valores

podem ser um número, um valor lógico (Verdadeiro ou Falso) ou uma sequ-

ência de caracteres. Assim, as constantes podem ser classificadas como:

Numéricas: são números que representam grandezas; podem ser núme-

ros; com ou sem parte decimal. Observe que a parte decimal deve ser sepa-

rada usando os pontos decimais, que perde, aqui, sua função de separador

de classes, e não a vírgula como se tem costume. O sinal deve preceder

o número e caso ele não exista será considerado positivo. Se necessária a

representação na forma exponencial usamos a letra E para indicar esta si-

tuação; o E vem após o número seguido do sinal do expoente e do próprio

expoente NA BASE 10.

São exemplos de constantes numéricas:

2.051 -16 +3

-4.5678 0.234E+01 -0.786E-03

Obs.: 0.234E+01 = 0.234x101 | -0.786E-03 = -0.786x10-3

Literais: são sequências de caracteres delimitadas por aspas duplas que

têm algum significado particular no algoritmo; podemos compor um literal

usando letras, números e caracteres especiais como *, @ , (e qualquer outro

e-Tec BrasilLógica 15

Page 16: LP Apostila Logica de Programacao

que conste na tabela ASCII); se um literal é formado apenas por números

este conjunto perde o sentido natural de grandeza não podendo ser usado

em operações aritméticas.

São exemplos de constantes literais:

“ABCDEF”

“EDUARDO”

“DU10”

“5223766”

Lógicas: representam valores lógicos e podem ter, apenas, dois valores Ver-

dadeiro e Falso.

2.5.2 Variáveis

Variáveis são valores que sofrem alterações durante a execução do

algoritmo; representam posições na memória onde são armazenados os va-

lores que lhe são atribuídos. As variáveis simples representam uma única

posição na memória; isto significa que se armazenamos outro valor na mes-

ma posição, o valor anterior será perdido, ficando apenas o último. Estas

posições são identificadas por nomes que são denominados identificadores.

Identificadores são formados por caractere ou conjuntos de carac-

teres escolhidos por quem está escrevendo o algoritmo obedecendo alguns

critérios assim convencionados:

• Asletrasdevemsermaiúsculas

• Oprimeirocaracterdeveserletraou_(underlineouunderscore)

• Nãosãoaceitoscaracteresespeciaiscomo@,.,/,+,etc,comexce-

ção do underscore

• Espaçosembrancotambémnãosãopermitidos

Técnico em Informáticae-Tec Brasil 16

Page 17: LP Apostila Logica de Programacao

• Nãodevemosfazerusodepalavraschaves,istoé,palavrasqueterão

um significado próprio no algoritmo como os comandos, funções, etc.

As variáveis são classificadas da seguinte forma:

Numéricas: destinam-se a armazenar valores ou constantes numéricas;

Literiais: armazenam conjuntos de caracteres;

Lógicas: armazenam apenas dois valores Falso ou Verdadeiro.

Exemplos de identificadores válidos:

NOME

ENDERECO

SAL

Não seriam aceitos os identificadores:

1MATRIC

NR.FILHOS

SAL/BRUTO

2.6 Declaração de Variáveis

Só podemos armazenar valores nas variáveis quando já existe um

espaço na memória reservado para elas. Esta criação é feita identificando o

nome e o tipo de cada uma através do comando declare, onde a sintaxe que

se apresenta no pseudocódigo é mostrada diante da forma geral:

declare lista de variáveis tipo

e-Tec BrasilLógica 17

Page 18: LP Apostila Logica de Programacao

declare: é um comando que reserva espaço na memória para as variáveis;

lista de variáveis: compreende os identificadores dados às variáveis, isto

é, os nomes fornecidos para as variáveis, separadas por vírgulas caso tenha

mais de uma variável do mesmo tipo;

tipo: é um dos tipos definidos (numérico, lógico ou literal);

Exemplo:

declare X, Y, Z numérico

NOME, CIDADE literal

RESPOSTA lógico

Com esta declaração estamos estabelecendo que:

X, Y, Z só podem armazenar valores numéricos;

NOME e CIDADE armazenam literais, isto é seqüência de caracteres que não

representam grandezas matemáticas; mesmo que contenham apenas núme-

ros, a princípio, não poderão ser usadas em cálculos matemáticos.

ESPOSTA deverá armazenar apenas um dos dois valores lógicos, Ver-dadeiro ou Falso.

Qualquer tentativa de armazenamento de tipos não compatíveis ocasionará

um erro, erro de incompatibilidade de tipos.

2.6.1 Exemplos

1) Declare as variáveis necessárias para calcular e escrever a soma de

dois números.

Algoritmo

Técnico em Informáticae-Tec Brasil 18

Page 19: LP Apostila Logica de Programacao

declare NUM1, NUM2, SOMA numérico

fimalgoritmo

2) Declare as variáveis necessárias para construir um algoritmo que leia

o nome e as quatro notas bimestrais de um aluno. Calcule e escreva a média

aritmética das notas.

Algoritmo

declare NOME literal

N1, N2, N3, N4, MEDIA numérico

fimalgoritmo

2.7 Teste de mesa

Após desenvolver um algoritmo ele deverá sempre ser testado. Este teste é

chamado de “Teste de Mesa”, que significa, seguir os passos do algoritmo,

linha por linha, marcando as mudanças que acontecem nas variáveis do al-

goritmo diante dos cálculos presentes nas linhas de código, realizando em si,

um debug do algoritmo ou uma simulação do programa.

2.8 Comentários

É possível deixar o código fonte mais claro fazendo uso dos chamados co-

mentários. Comentários são textos ou frases delimitados por chaves que

tornam os algoritmos mais claros. Podem ser usadas em qualquer lugar do

algoritmo, quantas vezes necessárias. Um comentário não será identificado

pelo algoritmo, ou seja, o algoritmo no momento da compilação irá ignorar

a marcação do início ao fim do comentário, tendo em vista que o comentário

tem como fundamento apenas levar um tipo de esclarecimento ao progra-

mador.

Forma geral

{ o texto que você deseja acrescentar }

e-Tec BrasilLógica 19

Page 20: LP Apostila Logica de Programacao

Refazendo o exemplo 1 teríamos:

Algoritmo

declare NUM1, { primeiro número a ser somado }

NUM2, { segundo número a ser somado }

S { soma dos dois números }

numérico

{ ler os números }

{ calcular sua soma }

{ escrever a soma }

fimalgoritmo

2.8.1 Exemplos

1) Leia o nome e o salário de um funcionário. Escreva seu nome somen-

te se seu salário for maior que R$ 2.500,00.

Algoritmo

declare NOME literal { nome do funcionário}

SAL numérico { salário }

{ resolver o problema }

fimalgoritmo

2) Calcular e escrever o juro obtido na aplicação de um capital aplicado

a certa taxa por um determinado tempo.

Algoritmo { cálculo de juros }

{ declaração das variáveis }

declare C, { capital }

I, { taxa }

T, { tempo }

JJ { juro }

numérico

{ ler os valores, calcular e escrever o juro }

fimalgoritmo

Técnico em Informáticae-Tec Brasil 20

Page 21: LP Apostila Logica de Programacao

2.9 Exercícios de Fixação

1) O cálculo da média final dos alunos depois de 4 provas realizadas é apre-

sentada da seguinte forma:

2) Identifique os dados de entrada, processamento e saída no algoritmo

abaixo:

3) Identifique as variáveis dentro de um algoritmo para “Calcular o estoque

médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA

+ QUANTIDADE MÁXIMA) /2:

4) O que é uma constante? Dê um exemplo.

5) O que é uma variável simples? Dê um exemplo.

6) O que é pseudocódigo?

7) Qual é a importância do teste de mesa em um algoritmo?

e-Tec BrasilLógica 21

Page 22: LP Apostila Logica de Programacao

3 Estrutura de um programa em Pascal

Todo programa escrito em Pascal é subdividido em três partes: cabe-

çalho do programa, área de declarações e corpo do programa ou bloco de

comandos.

3.1 Cabeçalho do Programa

O cabeçalho é utilizado para fazer a identificação do programa. O

cabeçalho de um programa é atribuído pelo comando program seguida de

um nome. O program é similar ao Algoritmo no pseudocódigo e o nome

que vem em seguida representa apenas um nome definido para o programa.

Ao final da linha de código, no pascal, deve-se colocar o ponto-e-vírgula ( ;

).

O ponto-e-vírgula é um símbolo que representa o final da linha de

código, símbolo este que não tem nenhuma representação no pseudocódi-

go.

Não pode existir nenhuma variável no programa que tenha o mesmo

nome dado ao programa.

Exemplo:

program MEDIA;

UNIDADE 3 - ESTRUTURA DE

UM PROGRAMA EM PASCAL

Objetivos da aula

De acordo com as referências [1] e [2], este capítulo irá apresentar

as fases do algoritmo escrito na linguagem Pascal, o comando var,

similar ao comando declare do pseudocódigo e os tipos de dados

presentes na linguagem Pascal.

Técnico em Informáticae-Tec Brasil 22

Page 23: LP Apostila Logica de Programacao

De acordo com o exemplo acima, caso declare uma variável com o

nome MEDIA, por já ter definido este nome como o nome do programa,

provavelmente, ocorrerá um erro na compilação.

3.2. Corpo do Programa ou Bloco de Co-mandos

O Corpo do Programa corresponde ao Bloco de Comandos e é a área

onde serão escritos os passos referentes ao processamento do algoritmo. O

comando begin indica o início do Bloco de Comandos e o comando end

que utiliza o ponto final após a letra “d” é similar ao fimalgoritmo do pseu-

docódigo, isto é, indica o término do código fonte.

begin instruções;

...

end.

Na área denominada instruções, poderão existir, dependendo da necessida-

de, vários blocos de comandos , o que será visto em detalhes a frente.

3.3. Variáveis e Constantes na linguagem Pascal

No Pascal, diferente do pseudocódigo, não existe distinção entre letras mai-

úsculas e minúsculas no nome de um identificador. Um identificador deverá

ficar inteiramente contido em uma linha do programa.

O Pascal reconhece certo grupo de palavras como sendo reservadas. Essas

palavras tem significado especial e não podem ser usadas como identificado-

res em um programa. A tabela abaixo apresenta todas as palavras reservadas

do Pascal:

e-Tec BrasilLógica 23

Page 24: LP Apostila Logica de Programacao

Palavras Reservadas do Pascal

and downto in packed to

Array else inline procedure type

asm end interface program unit

begin file label record until

case for mod repeat uses

const foward nil set var

constructor function not shl while

destructor goto object shr with

div if of string xor

do Implementation Or Then

3.4. Tipos de Dados

Os dados são representados pelas informações a serem processadas por um

computador. Um tipo de dados especifica as características, isto é, os valores

e operações possíveis de serem utilizados com um dado desse tipo. Toda

variável e constante usada em um programa tem um tipo associado a ela. A

linguagem Pascal fornece ao programador um conjunto de tipos de dados

predefinidos.

3.4.1. Tipos de Dados Inteiros

São caracterizados tipos inteiros, os dados numéricos positivos ou negati-

vos, excluindo-se qualquer número fracionário. Em Pascal, este tipo de dado

pode ser referenciado por um dos seguintes identificadores:

Tipo de Dados Inteiros

Tipo de dado inteiro Faixa de abrangência Tamanho(bytes)

shortint de –128 até 127 1 byte

integer de –32.768 a 32.767 2 byte

longintde –2.147.483.648 a 2.147.483.647

4 byte

byte de 0 até 255 1 byte

word de 0 até 65535 2 byte

Técnico em Informáticae-Tec Brasil 24

Page 25: LP Apostila Logica de Programacao

Exemplo:varCont_FUNC:integer;

3.4.2. Tipos de Dados Reais

O tipo de dado real permite trabalhar com números fracionários, tanto posi-

tivos como negativos, sendo sua capacidade de armazenamento maior que

dos números inteiros. A tabela abaixo representa os tipos de dados reais:

Exemplo:varN1, N2, N3, N4, Media : real;

3.4.3. Tipos de Dados Caracteres

São considerados tipos caracteres, as sequências contendo letras, números

e símbolos especiais. Uma sequência de caracteres, em Pascal, deve ser re-

presentada entre apóstrofos (‘’). Este tipo de dado é referenciado pelo iden-

tificador string, podendo armazenar de 1 até 255 caracteres. Podemos

ainda especificar um tamanho menor do que os 255 caracteres permitidos.

Vejamos a sintaxe para criarmos uma variável do tipo string com tamanho

limitado.

Forma Geral:

variável : string[tamanho];

Exemplo:

Tipos de Dados Reais

Tipo de dado real Faixa de abrangência Tamanho(bytes)

real de 2.9 e-39 até 1.7 e38 6 bytes

single de 1.5 e-45 até 3.4 e38 4 bytes

double de 5.0 e-324 até 1.7e308 8 bytes

extended de 3.4 e-4.932 até 1.1 e4.932 10 bytes

comp de –9.2 e18 até 9.2 e18 8 bytes

e-Tec BrasilLógica 25

Page 26: LP Apostila Logica de Programacao

var Frase: string;

Nome: string[45];

Existe ainda o tipo char, utilizado da mesma forma que o tipo string, porém com uma pequena diferença: é usado para strings de apenas um

caracter. Segue um exemplo do tipo de dado char:

var Sexo : char;

No caso acima a variável Sexo irá receber apenas um caracter, no caso “M”

ou “F”.

3.4.4. Tipos Lógicos

São caracterizados tipos lógicos, os dados com valores true (verdadeiro) e

false (falso). Este tipo de dado também e chamado de tipo boleano. Ele é

representado pelo tipo boolean.

Exemplo:

var Aprovado: boolean;

Confirma: boolean;

3.5. Declarações de variáveis

O comando var é utilizado na declaração das variáveis e é similar ao coman-

do declare no pseudocódigo.

Desta forma, a linguagem Pascal efetua a reserva de espaço na memória

para que as variáveis sejam utilizadas.

Após os identificadores de cada variável deverá ser utilizado o símbolo dois-

pontos ( : ), e após estes é mencionado o tipo de dado que a variável irá

receber, seguido de ponto-e-vírgula.

Técnico em Informática26

Page 27: LP Apostila Logica de Programacao

Exemplo:var NOME : string;

IDADE : integer;

ALTURA : real;begin instruções; ...end.

Caso as variáveis sejam de mesmo tipo, estas poderão ser relacionadas sepa-

radas por vírgula. Segue o exemplo:

A, B, C: integer;

3.6. Comentários

Na linguagem Pascal é possível colocar comentários de duas formas: entre

chaves “{...}” ou entre “ (* ... *)”. Quando o compilador encontra o símbolo

“{“ ele salta todos os caracteres até encontrar um “}”. Da mesma forma, to-

dos os caracteres que seguem “(*” são pulados até ser detectado o símbolo

”*)”. Como resultado disso, qualquer uma das formas pode ficar dentro da

outra; por exemplo {...(*...*)...} é um comentário.

3.7. Exercícios de Fixação

1) Identifique, na sintaxe da linguagem Pascal, as variáveis para calcular a

média das notas de um aluno que realizou 4 provas.

2) Identifique, na sintaxe da linguagem Pascal, as variáveis que leia o nome

e o salário de um funcionário.

3) Identifique, na sintaxe da linguagem Pascal, as variáveis utilizadas para

calcular e escrever o juro obtido na aplicação de um capital aplicado a certa

taxa por um determinado tempo.

4) Identifique as variáveis dentro de um algoritmo para “Calcular o estoque

médio de uma peça”, sendo que ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA

+ QUANTIDADE MÁXIMA) /2:

e-Tec BrasilLógica 27

Page 28: LP Apostila Logica de Programacao

5) Identifique, na sintaxe da linguagem Pascal, as variáveis para resolver uma

equação do 2º grau.

Técnico em Informática28

Page 29: LP Apostila Logica de Programacao

4. Expressões

Expressão é qualquer combinação de uma ou mais constantes e ou variá-

veis (operandos) com um ou mais operadores. As constantes e ou variáveis

podem ser de qualquer tipo (numérico, lógico ou literal), mas deve obede-

cer a compatibilidade, isto é, em uma única expressão não podemos variar

o tipo. Assim as expressões podem ser numéricas, literais e lógicas, como

também os operadores. Operadores são símbolos ou sinais que indicam

uma operação.

4.1. Expressões aritméticas

São expressões cujos operadores são numéricos e cujos operandos são

constantes e ou variáveis numéricas.

Os operadores aritméticos são as operações conhecidas da Matemática:

Operadores Aritméticos

Operação Aritmética Símbolo

Potenciação ^

Produto *

Divisão /

Soma +

Subtração -

UNIDADE 4 - EXPRESSÕES

Objetivos da aula

De acordo com as referências [1], [2] e [4], neste capítulo se-

rão apresentadas as expressões aritméticas, lógicas e literais dos

pseudocódigos e da linguagem pascal responsáveis pelos cálculos

que são efetuados durante a fase de processamento do algoritmo,

todavia os exercícios relacionados a linguagem Pascal só serão co-

brados no próximo capítulo.

e-Tec BrasilLógica 29

Page 30: LP Apostila Logica de Programacao

Na elaboração de expressões aritméticas, algumas regras básicas devem

ser seguidas:

• Nãosesubentendeproduto.EnquantonaMatemáticaescrevemos

2X para representarmos o dobro de um número, na linguagem algorítmica

devemos escrever 2*X.

• AhierarquiadasoperaçõeséamesmadaMatemática:

o 1º potenciação ou radiciação

o 2º produto e divisão

o 3º soma e subtração

• Aschavesecolchetessãosubstituídaspelosparênteses,sendoas-

sim os únicos sinais de agrupamento, tendo a possibilidade de alterar a

hierarquia das operações.

• Seexistiremoperadoresdemesmaordemdeprecedência,aavalia-

ção será feita da esquerda para a direita.

4.1.1. Exemplos

Técnico em Informáticae-Tec Brasil 30

Page 31: LP Apostila Logica de Programacao

4.2. Funções de Biblioteca

É possível também fazer uso de funções matemáticas no intuito de otimi-

zar a implementação do algoritmo na elaboração de expressões aritméti-

cas. Provavelmente, em uma linguagem de programação, essas funções

estarão implementadas em bibliotecas.

As funções são sempre acompanhadas do parâmetro ou argumento, que

deve vir entre parênteses. Na lista em seguida, usamos o parâmetro P1 e

P2 para significar uma Expressão Aritmética, que pode ser uma expressão,

uma constante ou uma variável.

Função Símbolo Exemplo

LOG(P1) LOG. DE BASE 10 LOG(1) = 0

LN(P1) LOG. NEPERIANO LN(2) = 0.693147

EXP(P1) EXPONENCIAL EXP(0) = 1

ABS(P1) VALOR ABSOLUTO ABS(-10) = 10

TRUNCA(P1)PARTE INTEIRA DE UM NÚMERO, SEM ARREDONDAMENTO

TRUNCA(2.56) = 2; TRUNCA(2.01) = 2; TRUNCA(2) = 2

ARREDONDA(P1)ARREDONDA SEGUINDO O PADRÃO: >=5 AUMENTA; <5 CONSERVA

ARREDONDA(2.56) = 3; ARREDONDA(2.43) = 2

SINAL(P1) -1 SE P1<0; 0 SE P1=0; 0 SE P1=0SINAL(-2) = -1; SINAL(2) = 1; SINAL(0) = 0

QUOCIENTE(P1,P2)QUOCIENTE DA DIVISÃO INTEIRA DE P1 POR P2

QUOCIENTE(10,2)=5; QUOCIENTE(10,3)=3

RESTO(P1,P2) RESTO DA DIVISÃO INTEIRA DE P1 POR P2RESTO(10,2) = 0; RESTO(22,3) = 1; RESTO(99,10) = 9

SEN(P1) SENO DE UM ÂNGULO EM RADIANOS SEN(0) = 0

COS(P1) CO-SENO DE UM ÂNGULO EM RAD. COS(0) = 1

TAN(P1) TANGENTE DE UM ÂNGULO EM RAD. TAN(0)=0

RAIZ(P1) RAIZ QUADRADA DE P1 SENDO P1>=0 RAIZ(4) = 2

e-Tec BrasilLógica 31

Page 32: LP Apostila Logica de Programacao

4.3. Expressões lógicas

São expressões cujos operadores são lógicos e cujos operandos são rela-

ções e ou variáveis do tipo lógico.

Relações Simbologia

Igual =

Diferente <>

Menor que <

Maior que >

Menor ou igual que <=

Maior ou igual que >=

Além das relações fazemos uso, também, dos operadores lógicos. São

eles:

Operadores Significado

e Conjunção

ou Disjunção

não Negação

Os operadores lógicos e/ou relações só podem ser usados com constan-

tes e/ou variáveis do tipo lógico, isto é, que só representam dois valores:

Verdadeiro (V) ou Falso (F) e cujo resultado podemos observar nas Tabelas-

Verdade em seguida:

A ou B = C

A B C

V V V

V F V

F V V

F F F

A e B = C

A B C

V V V

V F F

F V F

F F F

Técnico em Informáticae-Tec Brasil 32

Page 33: LP Apostila Logica de Programacao

não (A) = C

A B

V V

V F

F V

F F

Nas expressões, os operadores lógicos seguem a seguinte Preferência:

1) não

2) e

3) ou

que podem ser modificadas pelo uso de parênteses. Aquilo que estiver

dentro do parêntese sempre deve ser resolvido primeiro.

4.3.1. Exemplos

1) (A > B) e (X < Y)

No exemplo acima, caso a variável A tenha armazenado um valor maior

que o valor contido na variável B e o valor armazenado em X for menor que

o valor em Y, o resultado desta expressão será Verdadeiro.

2) (A=”Verdadeiro”) e não (B)

Diante do segundo exemplo, o resultado dependerá do valor contido em

B, caso seja Verdadeiro a expressão resultará em Falso e caso Verdadeiro, o

resultado será Verdadeiro.

3) (A=B) ou não (B e C)

e-Tec BrasilLógica 33

Page 34: LP Apostila Logica de Programacao

Sendo A e C Verdadeiro e B Falso, resolvem-se primeiramente as relações,

isto é, verifica se A é igual a B, resultando em Falso e em seguida, resolve-

se a operação agrupada pelo parêntese. B e C é igual a Falso, como o não

de Falso é Verdadeiro e toda operação lógica de disjunção que tenha um

valor Verdadeiro permanece o valor Verdadeiro, o resultado da expressão

é Verdadeiro.

4) (RAIZ(X-Y)>Z) e (QUOCIENTE(X)=0)

Para resolver este último exemplo, verifica-se os valores das variáveis X, Y

e Z e resolva as funções de bilbioteca. Após obter os valores das funções,

compare-as utilizando as relações e finalmente aplique o operador de con-

junção diante dos resultados.

4.4. Expressões Literais

Formadas por operadores literais e ou operandos do tipo literal. Os ope-

radores dependem das características de cada linguagem. Uma operação

muito utilizada é a concatenação de caracteres. Estas expressões não serão

trabalhadas no pseudocódigo.

4.5. Tipos de Expressões na linguagem Pascal

Conforme visto no pseudocódigo, na linguagem Pascal também existem

três tipos básicos de expressões:

Numéricas: uma expressão é numérica quando os seus operandos e re-

sultados são numéricos (inteiros ou reais).

Literais: Uma expressão é literal quando os seus operandos e o resultado

são literais do tipo string, não podendo ser char. Só existe um único ope-

rador para se usar em expressões literais, o operador Concatenação( + ).

Técnico em Informáticae-Tec Brasil 34

Page 35: LP Apostila Logica de Programacao

Boolenas: Uma expressão é booleana quando seu resultado é do tipo

boolean (TRUE ou FALSE), podendo seu operando serem de qualquer tipo

de dados. Nas expressões relacionais são usados os operadores Lógicos e

os Relacionais. As expressões booleanas são similares as expressões lógicas

do pseudocódigo.

4.6. Tipos de Operadores na Linguagem Pascal

Existem vários operadores para a realização de expressões na linguagem

Pascal.

4.6.1. Operadores Aritméticos

A tabela a seguir apresenta os símbolos que representam os operadores

aritméticos na linguagem Pascal.

Operadores Aritméticos

Operação Aritmética Símbolo

Adição +

Subtração -

Multiplicação *

Divisão Real /

Divisão Inteira ( truncada ) DIV

Resto da Divisão Inteira MOD

Inverte Sinal -

Mantém Sinal +

4.6.2. Operador de Concatenação

O operador de concatenação é representado pelo mesmo símbolo da adi-

ção “+” e está vinculado as expressões literais efetuando a junção de duas

variáveis ou constantes do tipo string.

Exemplo:

e-Tec BrasilLógica 35

Page 36: LP Apostila Logica de Programacao

Nome = “Eduardo” + “ Marmo”

Nome = “Eduardo Marmo”

4.6.3. Operadores Relacionais

Os operadores relacionais são utilizados para efetuar a comparação entre

dados de mesmo tipo e o seu resultado corresponde a valores boleanos

similar as expressões lógicas do pseudocódigo. Os operadores relacionais

existentes em Pascal podem ser vistos logo em seguida.

Função Ofício Tipo do ArgumentoResultado da

Função

pi Retorna o valor de PI (3.1415...) - real

length( x )Determina o número de caracteres de x

string inteiro

concat( x1, x2, x3,...)Concatena duas ou mais strings (máx 255 caracteres)

string string

copy( x, y, z )Retorna uma subcadeia da cadeia x, com z caracteres, começando no caracter y

string, inteiro, inteiro string

UpCase( x )Retorna x convertido para maiúscula

char char

trunc( x ) Trunca x para um número inteiro real inteiro

4.6.4. Operadores Lógicos

Os operadores Lógicos na linguagem Pascal são apresentadas logo em se-

guida:

Operador no Pseudocódigo Operador no Pascal

E and

ou or

não not

4.7. Funções de Biblioteca na Linguagem Pascal

A linguagem Pascal apresenta um conjunto de funções similares as funções

de bibliotecas presentes no pseudocódigo. Segue algumas funções:

Técnico em Informáticae-Tec Brasil 36

Page 37: LP Apostila Logica de Programacao

Função Ofício Tipo do ArgumentoResultado da

Função

int( x ) Retorna a parte inteira de x real real

frac( x ) Retorna a parte fracionária de x real real

round( x ) Arredonda x para um inteiro real inteiro

chr( x )Determina o caracter ASCII repre-sentado por x

inteiro char

sizeof( x ) Retorna o número de byte de x qualquer tipo inteiro

gotoxy(x,y)Move o curso para a coluna x e linha y

inteiro

exp( x )Calcula e^x, em que e=2.7182818 é sistema natural de log neperiano

inteiro ou real real

ln( x ) Calcula o log natural de x (x>0) inteiro ou real real

exp(ln(x)*y) Retorna x elevado a y inteiro ou real real

sin( x ) Calcula o seno de x em radianos inteiro ou real real

sqr( x ) Calcula o quadrado de x inteiro ou real x

sqrt( x )Calcula a raiz quadrada de x (x>=0)

inteiro ou real real

odd( x )Determina se x é par ou impar TRUE, X é par / FALSE, X é impar

inteiro boolean

random( x )

Retorna um número pseudo-aleatório entre 0 e x. Se x não for especificado retorna um valor entre 0.0 e 1.0

inteiro real

abs( x ) Calcula o valor absoluto de x inteiro ou real x

cos( x )Calcula o co-seno de x em radianos

inteiro ou real real

pi Retorna o valor de PI (3.1415...) - real

length( x )Determina o número de caracteres de x

string inteiro

concat( x1, x2, x3,...)Concatena duas ou mais strings (máx 255 caracteres)

string string

copy( x, y, z )Retorna uma subcadeia da cadeia x, com z caracteres, começando no caracter y

string, inteiro, inteiro string

UpCase( x )Retorna x convertido para maiúscula

char char

trunc( x ) Trunca x para um número inteiro real inteiro

e-Tec BrasilLógica 37

Page 38: LP Apostila Logica de Programacao

4.8. Exercícios de Fixação

1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abai-

xo. Informe se as expressões são verdadeiras ou falsas.

SALARIO IR SALLIQ EXPRESSÃO V ou F

100,00 0,00 100 (SALLIQ >= 100,00) V

200,00 10,00 190,00 (SALLIQ < 190,00) F

300,00 15,00 285,00 SALLIQ = SALARIO - IR V

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são ver-

dadeiras ou falsas.

a) (A+C) > B

b) B >= (A + 2)

c) C = (B –A)

d) (B + A) <= C

e) (C+A) > B

3) Sabendo que A=5, B=4, C=3 e D=6, informe se as expressões abaixo são

verdadeiras ou falsas.

a) (A > C) e (C <= D)

b) ((A+B) > 10) ou ((A+B) = (C+D))

c) (A>=C) e (D >= C)

4) Converte as seguintes expressões algorítmicas para expressões aritmé-

ticas:

Técnico em Informáticae-Tec Brasil 38

Page 39: LP Apostila Logica de Programacao

a) (ABS(34.16)+TRUNCA(23.333)) ^2

b) (ARREDONDA(34.49)-ARREDONDA(27.77))/RAIZ(33^(1/2))

c) Z+8*X-35/K

5) Sendo p,q,r e s variáveis do tipo numérico,cujos conteúdos são iguais a

2,3,12 e 4.8 respectivamente, quais os valores fornecidos por cada expres-

são aritmética abaixo:

1)

100*QUOCIENTE(q,p)+r

2)

p+ARRENDONDA(2.9)+TRUNCA(0.3)*s

3)

x=20

y=4

z=18

K=22

RAIZ(x-y)>z e QUOCIENTE(10,5)<K

6) Solucione as expressões lógicas abaixo:

1)

e-Tec BrasilLógica 39

Page 40: LP Apostila Logica de Programacao

não(5<>(10/2)) ou V e ((2-5) >(5 -2)) ou V

2)

V e V ou F e V ou F e V ou V

Técnico em Informáticae-Tec Brasil 40

Page 41: LP Apostila Logica de Programacao

5.1. Comando de atribuição

O comando de atribuição permite o armazenamento de um valor a uma

variável, desde que haja compatibilidade de tipos. Isto significa que nunca

será permitido atribuir, por exemplo, uma constante literal a uma variável

que tenha sido declarada do tipo numérico. É uma maneira de armazenar-

mos dados na memória do computador.

Forma geral:

variável <- variável, constante ou expressão

Visualmente, sabemos que o comando declare abra posições na memória.

Assim o comando:

declare N1, N2, N3 numérico

NOME literal

APROVADO lógico

Resultado:

N1 N2 N3 NOME APROVADO

Os espaços estão criados na memória para o recebimento de valores. Dian-

te desta área reservada, segue:

UNIDADE 5 - COMANDOS

Objetivos da aula

De acordo com as referências [1] e [2], neste capítulo serão apre-

sentados todos os comandos presentes no pseudocódgio e na lin-

guagem Pascal, para que o programa desenvolvido possa realizar

as tarefas que o programador determina.

e-Tec BrasilLógica 41

Page 42: LP Apostila Logica de Programacao

N1 9

N2 8

N3 7

NOME “Eduardo”

Aprovado Verdadeiro

As variáveis passariam a armazenar os valores:

N1 N2 N3 NOME APROVADO

9 8 7 Eduardo Verdadeiro

Como as variáveis correspondem a variáveis simples, isto é, que cada po-

sição na memória corresponde a um único valor, se, em seguida, fossem

fornecidos os seguintes comandos de atribuição:

N1 0

N2 0

APROVADO Falso

E não alterássemos os outros, o valor de N1 = 9 seria perdido e lá

só estaria armazenado o 0; o mesmo acontece com N2 e APROVADO que

mudaria de Verdadeiro para Falso.

N1 N2 N3 NOME APROVADO

0 0 7 Eduardo Falso

Se tentássemos armazenar “Falso” na variável N1 ocorreria um erro, pois

N1 foi declarada do tipo numérico e “Falso” é uma constante literal ou

lógica caso seja representada sem as aspas.

5.1.1. Exemplo

Considerando o algoritmo abaixo.

Técnico em Informáticae-Tec Brasil 42

Page 43: LP Apostila Logica de Programacao

Algoritmo

declare X, Y, Z numérico

A, B, C literal

L, M lógico

X <- 23.45

A <- “TESTE”

L <- Falso

M <- Verdadeiro

Y <- X + 2

Z <- X + Y

M <- (L ou (Y > X))

C <- “BEM”

B <- A

B <- “A”

X <- Z

fimalgoritmo

Observa-se que na compilação deste algoritmo as variáveis X, Y, Z, A, B,

C, L e M, representarão respectivamente 48.90 , 25.45 , 48.90 , “TESTE” ,

“A” , “BEM”, Falso e Verdadeiro.

No exemplo anterior não seriam válidas as atribuições:

X <- A

B <- Falso

L <- “verdadeiro”

E muitas outras onde os tipos não fossem compatíveis.

5.2. Comando de atribuição na linguagem Pascal

Na linguagem Pascal o comando representado pelo símbolo (seta), é re-

presentada pelos símbolos em conjunto := (dois pontos e igual) conforme

exemplo abaixo, não esquecendo do ponto e vírgula para finalizar a linha

de comando.

e-Tec BrasilLógica 43

Page 44: LP Apostila Logica de Programacao

Forma Geral:

Variável := variável, constante ou expressão;

Ex.:

N1 := 10;

Aprovado := true;

5.3. Comandos de Entrada

O Comando de Entrada permite a introdução de dados na memória do

computador, através de um dispositivo de entrada, como o teclado, isto

é, o usuário poderá armazenar informações as variáveis reservadas na me-

mória.

Forma geral:

leia lista de variáveis separadas por vírgulas

Onde leia é uma palavra-chave e lista de variáveis deve conter as

variáveis citadas no declare.

5.3.1. Exemplos

1) Dados dois números quaisquer faça um algoritmo que calcule a sua

soma.

Algoritmo

declare A, B, { dois números quaisquer }

SOMA { SOMA dos dois números } numérico

leia A, B

SOMA A+B

{ Escreva a resposta }

fimalgoritmo

No algoritmo apresentado acima, ao compilar o comando leia, o computa-

dor irá aguardar o usuário fornecer valores para A e B e logo em seguida,

após o usuário apertar enter duas vezes (uma para cada variável), irá con-

tinuar a compilação.

Técnico em Informáticae-Tec Brasil 44

Page 45: LP Apostila Logica de Programacao

2) Faça um algoritmo que leia o nome, idade, e salário de um funcionário.

Calcule seu novo salário com um acréscimo de 20%.

Algoritmo

declare NOME literal

IDADE, SAL, NOVO numérico

leia NOME, IDADE, SAL

NOVO <- SAL + 20/100 * SAL

{ escreva novo salário }

fimalgoritmo

5.4. Comando de Entrada na linguagem Pascal

O comando de entrada na linguagem Pascal é representada pelas pala-

vras readln e read, sendo similares ao comando leia no pseudocódigo.

As diferenças dos dois comandos estão presentes no fato de ao colocar

o comando readln, quando o compilador disponibilizar o cursor para o

usuário, ele saltará uma linha.

5.4.1. Exemplo

program NovoSalario;

var nome:string; idade:integer; sal, novo:real;begin readln(nome);

readln(idade);

readln(sal);

novo:=sal + 20/100 * sal;

end.

e-Tec BrasilLógica 45

Page 46: LP Apostila Logica de Programacao

5.5. Comando de Saída

Como o objetivo do algoritmo é estabelecer regras e descrever passos que

levem à solução de um problema, faz-se necessário um comando que per-

mita a saída dos resultados obtidos na solução deste. O comando de Saída

permite a visualização dos dados das variáveis ou a demonstração de qual-

quer valor.

Forma geral

escreva lista de variáveis e ou constantes

Onde:

escreva é uma palavra-chave que corresponde ao comando de Saí-

da.

5.5.1 Exemplo

1) Faça um algoritmo que calcule e escreva a média aritmética de duas

notas de um aluno.

Algoritmo

{ Cálculo de média }

declare N1, N2, { duas notas}

M {média} numérico

{ Leitura de dados }

leia N1, N2

M <- ( N1+N2 ) / 2

{ Saída do resultado }

escreva M

fimalgoritmo

Técnico em Informáticae-Tec Brasil 46

Page 47: LP Apostila Logica de Programacao

5.6. Comando de Saída na linguagem Pas-cal

O comando de saída na linguagem Pascal é representado pelas palavras

writeln e write, sendo similares ao comando escreva no pseudocódigo.

As diferenças dos dois comandos são semelhantes as diferenças dos co-

mandos readln e read respectivamente.

5.6.1. Exemplo

program NovoSalario;

var nome:string; idade:integer; sal, novo:real;begin write(‘Digite o seu nome:’);

readln(nome);

write(‘Digite a sua idade:’);

readln(idade);

write(‘Digite o seu salário:’);

readln(sal);

novo:=sal + 20/100 * sal;

writeln(‘Novo salário:’,novo);

end.

5.7. Exercícios de Fixação

1) Escreva um pseudocódigo que calcule a média aritmética de dois núme-

ros:

2) Faça um pseudocódigo que calcule e escreva a média das 4 notas bimes-

trais de um aluno. Escreva também o seu nome.

3) Faça um algoritmo em Pascal que tenha 3 variáveis, Nome1, SobreNome

e NomeCompleto e que a variável NomeCompleto concatene os valores de

Nome1 e SobreNome.

e-Tec BrasilLógica 47

Page 48: LP Apostila Logica de Programacao

4) Identifique erros no código em Pascal abaixo:

var A, B : integer;

C, D : real;

begin A := 1;

B := 3;

C := 5;

D := 10;

A := 1 + B;

A := B + D;

B := 10 div 3;

A := 10 mod 3;

C := D / C;

D := 10 div C;

A := -1;

B := 5 + A;

B := -A;

C := D * A;

B := C * B;

end.

Técnico em Informáticae-Tec Brasil 48

Page 49: LP Apostila Logica de Programacao

6 Estrutura condicional

A Estrutura condicional ou estrutura de decisão permite oferecer vários

caminhos para o programa no intuito de resolver problemas, isto é, em

situações onde a tomada de atitude é fator determinante, é necessária o

uso da estrutura condicional.

Estrutura condicional permite a escolha do comando ou grupo de coman-

dos a ser executado quando determinadas condições são satisfeitas.

A forma geral abaixo apresenta a sintaxe da estrutura condicional no pseu-

docódigo:

Forma geral:

se condição

então

{ comando ou bloco de comandos }

senão

{ comando ou bloco de comandos }

fimse

Onde se, então, senão e fimse são palavras-chave que correspondem aos

comandos da estrutura condicional.

Condição é uma expressão lógica.

UNIDADE 6 - ESTRUTURA

CONDICIONAL

Objetivos da aula

De acordo com as referências [1] e [2], neste capítulo será apre-

sentada a estrutura condicional no pseudocódigo e como sua sin-

taxe é apresentada na linguagem Pascal.

e-Tec BrasilLógica 49

Page 50: LP Apostila Logica de Programacao

A cada comando se corresponde um único então, um único senão e um

único fimse. Vale destacar que o comando senão não é obrigatório, quan-

do utiliza-se o comando senão, a estrutura condicional é caracterizada

como estrutura condicional composta em contrapartida estrutura condi-

cional simples.

6.1. Exemplos

1) Faça um pseudocódigo que leia dois números e escreva-os em ordem

crescente.

Algoritmo

declare A, B numérico

leia A, B

se B>A

então escreva A, B

senão se A>B

então escreva B, A

senão escreva “São iguais”

fimse

fimse

fimalgoritmo

2) O Banco Expresso resolveu emitir uma mensagem de cobrança para os

seus clientes em débito e dar uma bonificação de 5% sobre o saldo para

aqueles que tiverem saldo superior ou igual a R$ 15.000,00. Para isto foi

fornecido o nome do cliente, o número de sua conta e o seu saldo. Escreva

um pseudocódigo que escreva o nome, valor da bonificação e saldo total

do cliente ou escreva a mensagem para os devedores.

Algoritmo

declare NO, {nome do cliente} NC {número da conta} literal

SALDO, BONI {bonificação}, SALT {saldo final} numérico

leia NO, NC, SALDO

se SALDO >= 15000

então BONI SALDO*5/100

SALT SALDO+BONI

Técnico em Informáticae-Tec Brasil 50

Page 51: LP Apostila Logica de Programacao

escreva “Cliente:”, NO, “Bonificação:”, BONI

escreva “Saldo Final:”, SALT

senão escreva “Atenção! Acerte seu débito”

fimse

fimalgoritmo

3) Escreva um pseudocódigo que resolva uma equação do 2º grau.

Algoritmo

declare A, B, C, D, R1, R2 numérico

leia A, B, C

se A<>0

então D B^2-4*A*C

se D>0

então R1 -B-RAIZ(D)/(2*A)

R2 -B+RAIZ(D)/(2*A)

escreva R1, R2

senão se D = 0

então R1 -B/(2*A)

escreva R1

senão escreva “não tem raiz real”

fimse

fimse

senão escreva “A equação não é do 2º grau”

fimse

fimalgoritmo

6.2. Estrutura condicional na linguagem Pascal

Os comandos if, then e else da linguagem Pascal são similares aos co-

mandos se, então e senão do pseudocódigo e estes comandos têm por

finalidade tomar uma decisão e efetuar um desvio no processamento. Se

a condição for verdadeira será executada toda a instrução que estiver pre-

sente no then, caso contrário, será executada toda a instrução presente

no else. A seguir apresenta-se a forma geral da estrutura:

e-Tec BrasilLógica 51

Page 52: LP Apostila Logica de Programacao

if <condição>

then <instruções para condição verdadeira>

else <instruções para condição falsa>;

De acordo com as instruções presentes dentro do then e do else, verifica-

se a importância de analisar se os comandos correspondem a um bloco

de comandos ou apenas uma linha de comando, caso há um bloco de co-

mandos, faz necessário o uso dos comandos begin e end, sendo o end acompanhado do símbolo ; (ponto e vírgula) para representar ao compila-

dor que não há apenas uma linha de comando dentro da instrução then

ou else e sim um bloco de comandos que inicia-se no begin e encerra-se

no end;. Esta diferenciação da sintaxe do bloco de comandos ou apenas

da linha de comando presente na instrução then e else não estão pre-

sentes no pseudocódigo em relação aos comandos então e senão. A forma

geral a seguir apresenta a estrutura condicional utilizando as instruções

begin e end:

if <condição> thenbegin <instruções para condição verdadeira>; <instruções para condição verdadeira>;endelsebegin <instruções para condição falsa>; <instruções para condição falsa>;end;

Observe que nos dois casos abordados acima, qualquer instrução que an-

tecede a instrução else está escrita sem o ponto-e-vírgula (;). Isto ocorre

pelo fato de a instrução else ser uma extensão da instrução if...then, e

sendo assim, o final da condição somente ocorre após o processamento da

instrução else.

Técnico em Informáticae-Tec Brasil 52

Page 53: LP Apostila Logica de Programacao

6.2.1. Exemplo

program ORDENACAO;

var aux, X1, X2 : integer;begin writeln (‘Digite um valor para X1: ‘);

readln(X1);

write (‘Digite um valor para X2: ‘);

readln(X2);

writeln;

if (X1 > X2)

then begin aux := X1;

X1 := X2;

X2 := aux;

end; writeln(‘Os valores ordenados são: ‘);

write(X1, ‘ - ‘, X2);

end.

6.3. Exercícios de Fixação

1) João comprou um computador para controlar o rendimento diário de

seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabe-

lecido pelo regulamento de pesca do estado de São Paulo (75 quilos) deve

pagar uma multa de R$ 3,50 por quilo excedente. João precisa que você

faça um programa que receba do usuário o peso de peixes e verifique se há

excesso. Se houver, informar o excesso e o valor da multa que João deverá

pagar. Escreva este algoritmo em pseudocódigo e na linguagem Pascal.

2) Elabore um algoritmo em pseudocódigo e na linguagem Pascal que dada

a idade de um nadador classifique-o em uma das seguintes categorias:

Infantil A = 5 a 7 anos

Infantil B = 8 a 11 anos

Juvenil A = 12 a 13 anos

e-Tec BrasilLógica 53

Page 54: LP Apostila Logica de Programacao

Juvenil B = 14 a 17 anos

Adultos = Maiores de 18 anos

3) A Secretaria de Meio Ambiente que controla o índice de poluição man-

tém 3 grupos de indústrias que são altamente poluentes do meio ambiente.

O índice de poluição aceitável varia de 0,05 até 0,25. Se o índice sobe para

0,3 as indústrias do 1º grupo são intimadas a suspenderem suas atividades,

se o índice crescer para 0,4 as indústrias do 1º e 2º grupo são intimadas a

suspenderem suas atividades, se o índice atingir 0,5 todos os grupos de-

vem ser notificados a paralisarem suas atividades. Faça um algoritmo em

pseudocódigo e na linguagem Pascal que leia o índice de poluição medido

e emita a notificação adequada aos diferentes grupos de empresas.

Técnico em Informáticae-Tec Brasil 54

Page 55: LP Apostila Logica de Programacao

7. Estrutura de repetição

Todos os algoritmos apresentados até agora permitem a execução de um

comando ou bloco de comandos uma única vez.

Para reutilizar um único bloco de comandos, sem a necessidade de repeti-

lo, é necessário o uso de uma estrutura de repetição.

A Estrutura de repetição permite que uma sequência de comandos seja

executada repetidamente até que uma condição determinada seja satis-

feita o que fará a interrupção do processo. É possível de encontrar na

literatura outras nomenclaturas para a estrutura de repetição como laços,

loops ou iterações que correspondem a cada ciclo do código da estrutura

de repetição.

Esta estrutura poderá se apresentar no pseudocódigo utilizando 3 formas:

para, enquanto e faça-enquanto. A escolha de cada uma delas depende

do problema apresentado.

7.1 para

Forma geral:

para inicialização, condição, incremento

Objetivos da aula

De acordo com as referências [1] e [2], neste capítulo serão apre-

sentados vários métodos de estruturas de repetições na sintaxe do

pseudocódigo e na linguagem Pascal. Observando-se as referências

[1], [2] e [3], no final deste capítulo estarão presentes vários exercí-

cios onde o estudo será de extrema importância para a fixação dos

conhecimentos obtidos.

UNIDADE 7 - ESTRUTURA

DE REPETIÇÃO

e-Tec BrasilLógica 55

Page 56: LP Apostila Logica de Programacao

comando ou bloco de comandos

Fimpara

Onde para, fimpara são palavras-chave que correspondem aos comandos

da estrutura de repetição;

inicialização é um comando o qual necessita de uma variável numérica que

informa o valor que ela será inicializada;

condição é uma expressão lógica que, se verdadeira, determina a interrup-

ção do processo de repetição.

incremento é o comando que aumenta ou diminui o valor da variável nu-

mérica.

7.1.1. Exemplos

1)

Algoritmo {Cálculo de média de 20 alunos}

declare NOME {nome dos alunos} literal

N1, N2, N3, N4 {notas bimestrais}, M {media} numérico

C numérico

para C 1, C<20, C C+1

leia NOME {dados do primeiro aluno}

leia N1, N2, N3, N4

M<- (N1+N2+N3+N4)/4

escreva NOME, M

fimpara

fimalgoritmo

Assim, teremos uma estrutura de repetição que será interrompida quando

o contador de alunos for igual a 20. Observe que, se for alterado a con-

dição de parada, é possível resolver o problema para qualquer número de

alunos.

Técnico em Informáticae-Tec Brasil 56

Page 57: LP Apostila Logica de Programacao

2) Pseudocódigo que representa os números inteiros de 0 a 50.

Algoritmo {números inteiros de 0 a 50}

declare N {números de 0 a 50} numérico

para N 0, N<50, N N+1

escreva N

fimpara

fimalgoritmo

Observe que:

• Estealgoritmonãopossuicomandodeentradaporqueosnúmeros

a serem escritos não são quaisquer; eles variam de 0 a 50 de 1 em 1 e cor-

respondem a própria variável contadora da estrutura de repetição.

• Quandoaofimdaexecuçãodoalgoritmo,oúltimoNarmazenado

na memória interrompida, desviará o fluxo para o primeiro comando após

o fimpara, neste caso, para o fimalgoritmo.

3) Pseudocódigo de um número que lê N números e apresenta seus núme-

ros pares.

Algoritmo {escrever os pares}

declare N {números de números} numérico

NU {cada número a ser lido}, C {contador de números} nu-

mérico

leia N

para C 1, C<N, C C+1

leia NU

se RESTO(NU,2)=0

então escreva NU

fimse

fimpara

fimalgoritmo

e-Tec BrasilLógica 57

Page 58: LP Apostila Logica de Programacao

4) O pseudocódigo lê um conjunto de N números, determina e apresenta

a soma dos positivos.

Algoritmo

declare N {número de elementos}, X {cada um dos números} numérico

C {contador de números}, SOMA { soma dos positivos} numérico

leia N

SOMA 0

para C 1, C<N, C C+1

leia X

se X>0

então SOMA<-SOMA+X

fimse

fimpara

escreva SOMA

fimalgoritmo

Observe que o comando “escreva SOMA” ficou fora da estrutura de re-

petição, porque o que nos interessa é o resultado final da soma e não os

subtotais.

7.2. Estrutura de repetição para na lingua-gem Pascal

A estrutura de repetição para do pseudocódigo, na linguagem Pascal é

representada pelo comando for que executa iterativamente um comando,

ou bloco de comandos enquanto uma condição é satisfeita. Naturalmente,

a condição de parada da estrutura de repetição, correspondente ao co-

mando for, é representada pela variável contador.

Técnico em Informáticae-Tec Brasil 58

Page 59: LP Apostila Logica de Programacao

Forma Geral:

for variavel := <início> to/downto <fim> do comando;

ou

for variavel := <início> to/downto <fim> do begin bloco de comandos;

end;

7.2.1. Exemplos

1)

program NUMEROS_1_50;

var c : integer;begin for c := 1 to 50 do writeln(c);

end.

2)

program CALCULO_MEDIA;

var c : integer; N1, N2, N3, N4, M : real; nome : string;begin for c := 1 to 20 do begin write(‘Digite suas 4 notas: ’);

readln(N1, N2, N3, N4);

M:= (N1+N2+N3+N4)/4;

writeln(‘Nome: ’,nome,’Média:’,M);

end;end.

e-Tec BrasilLógica 59

Page 60: LP Apostila Logica de Programacao

7.3. enquanto

Forma geral:

enquanto condição

comando ou bloco de comandos

Fimenquanto

Onde enquanto, fimenquanto são palavras-chave ou comandos da estru-

tura de repetição enquanto;

condição é uma expressão lógica que, se verdadeira, determina a interrup-

ção do processo de repetição.

A escolha entre as estruturas vai depender do problema a ser resolvido e,

algumas vezes, da preferência do programador.

7.3.1. Exemplo

1) Escrever os números inteiros de 0 a 50 na estrutura de repetição en-

quanto.

Algoritmo {números inteiros de 0 a 50}

declare N {números de 0 a 50} numérico

N 0

enquanto N<>50

escreva N

N N+1

fimenquanto

fimalgoritmo

7.4. Estrutura de repetição enquanto na linguagem Pascal

A estrutura de repetição enquanto do pseudocódigo, é representada na

linguagem Pascal pela instrução while...do e se caracteriza por efetuar

um teste boleano no início de uma iteração, verificando se é permitido

executar a linha de comando ou bloco de comandos dentro dela.

Técnico em Informáticae-Tec Brasil 60

Page 61: LP Apostila Logica de Programacao

Forma Geral:while <condição> do <linha de código>;

ou

while <condição> dobegin <bloco de comandos>;

end;

7.4.1. Exemplo

1) Escrever os números inteiros de 0 a 50 na estrutura de repetição while...

do na linguagem pascal.

programNUMEROS_1_50;

var c : integer;

begin c := 1

while c<=50 do writeln(c);

end.

7.5. faça-enquanto

Em alguns problemas faz-se necessário o uso de algum comando dentro

da estrutura de repetição, antes da condição de parada. A escolha de cada

estrutura depende do problema a ser resolvido e da lógica individual. Nes-

ta estrutura, obrigatoriamente, a iteração será realizada pelo menos uma

vez.

Forma geral:faça

comando ou bloco de comandos

enquanto condição

e-Tec BrasilLógica 61

Page 62: LP Apostila Logica de Programacao

7.5.1. Exemplo

1) Escrever os números inteiros de 0 a 50.

Algoritmo {números inteiros de 0 a 50}

declare N {números de 0 a 50} numérico

N 0

faça

escreva N

N N+1

enquanto N<=50

fimalgoritmo

7.6. Estrutura de repetição faça-enquanto na linguagem Pascal

A estrutura de repetição faça-enquanto do pseudocódigo, é representa-

da na linguagem Pascal pela instrução repeat...until e se caracteriza

por efetuar um teste boleano no final de uma iteração, sendo permitido

obrigatoriamente a compilação de pelo menos uma iteração da linha de

comando ou bloco de comandos presentes dentro da estrutura. Esta estru-

tura é semelhante a estrutura de repetição enquanto do pseudocódigo ou

while...do da linguagem Pascal.

Forma Geral:repeat <comando ou bloco de comandos>;

until <condição>;

7.6.1. Exemplos

1) Escrever os números inteiros de 0 a 50 na estrutura de repetição while...

do na linguagem pascal.

Técnico em Informáticae-Tec Brasil 62

Page 63: LP Apostila Logica de Programacao

programNUMEROS_1_50;

var c : integer;

begin c := 0

repeat writeln(c);

c := c+1;

until c<=50;

end.

2) Algoritmo utilizando a estrutura de repetição repeat...until que realiza

a multiplicação de dois números dados pelo usuário enquanto desejo do

próprio.

programEXEMPLO_REPEAT;

var N1, N2, R : real; RESP : string;

begin RESP := ‘S’;

repeat write(‘Digite o 1º número: ’);

readln(N1);

write(‘Digite o 2º número: ’);

readln(N2);

R := N1 * N2;

writeln(‘Multiplicação: ’,R);

write(‘Deseja continuar S/N?’);

readln(RESP);

until (<RESP <> ‘S’) and (<RESP <> ‘s’);

end.

7.7. Exercícios de Fixação

1) De acordo com o algoritmo abaixo, escreva um enunciado para ele e

implemente-o na linguagem pascal.

Algoritmo {Cálculo de médias}

declare NM {matrícula}, N1, N2, N3, N4 {Notas}, Mn{médias} numé-

e-Tec BrasilLógica 63

Page 64: LP Apostila Logica de Programacao

rico

leia NM

enquanto NM<>0

leia N1, N2, N3, N4

M (N1+N2+N3+N4)/4

se M>=6

então escreva NM, M, “Aprovado”

senão escreva NM, M, “Reprovada”

fimse

leia NM

fimenquanto

fimalgoritmo

2) O DA da Universidade vai proceder à eleição de seu Presidente. Para

concorrer a este cargo apresentaram-se três candidatos. Foi estipulado que

os alunos eleitores deveriam preencher a cédula com um único número

assim determinado:

1,2 ou 3: significam voto para o candidato número 1, ou 2 ou 3 respecti-

vamente;

0: significa voto branco.

4: significa voto nulo.

Deseja saber:

a) o número do candidato vencedor;

Técnico em Informáticae-Tec Brasil 64

Page 65: LP Apostila Logica de Programacao

b) o número de votos em branco;

c) o número de votos nulos;

d) o número de estudantes que compareceram às urnas.

A última leitura, que não entrará nos cálculos, trará o número do voto igual

a -1.

3) Escreva um algoritmo em Pascal que leia dois valores inteiros. Realize a

adição destes números, armazenando o resultado em uma terceira variá-

vel. Apresente o valor encontrado. Repita esta operação 5 vezes.

4) A comissão organizadora do vestibular de uma Universidade deseja fa-

zer um algoritmo para apurar os resultados do seu vigésimo vestibular. De

cada candidato inscrito foram lidos:

• Númerodeinscrição;

• Númerodepontosobtidosemcadaumadas4provas.

Calcular e escrever:

a) o total de pontos de cada candidato;

b) o primeiro e o último classificados;

c) a média aritmética dos pontos dos candidatos.

O algoritmo deverá processar até que o número de inscrição do candidato

seja igual a 0.

5) Um funcionário de uma empresa recebe aumento salarial anualmente.

Sabe-se que:

a) esse funcionário foi contratado em 1995, com salário inicial de R$

1.000,00;

b) em 1996 recebeu aumento de 1,5% sobre seu salário inicial;

e-Tec BrasilLógica 65

Page 66: LP Apostila Logica de Programacao

c) a partir de 1997, os aumentos salariais sempre corresponderam ao do-

bro do percentual do ano anterior.

Faça um programa em pascal que determine o salário atual desse funcio-

nário.

6) Faça um programa que leia dez conjuntos de dois valores, o primeiro

representando o número do aluno e o segundo representando a sua al-

tura em centímetros. Encontre o aluno mais alto e o mais baixo. Mostre

o número do aluno mais alto e o número do mais baixo, junto com suas

alturas.

7) Em um campeonato de futebol existem cinco times e cada time possui

onze jogadores. Faça um programa que receba a idade, o peso e a altura

de cada um dos jogadores, calcule e mostre:

a) a quantidade de jogadores com idade inferior a 18 anos;

b) a média das idades dos jogadores de cada time;

c) a média das alturas de todos os jogadores do campeonato;

d) a percentagem de jogadores com mais de 80 quilos entre todos os joga-

dores do campeonato.

8) Escreva um código em pseudocódigo e um programa em pascal que

avalie os dados estatísticos de 15 pessoas, obtendo o nome, sexo e altura

de cada um. Calcule e mostre:

a) a maior e a menor altura do grupo;

b) a média de altura das mulheres;

c) o número de homens;

d) o sexo da pessoa mais alta.

Técnico em Informáticae-Tec Brasil 66

Page 67: LP Apostila Logica de Programacao

e-Tec BrasilLógica 67

Page 68: LP Apostila Logica de Programacao

Técnico em Informáticae-Tec Brasil 68

Page 69: LP Apostila Logica de Programacao

e-Tec BrasilLógica 69

Page 70: LP Apostila Logica de Programacao

Técnico em Informáticae-Tec Brasil 70

Page 71: LP Apostila Logica de Programacao

e-Tec BrasilLógica 71

Page 72: LP Apostila Logica de Programacao

Técnico em Informáticae-Tec Brasil 72

Page 73: LP Apostila Logica de Programacao

e-Tec BrasilLógica 73