Buscar

LIVRO CCII-1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 226 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 226 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 226 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Ciência da Computação II 
1 TROL 
Ciência da Computação II 
Alessandra Fonseca 
 
1ª
 E
di
çã
o 
Ciência da Computação II 
2 
DIREÇÃO SUPERIOR 
Chanceler Joaquim de Oliveira 
Reitora Marlene Salgado de Oliveira 
Presidente da Mantenedora Wellington Salgado de Oliveira 
Pró-Reitor de Planejamento e Finanças Wellington Salgado de Oliveira 
Pró-Reitor de Organização e Desenvolvimento Jefferson Salgado de Oliveira 
Pró-Reitor Administrativo Wallace Salgado de Oliveira 
Pró-Reitora Acadêmica Jaina dos Santos Mello Ferreira 
Pró-Reitor de Extensão Manuel de Souza Esteves 
 
DEPARTAMENTO DE ENSINO A DISTÂNCIA 
Diretor Charleston Assis 
Assessora Andrea Jardim 
Coordenadora Geral de Pós Graduação Maria Alice Correa Peixoto 
FICHA TÉCNICA 
Texto: Alessandra Fonseca 
Revisão Ortográfica: Marcus Vinícius da Silva e Rafael Dias de Carvalho Moraes 
Projeto Gráfico e Editoração:, Eduardo Bordoni, Fabrício Ramos, Marcos Antonio Lima da Silva 
Supervisão de Materiais Instrucionais: Janaina Gonçalves de Jesus 
Ilustração: Eduardo Bordoni e Fabrício Ramos 
Capa: Eduardo Bordoni e Fabrício Ramos 
 
COORDENAÇÃO GERAL: 
Departamento de Ensino a Distância 
Rua Marechal Deodoro 217, Centro, Niterói, RJ, CEP 24020-420 www.universo.edu.br 
 
Ficha catalográfica elaborada pela Biblioteca Universo – Campus Niterói 
 
Bibliotecária: Elizabeth Franco Martins CRB 7/4990 
Informamos que é de única e exclusiva responsabilidade do autor a originalidade desta obra, não se responsabilizando a ASOEC 
pelo conteúdo do texto formulado. 
© Departamento de Ensino a Distância - Universidade Salgado de Oliveira 
Todos os direitos reservados. Nenhuma parte desta publicação pode ser reproduzida, arquivada ou transmitida de nenhuma forma 
ou por nenhum meio sem permissão expressa e por escrito da Associação Salgado de Oliveira de Educação e Cultura, mantenedora 
da Universidade Salgado de Oliveira (UNIVERSO). 
F 
676c Fonseca, Alessandra 
 Ciência da computação II / Alessandra Fonseca ; revisão de Marcus 
Vinicius da Silva e Rafael Dias de Carvalho Moraes. – Niterói, RJ: 
EAD/UNIVERSO, 2014. 
 227 p. : il. 
 
 1. Ciência da computação. 2. Informática. 3. Pascal (Linguagem de 
programação de computadores). 4. Ensino à distância. I. Silva, Marcus Vinicius 
da. II. Moraes, Rafael Dias de Carvalho. III. Título. 
 CDD 004 
Ciência da Computação II 
3 
 
Palavra da Reitora 
 
Acompanhando as necessidades de um mundo cada vez mais complexo, 
exigente e necessitado de aprendizagem contínua, a Universidade Salgado de 
Oliveira (UNIVERSO) apresenta a UNIVERSO Virtual, que reúne os diferentes 
segmentos do ensino a distância na universidade. Nosso programa foi 
desenvolvido segundo as diretrizes do MEC e baseado em experiências do gênero 
bem-sucedidas mundialmente. 
São inúmeras as vantagens de se estudar a distância e somente por meio 
dessa modalidade de ensino são sanadas as dificuldades de tempo e espaço 
presentes nos dias de hoje. O aluno tem a possibilidade de administrar seu próprio 
tempo e gerenciar seu estudo de acordo com sua disponibilidade, tornando-se 
responsável pela própria aprendizagem. 
O ensino a distância complementa os estudos presenciais à medida que 
permite que alunos e professores, fisicamente distanciados, possam estar a todo 
momento ligados por ferramentas de interação presentes na Internet através de 
nossa plataforma. 
Além disso, nosso material didático foi desenvolvido por professores 
especializados nessa modalidade de ensino, em que a clareza e objetividade são 
fundamentais para a perfeita compreensão dos conteúdos. 
A UNIVERSO tem uma história de sucesso no que diz respeito à educação a 
distância. Nossa experiência nos remete ao final da década de 80, com o bem-
sucedido projeto Novo Saber. Hoje, oferece uma estrutura em constante processo 
de atualização, ampliando as possibilidades de acesso a cursos de atualização, 
graduação ou pós-graduação. 
Reafirmando seu compromisso com a excelência no ensino e compartilhando 
as novas tendências em educação, a UNIVERSO convida seu alunado a conhecer o 
programa e usufruir das vantagens que o estudar a distância proporciona. 
 
Seja bem-vindo à UNIVERSO Virtual! 
Professora Marlene Salgado de Oliveira 
Reitora
Ciência da Computação II 
4 
 
Ciência da Computação II 
5 
 
 
Sumário 
 
Apresentação da Disciplina ....................................................................................................... 07 
Plano da Disciplina ........................................................................................................................ 09 
Unidade 1- Algoritmo como Padrão de Comportamento ......................................... 13 
Unidade 2- Conceitos Básicos da Linguagem Pascal ..................................................... 35 
Unidade 3−Entrada e Saída de Dados ................................................................................. 63 
Unidade 4−Estruturas de Decisão e Repetição ................................................................ 81 
Unidade 5− Funções e Procedimentos ................................................................................. 141 
Unidade 6- Vetores e Matrizes .................................................................................................. 183 
Considerações Finais .................................................................................................................... 199 
Conhecendo a Autora ................................................................................................................... 200 
Referências ....................................................................................................................................... 201 
Anexos ............................................................................................................................................... 203 
 
Ciência da Computação II 
6 
 
 
Ciência da Computação II 
7 
 
Apresentação da Disciplina 
 
Seja bem-vindo à disciplina Ciência da Computação II. 
Ao início de cada unidade de estudo, você encontrará uma apresentação dos 
temas que serão desenvolvidos, os aspectos mais relevantes, além dos objetivos a 
serem alcançados. Além disso, há também uma série de referências bibliográficas 
sobre os assuntos abordados. 
As unidades foram redigidas de forma a facilitar o entendimento do seu 
conteúdo, o qual compreende uma parte conceitual, sempre com aplicações dos 
conceitos, seguida de exercícios práticos. 
Estamos certos de que a leitura dos conteúdos será uma atividade prazerosa. 
Utilize o seu tempo e faça o seu próprio ritmo de aprendizagem. 
Lembre-se, você tem total autonomia na condução do seu processo de estudo, 
mas sempre que possível procure seguir o cronograma da disciplina. 
É importante que você faça todas as atividades e reflita sobre os respectivos 
padrões de respostas. Além disso, você poderá complementar o conteúdo de cada 
unidade através da leitura complementar e, por sua própria iniciativa, buscar nos 
jornais e revistas casos práticos que envolvam empresas, objeto da aplicação das 
teorias e modelos analisados nas unidades. 
 
 
Bons Estudos !
Ciência da Computação II 
8 
 
Plano da Disciplina 
 
A disciplina Ciência da Computação II tem por objetivo principal apresentar 
uma visão geral e introdutória de lógica de programação, essencial para alicerçar 
os conhecimentos nas atividades futuras, tanto acadêmicas como profissionais. 
O conteúdo foi dividido em seis unidades para maior compreensão dos 
assuntos abordados. Com a finalidade de facilitar a compreensão segue uma 
síntese de cada unidade, ressaltando seus objetivos específicos para que você 
possa ter uma visãoampla do conteúdo que irá estudar. 
Segue um resumo de cada unidade, enfatizando seus objetivos para que você 
tenha uma visão geral daquilo que irá estudar: 
 
Unidade 1- Algoritmo como Padrão de Comportamento 
Nesta unidade, veremos o conceito de algoritmo, como trabalhar os tipos de 
informações e os conceitos de variáveis. Além disso, iniciaremos a linguagem de 
programação. 
Objetivo: 
 Compreender a aplicação computacional dos algoritmos. 
 
Unidade 2- Conceitos Básicos da Linguagem Pascal 
Em nossa segunda unidade, veremos uma ferramenta de programação 
PASCALZIM, na qual aprenderemos uma linguagem de programação PASCAL. 
Veremos tipos de dados, declaração de variáveis, atribuição, expressões aritméticas 
e lógicas. 
Objetivos: 
 Utilizar ferramenta Pascalzim, transformando o português estruturado 
(algoritmo) em linguagem de programação. 
 
Ciência da Computação II 
9 
 
Unidade 3−Entrada e Saída de Dados 
Nesta unidade, vamos estudar o comando de entrada e saída de dados, 
podendo assim gerar resultado em tela . 
Objetivos: 
 Definir quais serão as entradas possíveis para os procedimentos que virão a 
constituir soluções de futuros problemas e especificaremos quais as formas 
de manipulação das mesmas. 
 
Unidade 4−Estruturas de Decisão e Repetição 
Nesta quarta unidade, veremos o comando de estrutura de decisão, podendo 
ter várias respostas um teste lógico, os comandos são IF e CASE. 
Vamos estudar também como podemos repetir a mesma tarefa várias vezes, 
usando uma variável para armazenar em memória várias informações. Comandos a 
serem vistos são FOR, WHILE e REPEAT – UNTIL. 
Objetivos: 
 Criar um programa qu e se ja capaz de tomar decisões; escolher uma 
entre várias possibilidades e permitir a construção de uma estrutura que 
comanda os processos de repetição, usando as seguintes estruturas, FOR, 
WHILE e REPEAT. 
 
Unidade 5− Funções e Procedimentos 
Vamos ver em PASCAL que podemos definir blocos de execução internos a um 
programa, chamados subprogramas. Cada bloco executa uma tarefa determinada. 
Isto favorece a legibilidade e manutenção do programa, além de auxiliar no 
domínio da complexidade quando definimos o programa, já que podemos tratar 
partes do problema de forma isolada. Subprogramas têm parâmetros que podem 
ser de entrada, saída, ou ambos. Há dois tipos de subprogramas em Pascal: os 
procedimentos (PROCEDURES) e as funções (FUNCTIONS). 
 
Ciência da Computação II 
10 
 
Objetivos: 
 Conhecer os comandos que são muito utilizadas para organizar a 
programação; 
 Criar sub-rotinas que poderão ser reutilizadas em várias partes do programa, 
evitando assim que um mesmo código de programação tenha que ser 
reescrito várias vezes; 
 Criar uma função ou procedimento. 
 
Unidade 6- Vetores e Matrizes 
Nesta nossa última unidade, vamos estudar as variáveis Compostas 
Homogêneas - Vetores e Matrizes. 
Objetivos: 
 Conhecer as estruturas de dados estáticas e homogêneas (vetores e 
matrizes); 
 Estudar as operações que as estruturas de dados estáticas e homogêneas 
suportam e algumas aplicações básicas; 
 Introduzir as estruturas de dados;Conceito de vetores; e Conceito de 
matrizes. 
 
 
Bons Estudos. 
 
 
 
Ciência da Computação II 
11 
 
 
 
 
 
Ciência da Computação II 
12 
1 Algoritmo como Padrão de Comportamento 
O que são Algoritmos? 
Tipos de Informação. 
Variáveis. 
Instruções Primitivas. 
Representação de Algoritmos através de Fluxogramas. 
Introdução à Linguagem Pascal. 
 
Ciência da Computação II 
13 
 
Nesta unidade veremos o conceito de algoritmo, como trabalhar os tipos de 
informações e os conceitos de variáveis. Além disso, iniciaremos a linguagem de 
programação. 
 
Objetivo da Unidade: 
Compreender a aplicação computacional dos algoritmos. 
 
Plano da Unidade: 
 
 O que são Algoritmos? 
 Tipos de Informação. 
 Variáveis. 
 Instruções Primitivas. 
 Representação de Algoritmos através de Fluxogramas. 
 Introdução à Linguagem Pascal. 
 
 
 
 
Bons Estudos
Ciência da Computação II 
14 
 
O que são Algoritmos? 
 
O uso de algoritmos é quase tão antigo quanto à matemática. Com o passar 
do tempo, entretanto, ele foi bastante esquecido pela matemática. Com o 
advento das máquinas de calcular e mais tarde os computadores, o uso de 
algoritmos ressurgiu com grande vigor, como uma forma de indicar o caminho 
para a solução dos mais variados problemas. 
Algoritmo não é a solução do problema, pois, se assim fosse, cada 
problema teria um único algoritmo. Algoritmo é o caminho para a solução de 
um problema e, em geral, os caminhos que levam a uma solução são muitos. 
Ao longo dos anos surgiram muitas formas de representar os algoritmos, 
alguns utilizando linguagens semelhantes às linguagens de programação e 
outras utilizando formas gráf i cas. O aprendizado de algoritmos não se consegue 
a não ser através de muitos exercícios. 
 
A especificação da sequência ordenada de passos que deve ser seguida para a 
realização de uma tarefa, garantindo a sua repetibilidade, dá-se o nome de 
Importante 
Algoritmos não se aprendem: 
Copiando algoritmos 
Estudando algoritmos prontos 
 
Algoritmos se aprendem: 
Construindo algoritmos 
Testando algoritmos 
Ciência da Computação II 
15 
algoritmo. Embora esta definição de algoritmo seja correta, podemos definir 
algoritmo, de maneira informal e completa como: 
 
Algoritmo é um conjunto de regras, bem definidas, para a solução de um 
problema em um tempo finito e com um número finito de passos. 
Algoritmo pode ser definido também como um conjunto de valores como 
entrada e produz algum valor ou conjunto de valores como saída. Um algoritmo 
deve sempre possuir pelo menos um resultado, normalmente chamado de saída, e 
satisfazer a propriedade da efetividade, isto é, todas as operações especificadas no 
algoritmo devem ser suficientemente básicas para que possam ser executadas 
de maneira exata e num tempo finito. 
Na prática não é importante se ter apenas um algoritmo, mas sim, um bom 
algoritmo. O mais importante de um algoritmo é a sua correção, isto é, se ele 
resolve realmente o problema proposto e o faz exatamente. 
 
Para se ter um algoritmo, é necessário: 
 
 Que se tenha um número finito de passos; 
 Que cada passo esteja precisamente def i nido, sem possíveis 
ambiguidades; Que existam zero ou mais entradas tomadas de conjuntos 
bem def inidos; Que existam uma ou mais saídas; 
 Que exista uma condição de f i m sempre atingida para quaisquer 
entradas e num tempo finito 
 
Para que um computador possa desempenhar uma tarefa é necessário que 
esta seja detalhada passo a passo, numa forma compreensível pela máquina, 
utilizando aquilo que se chama de programa. Neste sentido, um programa de 
computador nada mais é que um algoritmo escrito numa forma compreensível 
pelo computador. 
 
Ciência da Computação II 
16 
 
Por que precisamos de Algoritmos? 
Vejamos o que algumas pessoas importantes, para a Ciência da Computação, 
disseram a respeito de algoritmo: 
A noção de algoritmo é básica para toda a programação de computadores . 
[KNUTH- Professor da Universidade de Stanford, autor da coleção The art of 
computer programming ] 
 O conceito central da programação e da ciência da 
computação é o conceito de algoritmo . [WIRTH - Professor 
da Universidade de Zurique, autor de diversos livros na 
área e responsável pela criação de linguagens de 
programação como ALGOL, PASCAL e MODULA-2]. 
 
A importância do algoritmo está no fato de termos que especificar uma 
sequência de passos lógicos para que o computador possa executar uma tarefa 
qualquer, pois o mesmo por si só não tem vontade própria, faz apenas o que 
mandamos. Com uma ferramenta algorítmica, podemos conceber uma solução 
paraum dado problema, independendo de uma linguagem específica e até 
mesmo do próprio computador. 
 
Método para Construir um Algoritmo 
Utilizando os conceitos já desenvolvidos, esquematizaremos um método 
para construir um algoritmo logicamente correto: 
 
 Ler atentamente o enunciado: 
Deve-se reler o enunciado de um exercício quantas vezes for necessário, até 
compreendê-lo completamente. A maior parte da resolução de um 
exercício consiste na compreensão completa do enunciado. 
 Retirar a relação das entradas de dados do enunciado 
 Através do enunciado descobrimos quais são os dados que devem ser 
fornecidos ao programa, via teclado, a partir dos quais são desenvolvidos os 
cálculos. Obs. Pode haver algum algoritmo que não necessite da entrada de dados 
(pouco comum). 
Ciência da Computação II 
17 
 
 Retirar do enunciado as informações de saída 
Através do enunciado podemos descobrir quais são as informações que 
devem ser mostradas para compor o resultado final, objetivo do algoritmo. 
 
 Determinar o que deve ser feito para transformar as entradas em saídas 
Nessa fase é que teremos a construção do Algoritmo propriamente dito. 
Devemos determinar qual sequência de passos ou ações é capaz de transformar 
um conjunto de dados nas informações de resultado. Para isso, utilizamos os 
fatores descritos anteriormente, tais como legibilidade, portabilidade, método 
cartesiano e planejamento reverso e, finalmente, podemos construir o algoritmo. 
 
Tipos de Informação 
 
Todo o trabalho realizado por um computador é baseado na 
manipulação das informações contidas em sua memória. Estas informações 
podem ser classificadas em dois tipos: 
 
 As instruções qu e comandam o funcionamento d a máquina e 
determinam a maneira c o m o devem ser tratados os dados. 
 Os dados propriamente ditos, os quais correspondem à porção das 
informações a serem processadas pelo computador. 
 
A classificação apresentada a seguir não se aplica a nenhuma linguagem 
de programação específica; pelo contrário, ela sintetiza os padrões utilizados na 
maioria das linguagens. 
 
Ciência da Computação II 
18 
 
Tipos Inteiros 
São caracterizados como tipos inteiros, os dados numéricos positivos ou 
negativos. Excluindo-se destes qualquer número fracionário. Como exemplo deste 
tipo de dado, têm-se os valores: 35, 0, -56, 1024 entre outros. 
 
Tipos Reais (Numéricos) 
São caracterizados como tipos reais, os dados numéricos positivos , 
negativos e números fracionários. Como exemplo deste tipo de dado, têm-se os 
valores: 35, 0, -56, 1.2, -45.987 entre outros. 
 
Tipos de Caracteres 
São caracterizados como tipos caracteres, as sequências contendo letras, 
números e símbolos especiais. Uma sequência de caracteres deve ser indicada 
entre aspas ( ). Este tipo de dado também é conhecido como string, alfanumérico, 
string, literal ou cadeia. Como exemplo deste tipo de dado, têm-se os valores: 
Programação , Rua Alfa, 52 Apto 1 , Fone 574-9988 , 04387-030 , , 7 entre 
outros. 
 
Tipos Lógicos 
São caracterizados como tipos lógicos os dados com valor verdadeiro e falso, 
sendo que este tipo de dado poderá representar apenas um dos dois valores. Ele é 
chamado por alguns de tipo booleano, devido à contribuição do lósofo e 
matemático inglês George Boole na área da lógica matemática. 
 
Variáveis 
 
Na programação, uma variável é um objeto (uma posição, frequentemente 
localizada na memória) capaz de reter e representar um valor ou expressão. 
Enquanto as variáveis só existem em tempo de execução, elas são associadas 
a nomes , chamados identificadores durante o tempo de desenvolvimento.
Ciência da Computação II 
19 
 
Armazenamento de dados na Memória 
Para armazenar os dados na memória, imagine que a memória de um 
computador é um grande arquivo com várias gavetas, onde cada gaveta pode 
armazenar apenas um único valor (seja ele numérico, caractere ou lógico). Se é 
um grande arquivo com várias gavetas, é necessário identificar com um nome a 
gaveta que se pretende utilizar. Desta forma o valor armazenado pode ser 
utilizado a qualquer momento. 
 
Conceito e Utilidade de Variáveis 
Temos como definição de variável tudo aquilo que é sujeito a variações, que é 
incerto, instável ou inconstante. E quando se fala de computadores, temos 
que ter em mente que o volume de informações a serem tratadas é grande e 
diversificado. Desta forma, os dados a serem processados serão bastante variáveis. 
Como visto anteriormente, as informações correspondentes a diversos tipos de 
dados são armazenadas nas memórias dos computadores. Para acessar 
individualmente cada uma destas informações, em princípio, seria necessário 
saber o tipo de dado desta informação (ou seja, o número de bytes de memória 
por ela ocupados) e a posição inicial deste conjunto de bytes na memória. 
Percebe-se que esta sistemática de acesso a informações na memória é 
bastante ilegível e difícil de se trabalhar. Para contornar esta situação, criou-se o 
conceito de variável, o qual é uma entidade destinada a guardar uma informação. 
Basicamente, uma variável possui três atributos: um nome, um tipo de dado 
associado à mesma e a informação por ela guardada. Toda variável possui um 
nome que tem a função de diferenciá-la das demais. 
Cada linguagem de programação estabelece suas próprias regras de 
formação de nomes de variáveis. Adotaremos para os algoritmos as seguintes 
regras: 
 um nome de variável deve necessariamente começar com uma letra; 
 um nome de variável não deve conter nenhum símbolo especial, exceto 
a sublinha ( _ ) e nenhum espaço em branco; 
 Um nome de variável não poderá ser uma palavra reservada a uma 
instrução de programa. 
Ciência da Computação II 
20 
 
Exemplos de nomes de variáveis: 
 
 Salário - correto 
 1ANO - errado (não começou uma letra) 
 ANO1 - correto 
 SAL/HORA - errado (contém o caractere / ) 
 SAL_HORA - correto 
 DESCONTO - errado (não começou com uma letra) (não entendi) 
 
Obviamente é interessante adotar nomes de variáveis relacionados às funções 
que serão exercidas pelas mesmas dentro de um programa. Além disso, outro 
atributo característico de uma variável é o tipo de dado que ela pode armazenar. 
Este atributo define a natureza das informações contidas na variável. Por último há 
o atributo informação, que nada mais é do que a informação útil contida na 
variável. 
Uma vez definidos, os atributos que têm nome e tipo de dado de uma variável 
não podem ser alterados e assim permanecem durante toda a sua existência, 
desde que o programa que a utiliza não seja modificado. Por outro lado, o atributo 
informação está constantemente sujeito a mudanças de acordo com o fluxo de 
execução do programa. Em resumo, o conceito de variável foi criado para facilitar 
a vida dos programadores, permitindo acessar informações na memória dos 
computadores por meio de um nome, em vez do endereço de uma célula de 
memória. 
 
Exemplificando 
Suponha que fossem atribuídos os seguintes valores às seguintes variáveis: A 
= mesa , B= 0, C = 2, D = -5.4, E = João e E = 5.656. 
Ciência da Computação II 
21 
 
A figura abaixo mostra como estas variáveis ficam armazendas na memória. 
 
Instruções Primitivas 
 
Como o próprio nome diz, instruções primitivas são os comandos básicos que 
efetuam tarefas essenciais para a operação dos computadores, como entrada e 
saída de dados (comunicação com o usuário e com dispositivos periféricos), e 
movimentação dos mesmos na memória. Estes tipos de instrução estão presentes 
na maioria das linguagens de programação. 
Antes de passar para a descrição das instruções primitiva,é necessária a 
definição de alguns termos que serão utilizados: 
 
 Dispositivo de entrada é o meio pelo qual as informações (mais 
especificamente os dados) são transferidas pelo usuário ou pelos níveis 
secundários de memória ao computador. Os exemplos mais comuns são o 
teclado, o mouse, leitora ótica, leitora de código de barras, as fitas e discos 
magnéticos. 
 Dispositivo de saída é o meio pelo qual as informações (geralmente os 
resultados da execução de um programa) são transferidas pelo computador 
ao usuário ou aos níveis secundários de memória. Os exemplos mais comuns 
são o monitor de vídeo, impressora, fitas e discos magnéticos. 
 
Ciência da Computação II 
22 
 
 Sintaxe é a forma como os comandos devem ser escritos, a fim de que 
possam ser entendidos pelo tradutor de programas. A violação das regras 
sintáticas é considerada um erro sujeito à pena do não reconhecimento por 
parte do tradutor; 
 Semântica é o significado, ou seja, o conjunto de ações que serão exercidas 
pelo computador durante a execução do referido comando. Daqui em 
diante, todos os comando novos serão apresentados por meio de sua 
sintaxe e sua semântica, isto é, a forma como devem ser escritos e a(s) 
ação(ões) que executam. 
 
Representação de Algoritmos através de Fluxogramas 
 
Fluxograma é uma representação gráfica de algoritmos, na qual formas 
geométricas diferentes implicam ações distintas. Tal propriedade facilita o 
entendimento das ideias contidas nos algoritmos. Nota-se que os fluxogramas 
convencionais preocupam-se com detalhes de nível físico da implementação do 
algoritmo. Por exemplo, figuras geométricas diferentes são adotadas para 
representar operações de saída de dados realizadas em dispositivos distintos, 
como uma unidade de armazenamento de dados ou um monitor de vídeo. 
De modo geral, o fluxograma se resume a um único símbolo inicial, por onde a 
execução do algoritmo começa, e um ou mais símbolos finais, que são pontos onde 
a execução do algoritmo se encerra. Partindo do símbolo inicial, há sempre um 
único caminho orientado a ser seguido, representando a existência de uma única 
sequência de execução das instruções. Isto pode ser melhor visualizado pelo fato 
de que apesar de vários caminhos poderem convergir para uma mesma figura do 
diagrama, há sempre um único caminho saindo desta. Exceções a esta regra são os 
símbolos finais, dos quais não há nenhum fluxo saindo, e os símbolos de decisão, 
de onde pode haver mais de um caminho de saída (normalmente dois caminhos), 
representando uma bifurcação no fluxo. 
Um diagrama de blocos é uma forma de fluxograma usada e desenvolvida por 
profissionais da programação, tendo como objetivo descrever o método e a 
sequência do processo dos planos num computador. Pode ser desenvolvido em 
Ciência da Computação II 
23 
 
qualquer nível de detalhe que seja necessário. Quando se desenvolve um 
diagrama para o programa principal, por exemplo, seu nível de detalhamento 
pode chegar até as instruções. Esta ferramenta usa diversos símbolos geométricos, 
os quais estabelecerão as sequências de operações a serem efetuadas em um 
processamento computacional. Após a elaboração do diagrama de bloco, é 
realizada a codificação do programa. A figura abaixo mostra o exemplo de um 
diagrama de blocos ou fluxogramas. 
 
Introdução à Linguagem Pascal 
 
A linguagem Pascal se destina à programação de computadores. Foi 
desenvolvida no final dos anos 60 na Suíça e seu nome é uma homenagem ao 
criador da primeira calculadora mecânica, o matemático francês do século XVII, 
Blaise Pascal. 
Ciência da Computação II 
24 
 
Um dos principais fatores que motivaram o surgimento da linguagem foi a 
obtenção de uma linguagem simples, capaz de incentivar a edição de programas 
claros e facilmente legíveis, favorecendo a utilização das boas técnicas de 
programação. 
Assim como as outras linguagens de programação, o Pascal possui várias 
versões. Cada fabricante cria sua própria versão com suas particularidades. As 
versões mais famosas são o Turbo Pascal, da Borland International e o MS-Pascal, 
da Microsoft. Existem versões de Pascal para todos os tipos de computadores, 
desde MSX e CP-500 a computadores de grande porte como o IBM 4381. 
À medida que o tempo passa, cada fabricante costuma atualizar e melhorar 
as versões de seus programas. O mesmo acontece com as linguagens de 
programação. Em 1983, a Borland criou o Turbo Pascal, versão 1. Essa versão inicial 
passou por sucessivas atualizações até que em 1991 tínhamos o Turbo Pascal, 
versão 6. Neste texto, onde nos referirmos simplesmente à linguagem Pascal, 
estamos nos referindo à versão 5 do Turbo Pascal, lançada em 1988. 
 
Programas Fonte, Objeto e Executável 
Normalmente, quando pensamos em elaborar um programa , estamos 
pensando em fazer um texto com palavras do tipo "read", "write", "function", 
"end", etc. Neste texto, cada palavra escrita obedece a uma gramática rigorosa 
ditada pela linguagem de programação. Queremos que o computador execute 
cada comando associado a cada palavra que escrevemos. Este texto a que 
estamos nos referindo é chamado programa fonte. 
Internamente, todo computador só entende uma linguagem chamada 
linguagem de máquina, formada exclusivamente por números binários, cujos 
únicos algarismos são 0 e 1. Logo, o programa fonte deve passar por algum 
processo de tradução para que o computador possa entendê-lo. Essa tradução é 
chamada compilação. O programa fonte, após a compilação, recebe o nome de 
programa objeto. 
Apesar do programa objeto está na linguagem do computador, ele ainda não 
pode ser executado, pois, sob um certo aspecto, está ainda incompleto. Faltam 
instruções nele que ensinem o computador a executar os comandos básicos da 
Ciência da Computação II 
25 
 
linguagem. Por exemplo, você pode usar uma função trigonométrica no seu 
programa fonte e, na hora dela ser executada, o computador saberá como calculá-
la. Quem é que ensina ao computador a calcular valor de função trigonométrica? A 
resposta a essa pergunta é simples: toda linguagem de programação possui um 
conjunto de instruções básicas pronto para ser adicionado a qualquer programa 
objeto. Esse conjunto de instruções é a biblioteca padrão da linguagem. O ato 
de ligar (link) o programa objeto à biblioteca padrão é chamado ligação (que 
algumas pessoas chamam de "linkagem", talvez pelo hábito de usar neologismos). 
O programa objeto após a ligação com a biblioteca padrão torna-se um programa 
executável. 
 
Nomes dos Arquivos em Disco 
Os nomes com os quais os programas de qualquer linguagem de 
programação são gravados no disco, obedecem às regras de formação de nomes 
do sistema operacional: todo arquivo do disco é especificado por um nome 
obrigatório com no máximo 8 caracteres e uma extensão opcional com no 
máximo 3 caracteres. O nome e a extensão são separados por um ponto. Os 
caracteres que podem aparecer no nome ou extensão são letras, algarismos e 
alguns caracteres especiais como: 
 
( ) - _ $ ! @ # 
 
Ciência da Computação II 
26 
 
Não podem fazer parte do nome ou extensão os seguintes caracteres: 
 
+ ? * \ / | < > [
 ] : ; , . 
 
É comum um programa fonte em Pascal ter extensão PAS. Se você não 
mencionar a extensão de um arquivo, o Pascal incluirá automaticamente a 
extensão PAS, sempre que for feito algum uso do mesmo. Neste caso, dizemos que 
PAS é a extensão "default"( = omissão, falta) do Pascal. A extensão, geralmente, 
classifica o tipo do arquivo. Algumas extensões bastante comuns são: 
 
PAS ---> Programa fonte em Pascal 
BAS ---> Programa fonte em BASIC C ---> Programa fonte em C 
FOR ---> Programa fonte em FORTRANPRO ---> Programa fonte em PROLOG 
ASM ---> Programa fonte em Assembly 
BAK ---> Arquivo cópia (back up) de outro 
BAT ---> Arquivo de lote (batch) EXE ---> Prograa executável 
COM ---> Programa executável 
OBJ ---> Programa objeto 
SYS ---> Arquivo usado pelo sistema operacional 
DOC ---> Texto 
TXT ---> Texto 
TPU ---> Unidade do Turbo Pascal 
 
Por exemplo, para um programa que trate da resolução de sistemas lineares, 
um nome natural poderia ser SISTEMA.PAS. No entanto, o usuário poderia chamá-
lo de @##!.)$$ se quisesse. Ambos são nomes válidos para o Pascal, aliás, para o 
Ciência da Computação II 
27 
 
DOS. Se no disco aparecer também um SISTEMA.BAK e um SISTEMA.EXE, então é 
muito provável que o SISTEMA.BAK seja apenas uma cópia do SISTEMA.PAS, e 
o SISTEMA.EXE seja sua versão executável. Além disso, outras versões de Pascal, 
bem como outras linguagens de programação, costumam criar arquivos OBJ 
no disco, correspondentes aos programas objeto, mas não é esse o caso do 
Turbo Pascal. Logo, o programa objeto correspondente à SISTEMA.PAS será 
mantido apenas na memória e você não terá em disco um SISTEMA.OBJ. 
 
Dessa forma terminamos nossa primeira unidade. Vamos analisar o 
conhecimento adquirido sobre o algoritmo. 
 
É HORA DE SE AVALIAR! 
Neste momento em que finalizamos o conteúdo desta unidade de estudos, é 
fundamental que você não se esqueça de realizar as atividades propostas no 
caderno de exercícios! Elas são fundamentais para ajudá-lo a fixar o conteúdo 
teórico trabalhado, a sistematizar as ideias e os conceitos apresentados, além de 
proporcionar a sua autonomia no processo ensino-aprendizagem. 
Caso prefira, redija suas respostas no caderno de exercícios e depois as envie 
através do nosso ambiente virtual de aprendizagem (AVA). Procure interagir 
permanentemente conosco e utilize todos os recursos didáticos e pedagógicos 
disponibilizados com o objetivo de aprimorar a sua formação acadêmica. 
Ciência da Computação II 
28 
 
Exercícios - Unidade 1- 
 
1- Considere que, durante a execução do algoritmo a seguir, os valores 2 e 3 serão 
lidos pelo comando da linha 1 e o valor 10 será lido pelo comando da linha 3. 
 
1 
2 
3 
4 
5 
6 
 
leia A, B; 
C = 2 * A; 
leia A; 
C = C + B; 
imprima A, B, C; 
pare; 
 
Considerando o exposto acima, marque com um X a alternativa com afirmativa 
INCORRETA: 
 
a) Após a leitura da linha 1, a variável A possui o valor 2 e a variável B o valor 3. 
b) Na linha 2, o valor de C passa a ser 20. 
c) A variável A tem seu valor alterado ao longo do programa. 
d) Após a leitura da linha 3, o valor de A passa a ser 10, substituindo o valor 
anterior de A. 
e) A linha 4 modifica o valor de C para 7 . 
Ciência da Computação II 
29 
 
2- No contexto de subprogramação, é correto afirmar sobre a recursividade e a 
passagem de parâmetros: 
 
a) na subprogramação, para se criar um procedimento é necessário um 
identificador, uma lista de parâmetros e as ações que nele serão executadas. 
b) um procedimento pode ser ativado em qualquer parte do programa e sua 
ativação se dá por meio do uso de sua lista de parâmetros. 
c) dentro de um procedimento ou de uma função, quando ocorre a passagem de 
parâmetro por valor, as alterações que a função ou procedimento efetuar afetarão 
diretamente a variável original. 
d) para processar todos os “nós” de uma árvore, um procedimento chama a si 
mesmo recursivamente para todos os “nós” filhos, exceto o caso base, que é o nó 
usualmente chamado “folha”. 
e) Uma característica típica da recursão é que um conjunto, desde que finito, de 
sentenças ou outros dados pode ser definido, analisado ou produzido por um 
programa de computador. 
 
3- Marque a extensão correta do Pascal. 
 
a) .doc 
b) pas 
c) .bas 
d) .pas 
e) .xls 
 
Ciência da Computação II 
30 
 
4- Analise o fluxograma do cálculo de média, e marque a resposta correta para 
completar o fluxograma, seguindo a ordem correta. 
 
 
 
a) "reprovado","aprovado", "fim", 
b) "fim", "aprovado","reprovado" 
c) "fim", "reprovado", "aprovado" 
d) "aprovado","fim","reprovado" 
e) "aprovado","reprovado","fim" 
 
Ciência da Computação II 
31 
 
5- marque a resposta correta que indique o tipo de informação com os valores 150, 
-50, -150,50. 
 
a) caracter. 
b)real. 
c) inteiro. 
d) lógico. 
e) caracter duplo. 
 
6- De acordo com a definição a seguir, marque a resposta correta ." é o meio pelo 
qual as informações (geralmente os resultados da execução de um programa) são 
transferidos pelo computador ao usuário ou aos níveis secundários de 
memória. Os exemplos mais comuns são o monitor de vídeo, impressora, tas e 
discos magnéticos" 
 
a) Dispositivo de entrada. 
b) Dispositivo de saída. 
c) Dispositivo de saída e entrada. 
d) Semântica. 
e) Sintaxe, 
 
7- Defina Algoritmo. 
 
 
 
 
 
 
 
 
Ciência da Computação II 
32 
 
8- O que é necessário para se ter um algoritmo? 
 
 
 
 
 
 
 
 
9- Qual o método para construir um Algorítimo ? 
 
 
 
 
 
 
 
 
 
10- O que é variável? 
 
 
 
 
 
 
 
 
 
 
 
Ciência da Computação II 
33 
 
 
Conceitos Básicos da 
Linguagem Pascal 
Estrutura de um programa em Pascal. 
 
2
Ciência da Computação II 
34 
 
Em nossa segunda unidade, veremos uma ferramenta de programação 
PASCALZIM, na qual aprenderemos uma linguagem de programação PASCAL. 
Veremos tipos de dados, declaração de variáveis, atribuição, expressões aritméticas 
e lógicas. 
 
Objetivos da Unidade: 
O objetivo dessa unidade é apresentar e utilizar a ferramenta Pascalzim, 
transformando o português estruturado (algoritmo) em uma linguagem de 
programação. 
 
Plano da Unidade: 
 Estrutura de um programa em Pascal. 
 
 
 
 
 
 
 
 
 
 
 
 
Bons Estudos. 
 
Ciência da Computação II 
35 
 
Estrutura de um Programa em Pascal 
 
Um programa em Pascal é um conjunto de palavras e símbolos especiais 
(comandos, variáveis, funções, algarismos, parênteses etc.) escritos segundo as 
regras de uma sintaxe pré-fixada e possui a seguinte estrutura: 
 
 Cabeçalho; 
 Especif i cação das unidades usadas pelo programa; 
 Declarações de tipos, constantes, variáveis, rótulos, funções e 
procedimentos; 
 Seção principal. 
 O cabeçalho é usado para dar nome ao programa e possui a forma: 
 
PROGRAM Nome_do_programa; 
 
O cabeçalho é identif i cado pela palavra chave PROGRAM, seguida de um 
nome que identif i cará o programa, e encerra-se com um ponto e vírgula. Ele 
serve apenas para orientação do usuário. Exemplo: 
 
PROGRAM Teste; 
 
Uma linha como essa, atribui o nome Teste a um programa. A 
especif i cação das unidades usadas é feita com um comando USES, seguido 
dos nomes das unidades a serem usadas separadas por vírgula, com um 
ponto e vírgula no final da linha: 
 
USES unidade1, unidade2, ... ; 
 
Ciência da Computação II 
36 
 
Em Pascal, diversos comandos podem ser agrupados em conjuntos 
denominados unidades (units). Temos assim uma unidade para vídeo, outra 
para manipulação de arquivos em disco, outra com os comandos gráf i cos, 
etc. Exemplo: 
 
USES Crt, Graph; 
 
Esta declaração permite que sejam usados no programa comandos, 
funções, constantes, ... das unidades CRT e GRAPH. 
 
A seção principal do programa inicia-se com a palavra chave BEGIN, 
seguida de linhas de comandos, e encerra-se com a palavra chave END 
seguida de um ponto: 
 
BEGIN comando1; comando2; 
... ... END. 
 
A seção principal é a única parte obrigatória de um programa em Pascal. 
No entanto, em todo programa, tudo que vier a ser usado deverá ter sido 
declarado antecipadamente de forma adequada. 
A execução de todo programainicia-se pela seção principal. 
Não serão diferenciadas letras minúsculas de maiúsculas e serão ignorados 
os espaços em branco. O final de um comando ou declaração é sinalizado por 
um ponto e vírgula. As quatro expressões a seguir serão consideradas 
idênticas: 
(1) X := A + B + C; (2) x:=a+b + C; (3) x := a + (4) X := 
b + a + B 
c; 
 
Ciência da Computação II 
37 
 
Identicafidores 
Um identicafidor é um conjunto de caracteres usado para dar nome a um 
programa, unidade, rótulo, variável, tipo, constante, função ou procedimento. 
Todo identificador deve iniciar-se com uma letra e pode ser seguido por qualquer 
quantidade de outras letras, algarismos ou o sinal de sublinhado ( _ ). Somente os 
63 primeiros caracteres serão considerados significativos. 
 
O comprimento do nome de um identificador não tem efeito negativo sobre 
o desempenho de um programa. Assim, o usuário está livre para criar nomes 
longos para variáveis, funções, etc. sem o risco de tornar o programa lento. De 
preferência, os nomes dos identificadores devem sugerir alguma relação com o 
que estiver sendo identificado. 
Alguns identificadores especiais só podem ser usados pela linguagem com 
um significado já pré-fixado. Esses identificadores são chamados palavras-
reservadas ou palavras -chave e são os seguintes: 
 
 
DIV INTERRUPT THEN 
DO LABEL TO 
DOWNTO MOD TYPE 
ELSE NIL UNIT 
END NOT UNTIL 
EXTERNAL OF USES 
FILE OR VAR 
FOR PACKED WHILE 
FORWARD PROCEDURE WITH 
FUNCTION PROGRAM XOR 
Exemplificando 
 X, NomeDoAluno, 
Valor_Maximo_de_F, MIN2P3. 
_Nota_Um, A+B, 
Ciência da Computação II 
38 
 
ABSOLUTE GOTO RECORD AND IF REPEAT ARRAY 
IMPLEMENTATION SET BEGIN IN SHL CASE INLINE SHR CONST 
INTERFACE STRING 
 
Existem, ainda, alguns identificadores que, apesar de terem um significado 
pré-definido para o Pascal, não são palavras reservadas, como por exemplo: 
REAL, INTEGER, READ, WRITE, PI, SIN, COS. O significado ou a função desses 
identificadores podem ser redefinidos e alterados pelo usuário. 
 
Tipos Definidos de Pascal 
O diagrama a seguir, classifica os tipos pré-definidos do Pascal que serão mais 
utilizados no curso. 
 
Vale ressaltar que a linguagem não possui apenas os tipos abaixo, mas estes é 
que aparecerão em 99% dos problemas. Em resumo vamos trabalhar com os 
seguintes tipos: 
Ciência da Computação II 
39 
 
 Integer - Real 
 String - Char 
 Boolean (Lógico) - Array 
 
Tipo Inteiro 
O tipo inteiro formado pelo subconjunto de inteiros, de acordo com a seguinte 
tabela: 
Tipo Domínio Tamanho 
Integer [-32768, 32767] 2 bytes 
 
Tipo Boolean 
O tipo boolean é formado pelas constantes TRUE (verdadeiro) e FALSE (falso). 
É usado para se avaliar expressões lógicas, um dos tipos mais usados do Pascal. 
 
Tipo Char 
O tipo caracter (char) é formado pelo conjunto dos 256 caracteres ASCII 
(letras, algarismos e símbolos especiais como +, =, %, $, #, <, etc.). As constantes 
deste tipo são escritas entre apóstrofos: 
'A', 'B', '3', etc. 
 
Tipo Real 
O tipo real possui o seguinte domínio e tamanho: 
Tipo Domínio Dígitos Tamanho 
real [2.9E-39, 1.7E38] 11-12 6 bytes 
 
Ciência da Computação II 
40 
 
Em Pascal, as potências de 10 são indicadas com um E. Por exemplo, 2E07 é o 
mesmo que 2 vezes 10 elevado a 7; 3.28E-11 é o mesmo que 3,28 multiplicado por 
10 à -11. 
Os domínios anteriores referem-se aos valores absolutos das constantes. 
Com isso, temos que o tipo real da tabela acima corresponde aos números que 
estão na união dos intervalos [2.9E-39,1.7E38] e [-1.7E38, -2.9E-39]. Está sendo 
indicada também a quantidade de dígitos significativos de cada tipo. 
 
Tipo String 
O tipo string é uma sequência de caracteres de comprimento variando de 0 
a 255. Escrevendo string[N], estamos definindo N como tamanho máximo da 
sequência (neste caso N deve ser menor ou igual a 255). As constantes do tipo 
string devem estar entre apóstrofos. 
 
Exemplo: TYPE 
Nome = string[40]; 
 
Neste exemplo está sendo declarado o tipo Nome que é uma sequência de 
até 40 caracteres. Podem ser consideradas deste tipo as constantes 'Turbo Pascal 
5.0', '1991/1992' e 'UFPB - CCEN - Dep. de Matematicá. 
 
Falaremos dos tipos restantes em capítulos posteriores. 
 
Declaração das Variáveis 
Todas as variáveis usadas por um programa em Pascal devem 
obrigatoriamente ser declaradas com antecedência em um bloco de 
declarações VAR da seguinte forma: 
 
Ciência da Computação II 
41 
 
 
 
VAR 
Identificador, ..., Identificador: Tipo1; Identificador, ..., 
Identificador: Tipo2; 
 
Seguem alguns exemplos de declaração de variáveis na linguagem Pascal: 
 
VAR 
x, y, z: real; 
i, j, k: integer; Inicio, Fim: boolean; Tamanho: integer 
Nome_do_arquivo: string[15]; 
 
Neste bloco VAR estão sendo declaradas as variáveis x, y, z como sendo do 
tipo real, uma variável Tamanho do tipo integer, além de outras variáveis (i, j,). 
Os tipos das variáveis não podem ser mudados durante a execução do 
programa e os valores que elas podem assumir devem ser compatíveis com o 
seu tipo declarado. Por exemplo, a variável i acima pode assumir o valor 2309, 
mas não pode assumir um valor fracionário como 0.71. 
 
Declaração de Constantes 
As constantes de um programa Pascal devem ser declaradas em um bloco 
CONST na forma: 
 
CONST 
Identificador = Expressão; Identificador = Expressão; 
 Identificador: tipo = Valor; Identificador: tipo = Valor; 
 
Ciência da Computação II 
42 
 
Seguem alguns exemplos de declaração de constantes: 
 
CONST 
Pi = 3.1415926; 
NumeroMaximoDeLinhas = 1024 + 253 + 5; Mensagem: string[20] = 
'Hello world!'; X: integer = 7; 
 
As constantes que são declaradas sem a especif i cação de tipo não podem 
ser alteradas durante a execução do programa. Aquelas cujas declarações 
contiverem o tipo base, chamadas constantes tipadas desempenham um papel 
parecido com o das variáveis e podem ser alteradas durante a execução do 
programa. A diferença entre uma variável e uma constante tipada é que a 
variável não pode ter nenhum "valor inicial" na sua declaração. 
 
Comando de Atribuição 
 
A atribuição de um valor ou de uma expressão a um identif i cador é feita 
através do operador de atribuição := . A sintaxe de uma operação de 
atribuição é: 
 
Identificador: = expressão; 
 
Neste tipo de operação, a expressão e o identif i cador devem ser do mesmo 
tipo, exceto no caso em que o identif i cador for do tipo real e a expressão do 
tipo inteiro (pois, neste caso, o valor inteiro da expressão será 
automaticamente transformado em real). Exemplo: Considere a seguinte 
declaração de variáveis: 
 
Ciência da Computação II 
43 
 
VAR 
a, b, c: integer; 
x, y: real; teste: boolean; data: string; 
 
Neste caso, são válidas as atribuições: 
 
a := -17; 
x := y + 3.14; 
teste := false; 
data := '5/12/1991' 
 
Mas não são válidas as atribuições: 
 
teste := a + b + 1; 
c := 6.02E23; 
 
Em caso de várias atribuições a um mesmo identif i cador, será 
considerada apenas a última atribuição efetuada. 
 
Comentários 
 
Comentários são usados para aumentar a clareza de um programa. Todos 
os comentários são desprezados na hora da compilação, logo, eles não têm 
inf luência no desempenho e nem no tamanho do programa objeto. Um 
comentário é colocado entre chaves ou entre (* e *). 
 
Ciência da Computação II 
44 
 
{ Este é um exemplo de comentário... } (* e este também é um comentário! *) 
 
Para o Pascal, as declarações VAR abaixo serão consideradas equivalentes. 
Para o usuário, o segundo bloco de declarações VAR oferece mais clareza. 
 
VAR mat, nota, cod: string; VAR 
mat, { matrícula } nota, { nota final } cod: { 
codigodo curso } 
string; 
 
Expressões Aritméticas 
 
As operações aritméticas pré-definidas do Pascal são: 
 
+ Adição - Subtração 
/ Divisão * Multiplicação 
DIV Quociente da divisão MOD Resto da divisão inteira 
 inteira 
 
9/2 = 4.5 -3*7 = -21 
9 DIV 2 = 4 9 MOD 2 = 1 
10 DIV 2 = 5 10 MOD 2 = 0 
 
Estas operações podem ser utilizadas com operandos reais ou inteiros, 
exceto DIV e MOD que exigem operandos inteiros. A prioridade entre as 
operações é a mesma da Matemática: 
Ciência da Computação II 
45 
 
 Primeiramente, são efetuadas as multiplicações e divisões (/, DIV e MOD); 
 Por último, são efetuadas as adições e subtrações. Temos então dois 
níveis de prioridades, dentro de um mesmo nível, são efetuadas as 
operações da esquerda para a direita. 
 
Exemplo: Na expressão 5 - 2/3*7 + 1 as operações são efetuadas na 
seguinte ordem: divisão, multiplicação, subtração e adição. 
Se uma expressão contiver parênteses, então será executado 
primeiramente o que estiver entre parênteses. Exemplo: 
 
Expressão Valor 
------------------------ 
5 + 2*4 13 (5 + 2)*4 28 
7 DIV 2*3 9 
7 DIV (2*3) 1 
------------------------ 
Importante 
Não existe operador pré-definido para a potenciação. 
Sinal de multiplicação nunca poderá ser omitido. 
A divisão / sempre fornece um resultado real, mesmo que os operandos sejam 
inteiros. 
Se todos os operandos forem inteiros e as operações envolvidas forem +, -, *, 
MOD ou DIV, então o resultado será inteiro. 
Ciência da Computação II 
46 
 
 
Funções Aritméticas pré-definidas 
 
Entre as muitas funções pré-definidas do Pascal, as que estão relacionadas 
com valores numéricos são: 
Função Descrição Tipo do resultado 
LN Logaritmo natural Real 
EXP Exponencial de base e Real 
ABS Valor absoluto real ou inteiro 
SQR Quadrado real ou inteiro 
SQRT Raiz quadrada Real 
SIN Seno Real 
COS Cosseno Real 
ARCTAN Arco-tangente Real 
ROUND Arredondamento Inteiro 
TRUNC Parte inteira Inteiro 
INT Parte inteira Real 
FRAC Parte fracionária Real 
ODD Testa se é ímpar booleano 
 
Em todas elas deve-se acrescentar um argumento entre parênteses à 
frente do nome da função, como em COS(x) ou SQRT(y). O Pascal não tem pré-
definidas funções como tangente, secante, arco-seno. Em breve será mostrado 
como o usuário poderá definir essas funções, bem como outras com domínio e 
contradomínio mais complexos. 
Exemplo: O modulo do seno do quadrado de x e codif icado como 
ABS(SIN(SQR(x))). Neste tipo de expressão, é obrigatório que a quantidade de 
parênteses abertos seja a mesma de fechados. 
Exemplo: O quociente entre x2 + 3x e x2 + 5 se escreve como (SQR(x) + 
3*x)/(SQR(x) + 5) ou como (x*x + 3*x)/(x*x + 5). Nestes casos, o uso dos 
parênteses é fundamental. 
Ciência da Computação II 
47 
 
Exemplo: A derivada do arco-seno de x, ou seja, 1 sobre a raiz quadrada 
da diferença entre 1 e o quadrado de x, se escreve como 1/SQRT(1 - SQR(x)). 
Exemplo: O cubo de x pode ser codif icado como x*x*x, ou como 
EXP(3*LN(x)). Em geral, x elevado a y pode ser codif icado como EXP(y*LN(x)). 
Exemplo: A função booleana ODD testa se um inteiro n e ímpar ou não. 
ODD(n) fornece um valor TRUE se n for ímpar e FALSE em caso contrário. 
Desse modo, ODD(5) = TRUE e ODD(4) 
 
= FALSE. Exemplo: 
TRUNC(1.35) = 1 (inteiro) TRUNC(1.97) = 1 (inteiro) INT(1.35) = 1 
(real)INT(1.97) = 1 (real) ROUND(1.35) = 1 ROUND(1.97) = 2 
FRAC(1.35) = 0.35 FRAC(1.97) = 0.97 
 
As funções INT e TRUNC são numericamente equivalentes. A diferença 
entre elas está apenas no tipo do valor retornado. 
 
Expressões Lógicas 
 
Expressão lógica (ou expressão booleana) é uma expressão cujos operadores 
são operadores lógicos e cujos operandos são relações ou variáveis do tipo 
booleano. Os operadores lógicos são AND (e), OR (ou), NOT (não) e XOR (ou 
exclusivo). Se X e Y são variáveis ou constantes booleanas, então: 
 
 X AND Y é TRUE somente quando X e Y forem ambas TRUE. 
 X OR Y é FALSE somente quando X e Y forem ambas FALSE. 
 NOT X é TRUE quando X for FALSE e é FALSE quando X for TRUE. 
 
Ciência da Computação II 
48 
 
Uma relação é uma comparação realizada entre valores do mesmo tipo, 
cujo resultado é TRUEou FALSE. A comparação é indicada por um dos 
operadores relacionais a seguir: 
 
= igual <> diferente 
< menor > maior 
<= menor ou igual >= maior ou igual 
 
No caso de variáveis do tipo CHAR ou STRING, será usada a ordem 
alfabética para comparar duas constantes ou variáveis. 
 
Exemplo: Sejam a, b, c, d variaveis booleanas cujos valores são: 
 
 
a := 1 < 2; 
b := 3 >= 5; 
c := a OR b; 
d := a AND b; 
 
Como 1 < 2 é uma relação verdadeira, temos que a tem valor TRUE; 3 >= 
5 é falso, logo, b tem valor FALSE. Sendo a TRUE e b FALSE temos que c é 
TRUE, pois a OR b só seria FALSE se a e b fossem ambas FALSE. O valor de d é 
FALSE, uma vez que b é FALSE. 
 
Ciência da Computação II 
49 
 
Exemplo: Consideremos as variáveis x, y, z, nome1, nome2 e teste 
declaradas abaixo: 
 
VAR 
x, y, z: byte; 
nome1, nome2: string; 
teste: boolean; 
 
Considere também as seguintes atribuições: 
 
x := 3; 
y := 10; 
z := 4; 
nome1 := 'Guizinha'; nome2 := 'Olezinho'; teste := false; 
 
Temos então: 
 
Expressão Valor 
x <= y TRUE 
(x = z) OR (x + z >= y) FALSE nome1 < nome2 TRUE (nome1 <> nome2) 
AND (NOT teste) TRUE (nome1 = nome2) AND (x = y) FALSE (NOT (x > 
z)) OR teste OR (y <> z) TRUE Odd(x) AND (NOT Odd(y)) TRUE Odd(x) 
XOR Odd(y + 1) FALSE (x mod 3 = 0) AND (y div 3 <> 1) FALSE Sqr(Sin(x)) 
+ Sqr(Cos(x)) = 1 TRUE 
-------------------------------------------- 
 
Ciência da Computação II 
50 
 
A prioridade das operações aritméticas, lógicas e relacionais está def i nida 
na seguinte tabela: 
 
 
Prioridade Operadores 
------------------------------------- 
1 (alta) NOT 
2 *. /, DIV, MOD, AND 
3 +, -, OR, XOR 
4 (baixa) =, <=, >=, <, >, <> 
------------------------------------- 
 
Terminamos a segunda . Agora, vamos juntar um pouco dos conhecimentos já 
adquiridos, somar e ampliar os horizontes. Você é capaz, agora, de transformar um 
algoritmo em programação. 
 
É HORA DE SE AVALIAR! 
Neste momento em que finalizamos o conteúdo desta unidade de estudos, é 
fundamental que você não se esqueça de realizar as atividades propostas no 
caderno de exercícios! Elas são fundamentais para ajudá-lo a fixar o conteúdo 
teórico trabalhado, a sistematizar as ideias e os conceitos apresentados, além de 
proporcionar a sua autonomia no processo ensino-aprendizagem. 
Caso prefira, redija suas respostas no caderno de exercícios e depois as envie 
através do nosso ambiente virtual de aprendizagem (AVA). Procure interagir 
permanentemente conosco e utilize todos os recursos didáticos e pedagógicos 
disponibilizados com o objetivo de aprimorar a sua formação acadêmica. 
Ciência da Computação II 
51 
 
Exercícios - Unidade 2 
 
1- Qual será o valor de a e b após a execução do programa representado pelo 
“portugol” abaixo: 
 
início 
 declare a , b , c numerico; 
 a <-11; b <- 3; c <- a – b; 
 se (a+b > 21) então 
 inicio 
 
 a <- a+1; b <- b * 3; 
 fim 
 senão 
 a <- c modulo 2; // o mesmo que a <- c % 2 
fim; 
 
a) a = 2 e b = 0 
b) a = 0 e b = 2 
c) a = 1 e b = 0 
d) a = 0 e b = 3 
e) a = 0 e b = 1 
 
Ciência da Computação II 
52 
 
2- O custo de uma geladeira nova ao consumidor é a soma do custo de fábrica 
com o percentual do distribuidor e dos impostos (aplicados ao custo de fábrica), 
porém do imposto diminui-se 10% como incentivos do IPI. Suponha que o 
percentual do distribuidor seja de 28%, os dos impostos total seja 45%, e o 
incentivo 10%. Considere dentre os seguintes algoritmosa seguir o(s) que faça(m): 
ler o custo de fábrica de um carro, calcular e escrever o custo final ao consumidor. 
 
 I. 
inicio 
 declare cust_fab, vlr_final numerico; 
 escreva "Entre com o custo de fabricação”; 
 leia cust_fab; 
 vlr_final cust_fab + (cust_fab * 0.83); 
 escreva "Valor final:", vlr_final; 
fim 
II. 
inicio 
 declare cust_fab, dist, imp, vlr_final numerico; 
 escreva "Entre com o custo de fabricação”; 
 leia cust_fab; 
 dist cust_fab * 0.28; 
 imp cust_fab * 0.35; 
 vlr_final  cust_fab + dist + imp; 
 escreva "Valor final: ", vlr_final; 
fim 
 
Ciência da Computação II 
53 
 
III. 
inicio 
 declare cust_fab, dist, imp, vlr_final numerico; 
 escreva "Entre com o custo de fabricação”; 
 leia cust_fab; 
 dist cust_fab * 0.28; 
 imp  cust_fab * 0.45; 
 vlr_final  cust_fab + dist + imp; 
 escreva "Valor final: ", vlr_final; 
fim 
 
 
IV. 
inicio 
 declare cust_fab, dist, imp, vlr_final numerico; 
 escreva "Entre com o custo de fabricação”; 
 leia cust_fab; 
 dist cust_fab * 0.28; 
 vlr_final cust_fab + dist + imp; 
 escreva "Valor final:”, vlr_final; 
fim 
 
Ciência da Computação II 
54 
 
Qual(is) das opções esta(ão) correta(s)? 
 
a)  I e II estão corretas. 
b)  II e III estão corretas. 
c)  II e IV estão corretas. 
d)  Somente II esta correta. 
e)  Nenhuma está correta. 
 
3- Analise o algoritmo abaixo: 
 
Algoritmo Alg1 
salBase, salReceber,grant,imp:real 
Inicio 
Leia (salBase) 
Grat- salBase * 5/100 
SalReceber – salBase + grat - Imp 
Imp- SalReceber *7/100 
SalReceber- SalReceber – imp 
Escreva (SalReceber) 
Fim 
Algoritmo 2 
salBase, salReceber, grat – Imp; real 
Início 
Leia (salBase) 
 
Ciência da Computação II 
55 
 
SalReceber – salBase +( salBase * 5/100) 
Imp- SalReceber *7/100 
SalReceber- SalReceber – imp 
Escreva (SalReceber) 
Fim 
 
É correto afirmar que: 
 
a) somente alg1 tem consistência em sua representação e chega a um 
resultado. 
b) ambos os algoritmos abordam o mesmo problema e chegam ao mesmo 
resultado. 
c) somente alg2 tem consistência em sua representação e chega a um 
resultado. 
d) resultado da solução apresentada por alg2 é maior do que a de alg1. 
e) e)resultado da solução apresentada por alg2 é menor do que a de alg1. 
 
4- Analise o pseudocódigo a seguir. 
 
1.var n: inteiro 
2.escreva (“Digite um número inteiro:”) 
3.leia(n) 
4.n<-n+5 
5.escreva(n) 
 
Ciência da Computação II 
56 
 
Considerando que o programa recebeu como entrada o valor 10, qual o 
resultado na tela da execução? 
 
a) 0. 
b) 5. 
c) 10. 
d) 15. 
e) 20. 
 
5- “Tipos simples de dados são grupos de valores indivisíveis.” Assinale a alternativa 
que NÃO contém tipos de dados básicos, na linguagem Pascal: 
 
 a) Memo. 
 b) Boolean. 
c) Char. 
 d) Interger. 
 e) Real. 
 
6- Observe o programa abaixo, codificado na linguagem de programação Pascal, 
que realiza os seguintes procedimentos: 
 
 Lê dois números (7 e 5, por exemplo). 
 Imprime os dois números na ordem de leitura (7 e 5). 
 Troca os valores armazenados nas variáveis M e N, sem ajuda de uma variável 
auxiliar. 
 Imprime os valores trocados de M e N (5 e 7). 
Ciência da Computação II 
57 
 
Program DEGASE 
var 
M, N : integer ; 
Begin 
clrscr 
write(Digite um valor para M:”) readin (M) 
write(Digite um valor para N:”) readin (N) 
writein; 
writein; (“valores lidos…..M=”,M:3,”N=”,N:3;); 
writein; 
writein;(‘Trocando valores sem ajuda da variável auxiliar …..”); 
 
BLOCO DE INSTRUÇÕES 
 
writein; 
writein; (“valores trocados…..M=”,M:3,”N=”,N:3;); 
End 
 
As instruções que compõe o bloco de instruções estão indicadas na seguinte 
alternativa: 
 
a) M:=N; 
N:=:M; 
 
b) N:=:M; 
N:=:M; 
Ciência da Computação II 
58 
 
c) X: M; 
M:=N; 
N:=: X 
 
d) M:=M+N; 
M:=M-N; 
N:=M+N 
 
e) M:=M+N; 
M:=M-N; 
N:=M-N 
 
7- Faça um programa que receba três notas e seus respectivos pesos, calcule e 
mostre a média ponderada dessas notas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ciência da Computação II 
59 
 
8- Escreva um programa para calcular e imprimir o número de lâmpadas 
necessárias para iluminar um determinado cômodo de uma residência. Dados de 
entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e 
comprimento, em metros) do cômodo. Considere que a potência necessária é de 
18 watts por metro quadrado. 
 
 
 
 
 
 
 
 
 
 
9- Escreva um programa para ler uma temperatura em graus Fahrenheit, calcular e 
escrever o valor correspondente em graus Celsius. 
C/5 = F-32 / 9 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ciência da Computação II 
60 
 
10- Escreva um programa para ler o raio de um círculo, calcular e escrever a sua 
área. πR2 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ciência da Computação II 
61 
 
 
Entrada e Saída de Dados 3 
 
O 
 
Ciência da Computação II 
62 
 
Nesta unidade, vamos estudar comando de entrada e saída de dados, 
podendo assim gerar resultado em tela. 
 
Objetivos da Unidade: 
Definir quais serão as entradas possíveis para os procedimentos que virão a 
constituir soluções de futuros problemas e especificaremos quais as formas de 
manipulação das mesmas. 
 
Plano da Unidade: 
 Comandos de Entrada. 
 Comandos de Saída . 
 Formatação. 
 O Comando Clrscr. 
 
 
 
 
 
 
 
 
 
 
 
Bons Estudos. 
 
Ciência da Computação II 
63 
 
 
Os comandos de entrada ou saída fazem a comunicação entre o programa 
que está sendo executado e os periféricos de entrada (teclado, disco) ou os de 
saída (vídeo, disco, impressora). A entrada ou saída de dados para um disco 
será tratada em capítulo posterior. 
 
Comandos de Entrada 
 
Um comando de entrada, também chamado de comando de leitura, 
transfere dados do dispositivo de entrada (teclado) para uma ou mais 
variáveis na memória, funcionando como um comando de atribuição. Os 
dados que entram devem ser compatíveis com os tipos das variáveis. Dois dos 
comandos de entradas do Pascal são READ e READLN, cujas sintaxes são: 
 
READLN(Var1, Var2, ...); ---> Transfere dados para as variáveis 
Var1, Var2,.e, após a leitura dos dados, posiciona o cursor no início da próxima 
linha da tela. 
 
Cada comando de leitura deve ser encerrado pressionando-se a tecla 
ENTER. Caso haja mais de um dado a ser lido por um comando de leitura, 
deve-se separá-los por pelo menos um espaço em branco. 
 
Exemplo: Suponhamos que A e B sejam duas variáveis reais de um 
programa. Quando a execução do programa chegar a um comando como 
Read(A, B); 
 
Então o computador f i cará esperando que sejam digitados dois números 
reais para que sejam atribuído às variáveis A e B. Por exemplo, digitando-se uma 
linha como: 
 
3.05 -5.17 
Ciência da Computação II 
64 
 
 
Pressionando-se ENTER ao final da digitação dos números, serão atribuídos 
os valores 3.05 a A e -5.17 a B. É como se o programa contivesse as atribuições: 
 
A := 3.05; B := -5.17; 
 
Comandos de Saída 
 
Um comando de saída transfere dados para um dispositivo de saída 
(vídeo, impressora). Os dados que podem ser transferidos são valores ou 
expressões envolvendo constantes ou variáveis. Dois comandos de saída 
bastante usados são WRITE e WRITELN que têm sintaxes: 
 
WRITE(v1, v2, ...); ---> Mostra na tela os valores de v1, v2, ... 
WRITELN(v1, v2, ...); ---> Mostra na tela os valores de v1, v2, .e posiciona o 
cursor no início da próxima linha na tela. 
 
Onde v1, v2, ... acima podem ser expressões envolvendo variáveis ou 
constantes do tipo inteiro, real, string, booleano ou char. 
 
Exemplo:Suponhamos que X seja uma variável inteira de um programa, com 
valor 15 no momento em que for executado o comando: 
 
WRITELN('O valor encontrado foi ', X); 
 
Neste caso, o computador mostrará na tela algo como: 
O valor encontrado foi 15 
 
Ciência da Computação II 
65 
 
Depois posicionará o cursor no início da linha seguinte a essa na tela. 
Observe que a mensagem "O valor encontrado foi "é uma constante do tipo 
string. Portanto, neste exemplo, o comando de saída mostra os valores de uma 
constante e de uma variável. 
 
Exemplo: Suponhamos que X, Y, Z, A, B e C sejam variáveis com valores 
respectivamente iguais a ' Antonio ', ' Jose ', ' Maria ', 60, 75 e 90. Então, o 
comando: 
 
WRITELN(x, a, y, b, z, c); 
 
Exibirá na tela algo como: 
Antonio 60 Jose 75 Maria 90 
 
A sequência de comandos: 
 
WRITELN(x); WRITELN(a); WRITELN(y); WRITELN(b); WRITELN(z); WRITELN(c); 
 
Mostrará algo como: 
 
Antonio 
60 
Jose 
75 
Maria 
90 
 
 
Ciência da Computação II 
66 
 
Enquanto q u e 
 
WRITELN(x, y, z); WRITELN(a, b, c); 
 
Exibirá: 
Antonio Jose Maria 
60 75 90 
 
Em cada um desses casos, o cursor cará posicionado no início de uma nova 
linha. 
 
Exemplo: Vamos elaborar agora nosso primeiro programa completo. 
Queremos digitar dois números inteiros no teclado e desejamos que o 
computador mostre sua soma no vídeo. Sejam Num1 e Num2 os nomes das 
variáveis que vão guardar na memória os valores dos números digitados no 
teclado. A atribuição de valores a Num1 e Num2, neste caso, será feita por um 
comando como 
 
READ(Num1, Num2); 
 
Ou como: 
 
READLN(Num1, Num2); 
 
No entanto, quando o computador executar esse tipo de comando, em 
momento nenhum ele lhe indicará se está esperando um, dois, três ou mais 
números. Tampouco indicará o tipo de dado que está sendo esperado, se é 
um dado numérico ou não. Devido a isso, é recomendado que antes de 
qualquer comando READ ou READLN, o programa contenha uma linha 
anterior com um WRITE ou WRITELN para mostrar alguma mensagem que 
oriente o usuário. 
Ciência da Computação II 
67 
 
Neste caso, colocaremos um comando WRITE para mostrar a mensagem 
Forneça dois números inteiros : . 
 
WRITE('Forneca dois numeros inteiros : '); 
 
Uma vez introduzidos os valores de Num1 e Num2, para somá-los e mostrar 
o resultado da soma na tela, basta colocar a expressão Num1 + Num2 em um 
comando de saída: 
 
WRITELN('Soma = ', Num1 + Num2); 
 
Observe que neste WRITELN temos uma constante do tipo string 'Soma 
= ' e uma expressão aritmética Num1 + Num2. 
 
Nosso programa f i ca, então, com o seguinte aspecto: 
 
PROGRAM SomaDeDoisInteiros; 
VAR 
Num1, Num2: integer; 
BEGIN 
WRITE('Forneca dois numeros inteiros : '); READLN(Num1, Num2); 
WRITELN('Soma = ', Num1 + Num2); END. 
 
Estamos atribuindo o nome SomaDeDoisInteiros ao programa. Observe 
que os comandos do programa (WRITE..., READLN..., ...) devem f i car na seção 
principal do programa delimitados pelas palavras BEGIN e END. Não pode ser 
omitido o ponto após o END. O bloco VAR de declaração de variáveis deve vir 
antes da seção principal. 
Ciência da Computação II 
68 
 
É comum se deslocar para a direita as linhas de comandos compreendidas 
entre um BEGIN e um END. Esse tipo de deslocamento é chamado endentação. 
Uma vez digitado este programa, pressione simultaneamente as teclas CTRL e 
F9 para que ele seja executado. No caso deste programa, você verá em uma 
parte da tela algo parecido com: 
 
Forneca dois numeros inteiros : 11 27 
Soma = 38 
 
O caractere de sublinhado _ acima representa a posição do cursor na 
tela. Qualquer outra saída de dado posterior à execução do programa seria 
feita a partir dessa posição. Se a seção principal deste programa fosse: 
 
BEGIN 
WRITELN('Forneca dois numeros inteiros : '); 
READLN(Num1, Num2); 
WRITE('Soma = ', Num1 + Num2); END. 
 
Então teríamos uma tela como: 
 
Forneca dois numeros inteiros :11 27 
Soma = 38_ 
 
Observe a diferença na posição final do cursor. 
 
Observação: sem parâmetros, ou seja, só o nome do comando seguido 
imediatamente de um ponto e vírgula. Um WRITELN sem parâmetros causa a 
impressão de uma linha em branco. 
Ciência da Computação II 
69 
 
Por exemplo: 
 
WRITELN; WRITELN; WRITELN; 
 
Isso causa a impressão de três linhas em branco. 
Um READLN sem parâmetros faz o computador f i car esperando que se 
pressione a tecla ENTER para poder continuar. Temos assim, uma maneira de 
causar uma pausa na execução de um programa. Durante a execução do 
fragmento de programa a seguir, o computador coloca uma mensagem na tela 
( Para continuar... ), e para temporariamente a execução até ser pressionado 
ENTER. 
... ... 
WRITE('Para continuar, pressione [ENTER]'); READLN; 
... ... 
 
Formatação 
 
A impressão dos valores a serem impressos por um WRITE ou WRITELN 
pode ser formatada através da especificação da largura do campo de 
impressão ou do número de casas decimais. 
Para valores do tipo inteiro, booleano, string ou char, basta colocar o 
tamanho do campo de impressão à direita do valor a ser impresso. Neste 
caso, o valor e o tamanho do campo devem estar separados por dois pontos 
(:). 
WRITE(V:n) ou WRITELN(V:n) ---> Imprime o valor de V em um 
campo de n espaços 
 
Ciência da Computação II 
70 
 
Se o valor de n for maior do que a quantidade necessária para a 
impressão do valor de V, então a largura do campo será completada com 
espaços em branco adicionados à esquerda. 
 
Exemplo: Consideremos x1, x2, s1, s2 variáveis com valores definidos pelas 
atribuições. 
 
x1 := 8; s1 := 'A'; 
x2 := 19; s2 := '*'; 
 
Para cada comando WRITE abaixo, temos as seguintes saídas mostradas 
na tela: 
 
Comando Saída 
--------------------------------------------------- 
WRITE(x1) 8 
WRITE(x1:2) ^8 
WRITE(x1:10) ^^^^^^^^^8 
WRITE(x1, s1, x2, s2) 8A19* WRITE(x1, ' ', s1, ' ', x2, ' ', 
s2)8^Â19^* WRITE(x1, s1:2, x2:5, s2:3) 8^Â^^19^^* WRITE(x1:6, x2:2) 
^^^^^819 
WRITE(x1, ' ':5, x2) 8^^^^^19 
--------------------------------------------------- 
 
O símbolo na tabela acima assinala os espaços em branco. Em um 
comando WRITE ou WRITELN, a impressão de n espaços em branco pode ser 
feita acrescentando-se à lista de valores a serem impressos uma expressão da 
forma ' ':n, como no último exemplo da tabela acima. O tamanho do campo de 
impressão pode ser uma expressão aritmética. Por exemplo, WRITE(dado:5) é o 
mesmo que WRITE(dado:(11 - 9 + 3)). 
Ciência da Computação II 
71 
 
Para se formatar a impressão de um valor real, devem ser fornecidos 
dois inteiros que correspondem ao tamanho do campo de impressão e à 
quantidade de casas decimais a serem impressas. 
 
WRITE(x:M:N) ou WRITELN(x:M:N) ---> Imprime o valor de x em um campo 
de largura M, com N casas decimais. 
 
Se o valor de M for maior do que a quantidade necessária para a impressão 
do valor de x, então a largura do campo será completada com espaços em 
branco adicionados à esquerda. O ponto decimal ou o sinal negativo ocupam 
um espaço do campo de impressão. O tamanho do campo de impressão e a 
quantidade de casas decimais podem ser fornecidos em forma de expressão 
aritmética. Valores reais sem formatação são impressos em forma de potências 
de 10. 
 
Exemplo: Consideremos Pi e X constantes reais com valores 
respectivamente iguais a 3.1415926535 e -1991. A tabela a seguir mostra as 
diversas saídas geradas pelo respectivo comando 
 
WRITE. Denotamos os espaços em branco por . 
 
Comando Saída 
------------------------------------- 
WRITE(X:9:3) -1991.000 
WRITE(X:15:2) ^^^^^^^-1991.00 
WRITE(X:10:2) ^^-1991.00 
WRITE(X) -1.9910000000E+03WRITE(Pi) 3.1415926535E+00 
WRITE(Pi:4:2) 3.14 
Ciência da Computação II 
72 
 
WRITE(Pi:7:2) ^^^3.14 
WRITE(Pi:10:3) ^^^^^3.141 
WRITE(Pi:10:6) ^^3.141592 
WRITE(Pi:10:8) 3.14159265 
WRITE(Pi:5:0) ^^^^3 
------------------------------------- 
 
Exemplo: Vamos construir agora um programa que solicita ao usuário a 
medida de um ângulo em graus (um número inteiro) e mostra na tela o seno, o 
cosseno e a tangente do ângulo fornecido. As funções trigonométricas pré-
definidas SIN(x) e COS(x) operam com um ângulo x em radianos. Logo, o programa 
deve ser esperto o suficiente para transformar o ângulo em graus, fornecido pelo 
usuário, para um valor equivalente em radianos. Isto é feito através de uma 
multiplicação por Pi/180. O Pascal tem o valor de Pi pré-definido com 19 casas 
decimais. Vamos usar três variáveis reais "seno", "cosseno" e "tangente" para 
guardar os valores desejados. Vamos exigir que a impressão dos valores seja 
em um campo com 8 espaços e 4 casas decimais. 
 
PROGRAM Sen_Cos_Tg; 
{ Calculo do seno, cosseno e tangente de um angulo } 
VAR 
AnguloEmGraus: INTEGER; 
seno, cosseno, tangente, AnguloEmRadianos: REAL; 
BEGIN { inicio da secao principal } 
WRITE('Forneca a medida de um angulo (em graus) : '); 
READLN(AnguloEmGraus); 
WRITELN; { gera uma linha em branco } 
Ciência da Computação II 
73 
 
AnguloEmRadianos := AnguloEmGraus*Pi/180; { transforma graus em 
radianos } 
seno := SIN(AnguloEmRadianos); {Calculodos valores desejados} 
cosseno := COS(AnguloEmRadianos); { . Lembre se que o 
Pascal não }{ tem função tangente pré-definida } 
tangente := seno/cosseno; } 
{ Saída dos resultados } 
WRITELN('Seno de ', AnguloEmGraus, ' = ', seno:8:4); 
WRITELN('Cosseno de ', AnguloEmGraus, ' = ', cosseno:8:4); 
WRITELN('Tangente de ',AnguloEmGraus,' = ', tangente:8:4); 
END. { fim da seção principal } 
 
Executando-se esse programa (após a digitação correta deve-se 
pressionar CTRL-F9 e ALT-F5), vemos na tela algo parecido com: 
 
Forneca a medida de um angulo (em graus) : 50 
 
<----------+ 
Seno de 50 = 0.7660 | Cosseno de 50 = 0.6428 | 
Tangente de 50 = 1.1918 | 
| Linha em branco gerada pelo WRITELN; -----------------+ 
 
O Comando Clrscr 
 
A partir da versão 4, o Pascal passou a agrupar os comandos em unidades. 
Todos os comandos que usamos até agora (READ, WRITE, SIN, COS, etc.) fazem 
parte da unidade padrão chamada SYSTEM. A unidade SYSTEM não precisa 
Ciência da Computação II 
74 
ser mencionada no programa; podemos usar seus comandos à vontade. 
Sempre que algum comando de outra unidade for usado, o nome da 
unidade precisa ter sido declarado em um comando USES, que deve f i car 
logo abaixo do cabeçalho do programa. A sintaxe do USES é 
 
USES Nome_da_unidade_1, Nome_da_unidade_2, ...; 
 
Um comando que faz parte da unidade CRT e que é bastante usado, é o 
comando CLRSCR (Clear Screen) cuja finalidade, como o próprio nome sugere, é 
limpar a tela. Muitos dos livros sobre Pascal disponíveis em Português, referem-se 
às versões anteriores à 4. Nesses livros não é feita referência à unidade CRT. 
Exemplo: Queremos fornecer três números reais a, b e c ao computador e 
queremos que ele nos forneça, com três casas decimais, o valor da área do 
triângulo cujos lados medem a, b e c. Vamos querer também que o computador se 
dê ao trabalho de limpar a tela antes de pedir os valores de a, b, c. Vamos usar a 
fórmula da Geometria Plana que diz que, neste caso, a área desejada é igual 
à raiz quadrada de p(p - a)(p - b)(p - c) onde p é a metade da soma a + b + 
c. 
 
PROGRAM AreaDoTriangulo; 
{Dados os números reais a, b, ç é fornecida o valor da área do 
triângulo cujos lados têm essas medidas.} 
USES CRT; { Permite o uso de comandos da unidade CRT, como o 
CLRSCR. Deve ser colocado nesta posição, logo abaixo do cabeçalho } 
VAR 
a, b, c, p, area: REAL; BEGIN 
CLRSCR; { Limpa a tela } 
{ Leitura dos valores de a, b e c } 
WRITE('Valor de a: '); READLN(a); WRITE('Valor de b: '); READLN(b); 
WRITE('Valor de c: '); READLN(c); 
{ Calculo da área } 
Ciência da Computação II 
75 
 
p := (a + b + c)/2; 
area := SQRT(p*(p - a)*(p - b)*(p - c)); 
{ Impressão dos resultados na tela } 
WRITELN; 
WRITELN('A area do triangulo cujos lados medem'); WRITELN(a:7:3, 
',', b:7:3, ' e ',c:7:3,' é' ', area:7:3); 
END. 
 
A impressão de um apóstrofo é obtida colocando-se dois apóstrofos 
consecutivos como parte da constante string. Assim, WRITELN(' e ') tem 
como saída na tela um "é", que não chega a ser um "e" acentuado, mas 
ajuda na leitura. No lugar dos três READLN acima, poderíamos ter colocado 
apenas um READLN(a, b, c). Este programinha não é inteligente o suf i ciente 
para rejeitar na entrada valores negativos ou valores inválidos como a = 3, b = 
5, c = 11. Após sua execução com os valores a = 5, b = 7 e c = 8,4, temos as 
seguintes mensagens na tela: 
 
Valor de a: 5 
Valor de b: 7 
Valor de c: 8.4 
A area do triangulo cujos lados medem 
5.000, 7.000 e 8.400 é 17.479 
 
Terminamos a terceira unidade, agora você é capaz de definir as entradas de 
dados e saídas do seu programa. 
 
Ciência da Computação II 
76 
 
 
 
É HORA DE SE AVALIAR! 
Neste momento em que finalizamos o conteúdo desta unidade de estudos, é 
fundamental que você não se esqueça de realizar as atividades propostas no 
caderno de exercícios! Elas são fundamentais para ajudá-lo a fixar o conteúdo 
teórico trabalhado, a sistematizar as ideias e os conceitos apresentados, além de 
proporcionar a sua autonomia no processo ensino-aprendizagem. 
Caso prefira, redija suas respostas no caderno de exercícios e depois as envie 
através do nosso ambiente virtual de aprendizagem (AVA). Procure interagir 
permanentemente conosco e utilize todos os recursos didáticos e pedagógicos 
disponibilizados com o objetivo de aprimorar a sua formação acadêmica. 
Ciência da Computação II 
77 
 
Exercícios - Unidade 3 
 
1- “Tipos simples de dados são grupos de valores indivisíveis.” Assinale a 
alternativa que NÃO contém tipos de dados básicos, na linguagem Pascal: 
 
a) Memo. 
b) Boolean. 
c) Char. 
d) Interger. 
e) Real. 
 
2-De acordo com o código a seguir marque a explicação correta READ(Var1, Var2, 
...); 
a) Retira dados das variáveis Var1, Var2, 
b) Transfere dados para as variáveis Var1, Var2, ... e, após a leitura dos 
dados, posiciona o cursor no início da próxima linha da tela. 
c)Transfere dados para as variáveis Var1, Var2, 
d) Mostra na tela os valores de v1, v2, ... 
e) Mostra na tela os valores de v1, v2, ... e posiciona o cursor no início da 
próxima linha na tela. 
 
Ciência da Computação II 
78 
 
3- De acordo com o código a seguir marque a explicação correta WRITELN(v1, v2, 
...); 
 
a) Retira dados das variáveis Var1, Var2, 
b) Transfere dados para as variáveis Var1, Var2, ... e, após a 
leitura dos dados, posiciona o cursor no início da próxima linha da tela. 
c)Transfere dados para as variáveis Var1, Var2, 
d) Mostra na tela os valores de v1, v2, ... 
e) Mostra na tela os valores de v1, v2, ... e posiciona o cursor no início da 
próxima linha na tela. 
 
4- Se o valor da casa decimal da variável não for formatada vai aparecer um 
excesso de números. Marque a resposta correta para formatar duas casa decimal 
em pascal. 
 
a) x:4:2 
b)x;4;2 
c)x,4,2 
d)x.4.2 
e)x 4 2 
 
5- Toda linguagem de programação tem palavras reservadas. Marque a resposta 
que não é palavra reservada do pascal. 
a) var 
b) uses 
c) crt 
d) end 
e) the 
Ciência da Computação II 
79 
 
6- Todo programa inicia com uma linha padrão de programação. Marque a 
resposta

Outros materiais