Projeto e Análise de
Algoritmos II – Aula 1
Prof. Esp. Jose Carlos Francisco dos Santos
email: jc.fa1982@gmail.com
fone: (43) 9998-9212
Sobre o Docente
 Graduado
em Tecnologia em Processamento de Dados
pela Universidade Norte do Parana (2003) , especialista
em Administração Empresarial e Financeira pela
Faculdades Integradas do Vale Ivaí (2005) e especialista
em Administração, Supervisão e Orientação
Educacional pela Faculdade Iguaçu (2006) . Atualmente
é professor titular da Faculdade Iguaçu e Analista de
sistemas do Instituto de Estudos Avançados e PosGraduação.
Sobre a disciplina
Conteúdo
Material
didático
Avaliação
Desenvolvimento projetos
Responsabilidade e comprometimento dos
alunos
Sobre você
Nome
Trabalha? O que
faz?
Porque escolheu o curso de Sistema de
Informação?
Qual seu objetivo na disciplina?
O que é Linguagem
Programação?
 Linguagem
de
de programação é um conjunto de
termos, expressões, símbolos e regras que
podem ser entendidos pelo compilador,
interpretador ou montador com o qual o
programador se comunica com o computador.
Exemplos de linguagem de programação:
Pascal, Cobol, Fortran, Clipper, Dataflex,
Delphi, Visual Basic, C++, Java, etc.
O que é um programa?
Programa
é uma seqüência de
instruções definidas pelo programador e
escritas numa linguagem de
programação, e que descreve o que o
computador deve executar para a
solução de um problema. A pessoa que
escreve, testa e documenta estes
programas é chamada de programador.
História da linguagem Pascal
 Criada
para ser uma ferramenta educacional, na década de 70
pelo Prof. Niklaus Wirth do Technical University em Zurique.
 Batizada como PASCAL, em homenagem matemático Blaise
Pascal, inventor de uma das primeiras máquinas lógicas
conhecidas.
 Nas suas primeiras implementações, Primeiro devia se
escrever o programa em um editor de texto, depois compilá-lo,
"lincá-lo" e montá-lo.
 Ao final do ano de 1983 a Borland Internacional, lançou o
TURBO PASCAL para microcomputadores.
 Características Inovadoras do Pascal: estruturas de controle
flexíveis; tipos definidos pelo utilizador; ficheiros; records;
conjuntos.
Estrutura de um programa em
Pascal
 Cabeçalho
do programa: área utilizada para
fazer a identificação do programa.
Program < nome do programa >;
 Área
de Declarações: área utilizada para
validar o uso de qualquer tipo de identificador
que seja predefinido.
Var
< identificador > : < tipo >;
 Corpo
do programa: área utilizada para
escrever o programa que tem início com a
instrução begin e é finalizada pela instrução
end seguida de ponto-final. Begin e end
caracterizam o que é chamado de bloco. O
corpo do programa pode conter inúmeros
blocos, dependendo da necessidade.
Begin
< Instruções > ;
end.
Exemplo de um programa em
Pascal
program estrutura;
var
i:integer;
begin
i:= 0;
writeln ('MEU PRIMEIRO PROGRAMA EM EXECUÇÃO');
writeln (i);
i:= i+1;
writeln (i);
i:= i+1;
writeln (i);
readln;
End.
Algoritmo x Pascal
programa estrutura;
var
i:inteiro;
inicio
i:= 0;
escreva ('MEU PRIMEIRO
PROGRAMA EM EXECUÇÃO');
escreva (i);
i:= i+1;
escreva (i);
i:= i+1;
escreva (i);
leia;
Fim.
program estrutura;
var
i:integer;
begin
i:= 0;
writeln ('MEU PRIMEIRO
PROGRAMA EM EXECUÇÃO');
writeln (i);
i:= i+1;
writeln (i);
i:= i+1;
writeln (i);
readln;
End.
Operador
+
/
*
mod
div
+
-
Operadores Aritméticos
Operação
Prioridade Matemática
Manutenção de sinal (número positivo)
1
Inversão de sinal (número negativo)
1
Divisão
2
Multiplicação
2
resto da divisão de um número pelo outro.
2
quociente da divisão inteira de um número pelo outro.
2
Adição
3
Subtração
3
Operadores Relacionais
Símbolo
=
<>
>
<
>=
<=
Significado
igual a
diferente de
maior que
menor que
maior ou igual que
menor ou igual que
Operadores Lógicos - Tabelaverdade
Resultado
Condição 1 Condição 2
Falsa
Verdadeira
Falsa
Verdadeira
Falsa
Falsa
Verdadeira
Verdadeira
Condição
Verdadeira
Falsa
And
(conjunção - )
Falso
Falso
Falso
Verdadeiro
not (negação - )
Falso
Verdadeiro
Or
(disjunção - )
Falso
Verdadeiro
Verdadeiro
Verdadeiro
Exercício - 1

Dado um número inteiro positivo n, calcular a
soma dos 4 primeiros números naturais
posteriores ao n.
Exemplo: n = 4 imprimir = 26 (5+6+7+8)
Tipos de Dados
Tipo de dado inteiro
Shortint
Integer
Longint
Byte
Word
Faixa de Abrangência
-128 até 127
-32.768 até 32.767
-2.147.483.648 até 2.147.483.647
0 até 255
0 até 65535
Nº de bytes
1 byte
2 bytes
4 bytes
1 byte
2 bytes
Tipo de dado real
Real
Single
Double
Extended
Comp
Faixa de Abrangência
2,9 E –39 até 1,7 E +38
1,5 E –45 até 3,4 E +38
5,0 E –324 até 1,7 E + 308
3,4 E –4.932 até 1,1 E +4.932
-9,2 E + 18 até 9,2 E + 18
Nº de bytes
6 bytes
4 bytes
8 bytes
10 bytes
8 bytes
Tipo de dado caractere
String
Char
Faixa de Abrangência
1 até 255 caracteres
Apenas 1 caractere
Nº de bytes
2 a 256 bytes
1 byte
Tipos lógicos
boolean
Faixa de Abrangência
True ou False
Nº de bytes
1 byte
Variáveis e Constantes
 Armazena
programa.
 Um
temporariamente as informações de um
ou mais caracteres
 Primeiro caractere não poderá ser um número, sempre deverá
ser uma letra
 Não poderá possuir espaços em branco
 Não poderá ser palavras reservadas a uma instrução ou
identificador de uma linguagem de programação
 Não poderá ser usado outros caracteres que não sejam
letras, número ou caractere underscore “_“
Declaração de Variáveis
<
nome da variável > : < tipo de dado > ;
Declaração
São
de Constantes
valores fixos, estáveis dentro de um
programa.
Comando de Atribuição
Permite
fornecer um valor a uma certa variável
onde o tipo dessa informação deve ser
compatível com o tipo da variável.
Sintaxe:
<
identificador > := < expressão >;
Units
 As
Units são um conjunto de rotinas prontas para serem
usadas. Uma Unit é uma biblioteca de funções e
procedimentos. A unit mais usada é a CRT que possui a
maior parte das rotinas e variáveis de geração de som,
controle de vídeo e teclado.
 Uses

< nome da unit >;
Comando Readln
Leva os
dados digitados no teclado à memória
principal, armazenando-os nas variáveis
especificadas na lista de identificadores.
Sintaxe:
Readln (< lista de identificadores >);
Comando Write e Writeln
 Envia
dados especificados na lista de identificadores
para um dispositivo de saída: impressora, vídeo.
Write – mantém o cursor na mesma linha após a
impressão
Writeln – leva o cursor para a linha seguinte, coluna 1,
após a impressão.
Sintaxe:
Write (< lista de identificadores e/ou constantes
e/ou expressões >) ;
Writeln (< lista de identificadores e/ou constantes
e/ou expressões >) ;
Dinâmica - Algoritmos
Dê soro a cada 1h;
Dê o remédio 2 vezes ao
dia; Alimente-o bem;
Etc;
Calcule 2²;
Calcule 5³;
Etc;
...Readln (n); Writeln
(n*n);
Readln (n); Write
(n*n*n);....
...veja o sistema tem que
fazer esses cálculos e me
mostrar em forma de
relatório;
Vai ter que mostrar na tela
quanto eu tenho na minha
conta bancária....
Exercício - 2

Dado uma sequência de 4 números inteiros
positivos n, mostrar os seguintes calculos:
1º n: multiplicar por 5 e somar com o dobro
do resultado;
2º n: somar com o quadrado de n;
3º n: mostrar n menos o 2º n;
4º n: multiplicar n por 2 e o resultado por 6;
Comando Clrscr
Limpa
o vídeo, colocando o cursor na linha 1,
coluna 1.
Sintaxe:
Clrscr;
Comando Gotoxy
Posiciona o
cursor no vídeo na coluna e na linha
indicada no comando. O vídeo é dividido em 80
colunas e 25 linhas.
Sintaxe:
Gotoxy (< col >, < lin >);
Tabulação dos dados de saída
Coloca-se “:n” após
a variável onde n é o
deslocamento a partir da posição corrente do
cursor. Para valores reais, podemos determinar a
quantidade de casas decimais que serão
exibidas, colocando-se mais uma seqüência “:n”.
< Variável >:n:n
Estrutura de Seleção
Permite
a escolha de um grupo de ações e
estruturas a ser executado quando determinadas
condições, representadas por expressões
lógicas, são ou não satisfeitas.
 Sintaxe:
If < condição > then
Begin
< instrução 1 >;
< instrução 2 >;
end
else
Begin
< instrução 1 >;
< instrução 2 >;
end;
**
Obs.: O comando antes do else não possui “;”
porque else é uma extensão da instrução If ..
then, sendo assim o final da condição somente
ocorre após o processamento da instrução else.
Estrutura de Repetição
 While
… do
Consiste numa estrutura que permite executar diversas
vezes um mesmo trecho do algoritmo, porém sempre
verificando antes de cada execução se a condição para
a repetição é verdadeira, pois só executa um
determinado conjunto de instruções enquanto a
condição verificada for verdadeira. Quando a condição
se torna falsa, a execução é desviada para fora do laço.

While < (Condição) > do
Begin
< instruções para condição verdadeira >;
end;
 Repeat
... Until
Permite que um mesmo trecho do algoritmo seja
repetido até uma determinada condição seja verdadeira,
ou seja, executa um conjunto de instruções enquanto a
condição se mantém Falsa e até que ela seja
Verdadeira, sempre verificando a condição após cada
execução. Irá efetuar a execução de um conjunto de
instruções pelo menos uma vez antes de verificar a
validade da condição estabelecida.
Repeat
< instruções até que a condição seja verdadeira >;
until < (Condição) >;
For
Repete a execução um número finito de vezes,
pois possui limites fixos.
For < variável > := < início >
Begin
< instruções >;
end;
to < fim > do
Download

Aula 1