Você está na página 1de 39

Computação

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/

•  Durante a realização da prova não há “Erar dúvidas”


•  Pode ser solicitada a revisão de prova!
•  Cada professor corrige e revisa as provas de sua turma!

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.

•  A programação é o processo de escrita, teste e manutenção de


um programa.

•  O desenvolvimento de programas baseado em metodologias ou


processos formalizados é conhecido por Engenharia de
So„ware.

CIn.ufpe.br
Programas e Programação de
Computadores

•  Os programas são escritos em uma linguagem de programação.


•  Assim como o Português, o Inglês e o Espanhol, as linguagens
de programação têm as suas regras e devemos segui-las para
escrever nossos programas corretamente.
•  Portanto, a programação de computadores é uma ciência, e,
por isso, devemos seguir uma metodologia para termos como
resultado programas seguros e eficientes.

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.

•  Temos que saber o significado das palavras, as regras da


estruturação das frases, etc., para podermos nos comunicar
corretamente no 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

Linguagem de Linguagem de Linguagem de Alto


Máquina Baixo Nível Nível

10110101 LOAD BASE Salario =
11100110 ADD BONUS Base + Bonus
11000100 STORE SALARIO

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

Você também pode gostar