introduÇÃo thober coradi detofeno, msc. aula 01 joinville 2015 universidade do estado de santa...

16
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Upload: luiz-faria-de-paiva

Post on 07-Apr-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

INTRODUÇÃO

THOBER CORADI DETOFENO, MSC.

Aula 01

JOINVILLE2015

Universidade do Estado de Santa Catarina – CCT/UDESC

Page 2: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Doutorando em Engenharia de Software pela PUC-PR, Mestre em Métodos Numéricos pela UFPR com formação superior em Ciência da Computação pela UDESC. Com mais de 15 anos de experiência profissional atuando como programador, analista de sistemas, consultor e professor.

Apresentação

Page 3: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

T-08/09 – Aula 01 - Introdução aos conceitos Q-09/09 – Aula 02 - Introdução aos conceitos T-15/09 – Aula 03 - Métodos de pesquisaQ-16/09 – Aula 04 - Métodos de ordenação T-22/09 – Métodos de ordenação – Selection sortQ-23/09 - Métodos de ordenação - Quick sortT-29/09 - Métodos de ordenação - Merge sort Q-30/09 - Métodos de ordenação - Insert sort T-06/10 - Ordenação em tempo linearQ-07/10 - Ordenação em tempo linearT-13/10 - Tabelas Hash Q-14/10 – Tabelas Hash T-20/10 - Tabelas Hash Q-21/10 - Tabelas HashT-27/10 – 1ª Prova

CalendárioQ-28/10 – Correção da ProvaT-03/11 - ÁrvoresQ-04/11 - ÁrvoresT-10/11 - ÁrvoresQ-11/11 - ÁrvoresT-17/11 - ÁrvoresQ-18/11 - ÁrvoresT-24/11 - ÁrvoresQ-25/11 – 2ª ProvaT-01/12 – SeminárioQ-02/12 – SeminárioT-08/12 - Defesa dos TrabalhosQ-09/12 - Defesa dos TrabalhosT-15/12 - Exame

Page 4: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

• 25% - Seminário (Individual)• 25% - Projeto (Individual)• 25% - Prova 1 (Individual)• 25% - Prova 2 (Individual)

Método de Avaliação

Page 5: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Algoritmo (Dijkstra)Um algoritmo pode ser visto como uma sequência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema

Corresponde a uma descrição de um padrão de comportamento, expresso em termos de um conjunto finito de ações.É, em geral, uma descrição passo a passo de como um problema é solucionável. A descrição deve ser finita, e os passos bem definidos, sem ambiguidades, e executáveis computacionalmente.

Page 6: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

AlgoritmoConceito de algoritmo: originado como um meio para representar procedimentos para resolver problemas matemáticos;

Um algoritmo pode ser visto como uma seqüência de ações expressas em termos de uma linguagem de programação, constituindo parte da solução de um tipo determinado de problema.

Page 7: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

AlgoritmoALGORITMO: conjunto finito de instruções bem

definidas que, se seguidas, realizam uma determinada tarefa;

Critérios para “ser” um algoritmo:

Page 8: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Dado

Representação formalizada de fatos ou idéias, capaz de ser comunicada ou manipulada por algum processo;

Representação em uma linguagem precisa e formalizada de alguns fatos ou conceitos, freqüentemente valores numéricos ou alfabéticos, de uma forma tal que possam ser manipulados por um método computacional [Knuth, 1997].

Page 9: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Tipo de Dado Especificação de como o dado representado por cadeia de bits

é interpretado. Exemplos de tipos de dados: Variáveis; Constantes; Expressões; Funções.

Tipos simples de dados são grupos de valores indivisíveis (como os tipos básicos integer, boolean, char e real do Pascal).

Referem-se ao conjunto de valores que estes podem assumir ou gerar. Em linguagens de programação o tipo de dado de uma variável, constante ou função define o conjunto de valores que a variável, constante ou função podem assumir. ex., variável boolean pode assumir valores true ou false

Programador pode definir novos tipos de dados em termos de outros ja definidos Tipos estruturados, p.ex., arrays, records

Page 10: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Estrutura de DadosUm tipo estruturado é um exemplo de estrutura de

dadosTipos estruturados são estruturas de dados já pré-

definidas na linguagem de programaçãoO programador pode definir outras estruturas de

dados para armazenar as informações que seu programa precisa manipular

Vetores, registros, listas encadeadas, pilhas, filas, arvores, grafos, são exemplos de estruturas de dados típicas utilizadas para armazenar informação em memoria principal

Page 11: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Programa Programar é basicamente estruturar dados e construir algoritmos. Programas são formulações concretas de algoritmos abstratos,

baseados em representações e estruturas específicas de dados. Programas representam uma classe especial de algoritmos

capazes de serem seguidos por computadores. Um computador só é capaz de seguir programas em linguagem de

máquina (sequência de instruções obscuras e desconfortáveis). É necessário construir linguagens mais adequadas, que facilitem a

tarefa de programar um computador. Uma linguagem de programação é uma técnica de notação para

programar, com a intenção de servir de veículo tanto para a expressão do raciocínio algorítmico quanto para a execução automática de um algoritmo por um computador.

Page 12: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Tipo de Dados Abstrato (TAD) Agrupa a estrutura de dados juntamente

com as operações que podem ser feitas sobre esses dados

O TAD encapsula a estrutura de dados. Os usuários do TAD só tem acesso a algumas operações disponibilizadas sobre esses dados

Usuário do TAD x Programador do TAD– Usuário só “enxerga” a interface, não a

implementação

Page 13: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Tipo de Dados Abstrato (TAD)

Dessa forma, o usuário pode abstrair da implementação específica.

Qualquer modificação nessa implementação fica restrita ao TAD

A escolha de uma representação específica é fortemente influenciada pelas operações a serem executadas

Page 14: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Tipo de Dados Abstrato (TAD)

Page 15: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

Exercício

Implemente um TAD ContaBancaria, com os campos número e saldo onde os clientes podem fazer as seguintes operações:– Iniciar uma conta com um número e saldo inicial– Depositar um valor– Sacar um valor– Imprimir o saldo

Faça um pequeno programa para testar o seu TAD

Page 16: INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC

ContaBancaria.h