Escolar Documentos
Profissional Documentos
Cultura Documentos
Apresentação da Disciplina
Aula 01
lenardo@ufersa.edu.br 2
Disciplina
Algoritmo e Programação I (60h/a):
❑ Não possui Pré-Requisitos (1º Semestre);
❑ Pré-Requisito para: “Linguagem de Programação Orientada a
Objetos I”, “Algoritmos e Estrutura de Dados I”, “Programação de
Computadores” e “Cálculo Numérico” (Optativas).
Plano de Ensino:
❑ Objetivos;
❑ Ementa;
❑ Conteúdo Programático;
❑ Ensino;
❑ Avaliação;
❑ Bibliografia.
lenardo@ufersa.edu.br 3
Objetivos
Introduzir os fundamentos da lógica de programação,
algoritmos estruturados e linguagens de programação
estruturada.
Mostrar as formas de representação de algoritmos.
Apresentar os princípios básicos da programação de
computadores.
Apresentar as diversas técnicas e estruturas de programação e
aplicá-las na construção de algoritmos.
Habilitar os alunos a analisar e desenvolver algoritmos para
solucionar problemas computacionais, seguindo os
mecanismos de programação e depuração de algoritmos
apresentados.
Habilitar os alunos a implementar estes algoritmos em uma
linguagem de programação estruturada.
lenardo@ufersa.edu.br 4
Ementa
Introdução à programação. Fundamentos de algoritmos e
sua representação. Programação em linguagem de alto
nível. Desenvolvimento, codificação e depuração de
programas. Desenvolvimento de programas em
linguagem estruturada.
lenardo@ufersa.edu.br 5
Conteúdo Programático
UND I - Tópicos Introdutórios e Algoritmos (Parte I):
➢ Componentes de um Sistema Computacional;
➢ Algoritmos – Variáveis;
➢ Algoritmos – Operadores Aritméticos, Relacionais e Lógicos;
➢ Algoritmos – Desvios Condicionais.
lenardo@ufersa.edu.br 6
Conteúdo Programático
UND III - Programação:
➢ Programação – Variáveis;
➢ Programação – Operadores Aritméticos, Relacionais e Lógicos;
➢ Programação – Desvios Condicionais;
➢ Programação – Laços de Repetição;
➢ Programação – Vetores e Matrizes;
➢ Programação – Funções.
lenardo@ufersa.edu.br 7
Ensino
Metodologia:
Aulas Expositivas com a elaboração de algoritmos em
alguma linguagem de programação;
Atividades Teóricas e Práticas (Individuais e/ou em Grupo).
Recursos Didáticos:
Quadro Branco;
Datashow;
Laboratório de Informática.
lenardo@ufersa.edu.br 8
Processo de Avaliação
Forma:
❑ Contínua: individual (participação e atividades);
❑ Atividades de Programação: individual e grupo (sala/extra-sala).
Etapas:
❑ Avaliação 01 (AV1):
▪ 0,4*Listas de Exercícios 01 + 0,6*Prova 01.
❑ Avaliação 02 (AV2):
▪ 0,4*Listas de Exercícios 02 + 0,6*Prova 02.
❑ Avaliação 03 (AV3):
▪ 0,5*Listas de Exercícios 03 + 0,5*Prova 03.
Cálculo da Média Final
NF = AV1 + AV2 + AV3
3
lenardo@ufersa.edu.br 9
Bibliografia
Adotada na Disciplina:
➢ Obrigatórias:
OLIVEIRA, J. F.; MANZANO, J. A. N. G. Algoritmos: Lógica para
Desenvolvimento de Programação de Computadores. 21a Ed. São Paulo:
Érica, 2005.
MIZRAHI, Victorine Viviane. Treinamento em Linguagem C++. 2. ed.
Prentice-Hall, 2008.
ASCENCIO, Ana; CAMPOS, Edilene. Fundamentos da Programação de
Computadores. 3a ed. Prentice-Hall, 2012.
lenardo@ufersa.edu.br 10
Bibliografia
Adotada na Disciplina:
➢ Complementares:
STROUSTRUP, Bjarne. A Linguagem de Programação C++. 4. ed.
Bookman, 2013.2.
DEITEL, Harvey; DEITEL, Paul. C++ Como Programar. 6. ed. Prentice Hall,
2007.
KERNIGHAN, Brian W. C, A Linguagem de Programação. 1ª ed. Elsevier.
1989.
MOKARZEL, Fábio; SOMA, Nei. Introdução à Ciência da Computação. 1a
ed. Elsivier, 2008.
FOROUZAN, Behrouz; MOSHARRAF, Firouz. Fundamentos da Ciência da
Computação.1a ed. Cengage Learning, 2011
lenardo@ufersa.edu.br 11
Desmistificando Conceitos
➢ O que é Computação?
➢ O que é Informação?
➢ O que é Informática?
➢ O que é Computador?
12/07/2016
1950s
Passos realizados por computadores
automatizados p/ produzir saídas definitivas
(Processamento de Informações).
Desafio Atual:
❑ Desvincular o termo computação de computadores!
❑ IDEIA ➔ Modelo de Computação (representação) transformações.
http://www.chetu.com
lenardo@ufersa.edu.br 13
Contextualização
O que é Computação?
Pensamento Computacional: “abordagem para resolver um problema
como um processo computacional relativo a um modelo de computação e
busca por uma solução algorítmica” (DENNING, 2010).
❑ Fundamentos:
1. Decomposição;
2. Reconhecimento de Padrões;
3. Abstração;
4. Algoritmos.
❑ Solução: compreensível p/
Computadores e/ou Humanos.
http://www.chetu.com
http://www.bbc.co.uk/education/guides/zp92mp3/revision 14
lenardo@ufersa.edu.br
Contextualização
O que é Computação?
Processo de transformar dados em informação!
DADOS
http://www.lapsi.eletro.ufrgs.br/projetos/siav/siav2.htm
(input)
Aplicar o Conhecimento,
Selecionar, Organizar e
Manipular os DADOS
PROCESSAMENTO
(transformação)
INFORMAÇÃO
(output)
lenardo@ufersa.edu.br 15
Contextualização
O que é Informação?
“Conjunto de fatos organizados que agregam valor adicional, além do valor
dos fatos individuais (i.e., dados)” (STAIR and REYNOLDS, 2013).
http://www.chetu.com
lenardo@ufersa.edu.br 16
Contextualização
DADOS
ALFANUMÉRICOS
IMAGEM
TIPOS DE DADOS?
VÍDEO
ÁUDIO
lenardo@ufersa.edu.br 17
Contextualização
O que é Informação?
Dado vs. Informação
lenardo@ufersa.edu.br 18
Contextualização
O que é Informática?
“Corpo de conhecimento especializado que combina disciplinas tradicionais
(e.g., ciência e medicina) com sistemas computacionais e tecnologia” (STAIR
and REYNOLDS, 2013).
INFORmação + autoMÁTICA
O que é Computador?
“Meio de implementar alguns processos de informação” (DENNING, 2010).
Máquina:
❑ Consiste: componentes e circuitos eletrônicos;
❑ Capaz: receber, armazenar, processar dados e transmitir
informações;
❑ Programável: sequência de comandos especificados ➔ tarefas.
Computador (Hardware)
lenardo@ufersa.edu.br 21
Contextualização
O que é Computador?
“Meio de implementar alguns processos de informação” (DENNING, 2010).
Classificação:
❑ Específico: restritos → única (conjunto) tarefa(s) específica(s).
Exemplos:
lenardo@ufersa.edu.br 22
Contextualização
lenardo@ufersa.edu.br 23
Contextualização
Software
lenardo@ufersa.edu.br 24
Contextualização
Realimentação (Feedback)
Realimentação
dados e informações; PROCESSAMENTO
(transformação)
❑ Saída ➔ DISSEMINA dados e informações;
❑ Realimentação ➔ REAÇÃO CORRETIVA no SI.
❑ Previsão (opicional) ➔ PREVER situações p/
INFORMAÇÃO
evitar problemas.
(output)
lenardo@ufersa.edu.br 26
Contextualização
Mecanismo de Realimentação:
http://www.lapsi.eletro.ufrgs.br/pr
❑ Fornece dados sobre o resultado
do processamento;
ojetos/siav/siav2.htm
❑ Forma de Avaliação (saída)
Classificação:
❑ Manual: ❑ Automatizado/Computador:
Ex.: analisar documentos, Ex.: auxílio de equipamentos
gerar relatórios p/ profissionais. e programas de computador.
lenardo@ufersa.edu.br 28
Contextualização
Hardware Software
entrega de pedidos
folha de pagamento
controle de estoque
lenardo@ufersa.edu.br 30
Contextualização
O que é Sistema de Informação (SI)?
Componentes de um SI baseado em Computadores:
❑ Hardware: infraestrutura física de um SC utilizada para realizar
atividades de entrada, processamento e saída.
▪ Entrada: teclado, mouse, scanners, etc.;
▪ Processamento: chips integrados (e.g., CPU/GPU + RAM) ;
▪ Saída: impressora, monitor, Datashow, etc.
❑ Software: lógica (i.e., série de instruções = programa) de um SC
utilizada para controlar o funcionamento do computador.
▪ Sistema → operações básicas (e.g., iniciar/desligar, imprimir, etc.);
▪ Aplicação → operações específicas (e.g., editar texto, acessar
internet).
❑ Peopleware: pessoas que utilizam e delegam as ações a serem
executadas pelo SC (e.g., usuários e programadores).
lenardo@ufersa.edu.br 31
Contextualização
O que é Sistema de Informação (SI)?
Componentes de um SI baseado em Computadores:
❑ Banco de Dados: coleção organizada de fatos e informações
(e.g., estoque, clientes, vendas, etc.), consistindo de dois ou mais
arquivos relacionados;
❑ Telecomunicação: transmissão eletrônica de sinais para
comunicações (e.g., execução de processos e tarefas) usando as
redes de computadores;
❑ Redes: conectam computadores e outros equipamentos (e.g.,
roteador e impressora) p/ possibilitar a comunicação entre eles;
❑ Internet: interligação de um imenso conjunto de redes (públicas
e privadas) ao redor do mundo para trocar informações;
❑ Procedimentos: estratégias, políticas, métodos e regras para uso
de um SI (e.g., contas dos usuários), incluindo a operação,
manutenção e segurança do computador.
lenardo@ufersa.edu.br 32
Contextualização
Infraestrutura Tecnológica:
❑ Conjunto de recursos compartilhados e configurados do SI.
❑ SI Automatizado = TI + Pessoas (peopleware) e Procedimentos.
lenardo@ufersa.edu.br 33
Contextualização
Aplicações
SAÚDE
CIENTÍFICO
EDUCAÇÃO
SEGURANÇA ENGENHARIA
INDÚSTRIA
AGRICULTURA ENTRETENIMENTO
lenardo@ufersa.edu.br NEGÓCIOS 34
Evolução dos Computadores
Caracterizada:
❑ Velocidade dos processadores;
❑ Tamanho dos componentes eletrônicos;
❑ Capacidade das memórias;
❑ Capacidade e velocidade das entradas/saídas.
Velocidade do Processador:
❑ Historicamente: redução do tamanho de seus componentes.
▪ Distâncias entre os componentes → Velocidade.
lenardo@ufersa.edu.br 35
Evolução dos Computadores
http://www.chetu.com
lenardo@ufersa.edu.br 36
Evolução dos Computadores
500010000
500|1000
Ex.: chinês (suan pan), japonês (soroban) e o russo (tschoty).
2 conjuntos de hastes c/
5 arruelas deslizantes
50|100
5|10
▪ Uso:
...
o Sozinho: sistema de armazenar dados;
o Sistema Computacional: ábaco + usuário.
Obs.: Ainda em uso em regiões da Ásia! http://www.chetu.com
lenardo@ufersa.edu.br 39
Evolução dos Computadores
Fonte:
https://www.youtube.com/
watch?v=bVewoFFe-Qo http://www.chetu.com
lenardo@ufersa.edu.br 40
Evolução dos Computadores
lenardo@ufersa.edu.br 42
Evolução dos Computadores
http://www.chetu.com
Museu da Ciência de Londres (1991)
lenardo@ufersa.edu.br Montada com Tecnologia da época de Babbage 43
Evolução dos Computadores
Como tudo começou?
Breve Histórico:
❑ Primeiras Aplicações Práticas de Computação:
▪ Sistema de Processamento de Dados → Herman Hollerith (1887):
o Contexto: Processo de Apuração do Censo Americano (1890);
o Conceitos Base:
➢ Cartões perfurados → representar dados numéricos;
➢ Impulsos elétricos → ativar contadores mecânicos e
transmitir dados à distância.
o Integração: Princípio de S. Morse (1844) → transformar letras e
números em sinais elétricos ➔ origem do Telégrafo.
o Funcionamento:
➢ Tabulava milhões de dados coletados e calculava o resultado
c/ ótimo desempenho (redução de 8 p/ 3 anos).
o Culminou na criação da IBM (International Business Machines
Corp.) em 1924 antiga Tabulating Machine Company de 1896.
http://www.chetu.com
lenardo@ufersa.edu.br 44
Evolução dos Computadores
Popular até os
anos de 1970!
http://www.chetu.com
Máquina de Tabulação
lenardo@ufersa.edu.br 45
de Hollerith
Evolução dos Computadores
lenardo@ufersa.edu.br 46
Evolução dos Computadores
lenardo@ufersa.edu.br 48
Evolução dos Computadores
ENIGMA
http://www.chetu.com
lenardo@ufersa.edu.br 49
Evolução dos Computadores
oalgoritmo
Planos daéMáquina
precisamente o que (John
de Calcular uma máquina de Turing
von Neuman):
pode fazer”
➢ + Processamento (Alonzo
Lógico Church).
de Informações.
▪ Propósito:
o Decodificação e executar qualquer conjunto de instruções.
lenardo@ufersa.edu.br 50
Próxima Aula…
Aula 02:
❑ Introdução aos Algoritmos (Parte II).
51
Referências
CITS3210 Algorithms: Lecture Notes. School of Computer Science and Software
Engineering, The University of Western Australia, 2011. Disponível em:
<https://teaching.csse.uwa.edu.au/units/CITS2200/Resources/AlgNotes.pdf>.
Acesso em: Jan. 2023.
lenardo@ufersa.edu.br 52