Anda di halaman 1dari 26

UNIVERSIDADE FEDERAL DO CEAR CENTRO DE TECNOLOGIA PROGRAMA DE EDUCAO TUTORIAL

APOSTILA DE PROGRAMAO

Realizao:

Fortaleza, Fevereiro/2010

II Curso Pr-Engenharia

Apostila de Programao

Sumrio
1. 2. 3. 4. 5. 6. 7. 7.1. 7.2. 7.3. 8. 8.1. 8.2. 8.3. 9. 9.1. 9.2. 10. 10.1. 10.2. 11. 11.1. 11.2. 11.3. 12. 12.1. 12.2. 12.3. 13. 13.1. 13.2. 13.3. 14. Introduo ....................................................................................................................................................... 3 Conceitos Bsicos ............................................................................................................................................ 3 Tipos de Linguagens de Programao .............................................................................................................. 4 Compiladores e compilao ............................................................................................................................. 5 Exemplos de Linguagens de Programao ....................................................................................................... 5 IDEs ................................................................................................................................................................ 7 Introduo ao Pascalzim .................................................................................................................................. 9 A barra de Tarefas ....................................................................................................................................... 9 O Menu de Comandos ................................................................................................................................10 A Barra de Status .......................................................................................................................................11 Estrutura de um programa em Pascal .............................................................................................................12 Cabealho do Programa .............................................................................................................................12 rea de Declaraes ...................................................................................................................................13 Corpo do Programa ....................................................................................................................................13 Variveis .........................................................................................................................................................13 Tipos de Variveis ......................................................................................................................................14 Atribuio de Valores .................................................................................................................................14 Entrada e Sada de dados ...........................................................................................................................15 Sada de dados ...........................................................................................................................................15 Entrada de dados .......................................................................................................................................16 Operadores ................................................................................................................................................17 Operadores Aritmticos..............................................................................................................................17 Operadores Lgicos ....................................................................................................................................18 Operadores de Comparao .......................................................................................................................18 Estruturas de Controle de Fluxo .................................................................................................................19 Comando if ... then .....................................................................................................................................19 Comando If ... then ... else ..........................................................................................................................20 Ifs aninhados ..............................................................................................................................................21 Estruturas de Repetio .............................................................................................................................22 Comando for ..............................................................................................................................................22 Comando While ..........................................................................................................................................23 Comando Break ..........................................................................................................................................24 Exerccios Propostos ...................................................................................................................................25

Pgina 2 de 26

II Curso Pr-Engenharia

Apostila de Programao

1. Introduo
O computador pode ser dividido em duas partes: hardware e software. O hardware engloba a estrutura fsica do computador, como os componentes eletrnicos e as placas. J o software o conjunto de todos os programas armazenados nele, a parte lgica. Os programas so os responsveis por permitir o computador a fazer inmeras tarefas, como o controle de processos industriais, a execuo remota de complicadas cirurgias e o gerenciamento das contas dos clientes de um banco. Um programa nada mais do que uma seqncia de instrues que possui significado para o computador. O nosso foco ser entender como criar um programa.

2. Conceitos Bsicos
Uma etapa da criao do programa a descrio deste atravs de ferramentas como a descrio narrativa, o fluxograma e o pseudocdigo. Essa etapa um momento onde o programador vai poder desenvolver seus pensamentos de como resolver os problemas propostos. Essa descrio dos passos e etapas que sero feitos no programa chamada de algoritmo e podemos escrev-lo atravs destas formas: A descrio narrativa: escreveremos aquilo que queremos fazer assim como em uma receita de bolo. O fluxograma: utilizaremos figuras pra descrever o programa. O pseudocdigo: escreveremos (em portugus) o programa utilizando algumas regras. Exemplo de algoritmo para mostrar a multiplicao de dois nmeros (escrito nas trs formas apresentadas): Algoritmo em descrio narrativa: Passo 1 Receber os dois nmeros que sero multiplicados Passo 2 Multiplicar os nmeros Passo 3 Mostrar o resultado obtido na multiplicao Algoritmo em fluxograma:

Figura 1

Pgina 3 de 26

II Curso Pr-Engenharia

Apostila de Programao

Algoritmo em pseudocdigo: ALGORITMO DECLARE N1, N2, M NUMRICO ESCREVA Digite dois nmeros LEIA N1, N2 M N1 * N2 ESCREVA Multiplicao = , M FIM_ALGORITMO. Exemplo do Algoritmo de Euclides s vezes, quando lidamos com nmeros grandes, torna-se difcil encontrar o mximo divisor comum entre os dados nmeros. O algoritmo de Euclides ajuda-nos a encontrar o mximo divisor comum entre dois nmeros inteiros diferentes de zero de uma forma simples e eficiente. Veja:

Figura 2

Calculando o mdc entre 1128 e 336. Divide-se 1128 por 336, escreve-se o quociente acima do 336, e o resto embaixo do 1128. Depois se repete este valor ao lado do 336, e assim por diante. Quando o resto for zero, o mdc entre os nmeros ser o nmero mais direita na linha central do algoritmo, nesse caso o 24. Quando queremos escrever (criar, desenvolver) um programa para realizar uma determinada tarefa precisamos utilizar uma linguagem que tanto o computador quanto o desenvolvedor do programa (programador) entendam. Essa linguagem chamada de linguagem de programao. Quando traduzimos o algoritmo para alguma linguagem de programao, estamos codificando esse algoritmo, pois a linguagem de programao possui sintaxe e semntica definidas assim como o nosso cdigo, o Portugus. O cdigo escrito pelo programador em uma determinada linguagem denominado cdigo-fonte (source code).

3. Tipos de Linguagens de Programao


As linguagens de programao podem ser classificadas em: a) Linguagens de alto nvel: onde as instrues se assemelham ao vocabulrio humano (read, print, if, then, else, etc...) . Exemplo: Basic, Java, Pascal, etc. b) Linguagens de baixo nvel: onde as instrues se assemelham mais linguagem de mquina. A linguagem de mquina a linguagem binria. Por serem dispositivos eletrnicos, apenas

Pgina 4 de 26

II Curso Pr-Engenharia

Apostila de Programao

trabalham dados representados na forma de alto e baixo nvel de tenso. So teis para programar hardware. Exemplo: Assembly. Vale ressaltar que h linguagens, como no caso da linguagem C, que se enquadram em um nvel intermedirio, pois apresentam sintaxe parecida com a linguagem humana mas que trabalham tambm com instrues de baixo nvel. As linguagens podem ser classificadas pelo paradigma que suportam (usam). Um paradigma a maneira (modelo, jeito) que o programador vai desenvolver o seu programa. A maioria das linguagens suporta apenas um tipo de paradigma. O paradigma do Pascal, linguagem que estudaremos, procedural, isto , o programador ir desenvolver um programa atravs de blocos de comando. Paradigma procedural: Os conjuntos de instrues so organizados em blocos.

4. Compiladores e compilao
Os computadores utilizam internamente o sistema binrio. Atravs deste sistema, todas as quantidades e todos os valores de quaisquer variveis podero ser expressos atravs de uma determinada combinao de dgitos binrios, ou seja, usando apenas os algarismos 1 e 0. O computador necessita que algum ou algo traduza as informaes colocadas no cdigo fonte (aquele escrito pelo programador em uma determinada linguagem) para um cdigo escrito apenas com 1 e 0. Este cdigo escrito com o sistema binrio chamado de cdigo executvel. O programa responsvel por converter um cdigo-fonte em programa executvel (binrio) o compilador. Ao processo de converso denominamos de compilao. O tempo em que o cdigo transformado de cdigo fonte escrito em uma linguagem de programao para o cdigo em linguagem de mquina (cdigo objeto) denominado tempo de compilao. O tempo em que o programa est sendo executado denominado tempo de execuo.

Figura 3

5. Exemplos de Linguagens de Programao


BASIC: Linguagem de programao de alto nvel, no estruturada e interpretada. Sua principal caracterstica reside na simplicidade, da o nome: Beginner All-purpose Symbolic Instruction Code. Originou a plataforma de desenvolvimento Microsoft visual Basic.

Pgina 5 de 26

II Curso Pr-Engenharia

Apostila de Programao

C: Trata-se de uma das linguagens de programao mais conhecidas do mundo. Desenvolvida por Brian Kernighan e Dennis Ritchie, uma linguagem de mdio nvel e estruturada. uma linguagem verstil, sendo utilizada para construo dos mais diversos tipos de programas, como Sistemas Operacionais. Vale ressaltar que no desenvolvimento de Sistemas Operacionais h trechos de cdigo em Assembly.

C++: Evoluo da linguagem C. Sua principal diferena em relao ao C o suporte orientao a Objetos. Sistemas Operacionais h trechos de cdigo em Assembly.

C#: Linguagem da plataforma .NET. Trata-se de uma tentativa de fazer concorrncia linguagem Java.

Fortran: A linguagem Fortran principalmente suada em Cincia da Computao e anlise numrica. Apesar de ter sido inicialmente uma linguagem de programao procedural, verses recentes de Fortran possuem caractersticas que permitem suportar programao orientada a objetos.

Java: Trata-se de uma das mais utilizadas linguagem de programao da atualidade. Trata-se de uma linguagem com suporte orientao a objetos, de alto nvel, estruturada e hbrida. Traz consigo a JVM (Java Virtual Machine), que permite que os programas desenvolvidos em Java sejam portteis, permitindo inclusive a criao de softwares para celulares.

Pgina 6 de 26

II Curso Pr-Engenharia

Apostila de Programao

Tabela 1 - Quadro resumo

BASIC C C++ Java Object Pascal Pascal Visual Basic

Tipo Interpretado Compilado Compilado Hbrido Compilado Compilado Hbrido

Nvel Alto Mdio Alto Alto Alto Alto Alto

Paradigma Procedural Procedural Orientado a Objetos Orientado a Objetos Orientado a Objetos Procedural Orientado a Objetos

6. IDEs
IDEs (Integrated Development Environment Ambiente de Desenvolvimento Integrado) so softwares ou pacotes de softwares que facilitam a tarefa de programao. Geralmente contam com um editor de texto (com recursos de ressaltar a sintaxe por meio de cores, identificao de erros, identificao automtica, autocomplementar, etc.), depurador compilador e linker. O uso de IDEs permite implementao do modelo Rapid Application Development (RAD) ou Desenvolvimento Rpido de Aplicao (em portugus), que um modelo de processo de desenvolvimento de software interativo e incremental que enfatiza um ciclo de desenvolvimento extremamente curto (entre 60 e 90 dias). Exemplos: DEV C++: IDE livre voltado para a linguagem C/C++ para a plataforma Microsoft Windows.

NetBeans: Atualmente uma das melhores IDEs existentes. Alm de ser livre, contm diversos recursos e embora seja muito difundida entre programadores Java, tem suporte para as linguagens C, C++, Assembly, Python, alm de suporte para UML, PHP, XML e para desenvolvimento SOA. H verses tanto para GNU/Linux como para Microsoft Windows.

Pgina 7 de 26

II Curso Pr-Engenharia

Apostila de Programao

Visual Studio: Pacote proprietrio da Microsoft voltado para a plataforma .NET. Contm os programas: Visual Basic, Visual C++ e Visual C#.

Delphi: IDE proprietria da Borland para a linguagem Delphi (Object Pascal). Plataforma Microsoft Windows.

Pgina 8 de 26

II Curso Pr-Engenharia

Apostila de Programao

7. Introduo ao Pascalzim
O Pascalzim um compilador gratuito para a linguagem Pascal que foi desenvolvido na Universidade de Braslia (UnB) e utilizado em vrias disciplinas de introduo programao na UnB e outras universidades. O compilador Pascalzim compe-se de duas telas, uma apresenta a barra de tarefas, o editor de textos e da barra de status. Quando o programa carregado. J apresenta no editor uma inicializao do programa identificando o nome do programa e o seu incio (BEGIN) e trmino (END) e na segunda tela, mostrada a sada do programa no formato (.EXE).

Figura 4

7.1. A barra de Tarefas


Contm os comandos mais utilizados no Palscalzim (estes comandos tambm podem ser acessados pelo menu ou por atalhos no teclado).

Figura 5

Pgina 9 de 26

II Curso Pr-Engenharia

Apostila de Programao

Abrir (Ctrl+A): Abre um arquivo anteriormente gravado, substituindo o texto presente. Se este tiver sido modificado, o Pascalzim pedir para salv-lo antes que seja sobreposto. Novo (Ctrl+O): Cria uma nova tela inicializando o cdigo, texto presente no editor. Se este tiver sido modificado, o Pascalzim pedir sua confirmao para salv-lo antes que seja sobreposto. Salvar (Ctrl+S): Grava imediatamente o texto presente no editor. Na primeira vez que um novo texto gravado, o Pascalzim pede seu nome e sua localizao. Imprimir (Ctrl+P): Imprime imediatamente na impressora padro o texto presente no editor. Para configurar a impresso, use o comando Imprimir do menu Arquivo. Localizar (Ctrl+L): Localiza no texto presente no editor determinada palavra especificada. Cortar (Ctrl+X): Apaga o texto selecionado, armazenando-o em uma rea de transferncia. Copiar (Ctrl+C): Copia o texto selecionado para a rea de transferncia. Colar (Ctrl+V): Copia o texto selecionado para a rea de transferncia. Desfazer (Crtl+Z): Desfaz o ltimo comando efetuado. Refazer (Ctrl+R): Refaz o ltimo comando desfeito. Executar (F9): Inicia (ou continua) a execuo automtica do cdigo apresentado no editor. Passo a Passo: Inicia (ou continua) a execuo linha por linha do cdigo, dando ao usurio a oportunidade de acompanhar o fluxo de execuo, os valores das variveis e a pilha de ativao dos subprogramas. Pascalzim Explorer: Procura nas unidades de disco os programas existentes e permite execut-los e/ou modific-los. Ajuda (F1): Possibilita acesso s pginas de ajuda e s informaes sobre o Pascalzim.

7.2. O Menu de Comandos


O Pascalzim possui um menu de comandos com seis opes que possibilitem executar diversas tarefas operacionais. Voc poder ter acesso a esse menu de trs formas diferentes: A primeira pode ser conseguida com o pressionamento da tecla de funo <F10> e em seguida usando as teclas setas para movimenta o cursor sobre as opes desejadas. A segunda forma pode ser conseguida com o pressionamento da tecla <ALT> + a letra que estiver grifada em maisculo, que a primeira letra de cada opo do menu. A terceira forma poder ser conseguida com a utilizao de um mouse, cujo ponteiro dever se posicionado sobe a opo desejada e em seguida ser dado um clique. Para sair do menu u de qualquer caixa de dilogo que venha a se acionada basta pressionar a tecla <ESC>. O menu do Pascalzim apresenta os seguintes comando a saber:

Pgina 10 de 26

II Curso Pr-Engenharia

Apostila de Programao

Arquivo

Esta opo possibilita executar operaes de controle com os arquivos. Desta forma possvel: Criar uma janela de trabalho (Novo), abrir um programa existente (Abrir), salvar um programa em disco (Salvar), salvar um programa em disco co outro nome (Salvar Como), fechar a janela ativa (Fechar), fechar todas as janelas ativas (Fechar Todos), imprimir o arquivo da janela ativa (Imprimir) e Sair do comando Arquivo (Sair). Editar

Esta opo possibilita executar operaes de editor do programa, sendo possvel remover, movimentar e copiar vrios textos que estejam selecionados. Desta forma, possvel: Desfazer (Desfazer) e refazer (Refazer) operaes efetuadas com a edio, Remover o texto previamente selecionado (Cortar), copiar um texto selecionado do editor para uma rea de transferncia (Copiar), copiar um texto da rea de transferncia para o editor (Colar), selecionar todo o texto pertencente ao editor (Selecionar Tudo), localizar uma sequencia de caracteres por outra (Localizar), substituir uma sequencia de caracteres por outra (Substituir) e mover o cursor para uma linha previamente selecionada (Ir para Linha). Compilar

Esta opo possibilita compilar o programa. Desta forma possvel: Compilar o programa da janela ativa (Executar!), compilar o programa passo a passo inclusive as suas sub-rotinas existentes e, tambm, gerar um arquivo executvel do Ms-Dos (Gerar Executvel). Ferramentas

Esta opo possibilita a utilizao de ferramentas configuradas pelo usurio. Desta forma possvel: Acessar o banco de dados de programas existentes em disco (Pascalzim Explorer), acessar o bloco de notas do Windows (Bloco de Notas), acessar a calculadora (Calculadora), acessar a internet atravs do navegador Internet Explorer (Internet Explorer), acessar o Prompt de comandos do Ms-Dos (Prompt do MS-DOS) e tambm permite o acesso ao Windows Explorer (Windows Explorer). Janela

Este comando possibilita o controle das janelas que estejam abertas. Desta forma possvel: Configurar a cor do Editor para o estilo Clssico azul (Estilo Clssico), estilo escuro (Estilo Dark do Pascal), estilo branco (Estilo Moderno), alm disso, possvel ordenar as janelas em cascata (Cascata), dividir as janelas horizontalmente (Dividir Horizontalmente) ou em lado a lado (Lado a Lado). Ajuda

Este comando permite executar o modo ajuda do Pascalzim. O modo de ajuda poder ser executado de qualquer parte do programa com a tecla de funo <F1> ou <Ctrl + F1> para visualizar aplicaes de instrues que estejam marcadas com o posicionamento do cursor sobre elas.

7.3. A Barra de Status


Situada na parte inferior da tela, esta barra contm trs painis: o primeiro mostra a linha e a coluna onde o cursor est, o segundo mostra a palavra (Ctrl+Espao para templates), onde indica as

Pgina 11 de 26

II Curso Pr-Engenharia

Apostila de Programao

palavras-chaves da linguagem Pascal e o terceiro painel disponvel indica a funo de cada cone pertencente tanto ao menu quanto as barras de tarefas e de ajuste.

8. Estrutura de um programa em Pascal


Um programa em Pascal composto, basicamente, de trs partes. So elas: Cabealho do Programa; rea de Declaraes; Corpo do Programa.

Vejamos, na figura a seguir como essas partes so distribudas em um programa:

Figura 6 Um programa escrito em Pascal

Obs: Ao escrever um programa em Pascal, devemos sempre faz-lo nessa ordem (Cabealho Declaraes Corpo), caso contrrio o compilador mostrar uma mensagem de erro e o programa no ser construdo.

8.1. Cabealho do Programa


Esta rea utilizada para se fazer a identificao do programa com um nome. O cabealho de um programa constitudo pela instruo PROGRAM seguida de um nome. Ao final do nome deve-se colocar o smbolo ponto-e-vrgula ( ; ). Em nosso exemplo, temos: PROGRAM Multiplosde3e5;

Pgina 12 de 26

II Curso Pr-Engenharia

Apostila de Programao

8.2. rea de Declaraes


Esta rea utilizada para validar o uso de qualquer tipo de identificador que no seja predefinido, estando divida em sete sub-reas: uses, label, const, type, var, procedure e function. No II Curso Pr-engenharia, vamos estudar apenas a sub-rea var. Esta utilizada na declarao das variveis que sero utilizadas durante a execuo de um programa, assim como o seu tipo. Estudaremos declarao de variveis no captulo seguinte.

8.3. Corpo do Programa


Nessa rea escreveremos nossos algoritmos utilizando as funes da linguagem Pascal e as declaraes feitas na rea anterior. Aqui est o programa propriamente dito, isto , a seqncia de instrues que daremos mquina para que ela crie um programa que execute as aes que desejamos. Iniciamos o corpo do programa com a instruo BEGIN e finalizamos com a instruo END seguida de um ponto ( . ). O uso dessas instrues caracteriza o que chamamos de bloco. A estrutura do corpo do programa pode ser exemplificada pela figura abaixo.

Figura 7 corpo do programa

9. Variveis
Em programao, variveis so regies da memria do computador previamente identificadas, que tm por finalidade armazenar informaes (dados) de um programa temporariamente. Podem ser vistas como um papel, inicialmente em branco, onde se podem escrever valores (sejam numricos, de texto ou lgicos) no decorrer da execuo do programa. Uma varivel pode armazenar apenas um valor por vez. Sendo considerado como valor o contedo de uma varivel, este valor est associado ao tipo de dado da varivel. Para declarar variveis na linguagem Pascal, devemos obedecer seguinte sintaxe:

Figura 8 - Declarao de Variveis

Por exemplo:

Figura 9 - Exemplo de declarao de variveis

Pgina 13 de 26

II Curso Pr-Engenharia

Apostila de Programao

Nesse exemplo estamos declarando as variveis de nome Soma, Total e Salrio como sendo do tipo REAL; Idade e Contador como sendo do tipo INTEGER; e Nome como sendo do tipo STRING.

9.1. Tipos de Variveis


Veremos aqui os principais tipos de variveis que so utilizados na linguagem Pascal.
Tabela 2 - Principais tipos de variveis em Pascal

Tipo Boolean Char Byte Integer Longint Shortint Word Double Real String

Descrio Variveis desse tipo podem armazenar apenas dois valores distintos: True ou False (Verdadeiro ou Falso). Variveis desse tipo podem armazenar apenas um caractere. Armazena valores inteiros positivos entre 0 e 255, inclusive. Armazena valores inteiros positivos ou negativos entre -32768 e 32767. Armazena valores inteiros positivos ou negativos entre -2147483648 e 2147483647. Armazena valores inteiros positivos ou negativos entre -128 e 127. Armazena valores inteiros positivos entre 0 e 65535. Armazena valores reais. Possui preciso de 15 dgitos. Armazena valores reais. Possui preciso de 11 dgitos. Armazena cadeias de caracteres (palavras ou frases).

Tamanho 8 bits (1 byte) 8 bits (1 byte) 8bits (1 byte) 16 bits (2 bytes) 32 bits (4 bytes) 8 bits (1 byte) 16 bits (2 bytes) 8 bytes 6 bytes Depende do valor da varivel

9.2. Atribuio de Valores


Para atribuir valores a uma varivel, utilizamos a seguinte construo: Nome-da-Varivel := Valor; Vejamos este exemplo:

Figura 10 - Atribuindo valores a variveis

Pgina 14 de 26

II Curso Pr-Engenharia

Apostila de Programao

Esse programa declara algumas variveis e atribui valores a elas. Observe que quando trabalhamos com caracteres ou string, o valor atribudo deve estar entre aspas simples ( ). Caso contrrio o resultado no sair como o esperado. Observe tambm que esse programa no exibe nenhuma mensagem na tela do computador. Ele apenas atribui valores s variveis e finaliza sem qualquer mensagem. No captulo seguinte aprenderemos como fazer isso.

10.Entrada e Sada de dados


Aqui comearemos a apresentar os primeiros comandos da linguagem Pascal. muito importante prestar ateno na sintaxe dos comandos, pois pequenos erros faro com que o compilador exiba uma mensagem de erro e o programa no ser criado. Entrada e sada de dados so fundamentais em todos os programas criados, pois estabelecem uma comunicao entre a mquina e o usurio.

10.1. Sada de dados


Em Pascal, a sada de dados feita utilizando o comando writeln(). Esse comando imprime alguma mensagem na tela do computador. Vejamos sua sintaxe: Writeln(Mensagem 1, varivel 1, ...); Vejamos abaixo um programa que apenas exibe uma mensagem na tela:

Figura 11 - Ol Mundo em Pascal

Compilando esse programa obtemos:

Figura 12 - Programa rodando

Pgina 15 de 26

II Curso Pr-Engenharia

Apostila de Programao

Como vimos, muito simples exibir mensagens simples na tela do computador. Agora, se quisermos exibir mensagens juntamente com valores de variveis? Vejamos esse exemplo:

Figura 13 - Exibindo mensagens com variveis

Aqui estamos misturando textos com valores armazenados em variveis. Quando compilamos esse programa ele gera o seguinte resultado:

Figura 14 - Programa rodando

Repare: onde no se usou aspas simples, dentro do writeln, o que foi mostrado na tela foi o valor contido na varivel, e no o seu nome. Exemplo: onde seria exibido Nome1, exibiu-se Hexa, que era o valor contido na varivel.

10.2. Entrada de dados


Em Pascal, a entrada de dados feita utilizando o comando readln(). A sintaxe desse comando a seguinte: readln(Varivel1, Varivel2, ...); Nesse caso, o programa vai parar sua execuo at que o usurio digite algum valor. Ao digitar o valor e pressionar a tecla ENTER, o valor digitado ser armazenado na Varivel1 e o programa esperar

Pgina 16 de 26

II Curso Pr-Engenharia

Apostila de Programao

novamente por um valor, mas o armazenar na Varivel2. Isso se repete at que todas as variveis listadas estejam preenchidas com algum valor. Vejamos um programa que utiliza entrada de dados pelo usurio:

Figura 15 - Programa que trabalha com entrada de dados

Que gera o seguinte resultado:

Figura 16 - Programa funcionando

11.Operadores
Os operadores, como o nome sugere, nos permitem realizar operaes entre variveis numricas. Essas operaes podem ser algbricas, lgicas ou de comparao. Dessa forma, existem operadores diferentes para cada tipo. Veremos a seguir.

11.1. Operadores Aritmticos


Resumiremos os operadores aritmticos na seguinte tabela:
Tabela 3 - Operadores aritmticos

Operador + * / div mod

Funo Soma Subtrao Multiplicao Diviso simples Diviso inteira Resto da diviso inteira

Pgina 17 de 26

II Curso Pr-Engenharia

Apostila de Programao

Um exemplo da utilizao desses operadores pode ser observado no programa abaixo.

Figura 17 - Operaes aritmticas

Gerando o seguinte resultado:

Figura 18 - Programa funcionando

11.2. Operadores Lgicos


Os operadores lgicos esto resumidos na tabela a seguir.
Tabela 4 - Operadores Lgicos

Operador Funo NOT Negao AND Conjuno (e) OR Disjuno (ou)

A utilizao desses operadores ficar mais evidente no estudo de Estruturas de controle de fluxo.

11.3. Operadores de Comparao


Os operadores de comparao esto resumidos na tabela a seguir.

Pgina 18 de 26

II Curso Pr-Engenharia

Apostila de Programao

Tabela 5 - Operadores de Comparao

Operador = <> > < >= <=

Funo Igualdade Diferena Maior que Menor que Maior ou igual Menor ou igual

Assim como nos operadores lgicos, a utilizao dos operadores de comparao ficar mais evidente no estudo das Estruturas de controle de fluxo.

12.Estruturas de Controle de Fluxo


Essas estruturas, tambm chamadas de Estruturas de Deciso, garantem que alguns comandos s sejam executados se uma ou mais condies sejam satisfeitas. Exemplo: s podemos calcular a rea de um tringulo de lados de comprimento x, y e z se x < y + z, y < x + z e z < y + x. Caso contrrio, aconselhvel que o programa avise ao usurio de que no existe um tringulo para aqueles valores de comprimentos dos lados.

12.1. Comando if ... then


Esta estrutura define se um comando ou bloco de comandos (de aes) ser realizado pelo programa, a partir da verificao de uma ou mais condies. Sua sintaxe a seguinte:

A condio determinada utilizando-se operadores lgicos, matemticos e de comparao. O mecanismo desta estrutura simples: se o valor da condio for verdadeiro (true), o bloco de comandos ser executado. Caso contrrio, o programa ignorar o bloco de comandos contido no interior do if ... then. Exemplo de programa em que se utiliza da estrutura de deciso if ... then:

Figura 14 Uma aplicao bsica do comando if ... then.

Pgina 19 de 26

II Curso Pr-Engenharia

Apostila de Programao

Compilando, obtemos o seguinte:

Figura 15 Programa em execuo.

Repare: se tivssemos digitado os mesmo nmeros, mas em ordem inversa, o programa no teria feito mais nada (Questione-se: por qu?). Observao: num mesmo comando if ... then pode-se ter vrias condies a serem satisfeitas (pense no exemplo dos lados do triangulo).

12.2. Comando If ... then ... else


Na maioria dos casos, quando verificamos uma condio, queremos que uma ao seja tomada no caso da condio ser satisfeita, mas tambm queremos que outra ao seja tomada no caso da condio no ser verificada. Para isso existe a estrutura supracitada, cuja sintaxe a que segue (ateno ausncia de ponto-e-vrgula antes do comando else):

Exemplo: se fazemos um programa para verificar se um nmero mltiplo de outro, queremos que o programa diga que , caso o resto da diviso de um pelo outro seja zero, mas tambm queremos que o programa diga que no , caso o resto da diviso seja diferente de zero. Veja:

Figura 16 Aplicao simples do comando if ... then ... else.

Pgina 20 de 26

II Curso Pr-Engenharia

Apostila de Programao

Ento, temos o seguinte:

Figura 17 Dois exemplos do programa em execuo.

12.3. Ifs aninhados


Dependendo de sua complexidade, um programa pode utilizar o comando if ... then inmeras vezes no seu cdigo-fonte, inclusive um dentro de outro, o que chamamos de ifs aninhados. Ao utilizar, deve-se apenas atentar para no cometer erros de lgica, uma vez que a sintaxe permanece a mesma. Vejamos um exemplo (no se assuste com a extenso do programa): Daqui pra frente bastante til se observar a linha tracejada que une begin e end correspondentes, de modo a saber a que condio cada bloco de comandos est sujeito. A partir do prximo captulo a ateno a isto ser ainda mais importante.

Figura 18 Exemplo de aplicao de Ifs aninhados

Pgina 21 de 26

II Curso Pr-Engenharia

Apostila de Programao

Quando compilamos, obtemos o seguinte:

Figura 19 Dois exemplos do programa em execuo.

13.Estruturas de Repetio
Por vezes, precisamos que o programa realize determinada ao repetidamente, seja por um nmero determinado de vezes, ou enquanto uma condio est sendo satisfeita, ou mesmo at que uma condio seja verificada. Para isto utilizam-se as Estruturas de Repetio, para evitar que, por exemplo, tenhamos que escrever 30 vezes o comando readln() quando quisermos ler do teclado as notas dos 30 alunos de uma turma do Pr-engenharia.

13.1. Comando for


Repete a execuo de um bloco de comandos por um nmero de vezes que depende dos objetivos do programa. Sua sintaxe a seguinte:

Determinados os valores iniciais e finais, a varivel, que deve ser do tipo inteiro, incrementada de 1 a cada lao. Isto , o bloco de comandos executado, a varivel torna-se uma unidade maior, ento o bloco de comandos executado novamente, a varivel incrementada novamente, e assim por diante, at que ela ultrapasse o valor final. Veja:

Figura 20 Programa que exibe mdias de alunos logo aps receber as duas notas.

Pgina 22 de 26

II Curso Pr-Engenharia

Apostila de Programao

Figura 21 Parte da execuo do programa (o programa vai at o aluno 10).

Repare: as variveis n1 e n2 inicialmente recebem as notas do aluno 1, a mdia calculada e, no lao seguinte, as mesmas variveis recebem os valores das notas do aluno 2, e assim por diante. Esta propriedade importante: uma varivel carregar em cada momento o ltimo valor que lhe foi atribudo.

13.2. Comando While


Difere do comando for quanto sintaxe. A maioria dos programas em que se usa o while podem ser feitos usando-se o for, e vice-versa. Porm, em alguns casos a escolha de um deles simplifica significativamente a lgica a ser utilizada. Vejamos a sintaxe do comando while:

Exemplo de programa:

Figura 22 Aplicao do while para validar a classificao fornecida.

Pgina 23 de 26

II Curso Pr-Engenharia

Apostila de Programao

Figura 23 O programa pede a classificao at que ela tenha um valor vlido.

13.3. Comando Break


Algumas vezes interessante parar o programa antes que um lao seja realizado por completo. Nestes casos, utiliza-se o comando break, cuja sintaxe ser mostrada no exemplo a seguir:

Figura 24 Aplicao do comando break para encerrar o lao for.

Figura 25 Caso o terceiro aluno no acertasse, o lao iria at que algum acertasse ou at o 20 aluno.

Pgina 24 de 26

II Curso Pr-Engenharia

Apostila de Programao

14.Exerccios Propostos
1. Fazer um programa que pea um nmero inteiro x e um valor de potncia n e calcule x n. 2. Dado um nmero inteiro positivo n, calcular a soma dos n primeiros nmeros naturais. 3. Criar um programa que receba uma senha numrica e teste-a, verificando se est correta ou no. 4. Escreva um programa em PASCAL que leia a razo de uma PA, o seu primeiro termo e a quantidade de termos e com isso calcule a soma dessa PA. 5. Escreva um programa que leia as notas das duas avaliaes normais e a nota da avaliao optativa. Caso o aluno no tenha feito a optativa deve ser fornecido o valor 0. Calcular a mdia do semestre considerando que a prova optativa substitui a nota mais baixa entre as duas primeiras avaliaes. Escrever a mdia e mensagens que indiquem se o aluno foi aprovado, reprovado ou est de AF, de acordo com as informaes abaixo: Aprovado: media >= 7.0 Reprovado: media < 4.0 AF: media >= 4.0 e < 7.0 6. Faa um programa que leia um nmero indeterminado de idades. A ltima idade lida, que no entrar nos clculos, dever ser igual a zero. Ao final o programa dever escrever quantas idades foram lidas, calcular e escrever a mdia de idade desse grupo de idades. 7. Faa um programa que leia 10 nmeros inteiros positivos, calcule e imprima os que so nmeros perfeitos. Sendo que, um nmero perfeito aquele cuja soma de seus divisores, exceto ele prprio, igual ao nmero. Exemplo: 6 perfeito porque 1 + 2 + 3 = 6. 8. Escreva um algoritmo no qual o usurio digite o valor de um ngulo em graus e o programa retorne na tela o valor do mesmo em radianos. 9. Escreva um programa que retorne na tela os 30 primeiros termos da seqncia de Fibonacci. Tal seqencia inicia-se com 0 e 1, e os prximos termos da seqncia so adquiridos a partir da soma dos 2 termos anteriores. 10. Elabore um programa que calcule as razes de equaes do 2 grau. O algoritmo dever avisar caso o valor de delta seja negativo. 11. Elabore um programa que leia dois nmeros e calcule a combinao simples (do estudo de probabilidade e combinatria) entre eles. 12. Implemente um programa de converso de temperaturas em Kelvin para Celsius. 13. Considere uma certa cultura de bactrias na qual cada bactria se divida em duas a cada 1s e assim por diante. Idealize um programa que, dado um valor qualquer de segundos, fornea a quantidade de

Pgina 25 de 26

II Curso Pr-Engenharia

Apostila de Programao

bactrias originadas de apenas uma na cultura. Mas cuidado! Para valores de tempo um pouco grandes o clculo se tornar invivel, pois exceder os limites numricos da linguagem. 14. Dadas as duas notas e percentagem de freqncias de um aluno, construir um programa que calcule e exiba a mdia aritmtica do aluno e sua situao na disciplina: Mdia >= 7 e frequncia >= 0.75 aluno aprovado Mdia >= 7 e frequncia <= 0.75 aluno reprovado por falta 4 =< Mdia < 7 e frequncia < 0.75 aluno reprovado por falta 4 =< Mdia < 7 e frequncia > 0.75 aluno dever fazer exame final Mdia < 4 e frequncia > 0.75 aluno reprovado por mdia Mdia < 4 e frequncia < 0.75 aluno reprovado por mdia e por falta 15. Construa um programa que leia uma coordenada (x,y) e verifique qual o quadrante que ela est, ou se est em um dos eixos, ou na origem. Neste mesmo programa entre com uma segunda coordenada e verifique qual dos 2 pontos no Plano Cartesiano est mais prximo da origem dos eixos (0,0). No necessrio fazer dois programas. 16. Faa um programa que leia trs nmeros (a, b, c) e indique se esses nmeros podem ser os tamanhos dos lados de um tringulo. Caso a resposta seja afirmativa, indique se o tringulo eqiltero (3 lados iguais), issceles (2 lados iguais) ou escaleno (3 lados diferentes). OBS: trs nmeros NO representam os lados de um tringulo quando algum deles maior que a soma dos outros dois. 17. Escrever um algoritmo que escreve a soma dos nmeros pares entre 0 e 100. 18. Escrever um algoritmo que l 5 valores, um de cada vez, e conta quantos destes valores so negativos, escrevendo esta informao.

Pgina 26 de 26