39
Aula Prática 1 Aula Prática 1 Aula de Apresentação Aula de Apresentação Monitoria 2013.2 Monitoria 2013.2 Introdução à Programação

Aula P rática 1 Aula de Apresentação Monitoria 2013.2

  • Upload
    seanna

  • View
    21

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Aula Prática 1Aula Prática 1Aula de ApresentaçãoAula de Apresentação

Monitoria 2013.2Monitoria 2013.2

Introdução à Programação

Page 2: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

RoteiroRoteiro

Apresentação do Corpo de monitoresApresentação do Corpo de monitores Divisão dos alunos por monitorDivisão dos alunos por monitor Lista de exercícios/Exercícios de aulaLista de exercícios/Exercícios de aula Apresentação do site da disciplinaApresentação do site da disciplina Apresentação da IDE Code::BlocksApresentação da IDE Code::Blocks ExercíciosExercícios

Page 3: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Corpo de monitoresCorpo de monitores

http://www.cin.ufpe.br/~if669ec/monitoriahttp://www.cin.ufpe.br/~if669ec/monitoria

Page 4: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

Durante o semestre havéra 6 listas de Durante o semestre havéra 6 listas de exercício.exercício.

As listas valerão 30% das notas da As listas valerão 30% das notas da primeira e segunda unidades.primeira e segunda unidades.

Todas as listas foram formuladas e serão Todas as listas foram formuladas e serão corrigidas pelos monitores.corrigidas pelos monitores.

Page 5: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

1ª Unidade1ª Unidade Prova (70%) Prova (70%) + 0.5 extras na nota da prova ( Lista 1, 2 e 3 )+ 0.5 extras na nota da prova ( Lista 1, 2 e 3 ) Listas 1, 2 e 3 (30%)Listas 1, 2 e 3 (30%)

2ª Unidade2ª Unidade Prova (70%) Prova (70%) + 0.5 extras na nota da prova ( Lista 4, 5 e 6 )+ 0.5 extras na nota da prova ( Lista 4, 5 e 6 ) Listas 4, 5 e 6 (30%)Listas 4, 5 e 6 (30%)

3ª Unidade3ª Unidade Prova (60%)Prova (60%) Projeto (40%)Projeto (40%) + 1.0 extra na média da terceira unidade ( Todas as APs ) + 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.

Page 6: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

Lógica de programação – 70% da notaLógica de programação – 70% da nota

Modularização – 20% da nota.Modularização – 20% da nota.

Legibilidade – 10% da nota.Legibilidade – 10% da nota.

Composição da nota

Page 7: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

As listas deverão ser entregues pelo sistema de As listas deverão ser entregues pelo sistema de submissão:submissão:

Sistema de submissão

Page 8: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

As listas só serão aceitas até a hora As listas só serão aceitas até a hora especificada na página do sistema, especificada na página do sistema, portanto preocupem-se em mandar em um portanto preocupem-se em mandar em um horário confortável.horário confortável.

Caso a lista seja enviada mais de uma vez, Caso a lista seja enviada mais de uma vez, a antiga será substituida.a antiga será substituida.

Quem obtiver aproveitamento maior ou Quem obtiver aproveitamento maior ou igual a 80% nas listas de uma unidade igual a 80% nas listas de uma unidade obtêm 0.5 pontos extras na nota da prova obtêm 0.5 pontos extras na nota da prova daquela unidade.daquela unidade.

Page 9: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

Deve ser enviado apenas o arquivo com Deve ser enviado apenas o arquivo com extensão .cextensão .c

Aceita apenas até 23:59 do dia anunciado na Aceita apenas até 23:59 do dia anunciado na lista, pelo sistema de submissão.lista, pelo sistema de submissão.

Dica: Para padronização, utilize o seguinte Dica: Para padronização, utilize o seguinte formato para nome de arquivo:formato para nome de arquivo:

LxQy.cLxQy.c

Onde x é o número da lista, e y, da questão.Onde x é o número da lista, e y, da questão.

Exemplo: L2Q4.cExemplo: L2Q4.c

Page 10: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

O prazo de entrega da correção de uma lista, O prazo de entrega da correção de uma lista, por parte da monitoria, é o mesmo da por parte da monitoria, é o mesmo da entrega da próxima lista pelos alunos ( e.g., entrega da próxima lista pelos alunos ( e.g., A correção da lista 1 deve ser enviada a A correção da lista 1 deve ser enviada a vocês até o limite de vocês submeterem a vocês até o limite de vocês submeterem a lista 2 ). Com exceção da lista 6 que o prazo lista 2 ). Com exceção da lista 6 que o prazo é o dia da apresentação do projeto. No é o dia da apresentação do projeto. No entanto atrasos podem ocorrer.entanto atrasos podem ocorrer.

Page 11: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

A correção das listas consiste de nota e A correção das listas consiste de nota e comentários do seu código( linha a linha, ou comentários do seu código( linha a linha, ou na parte inicial ) questão por questão na parte inicial ) questão por questão enviadas para o seu e-mail. Na planilha de enviadas para o seu e-mail. Na planilha de notas se põem apenas a nota geral da lista.notas se põem apenas a nota geral da lista.

Recorreção de lista caso você se sinta Recorreção de lista caso você se sinta injustiçado é um direito. Em primeira injustiçado é um direito. Em primeira instancia com o próprio monitor que corrigiu instancia com o próprio monitor que corrigiu a lista e caso ainda necessário com o a lista e caso ainda necessário com o professor. professor.

Page 12: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Listas de exercícioListas de exercício

Qualquer tentativa de COPIA entre listas Qualquer tentativa de COPIA entre listas zera a lista de todos os envolvidos. Mesmo zera a lista de todos os envolvidos. Mesmo que a copia seja de apenas uma questão. que a copia seja de apenas uma questão.

O “pegacopia”( software ) é real e já O “pegacopia”( software ) é real e já funcionou enumeras vezes em período funcionou enumeras vezes em período anteriores. anteriores.

Page 13: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Aula PráticaAula Prática

O aluno com pelo menos 80% de O aluno com pelo menos 80% de aproveitamento nas aulas práticas terá aproveitamento nas aulas práticas terá direito à 1 ponto extra na terceira nota.direito à 1 ponto extra na terceira nota.

Os alunos deverão enviar os exercícios até Os alunos deverão enviar os exercícios até as 23:59 do dia da aula prática através do as 23:59 do dia da aula prática através do site do sistema de submissão.site do sistema de submissão.

Os arquivos podem seguir o mesmo padrão:Os arquivos podem seguir o mesmo padrão:

APxQy.cAPxQy.cMesmo formato das listas.Mesmo formato das listas.

Exemplo: “AP3Q2.c”Exemplo: “AP3Q2.c”

Page 14: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

DúvidasDúvidas

Os e-mails de dúvidas deverão ser enviados Os e-mails de dúvidas deverão ser enviados para o e-mail do seu monitor com o assunto para o e-mail do seu monitor com o assunto [Monitoria IP][Monitoria IP]

Ou enviados para o grupo: Ou enviados para o grupo: [email protected]@googlegroups.com (grupo com (grupo com monitores, alunos e o professor )monitores, alunos e o professor )

Para tratar apenas com os monitores envie Para tratar apenas com os monitores envie um e-mail para:um e-mail para:

[email protected]@googlegroups.com

Page 15: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Site da disciplinaSite da disciplina

O site da disciplina pode ser acessado O site da disciplina pode ser acessado através do endereço:através do endereço:

www.cin.ufpe.br/~if669ecwww.cin.ufpe.br/~if669ec

Nele serão disponibilizadas as listas de Nele serão disponibilizadas as listas de exercícios, avisos, notas, conteúdo exercícios, avisos, notas, conteúdo programática, etc.programática, etc.

Page 16: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Code::BlocksCode::Blocks

Foi adotada a IDE* Code::Blocks em conjunto com o Foi adotada a IDE* Code::Blocks em conjunto com o compilador MinGW** nas aulas práticas da compilador MinGW** nas aulas práticas da disciplina. O uso de uma IDE visa aumentar a disciplina. O uso de uma IDE visa aumentar a produtividade e ter à disposição uma série de produtividade e ter à disposição uma série de ferramentas de auxílio num único ambiente.ferramentas de auxílio num único ambiente.

* Integrated Development Environment, ou Ambiente de * Integrated Development Environment, ou Ambiente de Desenvolvimento Integrado.Desenvolvimento Integrado.

** Minimalistic GNU for Windows, um port do GNU Compiler ** Minimalistic GNU for Windows, um port do GNU Compiler Collection para Windows.Collection para Windows.

Page 17: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Code::BlocksCode::Blocks

Pode ser usada a versão mais recente do Pode ser usada a versão mais recente do Code::Blocks, disponível no site oficial:Code::Blocks, disponível no site oficial:

http://www.codeblocks.org/downloadshttp://www.codeblocks.org/downloads

No site oficial há versões para Windows, Linux e No site oficial há versões para Windows, Linux e MacOS.MacOS.

Para praticidade, está disponível no site da disciplina Para praticidade, está disponível no site da disciplina o pacote completo, no menu do lado direito o pacote completo, no menu do lado direito (Somente a versão para Windows).(Somente a versão para Windows).

Page 18: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Instalando o Instalando o Code::BlocksCode::Blocks

Baixe o pacote disponível no site da disciplina:Baixe o pacote disponível no site da disciplina:

http://cin.ufpe.br/~if669ec/files/CB_4551_alleg.ziphttp://cin.ufpe.br/~if669ec/files/CB_4551_alleg.zip

Descompacte num diretório da sua preferência.Descompacte num diretório da sua preferência.

Sugestão : C\temp\CodeBlocksSugestão : C\temp\CodeBlocks

Page 19: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Execute o arquivo “codeblocks.exe”.Execute o arquivo “codeblocks.exe”. Crie um projeto do tipo “Console Application”.Crie um projeto do tipo “Console Application”.

Page 20: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Selecione c, em seguida clique em Next.Selecione c, em seguida clique em Next.

Page 21: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Em Project Title, coloque qualquer nome.Em Project Title, coloque qualquer nome. Em Folder... In, coloque H:\CB_Projects\ e aperte Em Folder... In, coloque H:\CB_Projects\ e aperte

em Next.em Next.

Clique em Next e na tela seguinte, Finish.Clique em Next e na tela seguinte, Finish.

Page 22: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Na lista lateral, clique no projeto.Na lista lateral, clique no projeto.

Page 23: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Aperte F9 para executar o projeto atual.Aperte F9 para executar o projeto atual.

Page 24: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Para editar o arquivo contendo o código expanda a Para editar o arquivo contendo o código expanda a pasta “Primeiro projeto”.pasta “Primeiro projeto”.

Expanda a pasta “Sources”.Expanda a pasta “Sources”.

Page 25: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Abra o arquivo “main.c”, e o editor do Abra o arquivo “main.c”, e o editor do Code::Blocks será aberto.Code::Blocks será aberto.

Modifique “Hello world!\n” por “Oi, mundo!\n”Modifique “Hello world!\n” por “Oi, mundo!\n”

Page 26: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Usando o Usando o Code::BlocksCode::Blocks

Compile e execute (Apertando F9).Compile e execute (Apertando F9).

Page 27: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Tipos de variáveis e OperadoresTipos de variáveis e Operadores

Tipos básicosTipos básicos• intint

• charchar

• float, doublefloat, double

• VoidVoid OperadoresOperadores

• ==

• ++

• --

• **

• //

• %%

Page 28: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

QualificadoresQualificadores

ShortShort LongLong Long longLong long UnsignedUnsigned SignedSigned ConstConst

O limite de uma variavel do tipo O limite de uma variavel do tipo short int short int por por exemplo, é 32767. O que acontece se adicionarmos a exemplo, é 32767. O que acontece se adicionarmos a ela, mais do que ela suporta? E se ela for do tipo ela, mais do que ela suporta? E se ela for do tipo unsigned short intunsigned short int, qual a diferença no cenário?, qual a diferença no cenário?

Page 29: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

BibliotecasBibliotecas

Para usarmos algumas funções básicas, Para usarmos algumas funções básicas, precisaremos incluir a biblioteca “stdio”.precisaremos incluir a biblioteca “stdio”.

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

É chamada de Diretiva de pré-processamento.É chamada de Diretiva de pré-processamento.

Dessa forma podemos usar funções previamente Dessa forma podemos usar funções previamente definidas, inclusive podendo ser criadas por vocês definidas, inclusive podendo ser criadas por vocês mesmo. Veremos isto mais a frente na cadeira.mesmo. Veremos isto mais a frente na cadeira.

Page 30: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Função printf(char*,...)Função printf(char*,...)

A função printf imprime dados na saída padrão A função printf imprime dados na saída padrão (stdout).(stdout).

Ela tem a seguinte assinatura:Ela tem a seguinte assinatura: int printf( const char * format, ... )int printf( const char * format, ... )

format é o texto de controle, dizendo qual a formatação dos dadosformat é o texto de controle, dizendo qual a formatação dos dados Os outros argumentos passados são os dados a ser exibidos.Os outros argumentos passados são os dados a ser exibidos.

Exemplos:Exemplos:printf(“Ola mundo\n”);printf(“Ola mundo\n”);

printf(“Hoje e dia %d/%d”,23,8);printf(“Hoje e dia %d/%d”,23,8);

Page 31: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Função scanf(char*,...)Função scanf(char*,...)

A função scanf recebe dados da entrada padrão A função scanf recebe dados da entrada padrão (stdin).(stdin).

Ela tem a seguinte assinatura:Ela tem a seguinte assinatura: int scanf( const char * format, ... )int scanf( const char * format, ... )

format é o texto de controle, dizendo qual a formatação dos dadosformat é o texto de controle, dizendo qual a formatação dos dados Os outros argumentos passados são onde os dados serão Os outros argumentos passados são onde os dados serão

armazenados.armazenados.

Exemplos:Exemplos:scanf(“%d”, &idade);scanf(“%d”, &idade);

scanf(“%d/%d”,&dia,&mes);scanf(“%d/%d”,&dia,&mes);

Page 32: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Função scanf(char*,...)Função scanf(char*,...)

Alguns códigos de formataçãoAlguns códigos de formatação

Mais códigos:Mais códigos:scanfscanfprintfprintf

Código Significado

%d Inteiro

%f Float

%c Caractere

%s String

%% Imprime % na tela

Page 33: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Tabela ASCIITabela ASCII

Tabela de valores que representam caracteres.Tabela de valores que representam caracteres.

http://pt.wikipedia.org/wiki/ASCIIhttp://pt.wikipedia.org/wiki/ASCII

Letras e dígitos numéricos são sequenciais.Letras e dígitos numéricos são sequenciais.

Lembrem-se, para o computador, caracteres também são Lembrem-se, para o computador, caracteres também são números!números!

Page 34: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

ExemploExemplo

Vamos escrever um programa que recebe o ano Vamos escrever um programa que recebe o ano atual e o ano de nascimento de uma pessoa, e atual e o ano de nascimento de uma pessoa, e informa por quantos meses esta pessoa já viveu.informa por quantos meses esta pessoa já viveu.

Exemplo:Exemplo:

Entrada: 2013 // Ano atualEntrada: 2013 // Ano atual

1987 // Ano de nascimento1987 // Ano de nascimento

Saída: 312 meses.Saída: 312 meses.

Page 35: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

ConsultaConsulta

Existem muitos sites que podem lhe auxiliar em Existem muitos sites que podem lhe auxiliar em como usar funções úteis da linguagem C. como usar funções úteis da linguagem C. Aproveitem eles.Aproveitem eles.

Exemplo:Exemplo:

http://www.cplusplus.com/referencehttp://www.cplusplus.com/reference

Page 36: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Dúvidas?Dúvidas?

Page 37: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Exercício 1Exercício 1

O salário de um trabalhador é de 500 O salário de um trabalhador é de 500 reais mais 10 reais por hora de trabalho e 15 reais mais 10 reais por hora de trabalho e 15 reais por hora extra. Escreva um programa reais por hora extra. Escreva um programa que receba como foi o mês de trabalho dele que receba como foi o mês de trabalho dele e diga quanto ele irá receber no mês.e diga quanto ele irá receber no mês.

Exemplo:Exemplo:

Entrada:Entrada: 160 // Horas de trabalho160 // Horas de trabalho

2020 // Horas Extras // Horas Extras

Saída: 2400 reaisSaída: 2400 reais

Page 38: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Exercício 2Exercício 2

Faça um programa que receba duas letras. A primeira Faça um programa que receba duas letras. A primeira letra obrigatoriamente estará antes da segunda, no letra obrigatoriamente estará antes da segunda, no alfabeto. O programa deve dizer qual a outra letra que alfabeto. O programa deve dizer qual a outra letra que está equidistante da segunda (em relação à distância está equidistante da segunda (em relação à distância da primeira para a segunda).da primeira para a segunda).

Exemplo:Exemplo:

Entrada: h pEntrada: h p

Saída: xSaída: x

Page 39: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.2

Exercício 3Exercício 3 Faça um programa que recebe o dia atual Faça um programa que recebe o dia atual

do mês, e uma quantidade de dias que se do mês, e uma quantidade de dias que se passaram. Imprima a quantidade de meses passaram. Imprima a quantidade de meses que se passou e em que dia do mês estará que se passou e em que dia do mês estará após o período de tempo. após o período de tempo.

OBS: Assuma todos os meses com 30 dias.OBS: Assuma todos os meses com 30 dias.

Exemplo:Exemplo:

Entrada: 23 Entrada: 23 // dia do mês// dia do mês

115 115 // quantos dias se passram// quantos dias se passram

Saída: Dia do mês atual: 18Saída: Dia do mês atual: 18

Se passaram 3 meses.Se passaram 3 meses.