Introdução à Programação  
Apresentação da Disciplina  
Edirlei Soares de Lima  
<edirlei@iprj.uerj.br>  
Introdução à Programação  
Lógica  
+
Programação  
O que é lógica?  
O que é lógica?  
Consiste no uso do raciocínio para realizar alguma  
atividade ou resolver algum problema.  
Exemplo:  
Considere o seguinte ambiente:  
1 balança (como a do desenho ao lado)  
9 bolas - sendo que uma é mais leve do  
que as demais.  
Objetivo: descobrir qual é a bola mais  
leve com o menor número possível de  
pesagens.  
O que é lógica?  
1ª pesagem:  
1ª possibilidade: pesos iguais - bola  
extra é a mais leve!  
2ª possibilidade: a bola mais leve está  
no grupo mais leve - descarta-se a bola  
extra e o grupo mais pesado e realiza-se  
nova pesagem.  
2ª pesagem:  
descarta-se o grupo mais pesado e  
realiza-se nova pesagem.  
3ª pesagem:  
Determina-se a bola mais leve!  
O que é lógica?  
1ª pesagem:  
1ª possibilidade: pesos iguais - a bola  
está no grupo extra - 6 bolas são  
descartadas e realiza-se nova  
pesagem.  
2ª possibilidade: pesos diferentes -  
bola mais leve está no grupo mais leve  
-
6 bolas são descartadas e realiza-se  
nova pesagem  
2ª pesagem:  
Determina-se a bola mais leve!  
O que é lógica?  
Como descrever passo a passo a solução?  
1
2
3
4
5
6
7
8
9
1
1
) Divida as bolas em 3 grupos;  
) Escolha dois grupos para pesar e reserve o grupo extra;  
) Coloque-os cada um em um lado da balança;  
) Se os pesos forem iguais, descarte ambos os grupos;  
) Senão, descarte o grupo mais pesado e o grupo extra;  
) Divida as bolas em 3 grupos;  
) Escolha dois grupos para pesar e reserve o grupo extra;  
) Coloque-os cada um em um lado da balança;  
) Se os pesos forem iguais descarte ambos os grupos;  
0) Senão, descarte o grupo mais pesado e o grupo extra;  
1) A bola que restou é a mais leve;  
O que é lógica?  
Como descrever passo a passo a solução?  
1
2
3
4
5
6
7
) Divida as bolas em 3 grupos;  
) Escolha dois grupos para pesar e reserve o grupo extra;  
) Coloque-os cada um em um lado da balança;  
) Se os pesos forem iguais, descarte ambos os grupos;  
) Senão, descarte o grupo mais pesado e o grupo extra;  
) Repita os passos 1 a 5 até que reste apenas uma bola;  
) A bola que restou é a mais leve;  
O que é programação?  
O que é programação?  
Processo de escrita, teste e manutenção de um programa  
de computador.  
Como escrever um programa de computador?  
Um programa é escrito em uma linguagem de  
programação (embora também seja possível escrevê-lo  
diretamente em linguagem de máquina).  
O que é programação?  
Programas são criados para resolver problemas e executar  
tarefas.  
Exemplo: O pneu do seu carro furou... O que fazer? Quais são  
os passos necessários para trocar o pneu de um carro?  
O que é programação?  
Exemplo: O pneu do seu carro furou... O que fazer? Quais são  
os passos necessários para trocar o pneu de um carro?  
Solução textual:  
“Abra o porta-malas e verifique se todos os equipamentos  
necessários estão lá. Em caso negativo, feche o porta-  
malas e peça carona a alguém. Em caso positivo, retire o  
triângulo, posicione-o a cerca de 30 m do carro. Depois,  
retire o estepe e o macaco. Levante o carro...”  
O que é programação?  
Exemplo: O pneu do seu carro furou... O que fazer? Quais são  
os passos necessários para trocar o pneu de um carro?  
Solução gráfica:  
O que é programação?  
Exemplo: O pneu do seu carro furou... O que fazer? Quais são  
os passos necessários para trocar o pneu de um carro?  
Algoritmo formal:  
abre(porta_malas)  
se equipamento_ok == FALSO então  
fecha(porta_malas)  
espera_carona()  
senão  
pega(triangulo, porta_malas)  
posicionar_triangulo(30)  
pega(macaco, porta_malas)  
pega(estepe, porta_malas)  
...  
Objetivos da Disciplina  
Formar a base conceitual da programação,  
desenvolvendo a abstração, a prática da solução  
conceitual e as estratégias de lidar com problemas  
complexos.  
Ao final do curso o aluno será deverá capaz de:  
Resolver problemas lógicos computacionalmente.  
Aplicar conceitos de programação para o desenvolvimento de  
programas.  
Ementa da Disciplina  
Parte 1:  
Algoritmos e Pseudocódigo  
Introdução à Linguagem de programação C  
Ambiente de Programação  
Variáveis e Operadores  
Funções  
Estruturas Condicionais  
Estruturas de Repetições  
Ementa da Disciplina  
Parte 2:  
Ponteiros e passagem por referência  
Arquivos  
Vetores  
Algoritmos de busca em vetores  
Parte 3:  
Matrizes  
Algoritmos de busca em matrizes  
Cadeias de caracteres (Strings)  
Esquema de Aulas  
Aulas Teóricas e Praticas:  
Quarta-feira: aulas teóricas sobre o conteúdo da disciplina  
em sala de aula.  
Quinta-feira: aulas praticas em laboratório para a  
resolução de exercícios.  
Software  
Linguagem de Programação: C  
Ferramentas de Desenvolvimento:  
Visual Studio (https://www.visualstudio.com/pt-  
br/vs/whatsnew/) Versão Community  
CodeBlocks (http://www.codeblocks.org/) –  
“codeblocks-16.01mingw-setup.exe“  
IDEOne (https://ideone.com/) Online  
Critério de Avaliação  
G1 = (nota_prova_1 * 0.8) + (nota_exercicios_1 * 0.2);  
G2 = (nota_prova_2 * 0.8) + (nota_exercicios_2 * 0.2);  
G3 = (nota_prova_3 * 0.8) + (nota_exercicios_3 * 0.2);  
media_parcial = (G1 + G2 + G3) / 3;  
if (media_parcial >= 7.0)  
printf("Aluno Aprovado!");  
else if (media_parcial < 4.0)  
printf("Aluno Reprovado!");  
else  
fazer_final(media_parcial);  
Critério de Avaliação  
void fazer_final(float media_parcial)  
{
media_final = (nota_prova_final + media_parcial) / 2;  
if (media_final >= 5.0)  
printf("Aluno Aprovado!");  
else  
printf("Aluno Reprovado!");  
}
Provas  
Prova 1  
Variáveis e Operadores, Funções, Estruturas Condicionais, Estruturas  
de Repetições  
Prova 2  
Ponteiros e passagem por referência, Arquivos, Vetores, Algoritmos de  
busca em vetores  
Prova 3  
Matrizes, Algoritmos de busca em matrizes, Cadeias de caracteres  
(Strings)  
Prova Final  
Toda a matéria  
Controle de Turma  
Se a frequência nas aulas for < 75% o aluno será  
REPROVADO POR FALTA;  
Presença obrigatória!!!  
Chamada em qualquer momento da aula;  
Alunos com menos de 75% de presença serão reprovados  
automaticamente e não poderão fazer prova final  
(independente da nota);  
Não será aberta nenhuma exceção!  
Material das Aulas  
Página do Curso:  
http://www.inf.puc-rio.br/~elima/intro-prog/  
Contato:  
edirlei.slima@gmail.com  
Atendimento: Sala 225  
Bibliografia  
Celes, W., Cerqueira, R., Rangel, J.L.,  
Introdução a Estruturas de Dados Uma  
introdução com técnicas de programação  
em C, Ed. Campus, 2004  
Kernighan, B.W., Ritchie, D.M., C - A  
Linguagem de Programação - Padrão ANSI,  
Ed. Campus, 1989