Perguntas Frequentes

pontagde.gif (961 bytes)Sobre a Inscrição e Desinscrição
pontagde.gif (961 bytes)Sobre o uso de Compiladores
pontagde.gif (961 bytes)Sobre a linguagem C
pontagde.gif (961 bytes) Sobre o conteúdo e duração
pontagde.gif (961 bytes)Sobre a organização do curso
pontagde.gif (961 bytes)Assuntos diversos

a) Sobre a Inscrição/Desinscrição

0- Como é que eu me inscrevo no curso de C? Quando vai ter outra turma?

1- Tentei me inscrever no curso Virtual de C e obtive a seguinte resposta:

From listproc@ead.eee.ufmg.br Mon Feb 16 08:03 EST 1998
Subject: SUBSCRIBE ESPERACURSOC Nome Sobrenome
Voce assinou a lista esperacursoc@ead.eee.ufmg.br ... etc
Seu endereco e' xxx@zzz.com.br. O que isto significa?

2- O que seriam estas requisições administrativas?

3- Será que você poderia trocar o meu e-mail inscrito na lista de xxx@zzz.com.br para yyy@www.com.br?

 4- HELP! Como me desinscrever deste curso?

5 - Eu pedi para trocar meu e-mail e fui desinscrito do curso? Estou participando ou não do curso?



b) Sobre o uso de compiladores no curso

0- É necessário um editor de texto específico para escrever as rotinas em C?

1- Como conseguir uma cópia do compilador C?

2- Como instalar o DJGPP?

3- Como instalar o TClite?

4- Tenho o compilador xxx da empresa yyy. Posso usá-lo no curso?

5- O compilador gcc para DOS (DJGPP) possui algum ambiente integrado de desenvolvimento?

6- O compilador C do LINUX 2.0.x é padrao ANSI?

7- Existe o tal "RHIDE" que eu usava com o djgpp(DOS) numa versao para Linux?

8- Gostaria de saber se existe muita diferenca entre o C padrao e TurboC.

9- Alguns esclarecimentos sobre "C padrao ANSI"

10- Os compiladores dos unixes tem o header conio.h?

11- Mais alguem estah tendo problemas para usar o Rhide? A opcao de menu RUN estah desbilitada ...

12- Tô com o Borland C++Builder, da pra compilar em C com ele?

13- Como usar o Visual C++ da Microsoft para compilar programas em C?

14- Como usar o Borland C++ 5.0 para compilar programas em C?

15- Dá pra usar o DJGPP e o Rhide no Windows NT 4.0?

16- Quais os argumentos que devem ser utilizados na hora de compilar com o gcc, por exemplo: gcc O .... ??

17- Como compilar programas usando o DevC++?

18- Como usar a biblioteca conio no DevC++?

19- Como debugar e executar programas passo a passo usando o DevC++?
 



c) Sobre a linguagem C

1- Tenho uma dúvida sobre a linguagem C. Onde achar a resposta?

 2- Quais as diferenças entre o C e o C++?



d) Sobre o conteúdo e duração do curso

1- Gostaria de saber se o curso de C tem duracao estabelecida, ou se extendera o quanto for necessario.

2- Gostaria de saber o quanto o curso entra no Windows 95/NT e nas WIN32. O que mais vamos estudar além do C padrao?

3- Preciso saber alguma linguagem basica de programação para acompanhar o curso?

 4- Qual a URL do conteúdo zipado do curso?

 5-Se eu nao conseguir terminar o curso em 7 semanas. Se precisar de mais tempo pra ler todas as aulas o que farei ?

6- Neste curso estudaremos alguma coisa sobre programação de portas seriais ou paralelas?

7- Neste curso estudaremos alguma coisa sobre programação gráfica?



e) Sobre a organização do curso

1- O curso de C em questão oferece certificado de conclusão e participação ao término do mesmo?

2- O curso vai ser dado na WWW ou via e-mail?

3- Quais as regras para uso da lista cursoc@ead.eee.ufmg.br?

4- Por que os e-mails tem que ser mandados para toda a lista e nao somente para os monitores?

5- Por que não acentuar o texto do seu e-mail?

6- Vale qualquer pergunta sobre a linguagem C na lista?

7- Onde estão as listas de Exercícios? Qual o endereço para enviar as respostas?

8- O que são estas mensagens sem texto que aparecem de vez em quando na lista?

9- Existe alguma maneira de eu conseguir todos os e-mails que foram enviados para a lista?

10- Posso mandar uma dúvida diretamente para o professor Renato?

11- Como configurar meu leitor de e-mails para filtrar as mensagens do curso de C, enviando-as para uma pasta específica?



f) Diversos

1- Gostaria de saber porque voces não colocam um curso de Matlab( versão nova).



Respostas:

a) Sobre a Inscrição

0- Como é que eu me inscrevo no curso de C? Quando vai ter outra turma?

Consulte nossa página de inscrições.


1 - Tentei me inscrever no curso Virtual de C e obtive a seguinte resposta:
 From listproc@ead.eee.ufmg.br Mon Feb 16 08:03 EST 1998
 Subject: SUBSCRIBE ESPERACURSOC Nome Sobrenome
 Voce assinou a lista esperacursoc@ead.eee.ufmg.br ... etc
Seu endereco e' xxx@zzz.com.br. O que isto significa?
 
Isto significa que você esta' inscrito na nossa lista de espera para o proximo curso. Aguarde o início do curso.


2 - O que seriam estas requisições administrativas? Para me inscrever no curso virtual de C preciso fazer mais alguma coisa além do que já fiz ?

Não, você não precisa fazer mais nada. O listproc é um programa de administracao de listas eletrônicas. O que ele quis dizer com estas "requisições administrativas" e' relativo aa administracao das proprias listas: por exemplo, para voce entrar numa lista, saber quem esta' inscrito numa lista, se desligar de uma lista, etc, deve enviar as suas requisicoes para listproc@ead.eee.ufmg.br e não para o endereco da lista.


3 - Será que você poderia trocar o meu e-mail inscrito na lista do curso de C de xxx@zzz.com.br para yyy@www.com.br?
 

Consulte a página de inscrições, desinscrições e mudanças de endereços.



4- HELP! Como desinscrever deste curso?

Veja na nossa página de inscrições e desinscrições.
 


5 - Eu pedi para trocar meu e-mail e fui desinscrito do curso? Estou participando ou não do curso?

Quando você pede para trocar de e-mail, o e-mail antigo é retirado do curso e o novo é incluido. Você recebe duas correspondências: uma com a exclusão do antigo endereço e outra com a inclusão do novo endereço no curso.



b) Sobre o uso de Compiladores no curso

0 - É necessário um editor de texto específico para escrever as rotinas em C?

Você pode usar qualquer editor que gere arquivo ASCII. Exemplos: Edit (DOS), Notepad (Windows) ou o vi (Unix). Alguns compiladores possuem um ambiente integrado para desenvolvimento de programas em C (IDE, do inglês Integrated Development Environment). Neste caso, voce pode usar este ambiente para criar seus programas. E' o caso dos compiladores da Microsoft, da Borland, do LCC-Win32, do DevC++ e o caso do Rhide para o compilador gcc.


1 - Como conseguir uma cópia do compilador ?

Para fazer o curso, você precisará de um compilador C, padrao ANSI, instalado em seu computador. No caso de máquinas Unix/Linux, este compilador normalmente já vem com o sistema operacional e se chama cc (C Compiler) ou gcc (GNU C Compiler). Estes compiladores geralmente seguem o padrão ANSI.

Máquinas rodando o DOS ou Windows, necessitam da instalação um compilador C.  Existem várias opções:

a) No ambiente Windows você tem duas boas opções de compiladores gratuitos.

Dentre estas duas opções, recomendamos o DevC++, que, além de compilar programas em C, também compila em C++ e poderá ser utilizado em seus estudos futuros dessa linguagem.
b) Para DOS, também existem vários compiladores gratuitos:
c) Existem  vários compiladores comerciais (pagos) disponíveis e os mais comuns são os da Borland (Borland C/C++ e Borland C++ Builder) e da Microsoft.

d) Se você não quiser usar estes compiladores, pode tentar o catálogo de compiladores grátis na Internet.


2- Como instalar o DJGPP?

O DJGPP não é tão simples de se instalar quanto o DevC++ . Portanto, seguem algumas dicas:

Pegue os seguintes arquivos no site do curso (caso nosso site esteja muito carregado, é melhor você tentar um site alternativo) :

1----djdev202.zip
2----gcc281b.zip
3----bnu281b.zip
4----rhide14b.zip
5----csdpmi4b.zip, caso você não vá rodar o DJGPP em uma janela DOS do Windows 95 ou 98, ou seja, caso você esteja trabalhando com o Windows 3.11, ou simplesmente com o DOS.

Se voce quiser compilar programas em C++ (e não apenas em C), deve também pegar o arquivo:

6----gpp281b.zip

Consulte o readme.1st para verificar o que são os outros arquivos e qual a utilidade deles. Se quiser maiores detalhes ainda, pegue o arquivo de FAQ do DJGPP, ou os arquivos do programa INFO e instale-os em seu computador também.

Depois de pegar os 4 (ou 5, se você também precisar do csdpmi4b.zip, ou 6, se for trabalhar com o C++) arquivos acima, descompacte-os mantendo a estrutura de diretórios presente nos arquivos *.zip (isto é, se estiver usando o pkunzip, use o comando pkunzip -d *.zip. Se estiver usando o Winzip, marque a caixa "Use Folder Names" na hora de descompactar) em uma pasta (por exemplo crie a pasta C:\DJGPP ). OBS: Não descompacte em uma pasta com nome com mais de 8 caracteres, pois o DJGPP não reconhece as pastas com nomes longos do Windows (ou mesmo pastas com espacos no nome, como Meus Documentos ou Arquivos de Programas). Vá no C:\ e edite o autoexec.bat. Nele escreva lá no final mesmo as seguintes linhas, exatamente como abaixo:

SET DJGPP=C:\DJGPP\DJGPP.ENV
SET PATH=C:\DJGPP\BIN;%PATH%

OBS:

FIM! Mais fácil que roubar o doce de uma criança, não?  Porém, se você achou tudo isto muito complicado, pode tentar o compilador DevC++, de instalação e uso bem mais simples.



3- Como instalar o TClite?
 

O TClite também precisa de algumas instruções de instalação, ao contrário do DevC++. Seguem ...

            SET PATH=C:\TCLITE\BIN;%PATH%

4- Tenho o compilador xxx da empresa yyy. Posso usá-lo no curso?
 
Voce pode usar qualquer compilador C padrão ANSI, conforme visto na resposta 1. Verifique na documentação do seu compilador se ele é  padrão ANSI.   Nao ensinaremos a trabalhar com este compilador ou com qualquer outro, especificamente. Voce deve sempre se referir à documentação do seu compilador para verificar como produzir o seu programa executável a partir dos seus fontes. Mostramos, apenas como exemplo, como compilar usando o DevC++, o ambiente RHIDE do DJGPP (o que também é válido para o TClite),  o Borland C++ 5.0, o Microsoft Visual C++ 5.0, e o Borland Builder.


5- O compilador gcc para DOS (DJGPP) possui algum ambiente integrado de desenvolvimento, onde eu consiga editar o programa, compilá-lo e debugá-lo?

Sim! Existe um programa chamado RHIDE que pode ser usado junto com o DJGPP como ambiente integrado de desenvolvimento (IDE = Integrated Development Environment). Você pode consegui-lo no mesmo site da Internet onde você conseguiu o DJGPP, arquivo rhide14b.zip. As instruções de uso do Rhide podem ser consultadas clicando aqui.


6- O compilador C do LINUX é padrão ANSI?

O compilador C do linux (chamado gcc) é ideal para o curso, já que ele segue o padrao ANSI. Com ele você não terá problema algum.


7- Existe algum ambiente de desenvolvimento semelhante ao RHIDE para Linux?

1- Se você usa o ambiente gráfico do Linux, procure executar o XWPE (X Window Programming Environment) - que é um ambiente de desenvolvimento, muito parecido com o do Turbo C do DOS. Para acionar o XWPE:

1 - Entre no ambiente grafico do linux (XFree86 ou outro);
2 - Acione o menu start na barra de tarefas;
3 - Acesse a opcao Xapplications;
4 - Acesse a opcao XWpe.
Para quem não tem o XWPE, pode buscá-lo no ftp da UNICAMP: http://ftp.unicamp.br/
1. Clique em  Global Search (pesquisa ao repositorio);
2. digite o nome "xwpe" + enter;
3. depois que obtiver a lista dos arquivos disponiveis, você tem que escolher a versão que corresponde ao teu Linux (slackware, debian, redhat..). É muito fácil de instalar (soh tem q compilar, mas eh soh ler os arquivos que acompanham o programa)
2- Também  existe o "RHIDE" para LINUX, mas diversos dos alunos do curso reportaram problemas utilizando-o. Voce pode encontrar maiores informacoes no endereco: http://www.tu-chemnitz.de/~sho/rho/rhide/rhide.html



8- Gostaria de saber se existe muita diferenca entre o C padrao e TurboC.
Existem diferencas entre o TurboC e o C padrao sim, mas o TurboC tem as funcoes do C padrão, e algo a mais.


9- Alguns esclarecimentos sobre "C padrao ANSI"
Um "padrao" e' um acordo documentado contendo especificacoes, tecnicas ou outro criterio preciso para ser usado consistentemente como regra, orientacao ou definicao de caracteristicas, para  assegurar que o produtos, processos ou servicos sejam adequados para seus propositos. Um padrao e' periodicamente revisto e atualizado, de forma a incorporar novas necessidades e evolucoes. No nosso caso, "C padrao ANSI" significa que um grupo de especialistas em C pertencentes a ANSI (American National Standards Institute) se reuniu, discutiu muito, elaborou um documento "rascunho", submeteu a apreciacao da comunidade interessada e por fim aprovou um documento final extremamente detalhado que e' o padrao, devendo ser RIGOROSAMENTE cumprido por todos que dizem "seguir o padrao". Seguir um padrao para software e' muito importante, pois ele garante a compatibilidade e a portabilidade do software entre diversos compiladores e plataformas. Dai' a importancia deste assunto. O padrao ANSI apenas especifica uma biblioteca padrao minima, o que nao impede que compiladores que seguem o padrao nao possam incluir recursos adicionais. A maioria dos compiladores fornece bibliotecas que contem muito mais funcoes que as definidas pelo ANSI, visando facilitar a vida do programador e ser um diferencial para o produto. Assim sendo, compiladores que seguem o padrao, como o Turbo C, o gcc, etc, possuem tambem outros recursos (que podem ser - e sao - diferentes entre si), mas o que esta' definido no padrao e' seguido a risca. Mais uma observacao: algumas funcoes encontradas na versao original do C para UNIX nao sao definidas pelo padrao ANSI por serem consideradas redundantes.


10- Eu gostaria de saber se os compiladores dos unixes tem o header conio.h (acho que eh esse que tem o getche())?

Como esta citado no texto, a biblioteca conio nao faz parte das bibliotecas do C ANSI. Na realidade esta biblioteca foi introduzida pela Borland em uma das versoes do Turbo C (3.0?). Logo, os compiladores UNIX nao deverao ter esta biblioteca.

O conio.h significa console I/O, que e' diferente do stdio.h, que significa standard I/O. Para compiladores baseados em DOS, as funcoes de E/S direto pela console geralmente usam o arquivo de cabecalho CONIO.H (de toda forma, verifique no manual do seu compilador, pois o nome pode variar de um compilador para outro).

Para quem usa C no linux... pegue esta lib:  http://sunsite.unc.edu/pub/Linux/libs/ui/linux-conio-1.02.tgz e' uma conio.h feita com ncurses, de modo que a maioria das funcoes da conio do dos estao emuladas aqui nesta versao!

A biblioteca "conio.h" eh device-dependent, geralmente com funcoes especificas para cada hardware. Nao convem utiliza-la em um programa que se pretende "portar" para outras plataformas de hardware/software.


11- Mais alguem estah tendo problemas para usar o Rhide? Consigo compilar, mas não executar os programas. A opcao de menu RUN estah desbilitada 8(

1- Veja se você seguiu rigorosamente as instruções de instalação do DJGPP.

2- Tive o mesmo problema, resolvendo-o da forma abaixo:
-fechar o projeto existente (Project | Close);
-abrir o arquivo novamente (File | Open);
-informar o diretório onde os arquivos estão sendo gravados (Options | Directories | Sources).


12- Tô com o Borland C++Builder 5.0, dá pra compilar em C com ele?

Sim, dá para compilar programas em C com o C++ Buider. Abra o programa e chame a opção File -> New ... -> Console Wizard.  Escolha as opções: C e Console Application na caixa de diálogos que vai ser aberta e clique em OK. Digite seu código na janela de textos. Para compilar e rodar seu programa, basta apertar a seta verde (Run) ou a tecla F9..


13- Como usar o Visual C++ da Microsoft para compilar programas em C?

Para compilar, criar executaveis e executar programas C padrão ANSI no mesmo, deve-se proceder da seguinte forma:

1-Abrir o MSVC
2-Clicar em File,
3-Clicar em New,
4-Assim que abrir a janela, escolher na lista de tipos de projetos, Win32 Console Aplication, nao esquecer de colocar o nome "nome" para o projeto e modificar o caminho (se for o caso) nos campos ao lado,
5-Clicar OK (so esta disponivel se tiver colocado o nome do projeto),
6-Aparecendo a janela de tres paginas chamada Workspace nome, escolher a pagina file (na parte de baixo),
7-Clicar com o botao direito do mouse em nome files e escolher Add Files to Project
8-Ao aparecer a janela Insert Files into Project, colocar o nome: nome_do_arquivo.c (nao esquecer da terminacao .c),
9-Na janela de tres paginas que devera permanecer aberta na pagina file, clicar no "mais" que esta antes de nome files e clicar duas veses em nome.c,
10-Escrever seu codigo no editor ao lado,
11-Para compilar, criar executável e executar a partir do MSVC ir em Build na barra de menu e escolher a acao desejada.
12-Se o aplicativo for executado a partir do MSVC aparecera a mensagem Press any key to continue talvez ate mais de uma vez. Isto nao eh erro e basta apertar uma tecla para continuar. Esta mensagem nao mais aparecera se voce executar o aplicativo de fora do MSVC, como por exemplo, no explorer, indo no diretorio onde esta o seu projeto e clicando duas vezes em nome.exe.


14- Como usar o Borland C++ 5.0 para compilar programas em C?

No Borland C++ 5.0, basta voce chamar a opcao File -> New -> Text Edit e então digitar o seu programa na janela que vai aparecer. Depois é so' chamar a opção Project -> Build all para compilar e linkar, gerando o executável. Chame então Debug -> Run, para rodar o seu executável.


15- Dá pra usar o DJGPP e o Rhide no Windows NT 4.0?

Sim. Você pode usar as mesmas instruções de instalação acima.  A única diferença é que o arquivo equivalente ao AUTOEXEC.BAT para o WINDOWS NT 4.0 é o AUTOEXEC.NT. O arquivo se encontra em C:\WINNT\SYSTEM32\ e deve ser editado  da mesma forma que o AUTOEXEC.BAT. As alterações no arquivo AUTOEXEC.NT como em vários outros do sistema só podem ser efetuadas por um administrador de rede. Se você não é o administrador da máquina, deve criar um arquivo de lote (*.BAT) contendo as linhas onde são setadas as variáveis de ambiente e  executá-lo antes de executar o RHIDE.


16- Quais os argumentos que devem ser utilizados na hora de compilar com o gcc, por exemplo: gcc O .... ??
 Execute o comando: man gcc, se você estiver em ambiente Unix. Se estiver em ambiente DOS, pode instalar o FAQ e o help "info" (se ja nao tiver feito), que sao os arquivos  faq211b.ziptxi312b.zip, respectivamente. Após instalado o txi390b.zip, digite info no prompt do DOS. Porém, se estiver apenas compilando um programa composto de um único arquivo, por exemplo, prog.c, execute  gcc prog.c -o prog.exe .


17- Como compilar programas usando o DevC++?
 Uma vez instalado o programa, você pode criar um novo programa através da opção: File -> New Source File. Na janela que aparece, você digita o seu programa. Veja que o DevC++ oferece para você um programa inicial que você pode apagar, se quiser. Uma vez digitado o seu programa, você pode compila-lo e executá-lo através da opção: Execute -> Compile and Run, ou digitando diretamente Cntrl+F10, ou buscando a opção "Compile and Run" na barra de ferramentas. Note que se você fizer isto para um programa que não espera nenhuma entrada do usuário, o programa será executado, terminará sua execução,  e a janela onde ele está executando será automaticamente fechada ao seu final. Com isto, você não conseguirá ver a saída do programa. Para evitar que isto aconteça, você pode modificar seus programas incluindo as linhas:

#include <stdlib.h>                  no início do programa
e
system("pause");                   antes do return (0);

como feito no primeiro programa, abaixo:

#include <stdlib.h>
#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
system("pause");
return(0);
}




18- Como usar a biblioteca conio no DevC++?

Para usar as funções da biblioteca conio no DevC++ voce vai ter que "montar um projeto", seguindo os seguintes passos:

1 - File -> New Project -> Console Application -> C Project (ou C++ Project, se voce preferir) -> OK;
2 - Entre com um nome para o projeto. Exemplo: prconio -> OK -> Escolha a pasta onde o projeto sera' gravado;
3 - Um arquivo inicial com um programa basico sera' criado. Voce pode digitar seu programa que utiliza a conio nesta janela;
4 - Grave seu programa, com um nome diferente do nome do projeto (o Dev nao aceita o mesmo nome);
5 - Antes de mandar compilar e executar, voce vai ter que modificar as opcoes de seu projeto, para poder utilizar a Conio. Vá em Project -> Project Options (ou clique no icone "Project Options" da barra de ferramentas). Na caixa "Further object files or linker options" escreva: C:\Dev-C++\Lib\conio.o , onde C:\Dev-C++\ deve ser substituido pela pasta onde voce instalou o Dev-C++. Clique
em OK.
6 - Pode compilar e executar, agora, que vai funcionar.

Para testar, use o programa abaixo. Deve compilar e executar sem problemas no Dev, se as instrucoes acima forem seguidas:

#include <stdio.h>
#include <conio.h>

int main()
{
    clrscr();
    gotoxy(10,10);
    printf("Oi, estou vivo");
    gotoxy(40,5);
    printf("Continuo vivo, em outra posicao");
    getch();
    return 0;
}



19-  Como debugar e executar programas passo a passo usando o DevC++?

Você pode usar o programa gdb (GNU Debugger) que vem com o Dev. Porém, este programa não é de uso muito simples. Se você quiser uma interface mais intuitiva, pode buscar o Cygnus Insight Debugger. Ele tambem é gratuito e pode ser baixado a partir da pagina http://www.bloodshed.net/dev/ . Uma vez instalado o Debugger, voce vai poder executar seu programa passo a passo, fazendo o seguinte:

Aperte a tecla F8:
vai aparecer a janela do debug.
Clique em Run (boneco azul)
Na janela "Load new executable" que aparece, escolha o diretorio e o nome do seu programa .exe .
Depois disto, e' so' ir apertando o botao Step (que esta do lado do boneco azul).

Voce pode alternar entre a tela de saida (DOS) e a tela do debug com o ALT ->TAB do Windows.



c) Sobre a linguagem C

1- Tenho uma dúvida sobre a linguagem C. Onde achar a resposta?

Tente achar a resposta nas páginas do curso. Caso a resposta não esteja lá, tente a nossa bibliografia. Caso sua dúvida seja mais complexa, talvez seja o caso de tentar o FAQ sobre linguagem C. Se ainda não resolveu, mande a dúvida para a lista do curso. Lembre-se, apenas, que a lista do curso funciona somente durante os cursos, e você tem que estar inscrito no curso para poder participar.


2- Quais as diferenças entre o C e o C++?

O C++ é um aperfeiçoamento da linguagem C. O C++, além dos melhoramentos incluidos na sintaxe da linguagem C, inclui suporte para a Programação Orientada a Objetos (POO). Você pode se referir ao FAQ da linguagem C++   para maiores informações. Um bom livro sobre C++ é o Thinking in C++, que está disponível para download na Internet.


d) Sobre o conteúdo e duração do curso

1- Gostaria de saber se o curso de C tem duracao estabelecida, ou se extendera o quanto for necessario.

A duração estabelecida para o curso e' de 8 semanas, conforme pode ser verificado no nosso cronograma.


2- Gostaria de saber o quanto o curso entra no Windows 95/NT e nas WIN32, que e o meu objetivo a medio prazo . O que mais vamos estudar além do C padrao?

Nao entra em nada relativo a programacao do Windows. O C e' uma linguagem que pode ser usada para efetuar programacao em varios ambientes, incluindo o Windows. Porem nao e' nosso objetivo neste curso estudar a programacao para o Windows. Uma excelente referencia sobre o uso da linguagem C para a programacao Windows 95 e' o livro do Charles Petzold: "Programming Windows " , da Microsoft Press, com 1100 paginas de informação de excelente qualidade. O pré-requisito para entender este livro é conhecer bem a programação utilizando a linguagem C e isto você poderá obter no nosso curso!

Não vamos estudar nada além do C padrão! Nao vamos estudar CGI's, programacao de portas seriais, de portas paralelas, programacao Windows 95, C++, Java, programação gráfica, o movimento das galaxias, ou qualquer coisa alem do C. Qualquer duvida sobre o que vai ser visto, consultem o programa do curso.


3- Preciso saber alguma linguagem basica de programação para acompanhar o curso?

Nao precisa, porém seu aprendizado será facilitado se voce ja' souber programar.


4- Qual a URL com o conteúdo zipado do curso?

Veja a noss página de download.


5-Se eu nao conseguir terminar o curso em 8 semanas. Se precisar de mais tempo pra ler todas as aulas o que farei ?

Voce podera' continuar lendo as paginas do curso, que continuarao disponiveis, mesmo depois dele ter terminado. Apenas a lista devera' ser desativada algumas semanas depois de terminado o curso.


6- Neste curso vamos estudar alguma coisa sobre programação de portas seriais ou paralelas?

Não, isto não faz parte do ANSI C. Porém, você pode encontrar alguma coisa nos sites abaixo:

http://www.lvr.com/parport.htm
http://www.lvr.com/spc.htm
http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html
http://casa.dos.programadores.com.br/c_art0009.html
http://www.beyondlogic.org/
http://www.cubic.org/source/archive/hardware/parallel/usingparallel.htm
http://www.li.facens.br/~f98335/
http://sites.uol.com.br/rogercom/index.htm
http://margo.student.utwente.nl/stefan/hwb/menu_Connector.html
http://home.rmi.net/~hisys/parport.html
http://www.linuxave.net/~artheos/
http://casa.dos.programadores.com.br/builder_art0002.html

O The Hardware Book tambem é muito bom:

http://www.fortunecity.com/skyscraper/photoshop/129/hwb/menu_Download.html


7- Neste curso vamos estudar alguma coisa sobre programação gráfica?

Não. Isto não faz parte do ANSI C.



e) Sobre a organização do curso

1- O curso de C em questão oferece certificado de conclusão e participação ao término do mesmo?

Não são fornecidos certificados de participação no curso pois não desenvolvemos ainda nenhum esquema de avaliação confiável (apenas auto-avaliação). Nosso objetivo é estimular o auto-aprendizado e não que as pessoas fiquem atrás de um papel que burocraticamente certifique alguma coisa.


2- O curso vai ser dado na WWW ou via e-mail?

Ambos. O curso vai ser dado usando ambas ferramentas. Vocês lerão "o livro" do curso nas páginas da WWW e interagirão com o professor, monitores e demais colegas usando o e-mail. As listas de exercício serão enviadas para vocês também por e-mail. Vocês poderão fazer perguntas, usando a lista do curso. As respostas para suas perguntas serão também enviadas para esta lista.


3- Quais as regras para uso da lista do curso de C?
 
1- Só envie mensagens que tenham algo a ver com o curso de C(lembre-se que tem mais de  5000 pessoas te ouvindo). Cuidado com respostas que deveriam ir para o sujeito que postou a mensagem e que acabam sendo enviadas para toda a lista!
2- Seja educado: use a Netiqueta. Se voce nao conhece a Netiqueta, de uma olhada em http://www.ifi.unicamp.br/ccjdr/netiqueta/dis.html
3- No inicio do curso, restringimos as mensagens que avançam na matéria, para nao "assustar" os iniciantes em C. Deixe estas perguntas para o final do curso. Mais para o final do curso, valem perguntas que nao estejam estritamente dentro do topico em discussao.
4- A lista somente funciona durante o curso. Ela é desativada após o seu final e as mensagens deixarão de ser enviadas aos alunos.
5- Não espere que os monitores ou os outros alunos do curso resolvam os exercícios da matéria de programação de computadores que você está fazendo em sua universidade. Alguém pode até te ajudar, desde que o problema esteja dentro dos tópicos estudados no momento no curso. Porém, lembre-se que a finalidade da lista não é esta!
6- Não envie arquivos "attachados" nos seus e-mails para a lista. O envio de "attachments" cria problemas pelo fato das mensagens ficarem enormes, sobrecarregando o nosso servidor de e-mails.
7 - Não envie mensagens diretamente para o professor, apenas para a lista. Mensagens para o professor não serão respondidas..
8 - Não envie perguntas cujas respostas estejam no FAQ. Se sua pergunta estiver no FAQ e a resposta do FAQ não te satisfizer, explique isto em sua mensagem. Caso contrário, ela não será enviada à lista.


4- Por que os e-mails tem que ser mandados para toda a lista e nao somente para os monitores?

Nosso objetivo nao e' que as perguntas sejam direcionadas apenas aos monitores. Segundo nossa concepcao, o aluno aprende muito com as duvidas dos outros. Alem disto, se tivessemos que responder individualmente a cada aluno, a equipe de monitores teria que crescer muito.


5- Por que não acentuar o texto do e-mail?

Por favor nao acentuem seus e-mails pq com certeza muita gente estah lendo seus e-mails com o pine ou qualquer outro leitor unix e eles não têm suporte a acentos.. fica tudo confuso...  uma droga mesmo...


6- Vale qualquer pergunta sobre a linguagem C na lista?

No inicio do curso, restringimos as mensagens que avançam na matéria, para nao "assustar" os iniciantes em C. Deixe estas perguntas para o final do curso. Além disto, lembre-se que a finalidade da lista não é resolver os problemas que você está tendo na matéria de programação de computadores de sua universidade... Mais para o final do curso, valem perguntas que nao estejam estritamente dentro do topico em discussao.


7- Onde estão as listas de Exercícios? Qual o endereço para enviar as respostas?
 
As listas de exercícios são enviadas semanalmente para a lista do Curso. Você não precisa enviar as respostas para nenhum lugar. Resolva as questões e aguarde porque na próxima semana será enviado um gabarito com as soluções. Se você perdeu alguma lista, clique aqui para acessar os arquivos das listas de exercícios:


8- O que são estas mensagens sem texto que aparecem de vez em quando na lista?

Na realidade estas são mensagens que foram enviadas por alguem usando o programa Outlook Express da Microsoft. O Listproc não está reconhecendo o formato MIME gerado pelo programa que acompanha o Internet Explorer.  Para evitar este erro, peco as pessoas que estao usando o Outlook Express que façam uma pequena modificação em sua configuração. Na versão em Portugues do programa, escolher: Menu Ferramentas -> Opcoes -> Enviar ->  Formato de envio de Mensagens -> Escolha a opcao Texto sem formatacao, ao invés da opção anterior que era HTML.


9- Existe alguma maneira de eu conseguir todos os e-mails que foram enviados para a lista de discussões?

Sim, basta acessar os arquivos das listas de discussão. Os arquivos são atualizados diariamente.



10- Posso mandar uma dúvida diretamente para o Professor Renato?

Não. Suas dúvidas devem ser enviadas para a lista do curso. Mensagens enviadas diretamente para o endereço do professor não serão respondidas, pois o professor não tem tempo para atender os mais de 2000 alunos individualmente.

11- Como configurar meu leitor de e-mails para filtrar as mensagens do curso de C, enviando-as para uma pasta específica?

1 - Para configurar o Outlook: 
 (Primeira forma):
 Clique em uma mensagem do curso de C
 Vá em Mensagem - Criar regra a partir de mensagem
 Quando a linha Assunto contiver palavras especificas -> CURSOC
 Move-la para a pasta especificada -> CursoC

 (Segunda forma):
1. crie uma pasta em sua caixa de entrada
2. vá em ferramentas/regras para menssagens/correio/click em nova
3 em 1 "sel. as cond p/ regra" escolha: qdo a linha assunto contiver ....
4 depois em 2 coloque mover p/ pasta esp.
5 em 3 click em "contiver pal. especificas" r digite CURSOC e click em
adicionar
6 depois em 3 click em "especificada"
7 selecione a pasta que vc criou e click em ok!!!!!!!!1
8 pronto!!!!!!!

2 - Para configurar o Netscape Messenger:

Edit -> Message
Filters... -> New...
Configure o filtro, colocando um nome e uma descricao para o mesmo.
Selecione Subject
Selecione Contains
Adicione a palavra "CURSOC" ao lado do "contains"
Selecione Move To Folder e selecione o folder a ser direcionada a mensagem.

3 - Para configurar o Eudora:

Adicionar nova pasta no Eudora:
1) clique com o botao direito sobre o EUDORA, selecione New;
2) digite Curso_C e OK;

Adicionar Filtro:
1) clique no menu Tools, e escolha o apcao Filters;
2) abrira´ uma caixa de dialogo;
3) nela clique no botao NEW;
4) em HEADER selecione o campo do e-mail que devera´ ser observado pelo
Eudora no momento que forem recebidas novas mensagens, no nosso caso
coloque "From:"
5) abaixo coloque "contains" e ao lado digite "CURSOC" (sem as aspas)
para que o Eudora verifique no campo "Form:" do e-mail recebido o
conteudo "CURSOC" ;
6) se quiser que o filtro verifique outros campos continue a preecher
semelhantemente aos passos  4 e 5.

4 - Para configurar o Pine, com procmail ou fetchmail.

(enviada pelo Paulo  hypolito@uol.com.br )
[hypolito@neptune hypolito]$ more .procmailrc

# Please check if all the paths in PATH are reachable,
# remove the ones that are not.
SHELL=/bin/sh

PATH=$HOME/bin:/usr/bin:/usr/ucb:/bin:/usr/local/bin
MAILDIR=$HOME/mail
DEFAULT=/var/spool/mail/$LOGNAME
LOGFILE=$HOME/.procmail/.procmail.log   #recommended
LOCKFILE=$HOME/.procmail/.lockmail

:0
* ^Reply-To:.*cursoc@ead.eee.ufmg.br
chegada/cursoc

:0
* ^Reply-To:.*cursoc@ead1.eee.ufmg.br
chegada/cursoc

em .pinerc

[..]
# List of directories where saved-message folders may be. First one is
# the default for Saves. Example: Main {host1}mail/[], Desktop mail\[]
# Syntax: optnl-label {optnl-imap-hostname}optnl-directory-path[]
folder-collections=UOL mail/uol/[],
        Chegada mail/chegada/[],
        Sent-Mail mail/uol/sent-mail/[],
        Listas mail/uol/listas/[],
        Netscape nsmail/[]
[..]

Se voce usa o fetchmail para puxar as mensagens do seu provedor:

em .fethmailrc

server pop3.sti.com.br \
protocol pop3 \
username hypolito \
password cUrIOsO \
no rewrite \
mda "procmail -d hypolito"



f) Diversos

1- Gostaria de saber porque voces não colocam um curso de Matlab( versão nova).
Porque nosso tempo e' finito! :-)  Nao da' para colocar cursos de tudo quanto e' assunto ...


Curso de C da Engenharia Elétrica da UFMG - 1996-2002