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

Slides:



Advertisements
Apresentações semelhantes
TIPOS ABSTRATOS DE DADOS
Advertisements

Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Introdução a Algoritmos
Introdução à Ciência da Computação Linguagens de Programação.
Amintas engenharia.
Paulo Marques Hernâni Pedroso
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Linguagem de Montagem Visão geral.
TEORIA DA COMPUTAÇÃO Parte III  Máquina de Turing
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Prof. Heloise Manica Paris Teixeira
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
INTRODUÇÃO À PROGRAMAÇÃO
Linguagem C LPG-I – Variáveis Estruturadas – Vetores
THOBER CORADI DETOFENO, MSC. Aula 06
THOBER CORADI DETOFENO, MSC. Aula 07
Universidade Federal do Espírito Santo
Introdução à Programação
Linguagens de Programação
Noções de Estrutura de Dados Logica de Programação
Robson Godoi / Sandra Siebra
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
PRC Bruno Correa.
Professor Fernando Luís
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Paradigmas de programação
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Aula 02 – BCC202 Tipo Abstrato de Dados Túlio Toffolo www. decom. ufop
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Desenvolvimento de Jogos e Entretenimento Digital
Introdução a Programação
Linguagem de programação
Faculdade de Informática e Tecnologia de Pernambuco ESTRUTURA DE DADOS
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
Introdução a Programação Algoritmos
INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO
Prof. Mateus Raeder Professor.unisinos.br/mraeder
SISTEMAS DISTRIBUIDOS Aula 4
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Programação de PIC em C Exposição das funções básicas para
Programação de computadores Prof. Giovanni Castro.
ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula /02/2013 Professor Leomir J. Borba- –
Linguagens de Programação
Registradores.
Fundamentos de linguagens de programação
ALGORITMOS AULA 3. Objetivos Apresentação das estruturas básicas; Definição de tipos de dados; Seqüência de ações; Operações – Atribuições; – Entrada.
Programação de Computadores - 1
Algoritmos e Programação MC102
Programação Computacional Aula 9: Meu primeiro programa em C
Algoritmos e Programação I
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
INE5408 Estruturas de Dados Apresentação e Programa da Disciplina.
EXERCÍCIOS THOBER CORADI DETOFENO, MSC. Aula 13 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC.
Estruturas de Dados Murilo Salgado Razoli.
Algoritmo e Estrutura de Dados I Introdução ao conceito de algoritmo Márcia Marra
Berilhes Borges Garcia Algoritmos Uma ferramenta para resolver um problema de computação bem- especificado (O espírito da computação) Exemplo: ordenação.
POLINÔMIOS, MATRIZES, VETORES E LISTAS THOBER CORADI DETOFENO, MSC. Aula 03 JOINVILLE Universidade do Estado de Santa Catarina – CCT/UDESC.
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 02 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Influencias sobre o Projeto da Linguagem
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Tipo Abstrato de Dados (TAD) Estrutura de Dados Professor: Rodrigo Alves Sarmento Professor: André Cypriano.
Estrutura de Dados Prof. André Cypriano M. Costa
INTRODUÇÃO THOBER CORADI DETOFENO, MSC. Aula 01 JOINVILLE 2015 Universidade do Estado de Santa Catarina – CCT/UDESC.
Alocação Dinâmica de Memória e Tipo Abstrato de Dados Cristiano Arbex Valle Vinicius Fernandes dos Santos
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Disciplina: Estrutura de dados e Algoritmos Docentes: MSc. Manuel Zunguze.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

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

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 pesquisa Q-16/09 – Aula 04 - Métodos de ordenação T-22/09 – Métodos de ordenação – Selection sort Q-23/09 - Métodos de ordenação - Quick sort T-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 linear Q-07/10 - Ordenação em tempo linear T-13/10 - Tabelas Hash Q-14/10 – Tabelas Hash T-20/10 - Tabelas Hash Q-21/10 - Tabelas Hash T-27/10 – 1ª Prova Calendário Q-28/10 – Correção da Prova T-03/11 - Árvores Q-04/11 - Árvores T-10/11 - Árvores Q-11/11 - Árvores T-17/11 - Árvores Q-18/11 - Árvores T-24/11 - Árvores Q-25/11 – 2ª Prova T-01/12 – Seminário Q-02/12 – Seminário T-08/12 - Defesa dos Trabalhos Q-09/12 - Defesa dos Trabalhos T-15/12 - Exame

25% - Seminário (Individual) 25% - Projeto (Individual) 25% - Prova 1 (Individual) 25% - Prova 2 (Individual) Método de Avaliação

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.

Algoritmo Conceito 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.

Algoritmo ALGORITMO: conjunto finito de instruções bem definidas que, se seguidas, realizam uma determinada tarefa; Critérios para “ser” um algoritmo:

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].

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

Estrutura de Dados Um tipo estruturado é um exemplo de estrutura de dados Tipos estruturados são estruturas de dados já pré- definidas na linguagem de programação O 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

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.

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

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

Tipo de Dados Abstrato (TAD)

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

ContaBancaria.h