390 likes | 513 Views
Aula P rática 1 Aula de Apresentação Monitoria 2013.2. Introdução à Programação. Roteiro. Apresentação do Corpo de monitores Divisão dos alunos por monitor Lista de exercícios/Exercícios de aula Apresentação do site da disciplina Apresentação da IDE Code :: Blocks Exercícios.
E N D
Aula Prática 1 Aula de Apresentação Monitoria 2013.2 Introdução à Programação
Roteiro • Apresentação do Corpo de monitores • Divisão dos alunos por monitor • Lista de exercícios/Exercícios de aula • Apresentação do site da disciplina • Apresentação da IDE Code::Blocks • Exercícios
Corpo de monitores http://www.cin.ufpe.br/~if669ec/monitoria
Listas de exercício • Durante o semestre havéra 6 listas de exercício. • As listas valerão 30% das notas da primeira e segunda unidades. • Todas as listas foram formuladas e serão corrigidas pelos monitores.
Listas de exercício • 1ª Unidade • Prova (70%) + 0.5 extras na nota da prova ( Lista 1, 2 e 3 ) • Listas 1, 2 e 3 (30%) • 2ª Unidade • Prova (70%) + 0.5 extras na nota da prova ( Lista 4, 5 e 6 ) • Listas 4, 5 e 6 (30%) • 3ª Unidade • Prova (60%) • Projeto (40%) • + 1.0 extra na média da terceira unidade ( Todas as APs ) * Na primeira e segunda unidade caso a média entre as 3 listas da unidade correspondente seja maior ou igual a 8 a nota da prova da unidade será acrescida de 0,5.
Listas de exercício • Lógica de programação – 70% da nota • Modularização – 20% da nota. • Legibilidade – 10% da nota. Composição da nota
Listas de exercício As listas deverão ser entregues pelo sistema de submissão: Sistema de submissão
Listas de exercício • As listas só serão aceitas até a hora especificada na página do sistema, portanto preocupem-se em mandar em um horário confortável. • Caso a lista seja enviada mais de uma vez, a antiga será substituida. • Quem obtiver aproveitamento maior ou igual a 80% nas listas de uma unidade obtêm 0.5 pontos extras na nota da prova daquela unidade.
Listas de exercício • Deve ser enviado apenas o arquivo com extensão .c • Aceita apenas até 23:59 do dia anunciado na lista, pelo sistema de submissão. • Dica: Para padronização, utilize o seguinte formato para nome de arquivo: LxQy.c Onde x é o número da lista, e y, da questão. Exemplo: L2Q4.c
Listas de exercício • O prazo de entrega da correção de uma lista, por parte da monitoria, é o mesmo da entrega da próxima lista pelos alunos ( e.g., A correção da lista 1 deve ser enviada a vocês até o limite de vocês submeterem a lista 2 ). Com exceção da lista 6 que o prazo é o dia da apresentação do projeto. No entanto atrasos podem ocorrer.
Listas de exercício • A correção das listas consiste de nota e comentários do seu código( linha a linha, ou na parte inicial ) questão por questão enviadas para o seu e-mail. Na planilha de notas se põem apenas a nota geral da lista. • Recorreção de lista caso você se sinta injustiçado é um direito. Em primeira instancia com o próprio monitor que corrigiu a lista e caso ainda necessário com o professor.
Listas de exercício • Qualquer tentativa de COPIA entre listas zera a lista de todos os envolvidos. Mesmo que a copia seja de apenas uma questão. • O “pegacopia”( software ) é real e já funcionou enumeras vezes em período anteriores.
Aula Prática • O aluno com pelo menos 80% de aproveitamento nas aulas práticas terá direito à 1 ponto extra na terceira nota. • Os alunos deverão enviar os exercícios até as 23:59 do dia da aula prática através do site do sistema de submissão. • Os arquivos podem seguir o mesmo padrão: APxQy.c Mesmo formato das listas. Exemplo: “AP3Q2.c”
Dúvidas • Os e-mails de dúvidas deverão ser enviados para o e-mail do seu monitor com o assunto [Monitoria IP] • Ou enviados para o grupo: duvidasip@googlegroups.com (grupo com monitores, alunos e o professor ) • Para tratar apenas com os monitores envie um e-mail para: monitoriaip@googlegroups.com
Site da disciplina • O site da disciplina pode ser acessado através do endereço: www.cin.ufpe.br/~if669ec • Nele serão disponibilizadas as listas de exercícios, avisos, notas, conteúdo programática, etc.
Code::Blocks • Foi adotada a IDE* Code::Blocks em conjunto com o compilador MinGW** nas aulas práticas da disciplina. O uso de uma IDE visa aumentar a produtividade e ter à disposição uma série de ferramentas de auxílio num único ambiente. * Integrated Development Environment, ou Ambiente de Desenvolvimento Integrado. ** Minimalistic GNU for Windows, um port do GNU Compiler Collection para Windows.
Code::Blocks • Pode ser usada a versão mais recente do Code::Blocks, disponível no site oficial: http://www.codeblocks.org/downloads No site oficial há versões para Windows, Linux e MacOS. • Para praticidade, está disponível no site da disciplina o pacote completo, no menu do lado direito (Somente a versão para Windows).
Instalando o Code::Blocks • Baixe o pacote disponível no site da disciplina: http://cin.ufpe.br/~if669ec/files/CB_4551_alleg.zip • Descompacte num diretório da sua preferência. Sugestão : C\temp\CodeBlocks
Usando o Code::Blocks • Execute o arquivo “codeblocks.exe”. • Crie um projeto do tipo “Console Application”.
Usando o Code::Blocks • Selecione c, em seguida clique em Next.
Usando o Code::Blocks • Em Project Title, coloque qualquer nome. • Em Folder... In, coloque H:\CB_Projects\ e aperte em Next. • Clique em Next e na tela seguinte, Finish.
Usando o Code::Blocks • Na lista lateral, clique no projeto.
Usando o Code::Blocks • Aperte F9 para executar o projeto atual.
Usando o Code::Blocks • Para editar o arquivo contendo o código expanda a pasta “Primeiro projeto”. • Expanda a pasta “Sources”.
Usando o Code::Blocks • Abra o arquivo “main.c”, e o editor do Code::Blocks será aberto. • Modifique “Hello world!\n” por “Oi, mundo!\n”
Usando o Code::Blocks • Compile e execute (Apertando F9).
Tipos de variáveis e Operadores • Tipos básicos • int • char • float, double • Void • Operadores • = • + • - • * • / • %
Qualificadores • Short • Long • Long long • Unsigned • Signed • Const • O limite de uma variavel do tipo short int por exemplo, é 32767. O que acontece se adicionarmos a ela, mais do que ela suporta? E se ela for do tipo unsigned short int, qual a diferença no cenário?
Bibliotecas • Para usarmos algumas funções básicas, precisaremos incluir a biblioteca “stdio”. • #include <stdio.h> É chamada de Diretiva de pré-processamento. Dessa forma podemos usar funções previamente definidas, inclusive podendo ser criadas por vocês mesmo. Veremos isto mais a frente na cadeira.
Função printf(char*,...) • A função printf imprime dados na saída padrão (stdout). • Ela tem a seguinte assinatura: • int printf( const char * format, ... ) • format é o texto de controle, dizendo qual a formatação dos dados • Os outros argumentos passados são os dados a ser exibidos. Exemplos: printf(“Ola mundo\n”); printf(“Hoje e dia %d/%d”,23,8);
Função scanf(char*,...) • A função scanf recebe dados da entrada padrão (stdin). • Ela tem a seguinte assinatura: • int scanf( const char * format, ... ) • format é o texto de controle, dizendo qual a formatação dos dados • Os outros argumentos passados são onde os dados serão armazenados. Exemplos: scanf(“%d”, &idade); scanf(“%d/%d”,&dia,&mes);
Função scanf(char*,...) • Alguns códigos de formatação • Mais códigos: scanf printf
Tabela ASCII • Tabela de valores que representam caracteres. http://pt.wikipedia.org/wiki/ASCII • Letras e dígitos numéricos são sequenciais. • Lembrem-se, para o computador, caracteres também são números!
Exemplo • Vamos escrever um programa que recebe o ano atual e o ano de nascimento de uma pessoa, e informa por quantos meses esta pessoa já viveu. Exemplo: Entrada: 2013 // Ano atual 1987 // Ano de nascimento Saída: 312 meses.
Consulta • Existem muitos sites que podem lhe auxiliar em como usar funções úteis da linguagem C. Aproveitem eles. • Exemplo: http://www.cplusplus.com/reference
Exercício 1 • O salário de um trabalhador é de 500 reais mais 10 reais por hora de trabalho e 15 reais por hora extra. Escreva um programa que receba como foi o mês de trabalho dele e diga quanto ele irá receber no mês. Exemplo: Entrada: 160 // Horas de trabalho 20 // Horas Extras Saída: 2400 reais
Exercício 2 • Faça um programa que receba duas letras. A primeira letra obrigatoriamente estará antes da segunda, no alfabeto. O programa deve dizer qual a outra letra que está equidistante da segunda (em relação à distância da primeira para a segunda). Exemplo: Entrada: h p Saída: x
Exercício 3 • Faça um programa que recebe o dia atual do mês, e uma quantidade de dias que se passaram. Imprima a quantidade de meses que se passou e em que dia do mês estará após o período de tempo. • OBS: Assuma todos os meses com 30 dias. Exemplo: Entrada: 23 // dia do mês 115 // quantos dias se passram Saída: Dia do mês atual: 18 Se passaram 3 meses.