http://www.computacao.gigamundo.com
PROGRAMAÇÃO I
Christiano Lima Santos
http://www.computacao.gigamundo.com
Uma Introdução à Computação
(Aula 1)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário





Motivação
A História da Computação
A Arquitetura de Von Neumann
Componentes de um Computador
Referências Bibliográficas
http://www.computacao.gigamundo.com
Motivação

Por que Computação?

A importância da informação



O que é informação?
A era da conhecimento
Por que Programação?

Como funciona um computador?

Como NÓS dizemos ao computador como ele
deve funcionar?
http://www.computacao.gigamundo.com
A História da Computação

Século XIV – criação do
Ábaco Chinês;


Operações de adição,
subtração, multiplicação e
divisão;
1823 – criação da
Máquina de Diferenças;

Logaritmos e funções
trigonométricas.
http://www.computacao.gigamundo.com
A História da Computação

1945 – criação do
ENIAC;



O primeiro
computador!
Cálculos balísticos
na segunda guerra
mundial;
19.000 válvulas; 19
toneladas;
http://www.computacao.gigamundo.com
A História da Computação


1947/48 – invenção do transistor;
1954 – definição de FORTRAN (Formula
Translator), primeira linguagem de programação
de alto nível;

1958 – Invenção do “circuito integrado” (CHIP);

1969 – criação da ARPANET;

Internet original, com fins militares.
http://www.computacao.gigamundo.com
A Arquitetura de Von
Neumann


Arquitetura empregada ainda hoje;
Baseia-se em três componentes principais:



Memória – usada para armazenar dados e
programas;
Unidade de Controle – circuito lógico responsável
pelo funcionamento da máquina, controlando o
fluxo de instruções;
Unidade de Processamento – realiza cálculos de
acordo com as instruções
http://www.computacao.gigamundo.com
A Arquitetura de Von
Neumann

Decompondo a Unidade
de Processamento


Unidade LógicoAritmética (ULA), onde
são executadas as
operações aritméticas;
Registradores





Memória
Unidade de Controle
Unidade de Processamento
IC
MAR
Instruction Counter;
Instruction Register;
Memory Address Register;
Memory Buffer Register;
IR
Registradores de propósito
geral.
Registrador C
MBR
Registrador A
Registrador B
ULA
http://www.computacao.gigamundo.com
Componentes de um
Computador
CPU
Memória Principal – A memória
principal é do tipo RAM (Random
Unidade de
access Memory);
Bios
Memória RAM

Controle


CPU;
BIOS (Binary I/O System) –
Memória do tipo ROM (Read
Only Memory) ou PROM;

Memória auxiliar;

Dispositivos de entrada e saída.
Unidade
Lógica
Aritmética
Interface
Interface
Periférico
Periférico
http://www.computacao.gigamundo.com
Referências Bibliográficas




INSTITUTO MILITAR DE ENGENHARIA, História do Computador,
disponível em: http://www.ime.usp.br/~macmulti/historico
LIBRANDI, Rodrigo. História da Computação, disponível em:
http://www.juliobattisti.com.br/tutoriais/rodrigolibrandi/historiac
omputacao001.asp
RIBEIRO, Fernando L. B. Notas de aula, disponível em:
http://wwwp.coc.ufrj.br/~fernando/downloads/COMPUTACAO1.
pdf
WIKIPEDIA-PT, História da Computação, disponível em:
http://pt.wikipedia.org/wiki/História_da_computação
http://www.computacao.gigamundo.com
Representação Numérica
(Aula 2)
Christiano Lima Santos
http://www.computacao.gigamundo.com
I. Bases mais estudadas em
computação

Base decimal: N
0..9

Base binária: (N)2

Base hexadecimal: (N)16
0,1
0..9, A..F
http://www.computacao.gigamundo.com
II. Representação de um número em
uma base qualquer
N = an.bn + an-1.bn-1 + ... + a1.b1 + a0
http://www.computacao.gigamundo.com
III. Conversão de base:

Base decimal para base binária:
13 = (1101)2
(a3a2a1a0)2
http://www.computacao.gigamundo.com

Base binária para base decimal:
(1101)2 = 13
a3.b3 + a2.b2 + a1.b1 + a0 = 1.23 + 1.22 + 0.21 + 1 =
13

Base decimal para base hexadecimal:
678 = (a2a1a0)16 = (2A6)16
http://www.computacao.gigamundo.com


Base hexadecimal para base decimal:
(2A6)16 = 678
2.162 + 10.161 + 6 = 512 + 160 + 6 = 678
Base binária para base hexadecimal:
http://www.computacao.gigamundo.com

Base hexadecimal para binária:
http://www.computacao.gigamundo.com
IV. Operação de adição:

Na base binária:
(1011)2 + (1010)2 = (10101)2
1011
1010
10101

Na base hexadecimal:
(25A6)16 + (3D23)16 = (62C9)16
25A6
3D23
62C9
http://www.computacao.gigamundo.com
V. Operação de Subtração:

Na base binária:
(1011)2 – (110)2 = (101)2
1011
110
0101

Na base hexadecimal:
(2C8)16 – (1A9)16 = (11F)16
2C8
1A9
11F
http://www.computacao.gigamundo.com
VI. Operação de multiplicação

Na base binária:
(10)2 x (1101)2 =
(11010)2
1101
10
0000
1101
11010

Na base hexadecimal:
(A6)16 x (538)16 =
(36250)16
538
A6
1F50
3430
36250
http://www.computacao.gigamundo.com
VII. Operação de divisão:

A forma mais fácil é converter para a base
decimal, efetuar o cálculo e converter para a
base desejada;
http://www.computacao.gigamundo.com
Exercícios

a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
Efetue os seguintes cálculos, convertendo antes os
valores para cada uma das três bases:
3+5
12 + 16
(10110)2 + (10100)2
(AF8)16 + (5C0)16
(10110)2 + (5C0)16
120 - 31
(1011101)2 – (100110)2
(AF8)16 – (5C0)16
(AF8)16 – (1011101011)2
(CB)16 x (101)2
http://www.computacao.gigamundo.com
Uma Introdução aos Algoritmos
(Aula 3)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário





Motivação
Definição de Algoritmo
Características de um
Algoritmo
Formas de
Representação dos
Algoritmos
Vantagens do Uso de
Algoritmos





Elementos
Fundamentais de um
Algoritmo
Linguagem, Compilador
e IDE
Linguagem Pascal
IDEs de Pascal
Referências
Bibliográficas
http://www.computacao.gigamundo.com
Motivação

Por que estudar algoritmos?


Queremos criar programas...
O que é um programa (software)?


Um sistema para computador que executa
tarefas de forma seqüencial;
Cada tarefa pode ser compreendida como
um conjunto de comandos e decisões;
http://www.computacao.gigamundo.com
Definição de Algoritmo


Seqüência de ações finitas que
descrevem como um problema deve ser
resolvido;
Exemplo: Trocar um pneu;
Pentear os cabelos;
Calcular a média de um aluno.
http://www.computacao.gigamundo.com
Características de um
algoritmo



Possui início e fim;
É escrito em termos de ações bem
definidas;
Suas ações possuem uma ordem
seqüencial.
http://www.computacao.gigamundo.com
Formas de Representação dos
Algoritmos
Descrição narrativa


Ex: “Receita de um bolo”
Separar os ingredientes
Bater os ovos em neve na batedeira
Acrescentar açúcar e farinha de trigo
Acrescentar uma colher de manteiga
Acrescentar uma colher de Fermento em pó
Colocar na forma
Colocar no forno e assar
Retirar do forno
Tirar da forma e servir
Fim do processo!
http://www.computacao.gigamundo.com
Formas de Representação dos
Algoritmos
Em uma linguagem de programação


Ex: função em ActionScript
function colorDifference(color1, color2) {
var r1 = Number("0x" + color1.substr(0,2));
var g1 = Number("0x" + color1.substr(2,2));
var b1 = Number("0x" + color1.substr(4,2));
var r2 = Number("0x" + color2.substr(0,2));
var g2 = Number("0x" + color2.substr(2,2));
var b2 = Number("0x" + color2.substr(4,2));
return Math.max(Math.max(Math.abs(r1 r2), Math.abs(g1 - g2)), Math.abs(b1 - b2));
}
http://www.computacao.gigamundo.com
Formas de Representação dos
Algoritmos

Representações
Gráficas

Fluxograma, por
exemplo
http://www.computacao.gigamundo.com
Formas de Representação dos
Algoritmos

Pseudocódigo (Portugol)

Ex: Cálculo de média
leia notaA, notaB, notaC, notaD;
media <- (notaA + notaB + notaC + notaD) / 2;
retorne media;


Os algoritmos são independentes das
linguagens de programação.
Não existe um formalismo rígido de como
deve ser escrito o algoritmo.
http://www.computacao.gigamundo.com
Vantagens do uso de
algoritmos


Facilita a compreensão acerca da
solução adotada;
Pode ser implementado em qualquer
linguagem;
http://www.computacao.gigamundo.com
Elementos Fundamentais de
um algoritmo



ENTRADA: São os dados de entrada do algoritmo;
PROCESSAMENTO: Procedimentos utilizados para chegar ao
resultado final;
SAÍDA: São os dados já processados.
Entrada
Processamento
Saida
http://www.computacao.gigamundo.com
Linguagem, Compilador e IDE

Linguagem


Compilador



Conjunto de regras sintáticas e semânticas usadas
para definir um programa de computador;
Programa que, a partir de um código escrito em uma
linguagem, o código-fonte, cria um programa
semanticamente equivalente porém escrito em outra
linguagem, código objeto;
Diferente do Interpretador!
IDE

Integrated Development Environment - Ambiente para
desenvolvimento integrado.
http://www.computacao.gigamundo.com
Linguagem Pascal



Linguagem de programação
estruturada;
O nome é uma homenagem ao
matemático Blaise Pascal;
Criada em 1970 pelo suíço Niklaus
Wirth.
http://www.computacao.gigamundo.com
IDEs de Pascal

Turbo Pascal

Para download http://www.netdownloads.com.br/Download/2303/TurboPascal-70.html
http://www.computacao.gigamundo.com
IDEs de Pascal

Free Pascal

Para download:
http://www.freepascal.eti.br
http://www.computacao.gigamundo.com
Referências Bibliográficas

COSTA, Abel. Apostila algoritmos e
Fluxogramas, UFBA, disponível em:
http://www.fis.ufba.br/edmar/Cursos/fo
rtran/abel/HOME%20MAT045%20%20HOME%20PAGE/APOSTILAS%20F
ORTRAN%20FORMATO%20WORD/APO
STILA%2003%20algor%EDtimos%20e
%20fluxogramas.doc
http://www.computacao.gigamundo.com
Alguns Conceitos e Comandos em
Programação
(Aula 4)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário






Identificadores
Variáveis
Constantes
Palavras-Reservadas
Tipos de Dados
Comentários


Bloco de código /
comandos
Video poker
http://www.computacao.gigamundo.com
Identificadores


Nomes dados a variáveis, tipos,
procedimentos, funções, constantes,
programas, units e campos de registros;
Pascal não é case-sensitive, logo:


Pascal = Pascal = PASCAL;
Quais as regras para identificadores válidos?

Ex. de identificadores válidos:



PAGAMENTO
Soma_Total
maiorValor
http://www.computacao.gigamundo.com
Variáveis


É um valor (referenciado por um identificador) que
pode ser alterado durante a execução do programa;
Em Pascal, nós precisamos declarar as variáveis
antes de usá-las



var <identificador> [,<identificadpr>] : <tipo>;
Ex: var a, b: integer;
c: real;
Na maioria das linguagens de programação, uma
variável está associada a um tipo de dado, que define
quais valores podem ser armazenados e como devem
ser manipulados;
http://www.computacao.gigamundo.com
Constantes



É um valor (referenciado por um
identificador) que não muda durante a
execução de um programa;
Podem ser inteiras, reais ou literais;
As constantes também devem ser declaradas
em Pascal (constantes nomeadas);



const <identificador> = <valor>;
Quem vai especificar o tipo do identificador
da nossa constante?
Atenção quanto às constantes tipadas:


const <identificador> : <tipo> = <valor>;
Na verdade, são variáveis inicializadas!
http://www.computacao.gigamundo.com
Palavras-Reservadas


Termos que não podem ser usados pelo
desenvolvedor ao declarar variáveis,
constantes, tipos, procedimentos ou
funções, por já serem empregados pela
linguagem ou compilador em outras
situações;
Exemplos de palavras-reservadas:

And, array, function, if, implementation;
http://www.computacao.gigamundo.com
Tipos de Dados


Um tipo especifica as características de
um dado;
Toda variável e constante usada em um
programa tem um tipo associado com
ela.
http://www.computacao.gigamundo.com

Os tipos podem ser divididos em três
categorias:




Tipo escalar (ou simples) – representa uma única
peça de dados;
Tipo estruturado – representa uma coleção de
itens de dados;
Tipo apontador – faz referência ou aponta para
outra peça de dados;
Um novo tipo pode ser declarado do seguinte
jeito:

type <identificador> = <descricao>;
http://www.computacao.gigamundo.com
Comentários




São textos escritos dentro do código-fonte
para explicar ou descrever alguns aspectos
relativos ao mesmo;
No momento de compilação, esses textos
serão ignorados.
Os comentários podem ser de final de linha,
linha ou de bloco;
Em Pascal, um comentário pode ser escrito
assim:


(* Texto aqui *);
{ Texto aqui };
http://www.computacao.gigamundo.com
Bloco de código/comandos


Também conhecido
como comando
composto;
Em Portudol

Início




Um ou mais comandos
agrupados a serem
executados
seqüencialmente sendo
assim possível usá-los
em onde somente um
comando é permitido;


...
comandos
...
Fim
Em Pascal

begin


comandos...


...
...
end;
http://www.computacao.gigamundo.com
Comandos para Atribuição


Permitem estabelecer o valor de uma
expressão (lado direito ou R-Value), como
sendo o valor de uma variável (l-value e rvalue);
Em Portugol


variável  valor;
Em Pascal

Variável := valor.
http://www.computacao.gigamundo.com
Comandos para Impressão


Permitem imprimir mensagens de texto
legíveis ao usuário;
Em Portugol


Imprima Texto;
Em Pascal


write(‘...’);
writeln(‘...’);
http://www.computacao.gigamundo.com
Comandos para Leitura


Permitem que o usuário insira valores
que serão armazenados em variáveis;
Em Portugol


Leia variavel;
Em Pascal


read(variavel);
readln(variavel);
http://www.computacao.gigamundo.com
Operadores e Expressões
Aritméticas


As operações básicas ( +, -, x, / ) em
Portugol e Pascal funcionam de forma
similar a como usamos no cotidiano;
Atentar-se a:


Uso de parênteses;
Prioridade das operações.
http://www.computacao.gigamundo.com
Estrutura Básica de um
Programa em Pascal
program <identificador>;
[<cláusula uses>>]
[<declaração de rótulos>] 0;
[<declaração de constantes>];
[<declaração de subprogramas>;]
BEGIN
comando1[; <comando> ];...corpo do programa}
END.
http://www.computacao.gigamundo.com
Expressões
(Aula 5)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário








Definição de Expressão
Tipos de Expressões
Expressões Numéricas / Aritméticas
Expressões Literais
Expressões Relacionais
Expressões Booleanas
Expressões Constantes
Exercícios
http://www.computacao.gigamundo.com
Definição de Expressão

Conjunto de operações efetuadas sobre
certos dados (operandos) a fim de
obter um resultado.
http://www.computacao.gigamundo.com
Tipos de Expressões





Expressões
Expressões
Expressões
Expressões
Expressões
Numéricas/Aritméticas
Literais
Relacionais
Booleanas
Constantes
http://www.computacao.gigamundo.com
Expressões
Numéricas/Aritméticas


Operador de negação (not);
Operadores multiplicativos:







multiplicação (*);
divisão real (/);
divisão inteira (div);
resto da divisão (mod);
“e” lógico (and);
deslocamento (shift) lógico para a esquerda(shl);
deslocamento (shift) lógico para a direita (shr);
http://www.computacao.gigamundo.com

Operadores aditivos:



adição e subtração (+, -);
“ou” lógico (or);
“ou” exclusivo (xor);
http://www.computacao.gigamundo.com
Expressões Literais

Operador de concatenação (+)
http://www.computacao.gigamundo.com
Expressões Relacionais







Igual a
Maior do que
Maior ou igual do que
Menor do que
Menor ou igual do que
Diferente de
Obs: São válidas tanto para
caracteres e strings!
=
>
>=
<
<=
<>
inteiros, reais,
http://www.computacao.gigamundo.com
Expressões Booleanas



Operador de negação (not);
Operador “e” booleano (and);
Operador aditivos:



“ou” booleano (or);
“ou” booleano exclusivo (xor);
Algumas Observações:


Operadores booleanos têm mais hierarquia
(prioridade) que os operadores relacionais;
Avaliação completa x avaliação curto-circuito.
http://www.computacao.gigamundo.com
Expressões Constantes

Ex: const
X = 32768*2 – 1;
S = ‘valor’ + ‘total’;
K = 256 div 2;
http://www.computacao.gigamundo.com
Exercícios

Represente em Pascal as seguintes expressões:
2 (x+3y)2
0,029x1,5
2,7y2,7
1 + x + x2 + x3 + x4
2! 3! 4!
z está entre x + 2 e x + 7, inclusive
x, y e z são iguais
x ou y são negativos, mas não os dois
http://www.computacao.gigamundo.com
Comandos Condicionais
(Aula 6)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário

Comando Condicional If



Definição
Sintaxe
Comando Condicional Case


Definição
Sintaxe
http://www.computacao.gigamundo.com
Comando Condicional If


Permite executar uma instrução se e
somente se uma condição expressa for
verdadeira;
Caso a expressão seja falsa, o programa
poderá executar uma instrução
declarada para esse caso (else) ou
simplesmente seguir, sem a execução
de um comando.
http://www.computacao.gigamundo.com
Comando Condicional If

If Simples

Em Portugol
se <condição> então
<comando>

Em Pascal
if <condição> then
<comando>;

Se a condição expressa for verdadeira, execute o
comando, caso contrário, ignore-o.
http://www.computacao.gigamundo.com
Comando Condicional If

Obs: Comandos condicionais podem ser
aninhados

Ex:
if <condição> then
if <condição> then
<comando>;
http://www.computacao.gigamundo.com
Comando Condicional If

If Composto

Em Portugol
se <condição> então
<comando1>
senão
<comando2>

Em Pascal
if <condição> então
<comando1>
else
<comando2>;

Em Pascal, o último comando antes do
else não pode ter ; caso contrário o
programa pensará que o if termina ali e o
else ficará sem um if, o que gera um erro
em tempo de compilação!
Aqui, nós dizemos que se a condição expressa for
verdadeira, execute o comando1, caso contrário,
execute o comando2.
http://www.computacao.gigamundo.com
Comando Condicional If

Problema dos Ifs compostos aninhados:

Dado o comando:
if b1 then if b2 then s1 else s2;


O else pertence a qual if? Por quê?
Na maioria das linguagens, a associação é
feita sempre entre os pares mais próximos,
logo:
if b1 then if b2 then s1 else s2;
http://www.computacao.gigamundo.com
Comando Condicional If

Nós podemos usar blocos de código (begin e end)
a fim de tornar mais claro qual else pertence a
qual if:
if b1 then
begin
if b2 then
s1
end
else
s2;

Perceba que usando begin e
end eu alterei facilmente a
“posse” do else.
Ficou também claro agora a
quem o else pertence (neste
caso, ao primeiro if).
Lembrando que blocos de código podem ser
usados em qualquer lugar de um código que
aceite um comando, a fim de melhorar a
legibilidade ou para incluir mais comandos onde
só poderíamos escrever um.
http://www.computacao.gigamundo.com
Comando Condicional Case




O if não é nossa única opção!
O case consiste de uma expressão (seletor) e
uma lista de comandos associados a rótulos
de case;
Tanto o seletor quanto os rótulos de case
devem assumir o mesmo tipo escalar ordinal;
Será executado o comando cujo rótulo
representa o valor do seletor;
http://www.computacao.gigamundo.com
Comando Condicional Case

Em Pascal, o comando é:
case <expressão> of
<rotulo1>: <comando1>;
<rotulo2>: <comando2>;
<rotulo3>: <comando3>;
...
else
<comando> [; <comando>]...
end;
http://www.computacao.gigamundo.com
Comando Condicional Case

opcao := 2;
case opcao of
1: <comando1>;
2: <comando2>;
3: <comando3>;
else
<comando>;
end;


No exemplo dado ao lado, o case
irá avaliar a expressão (opcao) e
determinará seu valor como sendo
2;
Ele então buscará qual o rótulo
que possui esse valor (no caso, o
rótulo 2), e então executará o
comando associado a ele
(comando2);
E se opção fosse 4?

Não encontrando o valor, se
houver uma cláusula else, ele a
executará, caso contrário, ele não
executa comando algum;
http://www.computacao.gigamundo.com
Comando Condicional Case

Quando é bom usar



Trabalhando condicionais de igualdade com um
única variável ou uma expressão do tipo escalar
ordinal;
Mais de dois possíveis “desvios” (comandos a
executar);
Quando não é bom usar

Trabalhando com tipos não-escalares ou escalares
não-ordinais;


Strings e arrays, por exemplo;
Utilizando condições de desigualdade

Ex: >, >=, <, <=, <>.
http://www.computacao.gigamundo.com
Comandos de Repetição
(Aula 7)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário





Definição
Comando For
Comando While
Comando Repeat
Comandos de Interrupção de Laços


Continue
Break
http://www.computacao.gigamundo.com
Definição


São comandos usados para executar um
comando (ou um conjunto de comandos)
mais de uma vez;
O número de execuções pode ser fixado no
início do comando (comando for) ou o
comando pode ser repetido até que uma
condição seja verdadeira (comando repeat)
ou falsa (comando while).
http://www.computacao.gigamundo.com
Comando For


O comando For executa repetitivamente
um comando enquanto é atribuído uma
série de valores a uma variável de
controle;
Sintaxe em Portugol
para <variável>  <início> até <fim> faça
<comando>

Sintaxe em Pascal
for <variável> := <expressão1> to / downto <expressão2> do
<comando>;
http://www.computacao.gigamundo.com
Comando For

Funcionamento
1.
2.
3.
4.
A variável de controle e as expressões devem
ser do mesmo tipo escalar ordinal;
Inicialmente a variável recebe o valor de
expressão1;
Antes de começar a execução, o programa
testa se a variável é menor ou igual (se usado
to) ou maior ou igual (se usado downto) à
expressão2;
Se o resultado do teste for verdadeiro, o
comando do laço é executado;
http://www.computacao.gigamundo.com
Comando For

Funcionamento (continuando)
5.
6.
Ao terminar a execução do comando do laço,
a variável de controle é testada para verificar
se é igual ao valor final (expressão2);
Se for igual, a execução do laço é terminada,
caso contrário, a variável é incrementada
(to) ou decrementada (downto) e o comando
do laço é executado novamente, ao fim do
qual retorna ao passo 5, até atingir o valor
de expressão2.
http://www.computacao.gigamundo.com
Comando For

O que acontecerá em cada um desses casos




for
for
for
for
i
i
i
i
:=
:=
:=
:=
0 to 10 do
10 to 0 do
10 downto 0 do
0 downto 10 do
http://www.computacao.gigamundo.com
Comando For

Observações

O Turbo Pascal calcula o valor das expressões
no começo da execução do comando for e usa
estes valores enquanto durar a repetição


Por isso os valores das expressões não podem ser
alterados dentro do laço;
O valor da variável de controle não deveria ser
alterado dentro do laço;
http://www.computacao.gigamundo.com
Comando For

Observações (continuando)

O que aconteceria com
for i := 1 to 10 do
i := i + 15;

Ao terminar o for, a variável de controle
terá o valor da expressão2;

Exceto se for interrompido por goto ou break;
http://www.computacao.gigamundo.com
Comando While


O comando while executa repetitivamente um
comando enquanto uma expressão de
controle for verdadeira (true);
Sintaxe em Portugol
enquanto <exp-booleana> faça
<comando>

Sintaxe em Pascal
while <exp-booleana> do
<comando>;
http://www.computacao.gigamundo.com
Comando While

Observações

As variáveis da expressão podem (e devem!) ser
alteradas durante a execução do laço;


Cuidados com a declaração do caso de parada;


Caso contrário, a expressão será sempre verdadeira!
Senão, o seu laço será executado indefinidamente;
Se ao começar o comando while o valor da
expressão for falsa, o laço não será executado
nenhuma vez;
http://www.computacao.gigamundo.com
Comando Repeat


O comando repeat executa seu comando uma
primeira vez e re-executa-o até que a
expressão de controle seja verdadeira;
Sintaxe em Portugol
repita
<comando> [; <comando>]...
até <exp-booleana>

Sintaxe em Pascal
repeat
<comando> [; <comando>]...
until <exp-booleana>
http://www.computacao.gigamundo.com
Comando Repeat

Observações


Diferentemente do for e do while, o
comando repeat será executado ao menos
uma vez, já que o teste é feito somente ao
final;
Enquanto que o while é executado
enquanto a expressão de controle for
verdadeira, com o repeat a execução do
comando é repetida enquanto a expressão
for falsa.
http://www.computacao.gigamundo.com
Comandos de Interrupção de
Laços

Continue


Break


Causa um desvio para o final do laço mais interno
de um comando de repetição, em outras palavras,
salta os comandos subseqüentes, mas não
interrompe completamente a execução do laço;
Interrompe completamente a execução do laço;
Os comandos de execução não estão
disponíveis no Pascal padrão.
http://www.computacao.gigamundo.com
Funções e Procedimentos
(Aula 8)
Christiano Lima Santos
http://www.computacao.gigamundo.com
Sumário





Definição
Comando For
Comando While
Comando Repeat
Comandos de Interrupção de Laços


Continue
Break
http://www.computacao.gigamundo.com
Definição de Função

Grupo de comandos que efetuam
determinada operação (sobre
argumentos passados ou não) e cujo
resultado será utilizado em uma
expressão;
http://www.computacao.gigamundo.com
Sintaxe de uma Função
function <nome-da-função>
(<param>[,<param>]...:<tipo>
[;<param>[,<param>]...:<tipo>]...) : <tipo>
[declarações]
begin
<comando>[;<comando>]...
end;
Obs: O retorno da função é dado por
<nome-da-função> := valor_desejado;
http://www.computacao.gigamundo.com
Funções Numéricas




sin(x)
cos(x)
tan(x)
arctan(x)









exp(x)
ln(x)
sqr(x)
sqrt(x)



abs(x)
frac(x)
int(x)
round(x)
trunc(x)
random[(x)]
pi
odd(x)
http://www.computacao.gigamundo.com
Funções Literais






chr(I)
copy(S, inicio, comprimento)
length(S)
ord(C)
DownCase(C)
UpCase(C)
http://www.computacao.gigamundo.com
Definição de Procedimento

Grupo de comandos que efetuam
determinada operação (sobre
argumentos passados ou não) mas que
NÃO retorna seu resultado para uma
expressão;
http://www.computacao.gigamundo.com
Sintaxe de um Procedimento
procedure <nome-do-procedimento>
(<param>[,<param>]...:<tipo>
[;<param>[,<param>]...:<tipo>]...)
[declarações]
begin
<comando>[;<comando>]...
end;
Obs: Em um procedimento, não há retorno.
http://www.computacao.gigamundo.com
Procedimentos de
Entrada/Saída de Dados

read e readln


Usados para receber dados do teclado ou
para leitura de arquivos;
write e writeln

Usados para exibir dados, gravar arquivos ou
mesmo impressão;
http://www.computacao.gigamundo.com
Outros Procedimentos








dec(x [, N])
inc(x [, N])
delete(S, inicio, quantidade)
insert(S, destino, inicio)
str(x[:W[:D], S)
val(S, V, codigo)
exit
halt
Download

programação i - Giga Mundo