Projeto e Análise de Algoritmos II – Aula 1
-
Upload
evangelia-chloe -
Category
Documents
-
view
50 -
download
0
description
Transcript of Projeto e Análise de Algoritmos II – Aula 1
![Page 1: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/1.jpg)
Projeto e Análise de Algoritmos II – Aula 1
Prof. Esp. Jose Carlos Francisco dos Santosemail: [email protected]
fone: (43) 9998-9212
![Page 2: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/2.jpg)
Sobre o DocenteSobre 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 Pos-Graduação.
![Page 3: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/3.jpg)
Sobre a disciplinaSobre a disciplina
ConteúdoMaterial didáticoAvaliaçãoDesenvolvimento projetosResponsabilidade e comprometimento dos
alunos
![Page 4: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/4.jpg)
Sobre vocêSobre você
NomeTrabalha? O que faz?Porque escolheu o curso de Sistema de
Informação?Qual seu objetivo na disciplina?
![Page 5: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/5.jpg)
O que é Linguagem de Programação? O que é Linguagem de Programação? Linguagem 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.
![Page 6: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/6.jpg)
O que é um programa? 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.
![Page 7: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/7.jpg)
História da linguagem Pascal
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.
![Page 8: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/8.jpg)
Estrutura de um programa em Pascal
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 >;
![Page 9: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/9.jpg)
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.
![Page 10: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/10.jpg)
Exemplo de um programa em Pascal
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.
![Page 11: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/11.jpg)
Algoritmo x PascalAlgoritmo x Pascalprogram 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.
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.
![Page 12: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/12.jpg)
Operadores AritméticosOperadores Aritméticos
Operador 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 mod resto da divisão de um número pelo outro. 2 div quociente da divisão inteira de um número pelo outro. 2 + Adição 3 - Subtração 3
![Page 13: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/13.jpg)
Operadores RelacionaisOperadores Relacionais
![Page 14: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/14.jpg)
Operadores Lógicos - Tabela-verdade
Operadores Lógicos - Tabela-verdade
![Page 15: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/15.jpg)
Exercício - 1Exercí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)
![Page 16: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/16.jpg)
Tipos de DadosTipos de Dados
Tipo de dado inteiro Faixa de Abrangência Nº de bytes Shortint -128 até 127 1 byte Integer -32.768 até 32.767 2 bytes Longint -2.147.483.648 até 2.147.483.647 4 bytes
Byte 0 até 255 1 byte Word 0 até 65535 2 bytes
Tipo de dado real Faixa de Abrangência Nº de bytes
Real 2,9 E –39 até 1,7 E +38 6 bytes Single 1,5 E –45 até 3,4 E +38 4 bytes Double 5,0 E –324 até 1,7 E + 308 8 bytes
Extended 3,4 E –4.932 até 1,1 E +4.932 10 bytes Comp -9,2 E + 18 até 9,2 E + 18 8 bytes
Tipo de dado caractere Faixa de Abrangência Nº de bytes
String 1 até 255 caracteres 2 a 256 bytes Char Apenas 1 caractere 1 byte
Tipos lógicos Faixa de Abrangência Nº de bytes
boolean True ou False 1 byte
![Page 17: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/17.jpg)
Variáveis e ConstantesVariáveis e Constantes
Armazena temporariamente as informações de um programa.
Um ou mais caracteresPrimeiro caractere não poderá ser um número, sempre
deverá ser uma letraNão poderá possuir espaços em brancoNão poderá ser palavras reservadas a uma instrução ou
identificador de uma linguagem de programaçãoNão poderá ser usado outros caracteres que não sejam
letras, número ou caractere underscore “_“
![Page 18: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/18.jpg)
Declaração de VariáveisDeclaração de Variáveis
< nome da variável > : < tipo de dado > ;
Declaração de Constantes
São valores fixos, estáveis dentro de um programa.
![Page 19: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/19.jpg)
Comando de AtribuiçãoComando 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 >;
![Page 20: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/20.jpg)
UnitsUnits
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 >;
![Page 21: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/21.jpg)
Comando ReadlnComando 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 >);
![Page 22: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/22.jpg)
Comando Write e WritelnComando 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ãoWriteln – 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 >) ;
![Page 23: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/23.jpg)
Dinâmica - AlgoritmosDinâmica - Algoritmos
Calcule 2²;Calcule 5³;
Etc;
Dê soro a cada 1h;Dê o remédio 2 vezes ao
dia; Alimente-o bem;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....
![Page 24: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/24.jpg)
Exercício - 2Exercí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;
![Page 25: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/25.jpg)
Comando ClrscrComando Clrscr
Limpa o vídeo, colocando o cursor na linha 1, coluna 1.
Sintaxe:Clrscr;
![Page 26: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/26.jpg)
Comando GotoxyComando 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 >);
![Page 27: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/27.jpg)
Tabulação dos dados de saída
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
![Page 28: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/28.jpg)
Estrutura de SeleçãoEstrutura 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.
![Page 29: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/29.jpg)
Sintaxe:
If < condição > then Begin
< instrução 1 >;< instrução 2 >;
endelse Begin
< instrução 1 >;< instrução 2 >;
end;
![Page 30: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/30.jpg)
** 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.
![Page 31: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/31.jpg)
Estrutura de RepetiçãoEstrutura 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.
![Page 32: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/32.jpg)
While < (Condição) > do Begin
< instruções para condição verdadeira >;
end;
![Page 33: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/33.jpg)
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.
![Page 34: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/34.jpg)
Repeat< instruções até que a condição seja verdadeira >;
until < (Condição) >;
![Page 35: Projeto e Análise de Algoritmos II – Aula 1](https://reader036.fdocument.pub/reader036/viewer/2022081508/56812b33550346895d8f411a/html5/thumbnails/35.jpg)
For
Repete a execução um número finito de vezes, pois possui limites fixos.
For < variável > := < início > to < fim > do Begin < instruções >; end;