SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Prof. Adriano Teixeira de Souza
   Ex-acadêmico da Fasul
   Especialista em Desenvolvimento de Software
    e Novas Tecnologias - Unioeste
   Analista de Sistemas na C.Vale Agroindústria
   Desenvolvedor nas plataformas Java e .Net




                        Prof. Adriano Teixeira de Souza
   Nome
   Cidade
   Em que área trabalha
   Que tecnologias utiliza no dia-a-dia
   Expectativas para a disciplina




                         Prof. Adriano Teixeira de Souza
   Ementa
    ◦ Estrutura de dados primitivas:
      Pilhas, listas, árvores
    ◦ Algoritmos de manipulação de estrutura de dados:
      Inserção, eliminação, busca e percurso
    ◦ Algoritmos de ordenação de dados
      Quick sort, Bouble sort, Merge sort e Heap sort
    ◦ Algoritmos de pesquisa
      Busca binária e busca linear
    ◦ Medidas de complexidade algorítmicas
    ◦ Desenvolvimento com utilização de estrutura de
      dados


                                 Prof. Adriano Teixeira de Souza
   Utilização da linguagem C
   Aulas práticas
   Listas de exercícios
   Discussão do conteúdo
   Trabalhos
   Avaliação bimestral
   Nota
    ◦ Avaliação bimestral (Peso de 50%)
    ◦ Trabalhos e listas de exercícios (peso de 35% )
    ◦ Participação e envolvimento em sala (peso 15%)



                            Prof. Adriano Teixeira de Souza
   Portabilidade entre máquinas e sistemas
    operacionais
   Total iteração com o sistema operacional
   Código compacto e rápido
   Linguagem compilada
   C é “case sensitive”




                        Prof. Adriano Teixeira de Souza
/* Primeiro Programa em C */                     comentários
#include <stdio.h>                      biblioteca de E/S


main()                         função principal/inicio
{                               marca início da função


    printf(“Meu primeiro programa em Cn”);
                      função para escrever na tela


}                                   marca fim da função




                     Prof. Adriano Teixeira de Souza
   Variável: “objeto” que pode assumir diversos
    valores
   Espaço de memória de um certo tipo de dado
    associado a um nome para referenciar seu
    conteúdo
main ( )
  {
     int idade;
     idade = 30;
     printf (“ A idade é : %d”, idade);
  }


                        Prof. Adriano Teixeira de Souza
   Quantos caracteres quiser (32)

   Comece com letras ou sublinhado:
    ◦ Seguidos de letras, números ou sublinhados

   C é sensível ao caso:
    ◦ Peso   <>     peso   <>        pEso

   Não podemos definir um identificador com o
    mesmo nome que uma palavra chave
    ◦ auto static extern int long if while do


                            Prof. Adriano Teixeira de Souza
   Determina um conjunto de valores e as possíveis
    operações realizadas sobre os mesmos

   Informa a quantidade de memória (bytes)

        tipo        bytes               escala

     char           1                -128         a    127
      int           2             -32.768         a     32.767
     float          4             3.4e-38         a    3.4e+38
    double          8            1.7e-308         a    1.7e+308



                            Prof. Adriano Teixeira de Souza
#include <stdio.h>
main( )
{
   int soma=10;
   float money=2.21;
   char letra= ´A´;
   double pi=2.01E6;

    printf (“valor da soma = %dn”, soma);
    printf (“Valor de Money = %fn”, money);
    printf(“Valor de Letra = %cn”, letra);
    printf(“Valor de Pi = %en”, pi);

}


                         Prof. Adriano Teixeira de Souza
Saída de
 Entrada    Processamento de                     Dados
de Dados          dados




           Instruções de E/S




                   Prof. Adriano Teixeira de Souza
   Apresentação de dados no monitor
   printf(“string de controle”, lista de argumentos);

Exemplo:

printf (“Digite a sua idade:n”);
scanf (“%d”, &idade);
printf(“Sua idade é: %d”, idade);




                          Prof. Adriano Teixeira de Souza
%c    -> caracter
%d    -> inteiro
%e    -> número ou notação científica
%f    -> ponto flutuante
%o    -> octal
%x    -> hexadecimal
%s    -> string (cadeia de caracteres)
%lf   -> double




                          Prof. Adriano Teixeira de Souza
   Um endereço de memória é o nome que o
    computador usa para identificar uma variável

   Toda variável ocupa uma área de memória e
    seu endereço é o primeiro byte por ela
    ocupado

Ex :
 inteiro -> 2 bytes
 float -> 4 bytes
 char -> 1 byte


                        Prof. Adriano Teixeira de Souza
   Quando usamos & precedendo uma variável
     estamos falando do endereço desta variável
     na memória

                  Saída: valor = 2, endereço = 1230
                  Varia conforme memória da máquina
Ex:
main ( )
{
   int num;
   num = 2;
   printf (“valor = %d, endereço = %Iu”, num,&num);
}

                          Prof. Adriano Teixeira de Souza
Operador            Ação
   +               Adição
   *            Multiplicação
   /              Divisão
   %       Resto da divisão inteira

   -         Subtração (unário)
   --           Decremento
  ++            Incremento

               Prof. Adriano Teixeira de Souza
Operador            Ação
   >              Maior que
  >=         Maior ou igual que
   <              Menor que
  <=        Menor ou igual que
  ==                Igual a
   !=            Diferente de
   &&           Condição “E”
   ||          Condição “OU”
   !                  Não



           Prof. Adriano Teixeira de Souza
   Em C o resultado da comparação será ZERO
    se resultar em FALSO e DIFERENTE DE ZERO
    no caso de obtermos VERDADEIRO num teste
    qualquer.




                      Prof. Adriano Teixeira de Souza
#include <stdio.h>
main ( )         Saída: Verd.=1        Falso = 0
{
  int verdadeiro, falso;

    verdadeiro = (15 < 20);
    falso = (15 == 20);
    printf(“Verd.= %d,Falso= %d”,
    verdadeiro, falso);
}


                      Prof. Adriano Teixeira de Souza
   Observemos antes de mais nada que ++x é
    diferente de x++!

Se                           porém Se
    x = 10;                    x = 10;
    y = ++x;                   y = x++;
    /* x=x+1;   y=x; */        /* y=x;        x=x+1 */
                             então
então                          x = 11 e
  x = 11 e                     y = 10
    y = 11




                          Prof. Adriano Teixeira de Souza
   1) Faça um programa para ler e escrever na
    tela o seu nome e a sua idade.

   2) Faça um programa para ler e escrever na
    tela os seguintes dados:
    ◦   Nome
    ◦   Endereço
    ◦   Telefone
    ◦   Cidade
    ◦   Cep




                        Prof. Adriano Teixeira de Souza
   3) Entre com 3 números, verifique qual o
    maior dentre os valores informados e
    imprima na tela a frase “o maior número é X”
    ◦ Onde X é a variável contendo o maior valor

   4) Entre com 2 números e apresente-os de
    forma ordenada




                            Prof. Adriano Teixeira de Souza

Contenu connexe

Tendances

Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaMario Sergio
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
 
Exercício - Adição de números Binários
Exercício - Adição de números BináriosExercício - Adição de números Binários
Exercício - Adição de números BináriosSuzana Viana Mota
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Gercélia Ramos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaDaniel Arndt Alves
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Gercélia Ramos
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação cClausia Antoneli
 

Tendances (20)

Comparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs JavaComparação Sintaxe Portugol vs Java
Comparação Sintaxe Portugol vs Java
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Manual de portugol
Manual de portugolManual de portugol
Manual de portugol
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Informática básica-01
Informática básica-01Informática básica-01
Informática básica-01
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Exercício - Adição de números Binários
Exercício - Adição de números BináriosExercício - Adição de números Binários
Exercício - Adição de números Binários
 
Aula03 - Informática Básica
Aula03 - Informática BásicaAula03 - Informática Básica
Aula03 - Informática Básica
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Estrutura de Dados - Ponteiros
Estrutura de Dados - PonteirosEstrutura de Dados - Ponteiros
Estrutura de Dados - Ponteiros
 
Aula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e SaídaAula 8 - Comandos de Entrada e Saída
Aula 8 - Comandos de Entrada e Saída
 

En vedette

Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasAdriano Teixeira de Souza
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Adriano Teixeira de Souza
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Grupo A
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basicorobinhoct
 
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Flávio Freitas
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portuguesLaura
 
Princípios da organização de código fonte C++
Princípios da organização de código fonte C++Princípios da organização de código fonte C++
Princípios da organização de código fonte C++Ivan Ricarte
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - CompletoMarcos Quinho
 
PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++KarenAlmanza
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª ediçãoLeandro Rocha de Oliveira
 
Manual c++
Manual c++Manual c++
Manual c++slent
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 

En vedette (19)

Estrutura de Dados - Registros
Estrutura de Dados - RegistrosEstrutura de Dados - Registros
Estrutura de Dados - Registros
 
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
 
Estruturas
EstruturasEstruturas
Estruturas
 
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
Estrutura de Dados em Java (Variáveis Compostas - Vetores e Matrizes)
 
Linguagem C 07 Registros
Linguagem C 07 RegistrosLinguagem C 07 Registros
Linguagem C 07 Registros
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
 
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
Solução dos exercícios do livro Algoritmos e Estruturas de Dados dos autores ...
 
Curso avançado de c++ em portugues
Curso avançado de c++ em portuguesCurso avançado de c++ em portugues
Curso avançado de c++ em portugues
 
Princípios da organização de código fonte C++
Princípios da organização de código fonte C++Princípios da organização de código fonte C++
Princípios da organização de código fonte C++
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
Apostila C++
Apostila C++ Apostila C++
Apostila C++
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++PROGRAMAS EN DEV C++
PROGRAMAS EN DEV C++
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 
Fundamentos da programação de computadores 2ª edição
Fundamentos da programação de computadores   2ª ediçãoFundamentos da programação de computadores   2ª edição
Fundamentos da programação de computadores 2ª edição
 
Manual c++
Manual c++Manual c++
Manual c++
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 

Similaire à Estrutura de dados - Introdução a linguagem C

Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Adriano Teixeira de Souza
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6engenhariadecomputacao
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funçõesCarla Lee
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06thomasdacosta
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Lennon Manchester
 
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosParadigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosAdriano Teixeira de Souza
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03thomasdacosta
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1Isaac Barros
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxMarceloRosenbrock1
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5engenhariadecomputacao
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasdiogoa21
 

Similaire à Estrutura de dados - Introdução a linguagem C (20)

Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1
 
Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)Estrutura de Dados em Java (Introdução)
Estrutura de Dados em Java (Introdução)
 
Ling c
Ling cLing c
Ling c
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06Algoritmos e Técnicas de Programação - Aula 06
Algoritmos e Técnicas de Programação - Aula 06
 
Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?Por que voce deveria documentar seu codigo?
Por que voce deveria documentar seu codigo?
 
Lógica De Programação
Lógica De ProgramaçãoLógica De Programação
Lógica De Programação
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de DadosParadigmas de Linguagens de Programação - Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação - Tipos Abstratos de Dados
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03Programação Estruturada 2 - Aula 03
Programação Estruturada 2 - Aula 03
 
Aula 5 - Programação 1
Aula 5 - Programação 1Aula 5 - Programação 1
Aula 5 - Programação 1
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5
 
mod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicasmod5-estruturas-dadosdinamicas
mod5-estruturas-dadosdinamicas
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 

Plus de Adriano Teixeira de Souza

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Adriano Teixeira de Souza
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasAdriano Teixeira de Souza
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Adriano Teixeira de Souza
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Adriano Teixeira de Souza
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Adriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSAdriano Teixeira de Souza
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaAdriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Adriano Teixeira de Souza
 

Plus de Adriano Teixeira de Souza (20)

Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
Aplicação de Integração Contínua para viabilizar a rastreabilidade de artefat...
 
Estrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores BináriasEstrutura de dados em Java - Árvores Binárias
Estrutura de dados em Java - Árvores Binárias
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - FilasEstrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória Estrutura de dados em Java - Ponteiros e Alocação de Memória
Estrutura de dados em Java - Ponteiros e Alocação de Memória
 
Estrutura de dados em Java - Recursividade
Estrutura de dados em Java - RecursividadeEstrutura de dados em Java - Recursividade
Estrutura de dados em Java - Recursividade
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)Estrutura de Dados em Java (Funções e Procedimentos)
Estrutura de Dados em Java (Funções e Procedimentos)
 
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)
 
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)Estrutura de Dados em Java (Revisão de Algoritimos em Java)
Estrutura de Dados em Java (Revisão de Algoritimos em Java)
 
Responsive web design
Responsive web designResponsive web design
Responsive web design
 
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMSSistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
Sistemas Distribuídos - Comunicacao Distribuida - Middleware - JMS
 
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
 
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em JavaParadigmas de Linguagens de Programação - Gerenciamento de Memória em Java
Paradigmas de Linguagens de Programação - Gerenciamento de Memória em Java
 
Estrutura de dados - Árvores Binárias
Estrutura de dados - Árvores BináriasEstrutura de dados - Árvores Binárias
Estrutura de dados - Árvores Binárias
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)Ferramentas para desenvolvimento web com produtividade -  Slide Artigo (2009)
Ferramentas para desenvolvimento web com produtividade - Slide Artigo (2009)
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...Paradigmas de Linguagens de Programação - Modularização, componentização e re...
Paradigmas de Linguagens de Programação - Modularização, componentização e re...
 

Estrutura de dados - Introdução a linguagem C

  • 2. Ex-acadêmico da Fasul  Especialista em Desenvolvimento de Software e Novas Tecnologias - Unioeste  Analista de Sistemas na C.Vale Agroindústria  Desenvolvedor nas plataformas Java e .Net Prof. Adriano Teixeira de Souza
  • 3. Nome  Cidade  Em que área trabalha  Que tecnologias utiliza no dia-a-dia  Expectativas para a disciplina Prof. Adriano Teixeira de Souza
  • 4. Ementa ◦ Estrutura de dados primitivas:  Pilhas, listas, árvores ◦ Algoritmos de manipulação de estrutura de dados:  Inserção, eliminação, busca e percurso ◦ Algoritmos de ordenação de dados  Quick sort, Bouble sort, Merge sort e Heap sort ◦ Algoritmos de pesquisa  Busca binária e busca linear ◦ Medidas de complexidade algorítmicas ◦ Desenvolvimento com utilização de estrutura de dados Prof. Adriano Teixeira de Souza
  • 5. Utilização da linguagem C  Aulas práticas  Listas de exercícios  Discussão do conteúdo  Trabalhos  Avaliação bimestral  Nota ◦ Avaliação bimestral (Peso de 50%) ◦ Trabalhos e listas de exercícios (peso de 35% ) ◦ Participação e envolvimento em sala (peso 15%) Prof. Adriano Teixeira de Souza
  • 6. Portabilidade entre máquinas e sistemas operacionais  Total iteração com o sistema operacional  Código compacto e rápido  Linguagem compilada  C é “case sensitive” Prof. Adriano Teixeira de Souza
  • 7. /* Primeiro Programa em C */ comentários #include <stdio.h> biblioteca de E/S main() função principal/inicio { marca início da função printf(“Meu primeiro programa em Cn”); função para escrever na tela } marca fim da função Prof. Adriano Teixeira de Souza
  • 8. Variável: “objeto” que pode assumir diversos valores  Espaço de memória de um certo tipo de dado associado a um nome para referenciar seu conteúdo main ( ) { int idade; idade = 30; printf (“ A idade é : %d”, idade); } Prof. Adriano Teixeira de Souza
  • 9. Quantos caracteres quiser (32)  Comece com letras ou sublinhado: ◦ Seguidos de letras, números ou sublinhados  C é sensível ao caso: ◦ Peso <> peso <> pEso  Não podemos definir um identificador com o mesmo nome que uma palavra chave ◦ auto static extern int long if while do Prof. Adriano Teixeira de Souza
  • 10. Determina um conjunto de valores e as possíveis operações realizadas sobre os mesmos  Informa a quantidade de memória (bytes) tipo bytes escala char 1 -128 a 127 int 2 -32.768 a 32.767 float 4 3.4e-38 a 3.4e+38 double 8 1.7e-308 a 1.7e+308 Prof. Adriano Teixeira de Souza
  • 11. #include <stdio.h> main( ) { int soma=10; float money=2.21; char letra= ´A´; double pi=2.01E6; printf (“valor da soma = %dn”, soma); printf (“Valor de Money = %fn”, money); printf(“Valor de Letra = %cn”, letra); printf(“Valor de Pi = %en”, pi); } Prof. Adriano Teixeira de Souza
  • 12. Saída de Entrada Processamento de Dados de Dados dados Instruções de E/S Prof. Adriano Teixeira de Souza
  • 13. Apresentação de dados no monitor  printf(“string de controle”, lista de argumentos); Exemplo: printf (“Digite a sua idade:n”); scanf (“%d”, &idade); printf(“Sua idade é: %d”, idade); Prof. Adriano Teixeira de Souza
  • 14. %c -> caracter %d -> inteiro %e -> número ou notação científica %f -> ponto flutuante %o -> octal %x -> hexadecimal %s -> string (cadeia de caracteres) %lf -> double Prof. Adriano Teixeira de Souza
  • 15. Um endereço de memória é o nome que o computador usa para identificar uma variável  Toda variável ocupa uma área de memória e seu endereço é o primeiro byte por ela ocupado Ex : inteiro -> 2 bytes float -> 4 bytes char -> 1 byte Prof. Adriano Teixeira de Souza
  • 16. Quando usamos & precedendo uma variável estamos falando do endereço desta variável na memória Saída: valor = 2, endereço = 1230 Varia conforme memória da máquina Ex: main ( ) { int num; num = 2; printf (“valor = %d, endereço = %Iu”, num,&num); } Prof. Adriano Teixeira de Souza
  • 17. Operador Ação + Adição * Multiplicação / Divisão % Resto da divisão inteira - Subtração (unário) -- Decremento ++ Incremento Prof. Adriano Teixeira de Souza
  • 18. Operador Ação > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que == Igual a != Diferente de && Condição “E” || Condição “OU” ! Não Prof. Adriano Teixeira de Souza
  • 19. Em C o resultado da comparação será ZERO se resultar em FALSO e DIFERENTE DE ZERO no caso de obtermos VERDADEIRO num teste qualquer. Prof. Adriano Teixeira de Souza
  • 20. #include <stdio.h> main ( ) Saída: Verd.=1 Falso = 0 { int verdadeiro, falso; verdadeiro = (15 < 20); falso = (15 == 20); printf(“Verd.= %d,Falso= %d”, verdadeiro, falso); } Prof. Adriano Teixeira de Souza
  • 21. Observemos antes de mais nada que ++x é diferente de x++! Se porém Se x = 10; x = 10; y = ++x; y = x++; /* x=x+1; y=x; */ /* y=x; x=x+1 */ então então x = 11 e x = 11 e y = 10 y = 11 Prof. Adriano Teixeira de Souza
  • 22. 1) Faça um programa para ler e escrever na tela o seu nome e a sua idade.  2) Faça um programa para ler e escrever na tela os seguintes dados: ◦ Nome ◦ Endereço ◦ Telefone ◦ Cidade ◦ Cep Prof. Adriano Teixeira de Souza
  • 23. 3) Entre com 3 números, verifique qual o maior dentre os valores informados e imprima na tela a frase “o maior número é X” ◦ Onde X é a variável contendo o maior valor  4) Entre com 2 números e apresente-os de forma ordenada Prof. Adriano Teixeira de Souza