Prof. Ernesto Lindstaedt - Oficina Temática: Algoritmos e Programação (C, C++)

2010/1


Bem vindo a página da oficina de Algoritmos e Programação - GT-SEG


AVISOS:  

e-mail:   unisinos.algprog@gmail.com

Monitoria: o atendimento a disciplina de Algoritmos e Programação em C/C++ ocorre  
em todas as segundas-feiras das 18:14 às 19:28 e nas terças-feiras das 18:14 às 22:15.


[Datas avaliação]   [Notas de aula]   [Exercícios]   [Bibliografia]   [Resultados das avaliações]   [Links]

 

 

Datas das avaliações                  

 

cronograma completo 2010/1

 

avaliação

DATA

Peso Observações
Exercício 1 22/mar 1.0  
Exercício 2 7/abr 2.0  
Prova GA 28/abr 7.0  
Exercício 3 31/mai 1.0

 

Trabalho TB 30/jun 2.0  
Prova GB 23/jun 7.0  
GC   (prova) 7/jul    

 

Obs.:

 

Links Úteis:

                                                                                                                    

Tabela  ASCII

 

Linguagem C  (wikipedia)

 

Bibliotecas da linguagem

stdio.h    stdlib.h     string.h

math.h

 

outro link com precedência de operadores


Precedência dos operadores

ordem de avaliação dos operadores

Notas de aula + material para download                        

Apresentação Inicial  da oficina de algoritmos e programação !!!

CONCEITOS BÁSICOS DA LINGUAGEM  C

Aula 1  -  estrutura de um programa; variáveis
Aula 2  -  printf, scanf, getchar, putchar ...
Aula 3  -  structs
Aula 4  -  if, switch, while, for,  break, continue

Material adicional (Profa. Viviane Todt Diverio)

        Laços + operadores bit-a-bit

        Strings

        Arrays (vetores e matrizes)  (Prof. Alexandre Casacurta)

        Funções

        Estruturas (structs)

        Parâmetros para a função main  +  Alocação dinâmica  +  Recursão

        Ponteiros

        Arquivos  (Profa. Viviane Todt Diverio)

 

 

 Exercícios                        

Fluxo de Controle

        introdutórios        Solução        lista extra 1

        com seleção (IF)        Solução        lista extra 2

        com repetição (FOR)        Solução       lista extra 3   

        exercício censo famílias    

Estruturas de Dados

        com vetores  (arrays unidimensionais)        Solução

        com matrizes   (arrays multidimensionais)        Solução

        Lista adicional  sobre Vetores

        Lista sobre Matrizes

        Exercício de matrizes e funções     

        Exercício sobre vetor de estruturas      

        Exercício sobre vetor de estruturas (2) : Gerência de cadastro de usuários e senhas      (em rtf)       

Alocação dinâmica   (conteúdo apresentado na oficina de Estruturas de Dados)

        exemplo lista encadeamento simples         

        exemplo lista duplamente encadeada       

        exercício Devedores & Dívidas               

Orientação a Objetos

        Introdução a Orientação a Objetos (.doc) 

        Introdução a C++ (.doc)

        Introdução a C++ (.ps)         

 

        Livro sobre C/C++ (.pdf  zipado)   (Prof. SergioB.V.B.)   

        Exemplos introdutórios sobre C++  (.zip)   

       

        Exemplo de criação de subclasse  

 

        Exemplo de Associação entre classes, herança e polimorfismo   

        Exemplo de uso do polimorfismo 

 

        Exemplos de solução teste bit-a-bit (2009/1): e1, e2 ,e3   

   

            Sugestões de solução PB 2008/1

            versão 1      alternativa 1      alternativa 2

            versão 2      alternativa

            versão 3      alternativa

            versão 4      alternativa

 

Exercícios de Orientação a Objetos
1.        Implementação do exercício de Cadastro de usuários : esqueleto do código

2.        Implementação da situação: ISP (servidor de email) + Empresas (clientes de email)

           esqueleto  comentado 

3.        Implementação DES:  descrição visual do algoritmo;  permutações E-P;  S-Boxes 5a8;
           descrição DES (tutorial)   DES wikipedia (portugüês)  DES wikipedia (inglês: + completo)
           descrição da geração das 16 sub-chaves    diagrama da geração de sub-chaves
           descrição oficial do algoritmo  (pdf)
               
Applet DES: DES Calculator     <<< para testar e depurar o funcionamento do DES

4.        Implementação de Geradores Pseudo-randômicos

                geradores pseudo-randômicos          

                exercício para elaboração de uma classe C++  de um gerador LCG       

5.        (avaliação 4)

           Implementação de um Simulador de Sistema de Arquivos baseado em  i-nodes  (Unix)

                introdução ao sistema de arquivos Unix

                o esqueleto do programa Simulador de Sistema de Arquivos Unix (Simulador do Filesystem Unix   - SIFU)

Miscelânea

Diretivas de compilação
    exemplo (macros)
    documentação gnu (pdf zipado)
gerando um executável a partir da compilação de múltiplos arquivos
    compilar com:   gcc  -o  tudo  base.c   func.c  soma.c   acumula.c

Exemplo com ponteiros para funções

Makefiles
    simples
    com macros
     Obs.:
     no primeiro exemplo:     make
     no segundo exemplo:    make   -f   Makefile1

Java

    tutorial Sun (zipado)

    tutoriais online:  javafree.org    Unicamp    javaman    wikipedia.org

    java exemplos (Prof. César M.Marcon)(zipado)

Glade-GTK 2.0

    Tutoriais em portugues

    Paper introdutório

    Exemplos:  ex1, ex2

    Links:  Glade GNOMEGTK+   Tutorial oficial GTK 2.0

    Download:  Linux/UnixWindows

UNIX

    Introdução ao Sistema Operacional

    Unix (comandos básicos)

    Tutorial Linux distribuído pela Alfamídia

 

 

 


Avaliação 1    solução      

Sugestão de solução Exerc.2  2008/2   

Exercício de Recuperação r3 (compactação e descompactação) - 2006/2

Bibliografia    (livros que constam do catálogo da biblioteca da Unisinos)


    sobre a linguagem C     sobre algoritmos

Resultados das Avaliações    

 

Enunciado PB 2008/2

Sugestão de solução PB 2008/2  (Felipe E.P)

Sugestão de solução TB 2009/1  

Sugestão de solução PB 20092    (Marcos Cassel)  NOVO

 

Links interessantes                       

Curso de C     ( U F M G )     

Dev-C++ 5 (currently beta)   (Dica de Paulo Neukamp)

Lista de compiladores Free:   (Dica de Paulo Neukamp)

GNU's Not Unix! - the GNU Project and the Free Software Foundation (FSF)