Aula 1 Apresentação do curso e Conceitos Fundamentais. Objetivo do curso

Documentos relacionados
Módulo 1 Conceitos Fundamentais

Cap. 3 Entrada e Saída e Controle de Fluxo

Estrutura de Programas e Tipos de Dados Simples

Aula 1 Apresentação do Curso

Programação Básica. Estrutura de um algoritmo

Linguagem de Programação. Thiago Leite Francisco Barretto

Programação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2

INF 1005 Programação I

Linguagem de Programação C

Características fundamentais de codificação de programas

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Módulo 7 Cadeias de Caracteres

Laboratório de Introdução à Ciência da Computação I

Introdução a Programação de Jogos

Web site. Profa. Patrícia Dockhorn Costa.

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Tópicos Cap. 3 Entrada e Saída e Controle de Fluxo Livro printf e scanf if e? while for switch break continue Entrada e Saída Entrada e Saída

Programação de Computadores II. Cap. 5 Vetores

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

INF1007 Programação II

Introdução à Linguagem C Variáveis e Expressões

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Programação de Computadores II. Cap. 4 Funções

INF1007 Programação II

Módulo 3 Controle de Fluxo

Cap. 2 Expressões na linguagem C

Introdução à linguagem C

Laboratório de Introdução à Ciência da Computação I

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

Programação I A Linguagem C. Prof. Carlos Alberto

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Tópicos de hoje: Cap. 2 Expressões na linguagem C. Bits, Bytes e Palavras. Variáveis e Constantes. Números inteiros num Byte

Tópicos em C. Eliade F. Lima

Laboratório de Introdução à Ciência da Computação I

Introdução à Programação

Programação de Computadores

Métodos Computacionais

INF1007: Programação 2. 2 Alocação Dinâmica. 17/02/2014 (c) Dept. Informática - PUC-Rio 1

Programação de Computadores II. Cap. 7 Cadeias de Caracteres

Introdução à Linguagem C. K&R: Capitulo 1

Programação de Computadores II. Cap. 9 Tipos Abstratos de Dados (TAD)

Programação Estruturada Aula - Introdução a Linguagem C

Linguagem C. André Tavares da Silva.

Fundamentos de Programação 1

Introdução a Programação de Jogos

Introdução à linguagem C

Conhecendo a Linguagem de Programação C

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

INF1007: Programação 2 9 Tipos Abstratos de Dados. (c) Dept. Informática - PUC-Rio 1

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Primeira Aula Prática

Introdução à Linguagem C

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

INF 1007 Programação II

PLANO DE UNIDADE DIDÁTICA- PUD

16. Compilação no Linux

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Computação. Introdução a C e Variáveis Inteiras

Programação: Vetores

Algoritmos e Estruturas de Dados I (DCC/003) Introdução à Programação de Computadores. Aula - Tópico 1

Introdução a Computação

Fundamentos de Programação

Aula 3 Primeiros programas

GABARITO Questão a b c d e

Revisão C++ - Parte 1

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Programação de Computadores II. Cap. 5 Alocação Dinâmica

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Fundamentos de Programação 1

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Michel Betemps

INF1007: Programação Funções Recursivas. 12/03/2014 (c) Dept. Informática - PUC-Rio 1

INF 1007 Programação II

Algoritmos e Linguagem de Programação em C. Professor: Bernard Cardoso Oliveira

Fundamentos de Programação1

Variáveis, Tipos de Dados e Operadores

ponteiros INF Programação I Prof. Roberto Azevedo

Utilização da Linguagem C

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Introdução à Programação

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO PRÉ AULA PRÉ AULA 31/08/2015

Módulo 5 Vetores e Alocação Dinâmica

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

SSC 0301 IC para Engenharia Ambiental

INF1007: Programação 2 6 Ordenação de Vetores. 01/10/2015 (c) Dept. Informática - PUC-Rio 1

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

CCO 016 / COM 110 Fundamentos de Programação

Arquitetura e Organização de Computadores. Compiladores e processamento

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Transcrição:

Estruturas de Dados Aula 1 Apresentação do curso e Conceitos Fundamentais 26/02/2008 (c) Depto. de Informática - PUC-Rio 1 Objetivo do curso Desenvolver habilidades de programação na linguagem C. Familiarizar os alunos com as principais estruturas de dados e suas correspondentes abstrações. 26/02/2008 (c) Depto. de Informática - PUC-Rio 2 1

Livro do curso Referência básica: Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004) Apostilas antigas: podem ser usadas sem maiores prejuízos 26/02/2008 (c) Depto. de Informática - PUC-Rio 3 Referência Home page do curso: http://www.inf.puc-rio.br/~inf1620/index.html deve ser sempre consultada para: confirmar data das provas confirmar data de entrega de trabalhos acessar provas antigas acessar o programa submeter trabalhos, etc... 26/02/2008 (c) Depto. de Informática - PUC-Rio 4 2

Turmas de ED 2008.1 26/02/2008 (c) Depto. de Informática - PUC-Rio 5 Apresentação do professor Turma E: 3 as e 5 as 9-11h sala L144 Marcelo Gattass sala 516 RDC E-mail: mgattass@inf.puc-rio.br http://www.tecgraf.puc-rio.br/~mgattass/ http://www.tecgraf.puc-rio.br/~mgattass/ed/inf1620.html 26/02/2008 (c) Depto. de Informática - PUC-Rio 6 3

Monitoria e Trabalhos Aulas de monitoria: Local: LabGrad Horários: sextas-feiras, 9h-11h, 11h-13h e 13h-15h Listas e Trabalhos: são obrigatórios e fazem parte das notas das provas são submetidos através do Website do curso é necessário se cadastrar, escolhendo uma senha de acesso o cadastramento só estará disponível após o DE-PARA 26/02/2008 (c) Depto. de Informática - PUC-Rio 7 Monitoria e Trabalhos Aulas de monitoria: Local: LabGrad Horários: sextas-feiras, 9h-11h, 11h-13h e 13h-15h Listas e Trabalhos: são obrigatórios e fazem parte das notas das provas são submetidos através do Website do curso é necessário se cadastrar, escolhendo uma senha de acesso o cadastramento só estará disponível após o DE-PARA 26/02/2008 (c) Depto. de Informática - PUC-Rio 8 4

Notas G1, G2 e G3: nota = 0,8 x nota da prova + 0,2 x notas dos trabalhos se a nota da prova for menor que 3,0 (três), a nota do trabalho é descartada, ficando a nota da prova como nota lançada G4 e Critério de Aprovação: seguem o ciclo básico 26/02/2008 (c) Depto. de Informática - PUC-Rio 9 Critério Critério de Avaliação: A avaliação, adotada pelas ciências básicas (Física, Matemática, Química), é expressa por meio de quatro graus de qualificação (G1, G2, G3, G4), apresentados numericamente, em escala de zero (0) a dez (10), do seguinte modo: a) Os três primeiros graus de qualificação, representando o aproveitamento de aluno na disciplina serão atribuídos a avaliações distribuídas ao longo do período letivo, tendo em vista um programa parcialmente lecionado; b) O quarto grau de qualificação, resultante de prova final escrita, cobrindo toda a matéria lecionada no período letivo; c) O aluno será dispensado de realizar prova final escrita (quarta avaliação), quando todos seus três primeiros graus forem maiores ou iguais a três (3,0) e a média destes for maior ou igual a cinco (5,0). Neste caso o grau final obtido pelo aluno será calculado pela média aritmética destes três graus de avaliação. d) Se um dos três primeiros graus for menor que três (3,0) ou a média destes for menor que cinco (5,0), o aluno deverá realizar, necessariamente, a prova final escrita (quarto grau de avaliação) e terá seu grau final obtido conforme os dois casos a seguir: 1. Se o grau obtido na prova final (4 avaliação) for maior ou igual a três (3,0), o grau final será obtido pela média dos dois maiores graus das três avaliações parciais realizadas durante o período letivo e o quarto grau de qualificação. 2. Se o grau obtido na prova final (4 avaliação) for menor que três (3,0), o grau final será obtido pela média ponderada das quatro qualificações, tendo as três primeiras peso um (1) e a quarta peso três (3). 26/02/2008 (c) Depto. de Informática - PUC-Rio 10 5

Aula 1 2 3 4 5 6 7 8 9 10 11 12 P1 Data 26/fev 28 04/mar 6 11 13 18 25 27 01/abr 3 8 09/abr Parte I Assunto Apresentação / Ciclo de desenvolvimento Variáveis, operadores e expressões Entrada/saída básicas e controle de fluxo Funções Funções Recursivas Exercícios Ponteiros e endereços de variáveis Vetores Alocação dinâmica Cadeias de caracteres Cadeias de caracteres Revisão e exercícios Prova P1 - quarta-feira (17h-19h) 26/02/2008 (c) Depto. de Informática - PUC-Rio 11 Parte II Aula 13 14 15 16 17 18 19 20 21 P2 Data 10 15 17 24 29 06/mai 8 13 15 17 Assunto Tipos estruturados Tipos abstratos de dados Matrizes Matrizes Exercícios Ordenação de vetores Ordenação de vetores Busca em vetores Revisão e exercícios Prova P2 - sábado (11h-13h) 26/02/2008 (c) Depto. de Informática - PUC-Rio 12 6

Aula 22 23 24 25 26 27 28 29 30 P3 P4 Data 20 27 29 03/jun 5 10 12 17 19 21 1 Parte III Assunto Lista encadeada Lista encadeada Lista duplamente encadeada Exercícios Explicação Trabalho Árvore binária Árvore binária de busca Árvore n-ária Revisão e exercícios Prova P3 - sábado (11h-13h) Prova P4 - terça-feira 26/02/2008 (c) Depto. de Informática - PUC-Rio 13 Começando a programar... Compilação de programas Exemplo de código em C Ciclo de desenvolvimento 26/02/2008 (c) Depto. de Informática - PUC-Rio 14 7

Componentes de um computador 26/02/2008 (c) Depto. de Informática - PUC-Rio 15 Execução de um programa em linguagem interpretada 26/02/2008 (c) Depto. de Informática - PUC-Rio 16 8

Execução de um programa em linguagem compilada 26/02/2008 (c) Depto. de Informática - PUC-Rio 17 Linguagem de programação adotada: C Prós e contras: Está na base da indústria de computação Não é fácil Histórico: 1969/73: desenvolvimento da linguagem no AT&T Bell Labs por Ken Thompson e Dennis Ritchie 1989: padrão aprovado pela ANSI (ANSI X3.159-1989 Programming Language C ) 1990: padrão aprovado pela ISO (ISO/IEC 9899:1990) 1999: C99 padrão revisado pela ISO (ISO 9899:1999) 2000: C99 adotado pela ANSI 26/02/2008 (c) Depto. de Informática - PUC-Rio 18 9

Instalar compilador Pacote de instalação: Dev C++ Internet ou Labgrad IDE (Integrated Development Environment) Tutorial de instalação, configuração e uso disponível no site da disciplina Editor + GCC http://www.inf.puc-rio.br/~inf1620/material/inf1620kit_v12.exe gcc SciTE compilador C de referência para o curso editor de textos 26/02/2008 (c) Depto. de Informática - PUC-Rio 19 Instalação do compilador gcc Procedimento para instalação em Windows: Execute o pacote de instalação e siga as suas instruções diretório default: C:\Program Files\INF1620 menu default: INF1620 editor de textos SciTE atalho para prompt de DOS já configurado programa de desinstalação do pacote 26/02/2008 (c) Depto. de Informática - PUC-Rio 20 10

Instalação do compilador gcc Teste da instalação: abra o atalho para o Prompt do DOS execute o comando gcc v se ocorrer a mensagem "Excesso de parâmetros", altere o arquivo dos_gcc.bat da seguinte forma: SET PATH=%PATH%;"C:\... para SET PATH="%PATH%;C:\... (reparar o posicionamento do abre-aspas) (veja FAQ do curso, se algum outro problema ocorrer) 26/02/2008 (c) Depto. de Informática - PUC-Rio 21 Exemplo de código em C Arquivo converte.c Exemplo de função /* programa para conversão de temperatura de Celsius para Fahrenheit */ #include <stdio.h> /* Função auxiliar */ float converte (float c) { float f; f = 1.8*c +32; return f; } 26/02/2008 (c) Depto. de Informática - PUC-Rio 22 11

Exemplo: programa principal /* Função principal */ int main (void) { float t1; float t2; /* mostra mensagem para o usuário */ printf( Digite a temperatura em Celsius: ); } Arquivo: principal.c /* captura valor entrado via teclado */ scanf( %f,&t1); /* converte o valor, chamando a função auxiliar */ t2 = converte(t1); /* exibe resultado */ printf( Temperatura em Fahrenheit: %f\n, t2); return 0; 26/02/2008 (c) Depto. de Informática - PUC-Rio 23 Ambiente de desenvolvimento: editor: ferramenta para editar programas (Word não pode ser usado) compilador: traduz o código fonte (em C) em um código objeto ligador (linkage editor): combina o código objeto gerado pelo compilador com código objeto de funções auxiliares, organizado em bibliotecas auxiliares, produzindo um programa executável 26/02/2008 (c) Depto. de Informática - PUC-Rio 24 12

Ciclo de desenvolvimento editar + compilar + ligar + testar + editar... Mostrar o processo em sala. 26/02/2008 (c) Depto. de Informática - PUC-Rio 25 Próximos Passos 1. Leia o primeiro capítulo 2. Se você tem computador em casa: a. Baixe o pacote DevC++ b. Instale os pacote c. Teste o programa para conversão de Celsius para Fahrenheit 3. Se você não tem computador em casa: a. Abra conta no RDC ou no Lab Grad b. Faça o Passo (2c) 26/02/2008 (c) Depto. de Informática - PUC-Rio 26 13