Escolar Documentos
Profissional Documentos
Cultura Documentos
Eletrônica
Apresentação da Disciplina, Ementa, Bibliografia e Acordo
Didático
Prof.: Hansenclever de França Bassani (Hans)
hfb@cin.ufpe.br
Site da disciplina: www.cin.ufpe.br/~hfb/ce
CIn.ufpe.br
Resumo da Ementa
• Computação Eletrônica (IF165);
• Carga Horária: 60hs (30hs teóricas, 30hs práEcas);
• ObjeEvos:
– Ensino da programação básica de computadores uElizando a linguagem
de programação de alto-nível chamada C.
– Ensinar técnicas de programação de computadores, pensamento lógico
e como estas habilidades podem auxiliá-los em sua vida profissional.
CIn.ufpe.br
Resumo da Ementa
• Metodologia:
– Serão ministradas aulas exposiEvas usando quadro, apresentações
em slides, com demonstrações e aulas práEcas em sala de aula e
em laboratório.
– Monitores estarão disponíveis para auxiliar os alunos durante
algumas das aulas práEcas e em aEvidades extraclasse nos
laboratórios da Área II.
CIn.ufpe.br
Site da Disciplina
• O material usado no curso estará disponível na página da
disciplina:
www.cin.ufpe.br/~h[/ce
• O site apresenta:
– Referências bibliográficas;
– Cronograma das aulas, provas e aEvidades práEcas;
– Listas de exercícios com gabarito;
– Exemplos;
• O conteúdo é atualizado semanalmente
CIn.ufpe.br
Grupo de Discussões
• Role até o final da página e cadastre-se no grupo:
www.cin.ufpe.br/~h[/ce
• Todos os alunos devem se cadastrar no grupo de discussões da
disciplina!
• O grupo tem como objeEvo:
– Tirar dúvidas sobre as aulas e os exercícios;
– Divulgação de informações a respeito das aulas;
– Divulgação dos resultados das avaliações;
– Divulgação das datas das revisões de provas;
• É recomendável postar o código fonte e descrever
DETALHADAMENTE sua dificuldade, incluindo eventuais mensagens
de erro do compilador.
• Evite simplesmente postar o código-fonte e perguntar:
– “Porquê não está funcionando?”, “O que está errado?”, etc.
CIn.ufpe.br
Metodologia
• Listas de exercícios
– Têm o objeEvo de auxiliar o aprendizado.
– Incluem o gabarito
– O aluno que não trabalha sua própria lista frequentemente se prejudica
na prova, porque não pensou o suficiente sobre o assunto.
– Faça a maior quanEdade de exercícios que você puder.
• Recomendável praEcar:
– no papel (para as provas);
– no computador executando os programas passo-a-passo (Função
depurar o código - Debug) para compreender o funcionamento;
• Resolva as provas anteriores disponíveis no site da área II:
– hip://www.ufpe.br/areaii
CIn.ufpe.br
Metodologia
• Estudos:
– Alguns alunos escolhem estudar pelos slides.
- Limitação no conteúdo
- Pode conter erros
- IncenEvo ao estudo: uElize os livros para estudar e resolver
exercícios.
- Procure ajuda com os monitores
- Formem grupos de estudo
- Frequente as aulas!
CIn.ufpe.br
Avaliação
• 3 provas que seguem o calendário da Área II, além de segunda
chamada e prova final;
• Todas as provas são iguais, sendo ministradas na mesma data e
horário para todas as turmas;
• Os alunos terão 30 min a parEr do início da prova para entrar,
atrasos não serão tolerados;
• Os alunos devem esperar 1h a parEr do início da prova para
deixar a sala de provas;
• Segunda chamada de provas somente com jusEficaEva que será
analisada por um colegiado;
• É fundamental apresentar documento com foto para realizar a
prova;
CIn.ufpe.br
Avaliação
• A datas são muito bem planejadas
• Verifiquem o calendário no site da área II
• Procure as provas anteriores disponíveis no site da área II:
hip://www.ufpe.br/areaii/
CIn.ufpe.br
Avaliação
• Os alunos são avaliados pelo corpo docente da disciplina,
recebendo notas que variam de zero (0,0) a dez (10,0) em cada
um dos Exercícios Escolares (EE).
• MG = (EE1 + EE2 + EE3)/3
• MG ≥ 7,0: Aprovado por média
• 3,0 ≤ MG < 7,0: Final
• MG < 3,0: Reprovado sem direito a fazer a final
• Na final (NF = nota da final):
– (MG + NF)/2 ≥ 5,0: Aprovado
– (MG + NF)/2 < 5,0: Reprovado
• As faltas serão computadas e os alunos com total de faltas igual
ou superior a 25% do curso serão reprovados por falta.
CIn.ufpe.br
Avaliação
• Revisão de prova:
– As provas não são entregues, apenas as notas;
– As datas das revisões de prova são divulgadas no grupo de discussões da
disciplina após a divulgação das notas;
– Para parEcipar da revisão o aluno deve enviar e-mail para o professor
(h[@cin.ufpe.br), informando:
• Nome
• Turma
• Opção de horário (caso haja)
– Na revisão de prova a nota pode ser ajustada para mais ou menos.
CIn.ufpe.br
Acordo DidáAco
• Disciplina e filosofia de trabalho
– Queremos dar o melhor e ajudar você a produzir o melhor;
– CELULARES NO MODO SILENCIOSO
– SOMENTE ATENDER FORA DA SALA
– EVITE CONVERSAS PARALELAS DURANTE AS AULAS
– NÃO É NECESSÁRIO INTERROMPER A AULA PARA SOLICITAR SAÍDA DE
SALA;
– PERGUNTAS SÃO MUITO IMPORTANTES;
– PROBLEMAS? CONVERSE, TALVEZ POSSAMOS AJUDAR;
– MELHOR MEIO DE CONTATO EXTRACLASSE: E-MAIL.
CIn.ufpe.br
Acordo DidáAco
• Faltas e Chamada (é requerida a presença em ao menos 75% das
aulas)
– A chamada é realizada através de atas de presença;
– É de responsabilidade exclusiva do aluno assinar as atas de
todas as aulas em que esEver presente!
– As faltas são computadas através das atas, não há como o
professor saber se o aluno esteve presente sem a assinatura da
ata.
– O aluno pode pedir para consultar a ata de presenças de uma
determinada data, durante a revisão de prova.
– Não assine a ata por seus colegas. Os casos idenEficados serão
levados ao colegiado.
– Fraude em provas e em atas de presença são moEvo suficiente
para jubilamento.
CIn.ufpe.br
Bibliografia do Curso
• Bibliografia básica:
– DEITEL, Paul. DEITEL, Harvey. C: Como Programar. Editora Makron
Books, 6a edição, 2011.
– ROOKSHEAR, J.G.: Ciência da Computação: Uma Visão Abrangente, 7a
Ed., Bookman (Artmed
– MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: módulos 1 e
2, São Paulo: McGraw- Hill. 1995., 2004, 512p.
• Bibliografia complementar:
– Jaime Evaristo. Aprendendo a Programar Programando na Linguagem C.
– KELLEY, Al. POHL, Ira. A Book on C – Editora Addison Wesley, Fourth
EdiEon, 1998.
– SCHILDT, H. C - completo e total. Terceira Edição.Editora Makron Books,
2005.
CIn.ufpe.br
Conteúdo ProgramáAco
• Conteúdo e Cronograma:
– Disponível no site da disciplina
CIn.ufpe.br
Computação Eletrônica
• O computador
CIn.ufpe.br
Computação Eletrônica
• O desenvolvimento so„ware envolve os seguintes assuntos:
– Lógica de programação de computadores
– Linguagens de programação
– Ambientes de desenvolvimento
– Construção de sistemas de so„ware
• Codificação
• Execução
• Testes e ajustes
• Distribuição do so„ware
CIn.ufpe.br
Computação Eletrônica
• Por que esta disciplina?
– Presença constante de computadores
– Aumento da produEvidade evitando trabalhos operacionais por
humanos
– Redução de erros de produção/execução
– Diferenciação no mercado
– Direcionamento de esforço humano para aEvidades que exijam mais
cognição e menos repeEção
CIn.ufpe.br
Por que aprender a programar?
• Programação é automação
– Quando alguém escreve um so„ware esta buscando mudar um processo
manual para um processo automáEco
– O real bene…cio de aprender como programar é ser capaz de
automaEzar tarefas simples e encontrar novas formas de resolver
problemas
– O so„ware é cada vez mais uma camada críEca em nossas vidas,
entender como ele poderia ou deveria funcionar é cada vez mais
importante.
CIn.ufpe.br
Por que aprender a programar?
• Programar ensina a você a solucionar problemas
– Aprender a programar é aprender a dividir problemas complexos em
pequenas partes de modo a conquistar/resolver
– Faz com que treinemos nosso cérebro para pensar a respeito de
problemas de um modo diferente.
– A solução de um problema por meio da programação envolve a
combinação de matemáEca, lógica e algoritmos, além da área de
conhecimento no qual o programa será aplicado.
CIn.ufpe.br
Programas e Programação de
Computadores
• Um programa de computador é um conjunto de instruções que
descrevem uma tarefa que será executada por um computador.
– so„ware, so„ware aplicaEvo,
– so„ware de sistema
– ou simplesmente programa.
• O termo so]ware é uma referência à parte não …sica (ou
lógica) do sistema computacional.
• O termo hardware faz referência ao conjunto de componentes
eletrônicos que consEtuem um computador.
CIn.ufpe.br
Programas e Programação de
Computadores
• So„ware aplicaEvos:
– permitem ao usuário fazer uma ou mais tarefas específicas, como as
planilhas eletrônicas, editores de texto e jogos;
• So„ware de Sistema:
– programas que dão suporte funcional aos computadores, como os
sistemas operacionais e drivers de disposiEvos.
Saiba Mais
CIn.ufpe.br
Programas e Programação de
Computadores
• O ato de desenvolver programas é chamado de programação
de computadores.
CIn.ufpe.br
Programas e Programação de
Computadores
CIn.ufpe.br
Programas e Programação de
Computadores
• Os algoritmos são uma sequência de passos para realizar uma
tarefa ou resolver um problema.
• UElizamos algoritmos no nosso coEdiano para realizar
aEvidades corriqueiras, definindo a sequência de passos que
deve ser executada para aEngirmos um objeEvo.
CIn.ufpe.br
Programas e Programação de
Computadores
• Para efetuarmos estas aEvidades, seguimos uma sequência
lógica de passos.
• Se esses passos não Everem uma lógica, podemos não
conseguir aEngir o nosso objeEvo.
• Se vocês observarem, para fazer um bolo, existe uma ordem
em que os ingredientes devem ser adicionados à receita, caso
não sigamos esta ordem, o bolo não ficará bom.
• Na programação irá ocorrer a mesma coisa, devemos fornecer
as instruções para computador, uElizando uma ordem de
execução, em uma linguagem de programação, e seguindo uma
lógica – a lógica computacional.
CIn.ufpe.br
Linguagens de Programação
• É através das linguagens de programação que poderemos criar
nossos programas.
• Uma linguagem de programação é um conjunto de regras
sintáEcas e semânEcas usadas para definir um programa.
• O conjunto de códigos (palavras e símbolos), compostos de
acordo com essas regras, consEtuem o código-fonte do nosso
programa.
• Para ser executado pelo processador, o código fonte precisa ser
traduzido para código de máquina.
CIn.ufpe.br
Linguagens de Programação
• Aprender uma linguagem de programação é um pouco similar a
aprender um novo idioma.
CIn.ufpe.br
Linguagens de Programação
• As linguagens de programação vêm sendo classificadas de
várias formas:
– Por geração, de acordo com o paradigma de programação
– Quanto ao grau de abstração, de acordo com a estrutura de Epos,
dentre outras.
• Uma das classificações mais uElizadas é quanto ao grau de
abstração.
• Segundo esta classificação, as linguagens de programação são
divididas em três grupos:
– Linguagens de máquina
– Linguagens de baixo nível
– Linguagens de alto nível.
CIn.ufpe.br
Linguagens de Programação
• A linguagem de máquina
– É a linguagem natural dos computadores.
– Estas linguagens são ininteligíveis para o ser humano não treinado.
– As linguagens de máquina são representadas por sequências de bits
(zeros e uns).
– Estas sequências representam instruções que serão executadas pelo
processador do computador e seus respecEvos dados de entrada.
– As instruções correspondem a sequências muito simples de operações,
tais como:
• Transferir um dado em memória para a CPU ou somar dois valores.
– São dependentes do processador, isto é, uma determinada linguagem de
máquina só poderá usada por um Epo de computador.
CIn.ufpe.br
Linguagens de Programação
• As linguagens de baixo nível
– São próximas da linguagem de máquina.
– No entanto, os zeros e uns que formam uma instrução foram
subsEtuídos por palavras que representam tais instruções, tornando-as
um pouco mais legíveis.
– São mais voltadas para a máquina, isto é, são escritas usando as
instruções do microprocessador do computador.
– São chamadas de linguagens Assembly (que significa montagem).
– Apresentam as seguintes vantagens:
• Os programas são executados com maior velocidade de processamento (já
que são executadas diretamente pela máquina) e ocupam menos espaço na
memória.
– No entanto, de modo geral, os programas em Assembly têm pouca
portabilidade (um código gerado para um Epo de processador não serve
para outro) e não são estruturados, tornando a programação mais di…cil.
CIn.ufpe.br
Linguagens de Programação
• As linguagens de alto nível
– Podem ser divididas de acordo com a sua aplicação:
• Genéricas (como C, Java e Pascal, que servem para o desenvolvimento de
programas de propósito geral)
• Específicas, como Fortran - uElizada para execução de cálculos matemáEcos,
LISP - desenvolvimento de aplicações na área de inteligência arEficial e
CLIPPER – uElizada para aplicações que manipulam bancos de dados.
– As vantagens das linguagens de alto nível são:
• Portabilidade (por serem compiladas ou interpretadas podem ser
executadas em várias plataformas com pouquíssimas modificações)
• Facilidade de desenvolvimento de programas. No entanto, as roEnas
geradas são mais genéricas (e mais complexas) e por isso, as vezes são mais
lentas e ocupam mais memória.
CIn.ufpe.br
Linguagens de Programação
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• O desenvolvimento de um programa em linguagem de alto
nível é dividido em três etapas:
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• 1ª Etapa: Criação do programa fonte
– Consiste no “texto” formado pelo conjunto de comandos que nós
desejamos que o computador execute.
– O programa fonte deve ser escrito respeitando as regras da linguagem.
– De modo geral, os programas fontes são digitados em editores de texto
genéricos ou específicos dos ambientes de programação.
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• 2ª Etapa: Compilação
– É um programa que verifica se o programa fonte não apresenta nenhum
erro de sintaxe e gera o programa executável.
– Quando o programa fonte apresenta algum problema, dizemos que
ocorreu um “erro de compilação”.
– Assim, o programador deverá avaliar o programa fonte, para a reErada
de tais erros.
– Normalmente, os compiladores indicam os prováveis erros de sintaxe
comeEdos pelo programador.
– Se o programa não Ever erros de sintaxe, o compilador irá gerar o
programa executável.
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• 3ª Etapa: Execução do programa executável
– O programador deverá testar se o programa está produzindo os
resultados esperados.
– Quando o programa apresenta algum erro nesta fase, como, por
exemplo, mostrar um resultado incorreto, dizemos que ocorreu um
“erro de lógica” ou “erro de execução”.
– Isso ocorre porque, apesar do programa não ter apresentado erros de
sintaxe, o que tornou possível a geração do programa executável, a
sequência de comandos não foi definida de forma correta.
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• 3ª Etapa: Execução do programa executável
– Quando ocorre um erro de lógica, o programador deverá revisar o seu
programa fonte e passá-lo novamente pela fase de compilação, para que
um novo executável, sem erros, seja gerado.
– Como o compilador não nos avisa onde estão os erros de lógica, estes
são mais di…ceis de serem corrigidos.
CIn.ufpe.br
Criação, Compilação e Execução
de um Programa
• 3ª Etapa: Execução do programa executável
– Após ter certeza que o programa executável está correto, sem erros de
lógica, o programador poderá entregá-lo ao seu cliente.
– É importante fazermos vários testes nos nossos programas.
– Testar com vários valores e verificar se está realmente tudo como
esperado.
– Não fica bem nosso cliente ficar ligando, dizendo que o programa está
com BUG!
– Lembrem-se sempre, o computador só executa as instruções que nós
mandarmos.
CIn.ufpe.br