Transcript
Page 1: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Algoritmos e Programação

Ederson Luiz da Silva

Ciência da Computação

_______________________________

_______________________________

Page 2: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Linguagem de programação

Page 3: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Linguagem de Programação

Linguagem de máquina

Page 4: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Linguagem de Programação

Linguagem de baixo nível

http://www.assemblyprogressivo.net/p/curso.html

Page 5: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Linguagem de Programação

Linguagem de alto nível

Page 6: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Paradigmas de Programação

Imperativo;

Funcional;

Lógico;

Orientado à objetos;

Page 7: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Paradigma Imperativo – Fortran, Pascal

Paradigma mais antigo e contrasta com

as outras linguagens: Funcional e lógica;

Características:Definição de tipos de dados

Expressões e atribuições

Estruturas de controle de fluxo (programação estruturada)

Definição de sub-rotinas (programação procedimental)

Page 8: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Paradigma Funcional - LISP

Ênfase em aplicação de funções;

Características:Variáveis amarradas a valores e não trocam de valor

Funções matemáticas formam o programa

Page 9: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Paradigma Lógico - Prolog

John McCarthy (1958);

Faz uso da lógica matemática;

Características:Programas são declarativos: especificam resultados desejados

em vez de procedimentos para produzi-los

Sintaxe diferente das demais linguagens

Page 10: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Paradigma Orientado à objetos - Java

Mais atual, faz uso de objetos, atributos,

métodos e classes na programação;

Características:Abstração: como o programador irá abstrair para o programa

a identidade, propriedades e métodos;

Encapsulamento: elemento que adiciona segurança à

aplicação;

Herança;

Polimorfismo: alterar sua forma/estado.

Page 11: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Processo de desenvolvimento de programa

Especificação de requisitos;

Projeto de software;

Implementação;

Validação;

Manutenção.

Page 12: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Especificação de requisitos

Coleta de dados;

Abstração;

Verificação in loco;

Características do programa;

Desempenho, espaço de memória, etc.

Cronograma.

Page 13: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Projeto de software

Identificação;

Categorização;

Escolhas;

Métodos, estrutura de dados, etc.

Evitar perdas.

Page 14: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Implementação

Programação

Utilização de Softwares;

Page 15: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Validação

Testes;

Atendimento às exigências

Page 16: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Manutenção

Vida útil do programa;

Evolução do programa;

Page 17: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalCaracterísticas

Estruturado: Sequência de programação decima para baixo, da esquerda para direita, hánecessidade de declaração de variáveis,delimitar inicio e fim de blocos deprogramação.

Identificadores: Correspondem aos “nomespróprios” escolhidos pelo programador pararepresentar os diversos elementos doprograma.

Page 18: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Pascal

Palavras Reservadas

http://www.inf.ufsc.br/~lau.lung/INE5201/Material%20de%20Aula/ICC3.pdf

Page 19: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Pascal

Separadores

http://www.inf.ufsc.br/~lau.lung/INE5201/Material%20de%20Aula/ICC3.pdf

Page 20: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Pascal

Page 21: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em Pascal

Características

Tipos de dados

Numéricos inteiros: shortintinteger, longint,

byte, word;

Numéricos reais: real, single, double,

extended, comp;

Caracteres: string.

Page 22: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalCaracterísticas

Tipos de dados

String: Ao declarar uma variável do tipo string

é necessário informar o tamanho da string.

Page 23: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalCaracterísticas

Exemplo de código

Page 24: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalCaracterísticas

Operadores aritméticos

Page 25: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalExemplo de código

Page 26: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de seleção

Page 27: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de seleção

if

Page 28: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 29: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 30: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 31: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 32: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 33: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PascalEstrutura de repetição

Page 34: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Dinâmico: Não há necessidade de declarar o

tipo da variável, a mesma variável pode

assumir diferentes tipos.

Page 35: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Delimitadores: Não é feita a utilização de

delimitadores de inicio e fim de blocos de

código, a delimitação é feita pela identação.

Page 36: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Tipos de dados numéricos: Os dados

numéricos podem ser inteiros, reais ou

complexos.

Page 37: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Tipos de dados textuais: Sequência imutável

para armazenar caracteres.

Page 38: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Lista: Sequência de valores indexadas por um

inteiro, a lista pode ter múltiplos tipos.

Page 39: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Acesso as listas criadas: O acesso é feito

indicando qual posição da lista é desejada.

Page 40: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Tuplas: São basicamente listas porém Tuplas

são imutáveis, ou seja, uma vez criada não

podem ser alteradas.

Page 41: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Dicionário: Pode ser entendido como uma

coleção de diversos elementos que podem ser

interligados entre si.

Page 42: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Atribuição

Simples

a = 1

Múltipla

a, b, c = 1, 2.9, “Hello Word”

Page 43: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Operadores aritméticos

Page 44: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Estrutura de Seleção

Page 45: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Estruturas de Controle: For

For <Variável> in <Sequência>

Page 46: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Estruturas de Controle: While

While <Condição>:

#Instruções

Exemplo?

>>> b=0

>>> while b < 5:

print b

b=b+1

Page 47: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Estruturas de Controle: While

While <Condição>:

#Instruções

Page 48: Algoritmos e Programação - UNEMAT – Campus Sinopsinop.unemat.br/site_antigo/prof/foto_p_downloads/fot_14568pabte_1... · Paradigma Imperativo –Fortran, Pascal Paradigma mais

Programação em PythonCaracterísticas

Estruturas de Controle: While

While <Condição>:

#Instruções


Recommended