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

30
Aula Prática 1 Aula Prática 1 Aula de Apresentação Aula de Apresentação Monitoria 2013.1 Monitoria 2013.1 Introdução à Programação

description

Aula P rática 1 Aula de Apresentação Monitoria 2013.1. 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

Transcript of Aula P rática 1 Aula de Apresentação Monitoria 2013.1

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

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

Monitoria 2013.1Monitoria 2013.1

Introdução à Programação

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

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.1

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.1

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.1

Listas de exercícioListas de exercício

1ª Unidade1ª Unidade Prova (70%)Prova (70%) Listas 1, 2 e 3 (30%)Listas 1, 2 e 3 (30%)

2ª Unidade2ª Unidade Prova (70%)Prova (70%) Listas 4, 5 e 6 (30%)Listas 4, 5 e 6 (30%)

3ª Unidade3ª Unidade Prova (60%)Prova (60%) Projeto (40%)Projeto (40%)

* 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.1

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.1

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.1

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.

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

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

O nome de cada arquivo .c deve seguir o O nome de cada arquivo .c deve seguir o padrão:padrão:

LxQyLxQy..Onde “x” representa o numero da lista eOnde “x” representa o numero da lista e

“ “y” representa o numero da questão.y” representa o numero da questão.Exemplo: L1Q3.cExemplo: L1Q3.c

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

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 enviados deve seguir o padrãoOs arquivos enviados deve seguir o padrão

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

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

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

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 e alunos)monitores e alunos)

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 12: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 13: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 14: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 15: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 16: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 17: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

Usando o Usando o Code::BlocksCode::Blocks

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

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

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 19: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

Usando o Usando o Code::BlocksCode::Blocks

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

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

Usando o Usando o Code::BlocksCode::Blocks

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

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

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 22: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 23: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

Usando o Usando o Code::BlocksCode::Blocks

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

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

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 é a string de controle, dizendo qual a formatação dos dadosformat é a string 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 25: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

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 é a string de controle, dizendo qual a formatação dos dadosformat é a string de controle, dizendo qual a formatação dos dados Os outros argumentos passados são para onde os dados serão lidos.Os outros argumentos passados são para onde os dados serão lidos.

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

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

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

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 27: Aula  P rática  1 Aula de  Apresentação Monitoria  2013.1

Dúvidas?Dúvidas?

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

Exercício 1Exercício 1

Escreva um programa que calcule a idade Escreva um programa que calcule a idade que o usuário terá no ano atual. O programa que o usuário terá no ano atual. O programa receberá 2 anos (inteiros) como entrada e receberá 2 anos (inteiros) como entrada e deverá imprimir a idade atual do usuário.deverá imprimir a idade atual do usuário.

Exemplo:Exemplo:Entrada:Entrada: 1992 // Ano de Nascimento1992 // Ano de Nascimento

20132013 // Ano atual // Ano atual Saída: 21 anosSaída: 21 anos

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

Exercício 2Exercício 2

Em criptografia, a Cifra de César, é uma das mais Em criptografia, a Cifra de César, é uma das mais simples e conhecidas técnicas de criptografia. É um simples e conhecidas técnicas de criptografia. É um tipo de cifra de substituição na qual cada letra do tipo de cifra de substituição na qual cada letra do texto é substituída por outra, que se apresenta no texto é substituída por outra, que se apresenta no alfabeto abaixo dela um número fixo de alfabeto abaixo dela um número fixo de vezes. Escreva um programa que receba 3 letras e vezes. Escreva um programa que receba 3 letras e uma chave (inteiro) e criptografe de acordo com a uma chave (inteiro) e criptografe de acordo com a cifra de césar.cifra de césar.

Exemplo:Exemplo:Entrada: asa 3  Entrada: asa 3  Saída: dvdSaída: dvd

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

Exercício 3Exercício 3

Faça um programa que receba uma Faça um programa que receba uma quantidade inteira de minutos e calcule quantidade inteira de minutos e calcule quantas horas e segundos completos quantas horas e segundos completos correspondem a essa quantia. Imprima o correspondem a essa quantia. Imprima o resultado. resultado.

Exemplo:Exemplo: Entrada: 3665 //segundosEntrada: 3665 //segundos Saída: 1 hora(s) 1 minuto(s) 5 segundo(s)Saída: 1 hora(s) 1 minuto(s) 5 segundo(s)