SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Flávio Augusto de Freitas
Algoritmos e Estruturas de Dados III usando C/C++
http://flavioaf.blogspot.com




C/C++
Tutorial 2 (usando Dev-C++ versão 4.9.9.2)




                                              2012
3.2 OBTENDO O TEMPO DECORRIDO
1 INTRODUÇÃO                                        // obtendo tempo decorrido usando difftime
Esta série de tutoriais foi escrita usando o        #include <stdio.h>
Microsoft Windows 7 Ultimate e o Bloodshed          #include <time.h>
Dev-C++ versão 4.9.9.2, que pode ser baixada em
http://www.bloodshed.net.                           int main () {
                                                      time_t start,end;
                                                      char szInput[256];
2 ENTRADA E SAÍDA DE DISCO                            double dif;
Agora que já relembramos o uso do DevC++ e um
pouquinho de linguagem C/C++, vamos ao que           time(&start);
realmente interessa nesse tutorial, ou seja,         printf("Por favor, digite seu nome completo: ");
trabalhar com arquivos em disco.                     gets(szInput);
                                                     time(&end);
Se você ainda não está familiarizado com
                                                     dif = difftime(end, start);
arquivos em disco, leia novamente o Tutorial 1.
                                                     printf("Oi %s.n", szInput);
                                                     printf("Você levou %.2lf segundos para digitar
3 FUNÇÕES DE DATA E HORA                            seu nome.n", dif);
As funções de data e hora servem para obtermos
                                                        return 0;
o relógio atual do computador. Usaremos essas
                                                    }
funções para obtermos dados de funcionamento e
desempenho      de   nossos   programas.   Em
algoritmos de ordenação essa é uma medida do        4 LENDO O ARQUIVO DE DADOS
desempenho e pode ser usada para comparar
algoritmos entre si.                                FORNECIDO NO BLOG
                                                    Baixe       o       arquivo    clicando     em
Por exemplo, em um algoritmo de ordenação o         http://flavioaf.blogspot.com/2012/02/10000-
modo mais simples é obter a hora de início antes    dez-mil-numeros-inteiros.html. Salve-o na Área
da chamada à função de ordenação e depois, a        de Trabalho (Desktop).
hora de término. Em seguida, calculamos o
tempo decorrido e, assim, podemos comparar          Este arquivo contém 10000 números inteiros
diversos métodos de ordenação e verificar qual é    aleatórios (randômicos), dispostos em 2000
o mais rápido. Ou ainda, podemos ordenar o          linhas de 5 colunas cada. Cada número pode
mesmo conjunto de dados para diferentes             variar entre 0 e 99999.
algoritmos, alterando-se a quantidade de dados
em cada execução do algoritmo e depois              Primeiramente, para trabalhar com esses dados
compará-los entre si, conseguindo informações a     precisaremos de um grande vetor de inteiros.
respeito do desempenho dos algoritmos de acordo     Infelizmente o maior inteiro sem sinal em C/C++,
com a quantidade de dados a ser ordenada. Isto      unsigned int, pode armazenar valores até 65535.
nos permitirá, por exemplo, decidir qual            Precisamos usar um tipo maior, por exemplo,
algoritmo se sai melhor com determinada             unsigned long int, que pode armazenar valores
quantidade de dados.                                até 4294967296. Este tipo usa 4 bytes de espaço
                                                    em memória. São então 4 x 10000 = 40000 bytes
                                                    ou 40 KB, ou ainda, pouco mais de 39 KiB.
3.1 OBTENDO A HORA ATUAL
// obtendo a hora local usando localtime
#include <stdio.h>
                                                    4.1 LENDO E IMPRIMINDO O ARQUIVO
#include <time.h>                                   #include <cstdlib>
int main () {
                                                    #include <iostream>
 time_t rawtime;                                    #include <time.h>
 struct tm * timeinfo;
                                                    using namespace std;
    time(&rawtime);
    timeinfo = localtime (&rawtime);
    printf("Tempo local: %s", asctime(timeinfo));   const char fPath[100] = "C:";  // altere isto
    return 0;                                       const char fName[20] = "10000int.txt";
}
int main(int argc, char *argv[]) {
       FILE *fp;
                                                           5 ARQUIVOS COM FORMATOS
       int x;                                              ESPECIAIS
       int n;
       int l;
                                                           5.1 GERANDO UM ARQUIVO
       time_t start;
       time_t end;                                         5.1.1 GERANDO UM A RQUIVO PARA
       double dif;                                         I MPORTAÇÃO EM PLANILHA ELETRÔNICA
       char fFullName[200];                                O programa a seguir grava um arquivo de texto
       struct tm *timeinfo;                                chamado momento.csv no disco. Digite-o no
                                                           DevC++ e salve-o na sua pasta Área de Trabalho
        time(&start);                                      (Desktop).

        strcpy(fFullName, fPath);                          Note que o programa usa uma vírgula entre os
        strcat(fFullName, fName);                          valores gravados.
        strcat(fFullName, "0");
                                                           #include <stdio.h>
        fp=fopen(fFullName, "rt"); // rt? Tutorial 1       #include <stdlib.h>


      if(fp != NULL)                                       float momento(float f, float d) {
         printf("Arquivo aberto com sucesso.n");            return (f * d);
      else     printf("Nao  foi   possivel  abrir      o   }
    arquivo.n");
                                                           int main(void) {
        for(l=0;l<1000;l++) {                                FILE *arq;
           for(n=0;n<10;n++) {                               float d, f, m;
              fscanf(fp, "%d", &x);
              printf("%dt", x);                               arq = fopen(“momento.csv”,”w”);
           }                                                   if (arq == NULL) {
        }                                                        printf(“Erro ao criar o arquivo.n”);
        fclose(fp);                                              exit(1);
                                                               }
        time(&end);                                            fprintf(arq,“%s, %sn”,”dist”,”momento”);
        dif = difftime(end, start);                            f=12.0;
                                                               for (d=0.0; d <= 10.0; d = d + 0.5) {
       printf("nnProcessado o arquivo: %sn",                  m = momento(f, d);       // calcula
    fName);                                                      fprintf(arq,“%f, %fn”,d,m); // grava
       printf("Local: %snn", fPath);                         }
       timeinfo = localtime(&start);                           fclose(arq);
       printf("Hora       de         inicio...:   %s",         printf(“Arquivo gravado com sucesso!n”);
    asctime(timeinfo));                                        return (0);
       timeinfo = localtime(&end);                         }
       printf("Hora      de      termino..:     %sn",
    asctime(timeinfo));
       printf("Tempo decorrido..: %f segundos nn",
    dif);

        system("PAUSE");
        return EXIT_SUCCESS;
    }




1
Use o BrOffice.org Calc para abrir o arquivo
    recém-criado momento.csv. Deixe a janela de
    importação como na figura abaixo e clique no
    botão OK.




                                                         Salve a pasta de trabalho, e feche o BrOffice.org
                                                         Calc.

                                                         5.1.2 GERANDO UM A RQUIVO PARA
                                                         EXIBIÇÃO EM UM BROWSER
                                                         Você já deve saber como criar um arquivo
                                                         contendo marcas (tags) HTML para ser aberto em
                                                         um browser (navegador). Se não souber, dê uma
                                                         olhada em http://www.freewebs.com/aprenderhtml/.

                                                         Agora verá uma adaptação do programa anterior
                                                         para salvar os dados em uma tabela dentro de
    Ainda, o DevC++ usa um ponto no lugar de uma         uma página HTML. As marcas <table> e </table>
    vírgula para separar a parte inteira da parte        delimitam uma tabela. Dentro delas, isto é, entre
    decimal de um número, o que também deve ser          elas, as marcas <tr> e </tr> (de table row)
    informado ao BrOffice.org Calc. Assim que os         delimitam uma linha da tabela. Dentro de uma
    dados aparecerem na planilha, clique no menu         linha, as marcas <td> e </td> delimitam uma
    Editar e escolha a opção Localizar e substituir….    célula (coluna). Você pode usar também as
    No campo Localizar digite . (ponto) e no campo       marcas <th> e </th> para delimitar uma célula
    Substituir por digite , (vírgula). Use a figura      de uma linha de cabeçalho da tabela com um
    abaixo como referência.                              formato diferente do corpo. O trecho abaixo
                                                         mostra o código HTML para criar uma tabela com
                                                         uma linha de cabeçalho e uma linha de dados,
                                                         ambas com duas colunas. O parâmetro border
                                                         dentro da marca <table> indica a largura
                                                         desejada para a borda da tabela.

                                                         <table border=”1”>
                                                          <tr>
                                                            <th>Dist</th> <th>Momento</th>
                                                          </tr>
                                                          <tr>
                                                            <td>0.0</td><td>0.0</td>
                                                          </tr>
                                                         </table>

                                                         O programa a seguir grava um arquivo de texto
    Clique no botão Substituir todos e depois no         chamado momento.htm no disco. Digite-o no
    botão Fechar.                                        DevC++ e salve-o na sua pasta Área de Trabalho
                                                         (Desktop).
    No BrOffice.org Calc selecione os dados
    arrastando o mouse sobre eles, desde a célula A1     Execute o programa. Usando o atalho Meu
    até a célula B22. Clique no menu Inserir e           Computador, localize o ícone do arquivo
    escolha Gráfico…. Deixe a janela Assistente de       momento.htm que seu programa acabou de
    gráficos como na figura a seguir e clique no botão   criar. Dê um duplo clique nele para abri-lo no
    Concluir.                                            navegador Web padrão.



2
Veja que os dados aparecem dentro de uma                  do parafuso é igual a 2 mm/volta e que a
    tabela. Clique com o botão direito do mouse em            velocidade do motor é de 1800 rpm (lembre
    algum ponto da página e selecione a opção Exibir          que 1800 rpm = 30 voltas por segundo),
    código fonte, para ver o código da página. Lembre         escreva um programa em linguagem C que
    que esse conteúdo foi escrito pelo programa em            calcule a posição (distância da origem) do
    linguagem C. Feche a janela de exibição do                carro em 11 instantes de tempo iniciando
    código fonte e a janela do Navegador.                     com t = 0s e terminando em t = 60s e grave os
                                                              pares de valores (instante de tempo, posição
    #include <cstdlib>                                        do carro) em um arquivo de texto chamado
    #include <iostream>                                       movimento.csv. Considere que o carro está
                                                              na origem no instante t = 0s. Cada par de
    using namespace std;                                      valores deve ser gravado em uma linha do
                                                              arquivo e os valores devem ser separados por
    float momento(float f, float d) {                         um caractere de tabulação (ASCII 9 ou ‘t’).
      return (f * d);                                      2. Escreva outro programa que grave os valores
    }                                                         calculados em uma página HTML chamada
                                                              movimento.htm. A página deve apresentar
    int main(void) {                                          os dados dentro de uma tabela. Lembre que
      FILE *arq;                                              1800 rpm = 30 voltas por segundo. Usando o
      float d, f, m;                                          BrOffice.org Calc, produza um gráfico do
      arq = fopen(“momento.htm”,”w”);                         movimento do carro no período de tempo
      if (arq == NULL) {                                      considerado pelo seu programa.
        printf(“Erro ao criar o arquivo.n”);              3. Escreva um programa que gere um gráfico da
        exit(1);                                              função x3, de forma que fique com um
      }                                                                      aspecto parecido com a figura a
      fprintf(arq,”<html>nn<head>n”);                                     seguir. O gráfico deve ser
      fprintf(arq,”<title>Momento</title>n”);                               gerado     em    um     arquivo
      fprintf(arq,”</head>n<body>n”);                                      denominado grafico.txt. No
      fprintf(arq,”<table border=1>n”);                                     lugar da linha azul você deverá
      fprintf(arq,”<tr>n”);                                                 usar o símbolo *. A variável x
        fprintf(arq,”<th>Dist.</th><th>Momento</th>n”);                     deve variar de -8 a 8, em
        fprintf(arq,”</tr>n”);                                              intervalos 2 décimos. X varia de
        /* fica calculando o momento e gravando */                           cima para baixo no arquivo
        f = 12.0;                                                            gerado. Cada linha do arquivo
        for (d=0.0; d <= 10.0; d = d + 0.5) {                 gerado terá no máximo 80 colunas. Os eixos
          m = momento(f, d); /* calcula */                    também deverão ser traçados. A dificuldade
          fprintf(arq,“<tr>n”);                              neste exercício está em ter de fazer tudo ao
          fprintf(arq,”<td>%f</td><td>%f</td>n”,d,m);        mesmo tempo, ou seja, traçar a função,
          fprintf(arq,”</tr>n”);                             desenhar os eixos e escrever os valores junto
        }                                                     aos eixos nos lugares corretos só pode ser
        fprintf(arq,”</table>n</body>n</html>n”);          realizado de forma contínua. Não há como
        fclose(arq);                                          retornar e fazer cada parte em separado. Seu
        printf(“Arquivo gravado com sucesso!n”);             código deve ser parametrizado, de tal forma
        system(“PAUSE”);                                      que seja possível traçar o gráfico de qualquer
        return (0);                                           função solicitada, por exemplo, x3 - x5. Se
    }                                                         precisar, digite a função, por exemplo, x^3 -
                                                              x^5 na busca do Google para ter uma noção
    6 EXERCÍCIOS                                              de como o gráfico ficará.

    1. Um carro des-
       liza sobre tri-                                     7 TERMINAMOS
       lhos   movido                                       Terminamos por aqui. Clique no menu Arquivo,
       por um para-                                        depois clique na opção Sair. Corra para o
       fuso acoplado                                       próximo tutorial.
       a um motor. Sabendo que o passo da rosca




3

Mais conteúdo relacionado

Mais procurados

Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power toolsArmando Reis
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Theano - Alto Desempenho em Machine Learning
Theano - Alto Desempenho em Machine LearningTheano - Alto Desempenho em Machine Learning
Theano - Alto Desempenho em Machine LearningFelipe Martins
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoMario Chaves
 
EDII03 [2012.1] Manipulação de Arquivos em Pascal
EDII03 [2012.1]  Manipulação de Arquivos em PascalEDII03 [2012.1]  Manipulação de Arquivos em Pascal
EDII03 [2012.1] Manipulação de Arquivos em PascalKianeLedok
 
Escreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoEscreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoWilson Júnior
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Hugo Maia Vieira
 
Curso de Shell Script 02/11
Curso de Shell Script 02/11Curso de Shell Script 02/11
Curso de Shell Script 02/11Rodrigo Silva
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Pythonrodrigopex
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scriptingdcarneir
 

Mais procurados (20)

Aula 11 semana
Aula 11 semanaAula 11 semana
Aula 11 semana
 
Sapo sessions linux power tools
Sapo sessions linux power toolsSapo sessions linux power tools
Sapo sessions linux power tools
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Aula 10 semana
Aula 10 semanaAula 10 semana
Aula 10 semana
 
Theano - Alto Desempenho em Machine Learning
Theano - Alto Desempenho em Machine LearningTheano - Alto Desempenho em Machine Learning
Theano - Alto Desempenho em Machine Learning
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
EDII03 [2012.1] Manipulação de Arquivos em Pascal
EDII03 [2012.1]  Manipulação de Arquivos em PascalEDII03 [2012.1]  Manipulação de Arquivos em Pascal
EDII03 [2012.1] Manipulação de Arquivos em Pascal
 
Escreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornadoEscreva aplicações web assíncronas com python3 + tornado
Escreva aplicações web assíncronas com python3 + tornado
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Tutorial pascal arquivos
Tutorial pascal arquivosTutorial pascal arquivos
Tutorial pascal arquivos
 
Introdução ao Processamento Paralelo (2)
Introdução ao Processamento Paralelo (2)Introdução ao Processamento Paralelo (2)
Introdução ao Processamento Paralelo (2)
 
Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida) Lista de exercícios em Bash (resolvida)
Lista de exercícios em Bash (resolvida)
 
Arquivos
ArquivosArquivos
Arquivos
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Curso de Shell Script 02/11
Curso de Shell Script 02/11Curso de Shell Script 02/11
Curso de Shell Script 02/11
 
Minicurso Python
Minicurso PythonMinicurso Python
Minicurso Python
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
 
Shell Scripting
Shell ScriptingShell Scripting
Shell Scripting
 
Linguagem Go
Linguagem GoLinguagem Go
Linguagem Go
 

Destaque

Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e Wallanberg
Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e WallanbergSustentabilidade - Água Pluvial - Jonas, Luiz Henrique e Wallanberg
Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e WallanbergJonasSport
 
Infraestrutura como Código
Infraestrutura como CódigoInfraestrutura como Código
Infraestrutura como Códigoinstructbr
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsortFlávio Freitas
 
Tutorial aed iii 005 - algoritmo de ordenação quicksort
Tutorial aed iii   005 - algoritmo de ordenação quicksortTutorial aed iii   005 - algoritmo de ordenação quicksort
Tutorial aed iii 005 - algoritmo de ordenação quicksortFlávio Freitas
 
Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Emiliano Barbosa
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)Márcio Rizzatto
 
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
 
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
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOChellton Almeida
 
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
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftGetup Cloud
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basicorobinhoct
 

Destaque (20)

TDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código CTDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código C
 
Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e Wallanberg
Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e WallanbergSustentabilidade - Água Pluvial - Jonas, Luiz Henrique e Wallanberg
Sustentabilidade - Água Pluvial - Jonas, Luiz Henrique e Wallanberg
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 
Apostila aed
Apostila aedApostila aed
Apostila aed
 
Infraestrutura como Código
Infraestrutura como CódigoInfraestrutura como Código
Infraestrutura como Código
 
Chuva
ChuvaChuva
Chuva
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsort
 
Tutorial aed iii 005 - algoritmo de ordenação quicksort
Tutorial aed iii   005 - algoritmo de ordenação quicksortTutorial aed iii   005 - algoritmo de ordenação quicksort
Tutorial aed iii 005 - algoritmo de ordenação quicksort
 
Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8
 
Estruturas em C++ (struct)
Estruturas em C++ (struct)Estruturas em C++ (struct)
Estruturas em C++ (struct)
 
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++
 
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
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
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++
 
Computação gráfica
Computação gráficaComputação gráfica
Computação gráfica
 
Apostila de C++
Apostila de C++Apostila de C++
Apostila de C++
 
Escalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShiftEscalando aplicação Python usando Getup OpenShift
Escalando aplicação Python usando Getup OpenShift
 
Prova eletronica basica
Prova eletronica basicaProva eletronica basica
Prova eletronica basica
 
C++ apostila c++ nivel basico
C++   apostila c++ nivel basicoC++   apostila c++ nivel basico
C++ apostila c++ nivel basico
 

Semelhante a C/C++ Tutorial

Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatchflisolmaringa
 
Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaDeivid Martins
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rustBruno Rocha
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linuxLuciano Souto
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CJoberthSilva
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem CVê Rodrigues
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhanyKaren Costa
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em CElaine Cecília Gatto
 
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código FonteProgramação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fontethomasdacosta
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bashSérgio Silva
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Alamo Saravali
 
Alocação dinâmica em C
Alocação dinâmica em CAlocação dinâmica em C
Alocação dinâmica em CBruno Oliveira
 

Semelhante a C/C++ Tutorial (20)

Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatch
 
Mini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e DistribuídaMini-curso Programação Paralela e Distribuída
Mini-curso Programação Paralela e Distribuída
 
Escrevendo modulos python com rust
Escrevendo modulos python com rustEscrevendo modulos python com rust
Escrevendo modulos python com rust
 
M2ti - Python Brasil
M2ti - Python BrasilM2ti - Python Brasil
M2ti - Python Brasil
 
Arquivos em C
Arquivos em CArquivos em C
Arquivos em C
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Comandos básicos linux
Comandos básicos linuxComandos básicos linux
Comandos básicos linux
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Ling c
Ling cLing c
Ling c
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Programação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código FonteProgramação Estruturada 2 - Aula 04 - Código Fonte
Programação Estruturada 2 - Aula 04 - Código Fonte
 
Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
Linguagem C 10 Arquivos
Linguagem C 10 ArquivosLinguagem C 10 Arquivos
Linguagem C 10 Arquivos
 
O Que é shell - bash
O Que é shell - bashO Que é shell - bash
O Que é shell - bash
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
Alocação dinâmica em C
Alocação dinâmica em CAlocação dinâmica em C
Alocação dinâmica em C
 

Mais de Flávio Freitas

Tutorial aed iii 004 - algoritmo de ordenação quicksort
Tutorial aed iii   004 - algoritmo de ordenação quicksortTutorial aed iii   004 - algoritmo de ordenação quicksort
Tutorial aed iii 004 - algoritmo de ordenação quicksortFlávio Freitas
 
Tutorial aed iii 006 - algoritmo de ordenação quicksort
Tutorial aed iii   006 - algoritmo de ordenação quicksortTutorial aed iii   006 - algoritmo de ordenação quicksort
Tutorial aed iii 006 - algoritmo de ordenação quicksortFlávio Freitas
 
Tutorial aed iii 007 - algoritmo de ordenação heapsort
Tutorial aed iii   007 - algoritmo de ordenação heapsortTutorial aed iii   007 - algoritmo de ordenação heapsort
Tutorial aed iii 007 - algoritmo de ordenação heapsortFlávio Freitas
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsortFlávio Freitas
 
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...Flávio Freitas
 
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...Flávio Freitas
 
Tutorial aed iii 003 - algoritmo de ordenação shellsort
Tutorial aed iii   003 - algoritmo de ordenação shellsortTutorial aed iii   003 - algoritmo de ordenação shellsort
Tutorial aed iii 003 - algoritmo de ordenação shellsortFlávio Freitas
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsortFlávio Freitas
 
Tutorial aed iii 002 - algoritmo de ordenação shellsort
Tutorial aed iii   002 - algoritmo de ordenação shellsortTutorial aed iii   002 - algoritmo de ordenação shellsort
Tutorial aed iii 002 - algoritmo de ordenação shellsortFlávio Freitas
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivosFlávio Freitas
 
Aula 001 histórico dos computadores
Aula 001   histórico dos computadoresAula 001   histórico dos computadores
Aula 001 histórico dos computadoresFlávio Freitas
 
Aula 004 noções de hardware
Aula 004   noções de hardwareAula 004   noções de hardware
Aula 004 noções de hardwareFlávio Freitas
 
Aula 005 noções de hardware
Aula 005   noções de hardwareAula 005   noções de hardware
Aula 005 noções de hardwareFlávio Freitas
 
Aula 001 plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...
Aula 001   plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...Aula 001   plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...
Aula 001 plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...Flávio Freitas
 
Aula 003 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 003   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Aula 003   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 003 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Flávio Freitas
 
Aula 004 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 004   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Aula 004   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 004 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Flávio Freitas
 
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
 
Algoritmos para estruturas de dados
Algoritmos para estruturas de dadosAlgoritmos para estruturas de dados
Algoritmos para estruturas de dadosFlávio Freitas
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoFlávio Freitas
 
Matemática computacional aula 002
Matemática computacional   aula 002Matemática computacional   aula 002
Matemática computacional aula 002Flávio Freitas
 

Mais de Flávio Freitas (20)

Tutorial aed iii 004 - algoritmo de ordenação quicksort
Tutorial aed iii   004 - algoritmo de ordenação quicksortTutorial aed iii   004 - algoritmo de ordenação quicksort
Tutorial aed iii 004 - algoritmo de ordenação quicksort
 
Tutorial aed iii 006 - algoritmo de ordenação quicksort
Tutorial aed iii   006 - algoritmo de ordenação quicksortTutorial aed iii   006 - algoritmo de ordenação quicksort
Tutorial aed iii 006 - algoritmo de ordenação quicksort
 
Tutorial aed iii 007 - algoritmo de ordenação heapsort
Tutorial aed iii   007 - algoritmo de ordenação heapsortTutorial aed iii   007 - algoritmo de ordenação heapsort
Tutorial aed iii 007 - algoritmo de ordenação heapsort
 
Tutorial aed iii 008 - algoritmo de ordenação heapsort
Tutorial aed iii   008 - algoritmo de ordenação heapsortTutorial aed iii   008 - algoritmo de ordenação heapsort
Tutorial aed iii 008 - algoritmo de ordenação heapsort
 
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
 
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...5º apl   cursos técnicos - informática básica e aplicada 2012 - br office.org...
5º apl cursos técnicos - informática básica e aplicada 2012 - br office.org...
 
Tutorial aed iii 003 - algoritmo de ordenação shellsort
Tutorial aed iii   003 - algoritmo de ordenação shellsortTutorial aed iii   003 - algoritmo de ordenação shellsort
Tutorial aed iii 003 - algoritmo de ordenação shellsort
 
Tutorial aed iii 001 - algoritmo de ordenação shellsort
Tutorial aed iii   001 - algoritmo de ordenação shellsortTutorial aed iii   001 - algoritmo de ordenação shellsort
Tutorial aed iii 001 - algoritmo de ordenação shellsort
 
Tutorial aed iii 002 - algoritmo de ordenação shellsort
Tutorial aed iii   002 - algoritmo de ordenação shellsortTutorial aed iii   002 - algoritmo de ordenação shellsort
Tutorial aed iii 002 - algoritmo de ordenação shellsort
 
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
Tutorial dev cpp   001 - criação, leitura e alteração de arquivosTutorial dev cpp   001 - criação, leitura e alteração de arquivos
Tutorial dev cpp 001 - criação, leitura e alteração de arquivos
 
Aula 001 histórico dos computadores
Aula 001   histórico dos computadoresAula 001   histórico dos computadores
Aula 001 histórico dos computadores
 
Aula 004 noções de hardware
Aula 004   noções de hardwareAula 004   noções de hardware
Aula 004 noções de hardware
 
Aula 005 noções de hardware
Aula 005   noções de hardwareAula 005   noções de hardware
Aula 005 noções de hardware
 
Aula 001 plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...
Aula 001   plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...Aula 001   plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...
Aula 001 plan. e sist. comp. aplic. à adm. - o computador na sociedade, nas...
 
Aula 003 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 003   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Aula 003   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 003 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
 
Aula 004 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 004   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...Aula 004   plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
Aula 004 plan. e sist. comp. aplic. à adm. - estudos dos principais sistema...
 
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 ...
 
Algoritmos para estruturas de dados
Algoritmos para estruturas de dadosAlgoritmos para estruturas de dados
Algoritmos para estruturas de dados
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Matemática computacional aula 002
Matemática computacional   aula 002Matemática computacional   aula 002
Matemática computacional aula 002
 

Último

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxFranciely Carvalho
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e CaracterísticassAugusto Costa
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.Descreve o conceito de função, objetos, imagens, domínio e contradomínio.
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.Vitor Mineiro
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometriajucelio7
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxlvaroSantos51
 
tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1Michycau1
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 

Último (20)

11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
CLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptxCLASSE DE PALAVRAS completo para b .pptx
CLASSE DE PALAVRAS completo para b .pptx
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
A poesia - Definições e Característicass
A poesia - Definições e CaracterísticassA poesia - Definições e Característicass
A poesia - Definições e Característicass
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.Descreve o conceito de função, objetos, imagens, domínio e contradomínio.
Descreve o conceito de função, objetos, imagens, domínio e contradomínio.
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Transformações isométricas.pptx Geometria
Transformações isométricas.pptx GeometriaTransformações isométricas.pptx Geometria
Transformações isométricas.pptx Geometria
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1tabela desenhos projetivos REVISADA.pdf1
tabela desenhos projetivos REVISADA.pdf1
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 

C/C++ Tutorial

  • 1. Flávio Augusto de Freitas Algoritmos e Estruturas de Dados III usando C/C++ http://flavioaf.blogspot.com C/C++ Tutorial 2 (usando Dev-C++ versão 4.9.9.2) 2012
  • 2. 3.2 OBTENDO O TEMPO DECORRIDO 1 INTRODUÇÃO // obtendo tempo decorrido usando difftime Esta série de tutoriais foi escrita usando o #include <stdio.h> Microsoft Windows 7 Ultimate e o Bloodshed #include <time.h> Dev-C++ versão 4.9.9.2, que pode ser baixada em http://www.bloodshed.net. int main () { time_t start,end; char szInput[256]; 2 ENTRADA E SAÍDA DE DISCO double dif; Agora que já relembramos o uso do DevC++ e um pouquinho de linguagem C/C++, vamos ao que time(&start); realmente interessa nesse tutorial, ou seja, printf("Por favor, digite seu nome completo: "); trabalhar com arquivos em disco. gets(szInput); time(&end); Se você ainda não está familiarizado com dif = difftime(end, start); arquivos em disco, leia novamente o Tutorial 1. printf("Oi %s.n", szInput); printf("Você levou %.2lf segundos para digitar 3 FUNÇÕES DE DATA E HORA seu nome.n", dif); As funções de data e hora servem para obtermos return 0; o relógio atual do computador. Usaremos essas } funções para obtermos dados de funcionamento e desempenho de nossos programas. Em algoritmos de ordenação essa é uma medida do 4 LENDO O ARQUIVO DE DADOS desempenho e pode ser usada para comparar algoritmos entre si. FORNECIDO NO BLOG Baixe o arquivo clicando em Por exemplo, em um algoritmo de ordenação o http://flavioaf.blogspot.com/2012/02/10000- modo mais simples é obter a hora de início antes dez-mil-numeros-inteiros.html. Salve-o na Área da chamada à função de ordenação e depois, a de Trabalho (Desktop). hora de término. Em seguida, calculamos o tempo decorrido e, assim, podemos comparar Este arquivo contém 10000 números inteiros diversos métodos de ordenação e verificar qual é aleatórios (randômicos), dispostos em 2000 o mais rápido. Ou ainda, podemos ordenar o linhas de 5 colunas cada. Cada número pode mesmo conjunto de dados para diferentes variar entre 0 e 99999. algoritmos, alterando-se a quantidade de dados em cada execução do algoritmo e depois Primeiramente, para trabalhar com esses dados compará-los entre si, conseguindo informações a precisaremos de um grande vetor de inteiros. respeito do desempenho dos algoritmos de acordo Infelizmente o maior inteiro sem sinal em C/C++, com a quantidade de dados a ser ordenada. Isto unsigned int, pode armazenar valores até 65535. nos permitirá, por exemplo, decidir qual Precisamos usar um tipo maior, por exemplo, algoritmo se sai melhor com determinada unsigned long int, que pode armazenar valores quantidade de dados. até 4294967296. Este tipo usa 4 bytes de espaço em memória. São então 4 x 10000 = 40000 bytes ou 40 KB, ou ainda, pouco mais de 39 KiB. 3.1 OBTENDO A HORA ATUAL // obtendo a hora local usando localtime #include <stdio.h> 4.1 LENDO E IMPRIMINDO O ARQUIVO #include <time.h> #include <cstdlib> int main () { #include <iostream> time_t rawtime; #include <time.h> struct tm * timeinfo; using namespace std; time(&rawtime); timeinfo = localtime (&rawtime); printf("Tempo local: %s", asctime(timeinfo)); const char fPath[100] = "C:"; // altere isto return 0; const char fName[20] = "10000int.txt"; }
  • 3. int main(int argc, char *argv[]) { FILE *fp; 5 ARQUIVOS COM FORMATOS int x; ESPECIAIS int n; int l; 5.1 GERANDO UM ARQUIVO time_t start; time_t end; 5.1.1 GERANDO UM A RQUIVO PARA double dif; I MPORTAÇÃO EM PLANILHA ELETRÔNICA char fFullName[200]; O programa a seguir grava um arquivo de texto struct tm *timeinfo; chamado momento.csv no disco. Digite-o no DevC++ e salve-o na sua pasta Área de Trabalho time(&start); (Desktop). strcpy(fFullName, fPath); Note que o programa usa uma vírgula entre os strcat(fFullName, fName); valores gravados. strcat(fFullName, "0"); #include <stdio.h> fp=fopen(fFullName, "rt"); // rt? Tutorial 1 #include <stdlib.h> if(fp != NULL) float momento(float f, float d) { printf("Arquivo aberto com sucesso.n"); return (f * d); else printf("Nao foi possivel abrir o } arquivo.n"); int main(void) { for(l=0;l<1000;l++) { FILE *arq; for(n=0;n<10;n++) { float d, f, m; fscanf(fp, "%d", &x); printf("%dt", x); arq = fopen(“momento.csv”,”w”); } if (arq == NULL) { } printf(“Erro ao criar o arquivo.n”); fclose(fp); exit(1); } time(&end); fprintf(arq,“%s, %sn”,”dist”,”momento”); dif = difftime(end, start); f=12.0; for (d=0.0; d <= 10.0; d = d + 0.5) { printf("nnProcessado o arquivo: %sn", m = momento(f, d); // calcula fName); fprintf(arq,“%f, %fn”,d,m); // grava printf("Local: %snn", fPath); } timeinfo = localtime(&start); fclose(arq); printf("Hora de inicio...: %s", printf(“Arquivo gravado com sucesso!n”); asctime(timeinfo)); return (0); timeinfo = localtime(&end); } printf("Hora de termino..: %sn", asctime(timeinfo)); printf("Tempo decorrido..: %f segundos nn", dif); system("PAUSE"); return EXIT_SUCCESS; } 1
  • 4. Use o BrOffice.org Calc para abrir o arquivo recém-criado momento.csv. Deixe a janela de importação como na figura abaixo e clique no botão OK. Salve a pasta de trabalho, e feche o BrOffice.org Calc. 5.1.2 GERANDO UM A RQUIVO PARA EXIBIÇÃO EM UM BROWSER Você já deve saber como criar um arquivo contendo marcas (tags) HTML para ser aberto em um browser (navegador). Se não souber, dê uma olhada em http://www.freewebs.com/aprenderhtml/. Agora verá uma adaptação do programa anterior para salvar os dados em uma tabela dentro de Ainda, o DevC++ usa um ponto no lugar de uma uma página HTML. As marcas <table> e </table> vírgula para separar a parte inteira da parte delimitam uma tabela. Dentro delas, isto é, entre decimal de um número, o que também deve ser elas, as marcas <tr> e </tr> (de table row) informado ao BrOffice.org Calc. Assim que os delimitam uma linha da tabela. Dentro de uma dados aparecerem na planilha, clique no menu linha, as marcas <td> e </td> delimitam uma Editar e escolha a opção Localizar e substituir…. célula (coluna). Você pode usar também as No campo Localizar digite . (ponto) e no campo marcas <th> e </th> para delimitar uma célula Substituir por digite , (vírgula). Use a figura de uma linha de cabeçalho da tabela com um abaixo como referência. formato diferente do corpo. O trecho abaixo mostra o código HTML para criar uma tabela com uma linha de cabeçalho e uma linha de dados, ambas com duas colunas. O parâmetro border dentro da marca <table> indica a largura desejada para a borda da tabela. <table border=”1”> <tr> <th>Dist</th> <th>Momento</th> </tr> <tr> <td>0.0</td><td>0.0</td> </tr> </table> O programa a seguir grava um arquivo de texto Clique no botão Substituir todos e depois no chamado momento.htm no disco. Digite-o no botão Fechar. DevC++ e salve-o na sua pasta Área de Trabalho (Desktop). No BrOffice.org Calc selecione os dados arrastando o mouse sobre eles, desde a célula A1 Execute o programa. Usando o atalho Meu até a célula B22. Clique no menu Inserir e Computador, localize o ícone do arquivo escolha Gráfico…. Deixe a janela Assistente de momento.htm que seu programa acabou de gráficos como na figura a seguir e clique no botão criar. Dê um duplo clique nele para abri-lo no Concluir. navegador Web padrão. 2
  • 5. Veja que os dados aparecem dentro de uma do parafuso é igual a 2 mm/volta e que a tabela. Clique com o botão direito do mouse em velocidade do motor é de 1800 rpm (lembre algum ponto da página e selecione a opção Exibir que 1800 rpm = 30 voltas por segundo), código fonte, para ver o código da página. Lembre escreva um programa em linguagem C que que esse conteúdo foi escrito pelo programa em calcule a posição (distância da origem) do linguagem C. Feche a janela de exibição do carro em 11 instantes de tempo iniciando código fonte e a janela do Navegador. com t = 0s e terminando em t = 60s e grave os pares de valores (instante de tempo, posição #include <cstdlib> do carro) em um arquivo de texto chamado #include <iostream> movimento.csv. Considere que o carro está na origem no instante t = 0s. Cada par de using namespace std; valores deve ser gravado em uma linha do arquivo e os valores devem ser separados por float momento(float f, float d) { um caractere de tabulação (ASCII 9 ou ‘t’). return (f * d); 2. Escreva outro programa que grave os valores } calculados em uma página HTML chamada movimento.htm. A página deve apresentar int main(void) { os dados dentro de uma tabela. Lembre que FILE *arq; 1800 rpm = 30 voltas por segundo. Usando o float d, f, m; BrOffice.org Calc, produza um gráfico do arq = fopen(“momento.htm”,”w”); movimento do carro no período de tempo if (arq == NULL) { considerado pelo seu programa. printf(“Erro ao criar o arquivo.n”); 3. Escreva um programa que gere um gráfico da exit(1); função x3, de forma que fique com um } aspecto parecido com a figura a fprintf(arq,”<html>nn<head>n”); seguir. O gráfico deve ser fprintf(arq,”<title>Momento</title>n”); gerado em um arquivo fprintf(arq,”</head>n<body>n”); denominado grafico.txt. No fprintf(arq,”<table border=1>n”); lugar da linha azul você deverá fprintf(arq,”<tr>n”); usar o símbolo *. A variável x fprintf(arq,”<th>Dist.</th><th>Momento</th>n”); deve variar de -8 a 8, em fprintf(arq,”</tr>n”); intervalos 2 décimos. X varia de /* fica calculando o momento e gravando */ cima para baixo no arquivo f = 12.0; gerado. Cada linha do arquivo for (d=0.0; d <= 10.0; d = d + 0.5) { gerado terá no máximo 80 colunas. Os eixos m = momento(f, d); /* calcula */ também deverão ser traçados. A dificuldade fprintf(arq,“<tr>n”); neste exercício está em ter de fazer tudo ao fprintf(arq,”<td>%f</td><td>%f</td>n”,d,m); mesmo tempo, ou seja, traçar a função, fprintf(arq,”</tr>n”); desenhar os eixos e escrever os valores junto } aos eixos nos lugares corretos só pode ser fprintf(arq,”</table>n</body>n</html>n”); realizado de forma contínua. Não há como fclose(arq); retornar e fazer cada parte em separado. Seu printf(“Arquivo gravado com sucesso!n”); código deve ser parametrizado, de tal forma system(“PAUSE”); que seja possível traçar o gráfico de qualquer return (0); função solicitada, por exemplo, x3 - x5. Se } precisar, digite a função, por exemplo, x^3 - x^5 na busca do Google para ter uma noção 6 EXERCÍCIOS de como o gráfico ficará. 1. Um carro des- liza sobre tri- 7 TERMINAMOS lhos movido Terminamos por aqui. Clique no menu Arquivo, por um para- depois clique na opção Sair. Corra para o fuso acoplado próximo tutorial. a um motor. Sabendo que o passo da rosca 3