AULA 01 ESTRUTURA DE DADOS
|
|
|
- Maria das Neves Faria Rosa
- 9 Há anos
- Visualizações:
Transcrição
1 AULA 01 ESTRUTURA DE DADOS Apresentação da Disciplina Norton T. Roman & Luciano A. Digiampietri
2 Disciplina Objetivo: Familiarizar os alunos com a modelagem e a implementação de diferentes estruturas de dados, bem como os algoritmos para gerenciá-las.
3 Disciplina Objetivo: Familiarizar os alunos com a modelagem e a implementação de diferentes estruturas de dados, bem como os algoritmos para gerenciá-las. Não é um curso de C: Trata-se de um curso para modelar e gerenciar estruturas de dados em memória principal, usando a linguagem C.
4 Disciplina Por que C? Porque a linguagem deixa a cargo do programador todas as operações necessárias para o gerenciamento das estruturas de dados e permite a manipulação de estruturas e ponteiros de maneira explícita.
5 A linguagem C C é uma linguagem de programação compilada, imperativa e procedural, criada em É uma das linguagens de programação mais populares e a maioria dos sistemas possui compilador para a linguagem C.
6 Método de Ensino Começaremos com noções básicas de C e compararemos com o que já aprendemos em Java. Em seguida, para cada estrutura de dados a ser vista na disciplina: Discutiremos a lógica da estrutura Modelaremos em C Implementaremos as funções para gerenciá-la
7 Método de Ensino Gerenciamento das estruturas: Inicialização Inserção de elementos Exclusão de elementos Busca por um elemento específico Contagem do número de elementos
8 Método de Ensino Indução ao erro: Errar é uma das melhores formas de aprender Implica experimentar e analisar os resultados Em vários casos apresentaremos programas propositalmente errados, para que o aluno possa ver o comportamento do sistema e identificar a razão do erro
9 C não é orientada a objetos É uma linguagem imperativa e estruturada. Ela permite de maneira mais explícita a alocação e desalocação de memória, gerenciamento de ponteiros e estruturas Existem outras linguagens inspiradas/baseadas em C que são orientadas a objetos como C++ e C#, mas nesta disciplina trabalharemos apenas com C
10 Disciplina A quem se destina o curso? Ao aluno que já tem noção de programação e quer aperfeiçoar seus conhecimentos sobre modelagem e gerenciamento de estruturas de dados Quem não sabe programar poderá aprender diversos conteúdos, porém o curso é estruturado pensando naqueles que já têm noção de programação
11 Material do que precisaremos? Um compilador C O mais conhecido é o GCC para Unix/Linux/Mac ( e costuma já estar instalado nas máquinas que utilizam esses sistemas Para Windows, dois dos mais usados são MinGW ( e LCC ( Baixe um para sua plataforma
12 Material Usaremos uma IDE? Integrated Development Environment ambiente integrado para desenvolvimento de software (editor, compilador, depurador, etc) Há várias opções que podem ser usadas... E qual usar?
13 Material IDEs Code Blocks:
14 Material IDEs Dev-C++:
15 Material IDEs E o que assumiremos que você tem? Gedit Terminal
16 Material IDEs E o que assumiremos que você tem? Notepad++ cmd
17 Material IDEs Por que não assumiremos uma IDE? Melhor modo de se entender o que acontece em nosso programa não há interferência de nada, tentando nos ajudar Não há a carga cognitiva exigida para aprender a usar a IDE
18 Material de Apoio Listas de Exercício Em conjunto com as aulas teremos algumas listas com exercícios É de extrema importância que sejam feitas, pois acompanham o conteúdo, aumentando o grau de dificuldade a cada exercício
19 Material de Apoio Listas de Exercício Não esqueça que programação não é uma disciplina teórica Somente a prática faz um bom programador
20 Um primeiro programa
21 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!");
22 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!");
23 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!");
24 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!");
25 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C:
26 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> int main() { printf("hello World!\n"); return 0;
27 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> int main() { printf("hello World!\n"); return 0;
28 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> int main() { printf("hello World!\n"); return 0;
29 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> int main() { printf("hello World!\n"); return 0;
30 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> int main() { printf("hello World!\n"); return 0;
31 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> Como executar? int main() { printf("hello World!\n"); return 0;
32 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> Como executar? $ javac HelloWorld.Java int main() { printf("hello World!\n"); return 0;
33 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Em C: #include <stdio.h> Como executar? $ javac HelloWorld.Java $ java HelloWorld int main() { printf("hello World!\n"); return 0;
34 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Como executar? $ javac HelloWorld.Java $ java HelloWorld Em C: $ gcc HelloWorld.c -o HelloWorld #include <stdio.h> int main() { printf("hello World!\n"); return 0;
35 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Como executar? $ javac HelloWorld.Java $ java HelloWorld Em C: #include <stdio.h> $ gcc HelloWorld.c -o HelloWorld $./HelloWorld int main() { printf("hello World!\n"); return 0;
36 Um primeiro programa Em Java: public class HelloWorld { public static void main(string[] args){ System.out.println("Hello World!"); Como executar? $ javac HelloWorld.Java $ java HelloWorld Em C: #include <stdio.h> $ gcc HelloWorld.c -o HelloWorld $./HelloWorld int main() { printf("hello World!\n"); return 0; Saída $ Hello World!
37 Códigos Os códigos desta disciplina são baseados na apostila ACH Algoritmos e Estruturas de Dados de Willian Yukio Honda e Ivandré Paraboni E estão disponíveis em:
38 AULA 01 ESTRUTURA DE DADOS Apresentação da Disciplina Norton T. Roman & Luciano A. Digiampietri
Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.
1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um
PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected]
Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.
O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o
AULA 12 ESTRUTURA DE DADOS
AULA 12 ESTRUTURA DE DADOS Fila (implementação dinâmica) Norton T. Roman & Luciano A. Digiampietri Fila É uma estrutura linear na qual: - As inserções ocorrem no final da fila; - As exclusões ocorrem no
Instalação JDK 10/03/2017
1 Instalação JDK 10/03/2017 Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação, responsável por traduzir o que sua aplicação
Linguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG
Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,
AULA 11 ESTRUTURA DE DADOS
AULA 11 ESTRUTURA DE DADOS Fila (implementação estática) Norton T. Roman & Luciano A. Digiampietri Fila É uma estrutura linear na qual: Fila É uma estrutura linear na qual: - As inserções ocorrem no final
INTRODUÇÃO A LINGUAGEM JAVA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: [email protected] [email protected] Curso Técnico
Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]
USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /
Fundamentos da programação Parte - 1
Fundamentos da programação Parte - 1 1. Objetivos Nesta lição discutiremos as partes básicas de um programa em Java. Começaremos explicando as partes do programa Hello.java mostrado na última lição. Discutiremos
AULA 14 ESTRUTURA DE DADOS
AULA 14 ESTRUTURA DE DADOS Matriz esparsa Norton T. Roman & Luciano A. Digiampietri Matriz Uma matriz bidimensional é um conjunto de elementos (ou tabela) composta por m linhas e n colunas. Matriz Uma
USP - ICMC - SSC SSC o. Semestre BSI. Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 - BSI Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:
Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 - BSI Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:
AULA 13 ESTRUTURA DE DADOS
AULA 13 ESTRUTURA DE DADOS Duas pilhas - implementação estática Norton T. Roman & Luciano A. Digiampietri Pilha Pilha é uma estrutura linear na qual: - As inserções ocorrem no topo da pilha; - As exclusões
Algoritmos I Aula 12 Linguagem de Programação Java
Algoritmos I Aula 12 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Linguagem de Programação Histórico Em 1991, em uma empresa filiada a
Introdução à Programação de Computadores Parte I
Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da
Algoritmos I Aula 13 Linguagem de Programação Java
Algoritmos I Aula 13 Linguagem de Programação Java Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação IDE Eclipse IDE (Integrated development environment) Criar um projeto
Fundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 - A Prof. SIMÃO Jean Marcelo SIMÃO Computador Noção elementar de um computador. - Dipositivo para processar informação. Processador Sistema Operacional (SO) Aplicativos
AULA 03 ESTRUTURA DE DADOS
AULA 03 ESTRUTURA DE DADOS Lista linear sequencial Norton T. Roman & Luciano A. Digiampietri Lista linear Estrutura de dados na qual cada elemento é precedido por um elemento e sucedido por outro (exceto
Introdução à linguagem C
MCTA028 Programação Estruturada Introdução à linguagem C Material preparado a partir de slides dos profs. Jesús MenaChalco e Fabrício Olivetti Prof. Guilherme Mota Q3-2018 1 Linguagens de programação 2
Introdução ao IDE Netbeans (Programação Java)
Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas
ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.
P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga
Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Java RMI. RMI Remote Method Invocation. Chamadas Remotas de Procedimentos (RPC) RPC - Implementação
Java Remote Method Invocation Java Remote Method Invocation () é um protocolo Java para comunicação entre processos Permite objetos Java invocar transparentemente métodos de outros objetos (que podem estar
ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal
ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito
Programação Básica. Estrutura de um algoritmo
Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse
Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Programação Estruturada
Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada
O Java em Sistemas Embarcados
O Java em Sistemas Embarcados Sistemas embarcados estão cada vez mais presentes no dia a dia das pessoas, nos carros, eletrodomésticos, aparelhos telefônicos, nos caixas eletrônicos de bancos, etc. Tais
Linguagem de Programação. Thiago Leite Francisco Barretto
Linguagem de Programação Thiago Leite Francisco Barretto SCHILDT, H. C Completo e Total. 3ª Edição. São Paulo: Makron, 1997. Bibliografia Ementa
IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
POO Programação Orientada a Objetos
POO Programação Orientada a Objetos Prof. Vicente Paulo de Camargo PUCGO O CONTEÚDO DOS SLIDES FAZ REFERÊNCIA AO MATERIAL DA APOSTILA K19-K11 E DO LIVRO JAVA USE A CABEÇA E DO LIVRO JAVA COMO PROGRAMAR
#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
PLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Construtores. Introdução
Construtores José Gustavo de Souza Paiva Introdução Até o momento, temos tratado a inicialização dos atributos das classes de duas maneiras Alteração dos valores dos atributos diretamente - atributos públicos
Curso C Starter. 1
1 Apresentação O Curso C Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam aprender a linguagem C. A estrutura do curso é formada por módulos
AULA 05 ESTRUTURA DE DADOS
AULA 05 ESTRUTURA DE DADOS Lista ligada (implementação estática) Norton T. Roman & Luciano A. Digiampietri Lista linear sequencial Na última aula aprendemos listas lineares sequenciais. Realizamos a inserção
Aula teórica 4. Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.)
Aula teórica 4 Tema 3. Linguagem de Programação Java. Manipulação de informação simples (cont.) Tipos de dados básicos: Representação de números inteiros Representação de números decimais Instrução de
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos
DELEGAÇÃO REGIONAL DO ALENTEJO CENTRO DE FORMAÇÃO PROFISSIONAL DE ÉVORA REFLEXÃO 5
REFLEXÃO 5 Módulos 0782, 0783, 0784 e 0785 1/5 23-05-2013 Esta reflexão tem como objectivo partilhar e dar a conhecer o que aprendi nos módulos 0782 Programação em C/C++ - Estrutura Básica e Conceitos
Aula 12: Princípios da Coesão de Pacotes
Aula 12: Princípios da Coesão de Pacotes Programação Modular Jefersson Alex dos Santos ([email protected]) Roteiro Projeto de classes Modularização fundamental para garantir a qualidade de software
Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU
Aula 6 POO 1 Construtores Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Capacitação em Linguagem C Parte 1
Capacitação em Linguagem C Parte 1 Andrey Souto Maior Giuseppe Portolese Universidade Estadual de Maringá - Centro de Tecnologia Departamento de Informática 21 de outubro de 2015 Sumário I Definição e
Lição 4 Fundamentos da programação
Lição 4 Fundamentos da programação Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Identificar as partes básicas de um programa em Java Reconhecer as diferenças
Programação online em Java
Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão
Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }
Java e sua Sintaxe Java e sua Sintaxe Estrutura mínima de um programa em Java: public class Exemplo { } Como todo programa deve ter um início, convenciona-se que a primeira ação de um programa é a execução
Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI. Prof. Paulo Henrique Pisani
Algoritmos e Estruturas de Dados I (AEDI) Introdução - AEDI Prof. Paulo Henrique Pisani fevereiro/2019 Algoritmos e Estruturas de Dados I Ementa: Breve introdução à linguagem C; Noções básicas de análise
