Vous êtes sur la page 1sur 73

Técnico em Informática

Lógica de Programação

Eduardo Marmo Moreira

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

São João da Boa Vista - SP


2009
Presidência da República Federativa do Brasil

Ministério da Educação

Secretaria de Educação a Distância

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.

Equipe de Elaboração Yara Maria Guisso de Andrade Facchini


IFSP
Projeto Gráfico
Coordenação Institucional Eduardo Meneses e Fábio Brumana
Campus São João da Boa Vista
Diagramação
Professor-autor Matheus Félix de Andrade”!
Eduardo Marmo Moreira
Revisão
Comissão de Acompanhamento e Validação Elizabeth Gouveia da Silva Vanni
Gustavo Aurélio Prieto

Ficha catalográfica
Apresentação e-Tec Brasil

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.
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.


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 11
1.4 Linguagem Pascal 11
1.5 Exercícios de Fixação 11

Unidade 2 - Desenvolvimento Algoritmos 13


2.1 Pseudocódigos 13
2.2 Frases 13
2.3 Implementando algoritmos 14
2.4 Estrutura do Pseudocódigo 14
2.5 Constantes e Variáveis 15
2.5.1 Constantes 15
2.5.1 Variáveis 16
2.6 Declaração de Variáveis 17
2.6.1 Exemplos 18
2.7 Teste de Mesa 19
2.8 Comentários 19
2.8.1 Exemplos 20
2.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 23
3.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
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 34
4.6 Tipos de Operadores na Linguagem Pascal 35
4.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 36
4.7 Funções de Biblioteca na Linguagem Pascal 36
4.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
6.2 Estrutura Condicional na Linguagem Pascal 51
6.2.1 Exemplo 53
6.3 Exercícios de Fixação 53

Unidade 7 - Estrutura de Repetição 55

7.1 para 55
7.1.1 Exemplos 56
7.2 Estrutura de Repetição para na Linguagem Pascal 58
7.2.1 Exemplos 58
7.3 enquanto 60
7.3.1 Exemplo 60
7.4 Estrutura de Repetição enquanto na Linguagem Pascal 60
7.4.1 Exemplo 61
7.5 faça-enquanto 61
7.5.1 Exemplo 62
7.6 Estrutura de Repetição faça-enquanto na Linguagem Pascal 62
7.6.1 Exemplos 62
7.7 Exercícios de Fixação 63
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.

8 Técnico em Informática
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.

Lógica 9 e-Tec Brasil


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.

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:

e-Tec Brasil 10 Técnico em Informática


“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).

Lógica 11 e-Tec Brasil


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?

e-Tec Brasil 12 Técnico em Informática


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.

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.

Lógica 13 e-Tec Brasil


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

e-Tec Brasil 14 Técnico em Informática


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

Lógica 15 e-Tec Brasil


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:

• As letras devem ser maiúsculas

• O primeiro caracter deve ser letra ou _ (underline ou underscore)

• Não são aceitos caracteres especiais como @, ., /, +, etc, com exce-


ção do underscore

• Espaços em branco também não são permitidos

e-Tec Brasil 16 Técnico em Informática


• Não devemos fazer uso de palavras chaves, isto é, palavras que terã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

Lógica 17 e-Tec Brasil


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

e-Tec Brasil 18 Técnico em Informática


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 }

Lógica 19 e-Tec Brasil


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

e-Tec Brasil 20 Técnico em Informática


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?

Lógica 21 e-Tec Brasil


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.

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;

e-Tec Brasil 22 Técnico em Informática


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:

Lógica 23 e-Tec Brasil


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

de –2.147.483.648 a
longint 4 byte
2.147.483.647

byte de 0 até 255 1 byte

word de 0 até 65535 2 byte

e-Tec Brasil 24 Técnico em Informática


Exemplo:
var
Cont_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:

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

Exemplo:
var
N1, 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:

Lógica 25 e-Tec Brasil


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.

26 Técnico em Informática
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:

Lógica 27 e-Tec Brasil


5) Identifique, na sintaxe da linguagem Pascal, as variáveis para resolver uma
equação do 2º grau.

28 Técnico em Informática
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.

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 -

Lógica 29 e-Tec Brasil


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

• Não se subentende produto. Enquanto na Matemática escrevemos


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

• A hierarquia das operações é a mesma da Matemática:

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

o 2º produto e divisão

o 3º soma e subtração

• As chaves e colchetes são substituídas pelos parênteses, sendo as-


sim os únicos sinais de agrupamento, tendo a possibilidade de alterar a
hierarquia das operações.

• Se existirem operadores de mesma ordem de precedência, a avalia-


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

4.1.1. Exemplos

e-Tec Brasil 30 Técnico em Informática


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

PARTE INTEIRA DE UM NÚMERO, SEM TRUNCA(2.56) = 2; TRUNCA(2.01) = 2;


TRUNCA(P1)
ARREDONDAMENTO TRUNCA(2) = 2

ARREDONDA SEGUINDO O PADRÃO: >=5 ARREDONDA(2.56) = 3;


ARREDONDA(P1)
AUMENTA; <5 CONSERVA ARREDONDA(2.43) = 2

SINAL(-2) = -1; SINAL(2) = 1; SINAL(0)


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

QUOCIENTE DA DIVISÃO INTEIRA DE P1 QUOCIENTE(10,2)=5;


QUOCIENTE(P1,P2)
POR P2 QUOCIENTE(10,3)=3

RESTO(10,2) = 0; RESTO(22,3) = 1;
RESTO(P1,P2) RESTO DA DIVISÃO INTEIRA DE P1 POR P2
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

Lógica 31 e-Tec Brasil


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

AeB=C

A B C

V V V

V F F

F V F

F F F

e-Tec Brasil 32 Técnico em Informática


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)

Lógica 33 e-Tec Brasil


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( + ).

e-Tec Brasil 34 Técnico em Informática


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:

Lógica 35 e-Tec Brasil


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.
Resultado da
Função Ofício Tipo do Argumento
Função

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

Determina o número de caracteres


length( x ) string inteiro
de x

Concatena duas ou mais strings


concat( x1, x2, x3,...) string string
(máx 255 caracteres)

Retorna uma subcadeia da cadeia


copy( x, y, z ) x, com z caracteres, começando no string, inteiro, inteiro string
caracter y

Retorna x convertido para


UpCase( x ) char char
maiúscula

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:

e-Tec Brasil 36 Técnico em Informática


Resultado da
Função Ofício Tipo do Argumento
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

Determina o caracter ASCII repre-


chr( x ) inteiro char
sentado por x

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

Move o curso para a coluna x e


gotoxy(x,y) inteiro
linha y

Calcula e^x, em que


exp( x ) e=2.7182818 é sistema natural de inteiro ou real real
log neperiano

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

Calcula a raiz quadrada de x


sqrt( x ) inteiro ou real real
(x>=0)

Determina se x é par ou impar


odd( x ) inteiro boolean
TRUE, X é par / FALSE, X é impar

Retorna um número pseudo-


aleatório entre 0 e x. Se x não
random( x ) inteiro real
for especificado retorna um valor
entre 0.0 e 1.0

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

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

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

Determina o número de caracteres


length( x ) string inteiro
de x

Concatena duas ou mais strings


concat( x1, x2, x3,...) string string
(máx 255 caracteres)

Retorna uma subcadeia da cadeia


copy( x, y, z ) x, com z caracteres, começando no string, inteiro, inteiro string
caracter y

Retorna x convertido para


UpCase( x ) char char
maiúscula

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

Lógica 37 e-Tec Brasil


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:

e-Tec Brasil 38 Técnico em Informática


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)

Lógica 39 e-Tec Brasil


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

e-Tec Brasil 40 Técnico em Informática


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.

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:

Lógica 41 e-Tec Brasil


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.

e-Tec Brasil 42 Técnico em Informática


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.

Lógica 43 e-Tec Brasil


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.

e-Tec Brasil 44 Técnico em Informática


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.

Lógica 45 e-Tec Brasil


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

e-Tec Brasil 46 Técnico em Informática


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.

Lógica 47 e-Tec Brasil


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.

e-Tec Brasil 48 Técnico em Informática


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.

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.

Lógica 49 e-Tec Brasil


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

e-Tec Brasil 50 Técnico em Informática


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:

Lógica 51 e-Tec Brasil


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> then
begin
<instruções para condição verdadeira>;
<instruções para condição verdadeira>;
end
else
begin
<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.

e-Tec Brasil 52 Técnico em Informática


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

Lógica 53 e-Tec Brasil


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.

e-Tec Brasil 54 Técnico em Informática


UNIDADE 7 - ESTRUTURA
DE REPETIÇÃO

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.

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

Lógica 55 e-Tec Brasil


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.

e-Tec Brasil 56 Técnico em Informática


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:

• Este algoritmo não possui comando de entrada porque os nú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.

• Quando ao fim da execução do algoritmo, o último N armazenado


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

Lógica 57 e-Tec Brasil


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.

e-Tec Brasil 58 Técnico em Informática


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.

Lógica 59 e-Tec Brasil


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.

e-Tec Brasil 60 Técnico em Informática


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

ou

while <condição> do
begin
<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.
program NUMEROS_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

Lógica 61 e-Tec Brasil


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.

e-Tec Brasil 62 Técnico em Informática


program NUMEROS_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.
program EXEMPLO_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é-

Lógica 63 e-Tec Brasil


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;

e-Tec Brasil 64 Técnico em Informática


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úmero de inscrição;

• Número de pontos obtidos em cada uma das 4 provas.

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;

Lógica 65 e-Tec Brasil


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.

e-Tec Brasil 66 Técnico em Informática


Lógica 67 e-Tec Brasil
e-Tec Brasil 68 Técnico em Informática
Lógica 69 e-Tec Brasil
e-Tec Brasil 70 Técnico em Informática
Lógica 71 e-Tec Brasil
e-Tec Brasil 72 Técnico em Informática
Lógica 73 e-Tec Brasil