Disciplina: Introdução à Programação - 2009.1
(Últimas atualizações: Rendimento Final)
1. Aulas
1.1. Aula 01 1.2. Aula 02 1.3. Aula 03 1.4. Aula 04 1.5. Aula 05
1.6. Aula 06 1.7. Aula 07 1.8. Aula 08 1.9. Aula 09 1.10. Aula 10
1.11. Aula 11 (Códigos fonte sobre estrutura: Turma A e Turma B)
1.12. Aula 12 1.13. Aula 13 (Coringa: sobre Arquivos)
2. Lista de Exercícios
2.1. Lista 01 2.2. Lista 02 2.3. Lista 03 2.4. Lista 04 2.5. Lista 05
2.6. Lista 06 2.7. Lista 07 2.8. Lista 08 2.9. Lista 09 2.10. Lista 10
2.10. Lista 11
3. Projetos (Considerações)
3.1. Sabrina e Loren 3.2. Mírian e Saulo 3.3. Ítalo e Ricardo 3.4. Juan e Felipe 3.5. Gabriel e Walber 3.6. Amilcar e Tayane 3.7. Pâmela e Marília 3.8. Luana e Marcus 3.9. Tainá e Heliele 3.10. George e Lucas 3.11. Rafael e Júnior 3.12. Val 3.13. Lucas 3.14. Mateus 3.15. Wans
4. Cronograma da disciplina
5. Material Complementar
5.1. Psicotestes.
5.2. Livro texto, de Algoritmos. Apostila sobre Lógica de Programação.
5.3. VisualG: Editor e Intrepretador de Algoritmos. Apostila sobre o VisualG.
5.4. Dicas e Funções matemáticas do VisualG.
5.5. Dev-C++: Ambiente de Desenvolvimento Integrado (IDE - Integrated Development Environment) para programação de executáveis Win32, console ou GUI na linguagem C/C++.
5.6. Eclipse: IDE para desenvolvedores C/C++.
5.7. gcc: compilador gcc para windows
6. Grupo de Auto Ajuda em Programaçã0
6.1. Lista 01
7. Rendimento
7.1. I Unidade 7.2. II Unidade 7.3. III Unidade 7.4. Final
Bons estudos!!!
Assinar:
Postar comentários (Atom)
44 comentários:
Valeu Leo!
Obrigado realmente precisamos de muitos bons estudos!
Muito bom o material.
Bj!:)
Luana e demais alunos,
Em breve mais uma aula estará dispnível e mais alguns links.
E viva o novo módulo de Eng. Elétrica!!!!
Leo, a página da aula 4 não está abrindo!!!!!
o leuuuuuuuuuuuuuuuu
esse progama é coisa de louco moss
Marilia,
O link da aula estava incorreto. Pode baixá-la agora mesmo e muuuita atenção no slide Nº 15 da Aula 03, ele será útil para a resolução da lista 02. Bons estudos.
Coisa de louco vai ser para quem deixar acumular assunto. Por isso, vamos que vamos!!!!
já baixei e tbm já respondi a lista quase toda!!!!!!
Marilia desponta para aparecer na TV Sudoeste.... mais alguém??? rs É isso aí Marilia.
o galera pra quem quer mais informações do prog.visualG
eu achei este link com mais informações eu achei proveitoso...
http://www.apoioinformatica.inf.br/visualg/telaprin.htm
igor disse...
oi leonardo, to com um probleminha cara, como eu do comando duas vezes na mesma linha? tipo pra aparecer isso na tela : [oi, (variavel que eu digitar), muito prazer em conhece-lo]. e outra coisinha, achei um tutorial sobre o visualg que talvez ajude o pessoal da sala. Vlw
http://www.4shared.com/file/91831266/4730dbef/198bvs0djawzibezu8qj.html
- - - - - - - - - - - - - - - - - - - -
Pessoal,
Cuidado para não inserir seus comentários na postagem errada.
Respondendo ao Igor e demais com a mesma dúvida... como fazemos para imprimir na tela o resultado de uma operação? Idem para os caracteres. Bons estudos.
Leo me ajude no exercicio da aula3/ slide 10.
Nao estou conseguindo fazer essa parte:
*Muito prazer Leonardo,meu nome é...*
* LóGICA DE PROGRAMAÇÃO *
Como faço p o nome de Leonardo aparecer ai?
Tenho q mandar o usuario digitar de novo o nome?
Plis preciso de sua ajuda!
Obrigado!
Luana e demais alunos com a mesma dúvida: imprimir o nome (ou qualquer dado) contido numa variável.
Vejam só, a função de variável é armazenar informação na memória num determinado tipo (inteiro, real, caracter ou lógico). Para buscar essa informação armazenada na memória basta chamá-la pelo nome.
Dessa forma, quando queremos imprimir na tela um dado contido dentro de uma variável chamamos a variável dentro de um comando escreva, PORÉM, FORA das aspas duplas.
Dica: vejam como foram impressos na tela os dados coletados no slide Nº 08 da Aula 03 e apliquem da mesma forma.
Leo Muito obrigado!
valeu mesmo ficou lindo o meu programinha!
Estou brincando muito aqui com o programinha!
rsrsrsrsrs
Pessoal,
Apaguei alguns comentários acidentalmente, portanto, reenviem suas dúvidas para eu postar e responder.
Algumas que eu lembro são:
1) Dúvida com o comando repita: não usaremos esse comando nessa primeira unidade, porrém os comando enquanto e para são equivalentes.
2) Dúvida com o comando fimse: na sintaxe do visualg ele é obrigatório ao final de cada se
3) Link de uma Apostila enviado por Igor: já existe um link da mesma apostila entre os comentários
4) Link com as fotos da turma A enviado por Lucas: por favor, mande novamente.
Leo, to com uma duvida. Eu estou querendo testar duas condições, porém elas podem ser feitas simultaneamente como uso do conectivo "ou". Para o programa ficar melhor, è preferivel que eu faça uma condição de cada vez ou testo as duas dentro de um mesmo "se"?
Ficaria mais ou menos assim:
se (condicao 1) ou (condicao 2)
ou seria melhor assim:
se (condicao1) entao
fimse
se (condicao2) entao
fimse
Juan,
Quanto menor seu programa, mais elegante e mais fácil de mantê-lo. Portanto, privilegie condições (enquanto e para) ou seleções (se e senao) que comporte o maior número de comparações. Até breve.
Leo,presciso de ajuda para fazer o segundo exercício da lista 5.eu sei como fazer com que o programa leia a nota de todos os alunos mas nâo sei como irei somar essas notas para depois tirar a média.
Pessoal,
Sobre a dúvida de como somar notas, devemos pensar da mesma forma como fizemos para somar os números de 1 a 10 em sala de aula. Para facilitar, tire a média aritmética da soma dos 10 primeiros números naturais, em seguida a média de 10 notas digitadas por um usuário. Dessa forma, você perceberá que é a MESMA lógica.
Sobre as respostas das listas ou de um exercício em específico, volto a dizer que eu NÃO coloco nem forneço as respostas. O que faço é orientá-lo a encontrar uma resposta. Os "desesperados" que pedirem respostas aos colegas, CUIDADO!!!! Lógica não se decora. Bons estudos.
Sobre exercícios que vocês tenham feito mas após compilar o resultado esperado não é o apresentado, façam um trace, ou seja, obtenham uma matriz (primeira linha composta pela variáveis do programa) e vá atualizando passo-a-passo até o fim do programa e vejam onde está dando o erro lógico.
int main ()
{
char tipo, a, b;
float c;
printf (" *****************************");
printf ("\n *Conversor de graus Celcius *");
printf ("\n *****************************\n\n\n");
printf ("Digite a tempera em Celcius: ");
scanf ("%f",&c);
printf ("Escolhaa conversao a ser feita\n");
printf ("\n(a)Farenheit\n");
printf ("\n(b)Kelvin\n ");
scanf ("%c", &tipo);
if (tipo==a)
{
printf ("\n A temperatura %.2f graus Celcius corresponde a %.2f gruas Farenheit\n\n\n\n",c , (c/5)*9+32);
}
if (tipo==b)
{
printf ("\n A temperatura %.2f graus Celcius corresponde a %.2f Kelvins\n\n\n\n",c , c+273);
}
system ("pause");
}
nao estou entendendo pq quando compilo nao esta pedindo pra eu dgitar a escolha, ele simplesmente pula para a parte do system ("pause");
Rafael e demais alunos,
A leitura de caracteres e strings em C é um problema (a depender do compilador). Como vimos no laboratório (Compilador g++, Linux) não encontraremos problemas porque o próprio compilador impede a utilização de certos comandos (gets, por exemplo). No Dev-C++ teremos que "limpar" o buffer do teclado antes da leitura do caracter ou da string senão o (Enter) será encarado como o caracter esperado. Dessa forma, utilizem o comando fflush(stdin); antes desse tipo de leitura. Observem o slide 15 da aula 08. Bons estudos.
leo conseguir fazer o programa entrar na funçao if usando letra mas ai acontece um erro eskisito
por exemplo:
scanf ("%c", &tipo);
if (tipo=='a')
{
printf ("\nDigite a temperatura em gruas celscius: ");
scanf ("%f",gc);
}
printf("\n a temperatura foi %f",gc);
system ("pause");
}
ai quando eu digito um numero o programa aparece uma mensagem de erro dizendo q o programa precisa ser fechado, ja quando eu digito uma letra ele executa normalmente mas aparecendo o valor 0.0000
ja usei o fflush(stdin); em diversos lugares e nao adianto
Rafael e demais,
Ao enviarem um código-fonte para mim, envio completamente para eu precisar melhor o tipo de erro. No caso do código acima enviado por Rafael, eu desconfio (justamente pelo código está incompleto), que seja p & (E Comercial) que ele esquecer de digitar no segundo scanf. AH!!!! Envie, sempre que poder, um e-mail pessoal para que eu possa responder as dúvidas. Um abraço.
Leo, eu gostaria que você colocasse no seu blog um c++ versão para Ubuntu.
Ok Pâmela,
Boa iniciativa. Veja só, no Ubuntu tenho usado o editor KDevelop e o compilador g++ Dá para baixar esse pacotes pelo gerenciador de pacotes Synaptic.
http://www.cs.bham.ac.uk/research/projects/poplog/ubuntu/djb/howto_poplog_1_1_synaptic.jpg
Abraço e bom feriado.
Leo...como faz pra elevar um numero a outro na linguagem c?
Jorge,
Funções matemáticas em C fazem parte de uma biblioteca chamada math.h
Dê um olhada no slide 24 do material a seguir:
http://www.inf.ufrgs.br/~deise/unipampa/IntroducaoProgramacaoC.pdf
Bons estudos
oi leo, desejo que esteja bem.acabei que conhecer o blog e estou encantada com as dicas e exercicios.estou no 1º periodo de sistemas de informacao,cheia de duvidas e com uma enorme fome de aprender.mesmo nao sendo da mesma faculdade que o grupo, quero acompanhar o blog e divulga-lo para os demais cologas do meu curso.parabens e sucesso!!
Renata,
Faço meu trabalho com dedicação e satisfação, sobretudo, quando sei que estou contribuindo para o aprendizado e crescimento de uma pessoa.
Muito obrigado pelo elogio, porém, ficarei muito mais satisfeito ao vê-la aprovada em programação rs Bons estudos.
Olá sou aluno da UFU, faço Sistemas de Informação e achei muito interessante esse metodo que vc utiliza para ensinar.
parabéns!
Pessoal da UFU,
Muito bom receber a visita de vocês no meu blog. Obrigado por reconhecerem meu método de ensino, porém, confesso que ainda não encontrei a "fórmula" para diminuir a evasão e reprovação das turmas de Programação nos semestres iniciais. Um dia chegarei lá. Um abraço e bons estudos.
Leo, tô te mandandonovamente que no outro esqueci de bolquear....mas agora não to conseguindo de jeito nenhum...kakkk!!
int main()
{
int quant=0, idade, cont=0, pes, pessoa=10;
char alt, peso, altura=0;
for(pes=0;pessoa!=0;pes++, pessoa--)
{
do
printf("Este prog...\n\n");
printf("Informe a idade da pessoa %d: \n", pes+1);
scanf("%d",&idade);
printf("Informe a altura da pessoa %d: \n", pes+1);
scanf("%d",&alt);
printf("Informe o peso da pessoa %d: \n", pes+1);
fflush(stdin);
scanf("%d",&peso);
while((alt<=0)&&(idade<0)&&(peso<=0))
if(idade>50)
cont++;
if((idade>=10)&&(idade<=20))
{
quant++;
altura+=alt;
}
}
printf("Dentre as 10 pessoas, %d tem idade superior a 50 anos\n", cont);
printf("A media das alturas das pessoas com idade entre 10 e 20 annos eh:\n %.2f",altura/quant);
system ("pause");
return 0;
}
consertei a leitura de peso e altura para %f, mas a continua dando errado!!
Leu.
sobre as aero naves, o progama ja tem q ter na memoria elas ja cadastradas ou tem q ter um campo para cadastra las?
Ralph
Pessoal,
Pâmela enviou uma dúvida que consiste em divisão de números inteiros, supondo:
- - - - - - - - - - - - - - - - - - - -
int altura, quantidade;
printf("A média de alturas é: %d", altura/quantidade");
- - - - - - - - - - - - - - - - - - - -
Na linguagem C existe o conceito de "sobrecarga de operadores e de funções" (conforme expliquei em sala de aula). Dessa forma, o operador de divisão receberá dois inteiros e retornará o resultado em INTEIRO.
Caso você declare as variáveis do tipo "ponto flutuante"(float ou double) então o operador de divisão retornará o resultado em ponto flutuante.
Bons estudos.
Pâmela,
Não basta apenas ler com %f, uma das variáves deve ser declaradas do tipo ponto flutuante. Até breve.
Lucas Ralph e demais,
É esperado que o programa do projeto seja capaz de cadastrar novos cliente, filmes, livros, carros, etc, etc (dependendo da especificidade de cada projeto).
Para vocês não precisarem cadastrar novos dados todo momento que forem rodar o programa segue um código simples onde eu demonstro a inicialização de estruturas, vejam:
- - - - - - - - - - - - - - - - - -
struct pessoa
{
char nome[30];
char cpf[15];
};
int main()
{
struct pessoa p[10] = {{"Leonardo B Campos", "111.222.333-44"}, {"Maria José", "222.333.444-55"}};
return 0;
}
- - - - - - - - - - - - - - - - - -
Nesse caso eu inicializo as duas primeiras posições da minha estrutura pessoa.
Esse processo será muuuito útil para vocês testarem suas buscas (não precisarão cadastrar dados e mais dados apenas para testar as funções de busca).
Bons estudos.
Pessoal,
Vejam a dúvida do nosso colega Ricardo:
- - - - - - - - - - - - - -
O leo, é ricardo do 1 semetre, vem cá vc sabe como eu posso transformar datas para segundos, ou algumas função que faça isso leo? se vc souber ou tiver algum material mande para meu e-mail por favor leo, o projeto tá muito doido!!!! abração e fique com Deus!!!
- - - - - - - - - - - - - -
Resolvi publicar esse comentário para auxiliar àqueles que necessitam de funções para manipular o tempo.
Essas funções estão na biblioteca time.h
Vejam um código simples que retorna os segundos decorridos desde 00:00 de 1º de janeiro de 1970:
- - - - - - - - - - - - - -
#include< stdio.h> //retire o espaço após o sinal de menor para compilar
#include< time.h>
int main()
{
time_t Segundos;
printf("%d", time(NULL));
return 0;
}
- - - - - - - - - - - - - -
Pesquisei alguns materiais interessantes na Internet, vejam:
http://zz2kzq.site90.com/CursoHtml/Modulo03/Modulo003Aula008.htm
Até mais e Bons estudos
Oi Leo!
Duvida:
Como faço para encontrar o menor elemento da matriz?
Sei q existe uma função , mais n me lembro qual.
leo eu copiei exatamente igual o codigo da aula extra para salvar aquivo, ele compila, roda, quando eu digito um nome sem espaço ele salva normamente mas s colocar espaço aparece uns quadrinhos no arkivo txt
Oi Leo!!!
E aí vc vai dar aula p mim neste semestre?
saudades...bjxus!!!!
Pessoal,
Para encontrar o menor elemento em uma matriz basta percorrer todas as suas linhas e colunas, guardando o menor elemento numa variável sempre que o menor valor for alcançado.
Dica: laço dentro de laço facilita essa abordagem pois permite que todas as colunas de uma única linha sejam percorridas, em seguida, passa para a próxima linha.
Pâmela,
Já estão definidas as disciplinas que ministrarei em 2009.2, são elas:
- Circuitos Lógicos
- Arquitetura de Computadores
- Sistemas de Tempo Real
Portanto, infelizmente, não lecionarei disciplina(s) para os dois primeiros semestres. Aproveite a metodologia e didática do novo professor, as diferenças também tendem a acrescentar. Um abraço.
Postar um comentário