35
Projeto e Análise de Algoritmos II – Aula 1 Prof. Esp. Jose Carlos Francisco dos Santos email: [email protected] fone: (43) 9998-9212

Projeto e Análise de Algoritmos II – Aula 1

Embed Size (px)

DESCRIPTION

Projeto e Análise de Algoritmos II – Aula 1. Prof. Esp. Jose Carlos Francisco dos Santos email: [email protected] fone: (43) 9998-9212. Sobre o Docente. - PowerPoint PPT Presentation

Citation preview

Page 1: Projeto e Análise de Algoritmos II – Aula 1

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

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

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

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

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

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

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

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

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

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

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

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

Operadores RelacionaisOperadores Relacionais

Page 14: Projeto e Análise de Algoritmos II – Aula 1

Operadores Lógicos - Tabela-verdade

Operadores Lógicos - Tabela-verdade

Page 15: Projeto e Análise de Algoritmos II – Aula 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

** 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

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

While < (Condição) > do Begin

< instruções para condição verdadeira >;

end;

Page 33: Projeto e Análise de Algoritmos II – Aula 1

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

Repeat< instruções até que a condição seja verdadeira >;

until < (Condição) >;

Page 35: Projeto e Análise de Algoritmos II – Aula 1

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;