SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisFabrício Lopes Sanchez
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Leinylson Fontinele
 
Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Guilherme Nonino Rosa
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
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
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem CLeonardo Lima
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Marcos Castro
 
Aula sobre Condicionais ( if - else ) - Linguagem C
Aula sobre Condicionais ( if - else ) - Linguagem CAula sobre Condicionais ( if - else ) - Linguagem C
Aula sobre Condicionais ( if - else ) - Linguagem Cprofjr
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresAlex Camargo
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisvini_campos
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosAlex Camargo
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
CURSO BÁSICO DE INFORMÁTICA
CURSO BÁSICO DE INFORMÁTICACURSO BÁSICO DE INFORMÁTICA
CURSO BÁSICO DE INFORMÁTICALeonam dos Santos
 

La actualidad más candente (20)

Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Estrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentaisEstrutura de Dados - Conceitos fundamentais
Estrutura de Dados - Conceitos fundamentais
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
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
 
Recursividade em linguagem C
Recursividade em linguagem CRecursividade em linguagem C
Recursividade em linguagem C
 
Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)Introdução a linguagem C# (CSharp)
Introdução a linguagem C# (CSharp)
 
Aula sobre Condicionais ( if - else ) - Linguagem C
Aula sobre Condicionais ( if - else ) - Linguagem CAula sobre Condicionais ( if - else ) - Linguagem C
Aula sobre Condicionais ( if - else ) - Linguagem C
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Arquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadoresArquitetura de Computadores: Evolução dos computadores
Arquitetura de Computadores: Evolução dos computadores
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicos
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
CURSO BÁSICO DE INFORMÁTICA
CURSO BÁSICO DE INFORMÁTICACURSO BÁSICO DE INFORMÁTICA
CURSO BÁSICO DE INFORMÁTICA
 

Destacado

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
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
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
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Manual c++
Manual c++Manual c++
Manual c++slent
 

Destacado (20)

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
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
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
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Manual c++
Manual c++Manual c++
Manual c++
 

Similar a 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
 

Similar a 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
 

Más 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
 

Más 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