A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Frederico Brito Fernandes Estrutura, Pesquisa e Ordenação de Dados CONTEÚDO (1) Apresentação da disciplina (2) Compilador DevC++

Apresentações semelhantes


Apresentação em tema: "Prof. Frederico Brito Fernandes Estrutura, Pesquisa e Ordenação de Dados CONTEÚDO (1) Apresentação da disciplina (2) Compilador DevC++"— Transcrição da apresentação:

1 Prof. Frederico Brito Fernandes Estrutura, Pesquisa e Ordenação de Dados CONTEÚDO (1) Apresentação da disciplina (2) Compilador DevC++ (3) ANSI C: visão geral

2 Frederico Brito Fernandes 2 Estrutura, Pesquisa e Ordenação de Dados Informações Gerais Horário: –Terça e quinta às 20:30 Objetivos: –Introduzir o conceito de tipo de dados (TAD), evidenciando aspectos de implementação, aplicações e complexidade –Apresentar estruturas de dados básicas (listas lineares, pilhas, filas, árvores) –Apresentar métodos de busca e classificação de dados em memória principal utilizando estruturas de dados básicas Bibliografia: –TENENBAUM, A.; Langsam, Y.; Augenstein, M.: Estruturas de dados usando C. São Paulo: Bookman. (LIVRO TEXTO) –VILLAS, Marcos Vianna et AL. Estrutura de dados: conceitos e técnicas de implementação. Rio de Janeiro: Campus. (LIVRO TEXTO) –DROZDEK, Adam. Estruturas de Dados e Algoritmos em C++.São Paulo: Pioneira Thomson Learning (LEITURA COMPLEMENTAR) (1) Apresentação da Disciplina

3 Frederico Brito Fernandes 3 Estrutura, Pesquisa e Ordenação de Dados Cronograma SEMANADESCRIÇÃOREF UNID I Estruturas de dados básicas (listas encadeadas, filas e pilhas) 1ª sem/AGO Nivelamento em ANSI C Duas semanas iniciais de conceitos básicos (apresentação do compilador, estruturas de controle, estruturas, vetores, strings e ponteiros) Essencial a resolução das listas de exercícios em casa (1) UFMG (2) UFPB OBS: PDFs disponíveis no site do professor 2ª sem/AGO 3ª sem/AGO Listas encadeadas Essencial a presença na aula de exercícios em laboratórios dia 21/8 (1) VILLAS (2) TENENBAUM 4ª sem/AGO 1ª sem/SET Recursividade, pilhas e filas PROVA 1 (unidade I): 09/09 (1) VILLAS (2) TENENBAUM UNID II Métodos de busca e classificação de dados 2ª sem/SET 3ª sem/SET 4ª sem/SET 1ª sem/OUT Busca linear e binária Bubble sort, selection sort, quick sort, insertion sort, merge sort (1) TENENBAUM (2) DROZDEK 2ª sem/OUT 3ª sem/OUT Tabela Hash PROVA 2 (unidade II): 21/10 (1) VILLAS (2) DROZDEK UNID III Árvores e Grafos 4ª sem/OUT 1ª sem/NOV 2ª sem/NOV 3ª sem/NOV Árvores(1) VILLAS (2) DROZDEK 4ª sem/NOV 1ª sem/DEZ Grafos PROVA 3 (unidade III): 09/12 (1) TENENBAUM (2) DROZDEK (1) Apresentação da Disciplina

4 Frederico Brito Fernandes 4 Estrutura, Pesquisa e Ordenação de Dados Motivação inicial... Troque as posições dos sapos (os machos para a direita e as fêmas para a esquerda) (1) Apresentação da Disciplina Depois de resolvido o problema, represente sua solução no papel – –Estamos interessados no passo a passo para achar a solução – –Forma livre de representação: português, desenho, algoritmo, etc

5 Frederico Brito Fernandes 5 Estrutura, Pesquisa e Ordenação de Dados Compiladores de C C é uma linguagem compilada.C Código-Fonte Compilar.EXE10010.OBJ Linkar.OBJ Código-Objeto Executável Bibliotecas OPÇÕES: Turbo C++ Turbo C++ DevC++ (Free) DevC++ (Free) Borland C++ Borland C++ C++Builder C++Builder Notepad Notepad Processo de Geração de Código WindowsUNIXLinux (2) DevC++

6 Frederico Brito Fernandes 6 Estrutura, Pesquisa e Ordenação de Dados Criada na Bell Labs –divisão da AT&T, famosa companhia americana de telecomunicações Idealizada e implementada por Dennis Ritchie –Quando? 1970 Objetivo: –gerar uma linguagem de alto nível, em oposição à linguagem Assembly –desenvolver uma linguagem capaz de executar em qualquer plataforma Uso geral: –Unix, Clipper, Lotus 1 2 3, Excel, DBase III e IV, Oracle Principais características: –Modularidade e Portabilidade Padrão ANSI C Histórico (3) ANSI C

7 Frederico Brito Fernandes 7 Estrutura, Pesquisa e Ordenação de Dados C é CASE SENSITIVE –Soma, SOMA, SoMa ou sOmA. –Comandos em letras minúsculas if e for, por exemplo If ou For são interpretados como variáveis Primeiro Programa: #include /* Um Primeiro Programa */ int main () { printf ("Ola! Eu estou vivo!\n"); getchar(); return(0); } 1. Biblioteca de E/S: stdio.h 2. Comentário: /* aqui */ 3. Função: main() retorna inteiro 4. Delimitador de bloco {bloco} 5. Função de E/S: printf() 6. Constante de nova linha: \n 7. Retorno de função: return() 1. Biblioteca de E/S: stdio.h 2. Comentário: /* aqui */ 3. Função: main() retorna inteiro 4. Delimitador de bloco {bloco} 5. Função de E/S: printf() 6. Constante de nova linha: \n 7. Retorno de função: return() CONSIDERAÇÕESCONSIDERAÇÕES Primeiro programa... (3) ANSI C

8 Frederico Brito Fernandes 8 Estrutura, Pesquisa e Ordenação de Dados C possui os seguintes tipos Tipos (3) ANSI C

9 Frederico Brito Fernandes 9 Estrutura, Pesquisa e Ordenação de Dados Segundo Programa: #include int main () { int dias; /* Declaracao de Variaveis */ float Anos; printf ("Entre com o número de dias: "); /* Entrada de Dados*/ scanf ("%d",&Dias); Anos=Dias/365.25; /* Conversao Dias->Anos */ printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); getchar(); } 1. Declaração de Variável: tipo 1. Declaração de Variável: tipo Ex: float Anos; /* variável de ponto flutuate, ie, real de Pascal */ 2. Função de E/S: scanf() %d – leia um inteiro &Dias – armazene nesse endereço 3. Conversão de tipo: float <- int 4. Função printf() com vários argumentos 1. Declaração de Variável: tipo 1. Declaração de Variável: tipo Ex: float Anos; /* variável de ponto flutuate, ie, real de Pascal */ 2. Função de E/S: scanf() %d – leia um inteiro &Dias – armazene nesse endereço 3. Conversão de tipo: float <- int 4. Função printf() com vários argumentos CONSIDERAÇÕESCONSIDERAÇÕES Segundo programa... (3) ANSI C

10 Frederico Brito Fernandes 10 Estrutura, Pesquisa e Ordenação de Dados –Aritméticos e de Atribuição Binários: +, -, *, /, % Unários: +, -, ++, -- Ex: int a = 17, b = 3; int x, y, w; float z = 17, z1, z2, z3; a) a)x = a / b; b) b)y = a % b; c) c)z1 = z / b; d) d)z2 = a/b; e) e)z3 = w/b; Operadores aritméticos e de atribuição (3) ANSI C

11 Frederico Brito Fernandes 11 Estrutura, Pesquisa e Ordenação de Dados if: desvio condicional –Sintaxe: If (condição) instrução; –Ex 1 : #include int main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); if (num>10) printf ("\n\nO numero eh maior que 10"); if (num==10) { printf ("\n\nVoce acertou!\n"); printf ("O numero e igual a 10."); } if (num<10) printf ("\n\nO numero eh menor que 10"); getchar(); } 1. O comando if exige o uso de parênteses 2. O que está de errado no teste? if(num=10)... // isto estah errado 3. Operadores de comparação: >, =, >=, == e != 4. Operador de atribuição: = 1. O comando if exige o uso de parênteses 2. O que está de errado no teste? if(num=10)... // isto estah errado 3. Operadores de comparação: >, =, >=, == e != 4. Operador de atribuição: = CONSIDERAÇÕESCONSIDERAÇÕES Comandos de Controle de Fluxo (3) ANSI C

12 Frederico Brito Fernandes 12 Estrutura, Pesquisa e Ordenação de Dados for: laço de repetição –Sintaxe: for(inicialização;condição;incremento){ instrução; } –Ex 2 : #include int main () { int i; for (i=0;i<10;i++) { printf ("\n Executou %d vez(es),i); } while: laço de repetição – –Sintaxe: while(condição){ instrução; } – –Ex 3 : #include int main () { int i; i=0; // inicialização while (i<10) { //condição printf ("\n Executou %d vez,i); i++; //incremento } Comandos de Controle de Fluxo (3) ANSI C

13 Frederico Brito Fernandes 13 Estrutura, Pesquisa e Ordenação de Dados Ex: Este programa imprime o alfabeto (letras maiúsculas) #include int main() { char letra; for(letra = 'A' ; letra <= 'Z' ; letra =letra+1) printf("%c ", letra); } 1. O valor inicial de letra é 65 ou A 2. Portanto, letra pode ser incrementado 1. O valor inicial de letra é 65 ou A 2. Portanto, letra pode ser incrementado CONSIDERAÇÕESCONSIDERAÇÕES Comandos de Controle de Fluxo (3) ANSI C

14 Frederico Brito Fernandes 14 Estrutura, Pesquisa e Ordenação de Dados Auto-avaliação –Explique porque está errado fazer a instrução abaixo. O que irá acontecer? if (num=10)... –Escreva um programa que coloque os números de 1 a 100 na tela na ordem inversa (começando em 100 e terminando em 1) –Escreva um programa que coloque os números ímpares de 1 a 100 na tela. O operador MOD de pascal é o % em C, ex: 10 % 2 resulta em 0. Comandos de Controle de Fluxo (3) ANSI C

15 Frederico Brito Fernandes 15 Estrutura, Pesquisa e Ordenação de Dados Sintaxe de uma função em C: tipo_de_retorno nome_da_função (lista_de_argumentos) { código_da_função } Se for void não retorna nada Se estiver vazio, não possui argumentos Função (3) ANSI C Ex1: uma função que imprime uma string #include int mensagem () /* Funcao simples: so imprime Ola! */ { printf ("Ola! "); return(0); } int main () { mensagem(); printf ("Eu estou vivo!\n"); return(0); } 1. Saída igual ao Primeiro Programa 2. Diferença entre main() e o resto 1. Saída igual ao Primeiro Programa 2. Diferença entre main() e o resto CONSIDERAÇÕESCONSIDERAÇÕES

16 Frederico Brito Fernandes 16 Estrutura, Pesquisa e Ordenação de Dados Auto-avaliação –Escreva uma função que recebe dois inteiros e retorna a soma entre eles –Escreva uma função que receba dois floats e retorne o menor entre eles Função (3) ANSI C

17 Frederico Brito Fernandes 17 Estrutura, Pesquisa e Ordenação de Dados Expressão –Combinação de variáveis, constantes e operadores –Em C, toda expressão resulta em um valor Ex: int i=1,a=4,b=2,c=1,d=8,e=4; i = i+3; //resulta em 4 c= a*b + d/e; c= a*(b+d)/e; c>2?1:0 –As sub-expressões são avaliadas de acordo com a Tabela de Precedência Ex: c= a*b + d/e; // é o mesmo que // c = (a*b) + (d/e); () [] -> ! ~ (unário) (cast) *(unário) &(unário) sizeof * / % + - > >= == != & ^ | && || ? = += -= *= /= Tabela de Precedência MAIOR precedência menor (3) ANSI C

18 Frederico Brito Fernandes 18 Estrutura, Pesquisa e Ordenação de Dados Toda linguagem de programação possui palavras usadas para fins diversos: –Controle de repetição, desvio condicional e incondicional, tipos e seus modificadores, etc. –Ao longo do curso, veremos como funcionam... Palavras Reservadas do ANSI C: –auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while Palavras reservadas (3) ANSI C


Carregar ppt "Prof. Frederico Brito Fernandes Estrutura, Pesquisa e Ordenação de Dados CONTEÚDO (1) Apresentação da disciplina (2) Compilador DevC++"

Apresentações semelhantes


Anúncios Google