Você está na página 1de 49

Curso de Bacharelado em Ciência da Computação

Algoritmo e Programação I (60h/a)

Apresentação da Disciplina
Aula 01

Prof. Lenardo Chaves e Silva, D.Sc.


lenardo@ufersa.edu.br

quarta-feira, 18 de janeiro de 2023

Universidade Federal Rural do Semi-Árido (UFERSA)


Tópico

Visão Geral da Disciplina:


❑ Plano de Ensino;
❑ Objetivos, Ementa e Conteúdo Programático;
❑ Ensino e Processo de Avaliação;
❑ Bibliografia Adotada.
 Contextualização da Disciplina (Parte I):
❑ Desmistificando alguns conceitos básicos;
❑ Evolução dos Computadores.
 Referências.
http://www.chetu.com

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.

UND II - Algoritmos (Parte II):


➢ Algoritmos – Laços de Repetição ;
➢ Algoritmos – Vetores e Matrizes;
➢ Algoritmos – Funções.

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?

➢ O que é um Sistema Computacional?

➢ O que é Sistema de Informação?

➢ O que é Tecnologia da Informação?


lenardo@ufersa.edu.br 12
Contextualização
O que é Computação?
 Evolução Histórica:
❑ Peter Denning (2010) → Ubiquity Symposium (declaração aberta):
18/06/2016 2000s
27/10/2016
1930s
Ação das pessoas que Processamento de Informações
operam máquinas de calcular. (Natural e Artificial).

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

 Requer a Aplicação do Conhecimento:


❑ Consciência + Compreensão → conjunto de informações e os modos
como elas podem ser úteis ➔ apoiar tarefa/tomar decisão.

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

 Por Profissionais da Computação:

INFORmação + autoMÁTICA

“... estudo do processamento automático da informação.”

 Por Profissionais da Administração (Negócios/Organizações):


❑ “Disciplina que lida com o tratamento racional e sistemático da
informação por meios automáticos” (CHIAVENATO, 2004).
lenardo@ufersa.edu.br 20
Contextualização

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:

❑ Geral: variedade de tarefas de propósito geral.


Exemplos:

lenardo@ufersa.edu.br 22
Contextualização

O que é Sistema Computacional (SC)?


 Sistema: “conjunto de elementos ou componentes que interagem
para alcançar um objetivo” (STAIR and REYNOLDS, 2013).

Entrada Processamento Saída

FONTE: STAIR and REYNOLDS (2013).

lenardo@ufersa.edu.br 23
Contextualização

O que é Sistema Computacional (SC)?

“Conjunto de componentes e dispositivos (eletrônicos e mecânicos)


integrados e atuando como uma entidade, com o propósito de processar
dados de modo a produzir diferentes níveis de informações.”
Hardware

Software

lenardo@ufersa.edu.br 24
Contextualização

O que é Sistema de Informação (SI)?


“Conjunto de componentes inter-relacionados que coleta, manipula,
armazena e dissemina dados e informações e fornece um mecanismo de
realimentação para atingir um objetivo” (STAIR and REYNOLDS, 2013).

Entrada Processamento Saída

Realimentação (Feedback)

lenardo@ufersa.edu.br FONTE: STAIR and REYNOLDS (2013). 25


Contextualização

O que é Sistema de Informação (SI)?


“Conjunto de componentes inter-relacionados que coleta, manipula,
armazena e dissemina dados e informações e fornece um mecanismo de
realimentação para atingir um objetivo” (STAIR and REYNOLDS, 2013).
DADOS
 Componentes: (input)

❑ Entrada ➔ COLETA dados;


❑ Processamento ➔ MANIPULA e ARMAZENA

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

O que é Sistema de Informação (SI)?


“Conjunto de componentes inter-relacionados que coleta, manipula,
armazena e dissemina dados e informações e fornece um mecanismo de
realimentação para atingir um objetivo” (STAIR and REYNOLDS, 2013).

 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)

Ajustes no Processo (entrada/processo).


Entrada
Processamento Saída Realimentação
lenardo@ufersa.edu.br 27
Contextualização

O que é Sistema de Informação (SI)?


“Conjunto de componentes inter-relacionados que coleta, manipula,
armazena e dissemina dados e informações e fornece um mecanismo de
realimentação para atingir um objetivo” (STAIR and REYNOLDS, 2013).

 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

O que é Sistema de Informação (SI)?


 SI baseado em Computadores → dar suporte às organizações .
Peopleware

Hardware Software

Telecomunicações, Redes e Internet


lenardo@ufersa.edu.br 29
Contextualização

O que é Sistema de Informação (SI)?


 SI baseado em Computadores → dar suporte às organizações .

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

O que é Tecnologia da Informação (TI)?


“Refere-se a hardware, software, banco de dados e telecomunicações”
(STAIR and REYNOLDS, 2013).

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

❑ Hoje: organização do processador.


▪ Uso de pipelining e outras técnicas de processamento paralelo;
▪ Técnicas de execução especulativa (i.e., prever instruções futuras).

lenardo@ufersa.edu.br 35
Evolução dos Computadores

Como tudo começou?


 Breve Histórico:
❑ “COMPUTAR” → verbo Latim COMPUTARE = “calcular, contar”.
❑ Primórdios: os pastores.
▪ Contexto: rotina de soltar (manhã) o rebanho de ovelhas no pasto
e recolhê-las no final de tarde.
▪ Problema: Como você sabe se a quantidade de ovelhas que saiu foi
a mesma que voltou?
▪ Solução: empilhamento de pequenas pedras para controlar a
quantidade de ovelha do rebanho.
Por que “pequenas pedras”?
R. em Latim = Calculus.

http://www.chetu.com

lenardo@ufersa.edu.br 36
Evolução dos Computadores

Como tudo começou?


 Breve Histórico:
❑ Primórdios: primeiros dispositivos de computar.
▪ Problema: “Errar é humano!” → criar algum dispositivo p/ auxiliar
na contagem e reduzir os possíveis erros.
▪ Solução: ábaco → máquina de contar (China, ≈2500 a.C).
Por que “ábaco”?
R. Abacus em Latim = tábua de argila.

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

Como tudo começou?


 Breve Histórico:
❑ Primórdios: primeiros dispositivos de computar.
▪ Ábaco:

Fonte:
https://www.youtube.com/
watch?v=bVewoFFe-Qo http://www.chetu.com

lenardo@ufersa.edu.br 40
Evolução dos Computadores

Como tudo começou?


 Breve Histórico: … salto na história da matemática…
❑ Primórdios: dispositivos + sofisticados.
▪ Problema: evolução dos conceitos matemáticos → Como calcular
operações de natureza mais complexas?
▪ Solução: máquinas primitivas de calcular usando engrenagens →
verbo “computer” (França, Século XVII)  calculadoras (hoje).
Exemplos:
o Máquina de Somar → Blaise Pascal (francês, 1642).
ENGRENAGENS ➔
o Máquina de Multiplicar e Dividir (além de somar;
subtrair) → Gottfried W. Leibniz (alemão, 1671).
PROTÓTIPO ➔ o Máquina Diferencial (funções trigonométricas e
logaritmos) → Charles Babbage (inglês, 1834):
➢ Cartões Perfurados → J.-M. Jacquard (francês, 1802).http://www.chetu.com
lenardo@ufersa.edu.br 41
Evolução dos Computadores
Como tudo começou?
 Breve Histórico:
PROJETO ➔ ❑ Máquina Analítica → Babbage (1834):
▪ Máquina Mecânica (vapor): precursora dos Computadores Digitais;
▪ Cartões Perfurados em Papel → ler instruções sequenciais
PROGRAMÁVEIS;
▪ Augusta Ada Byron (Ada Lovelace) → “tradução” (francês p/ inglês) e
melhoria do artigo científico de F. Menabrea (1842-1843):
▪ Demonstrou como usar a máquina p/ diferentes computações;
▪ 1º Algoritmo → 1ª programadora da história!!!
▪ Funcionamento:
1. Entrada: alimentação de dados → cartões perfurados.
2. Saída: impressa e perfurada em cartões de papel.
3. Memória: armazenar variáveis/resultados (base DECIMAL).
4. Unidade de Computação (moinho): operandos da memória,
operações aritméticas básicas (+,-,x,∕) e resultados p/ memória.
http://www.chetu.com

lenardo@ufersa.edu.br 42
Evolução dos Computadores

Como tudo começou?


 Breve Histórico: Máquina Analítica → Babbage (1834):

157 anos depois...

... c/ precisão de 31 casas


depois vírgula

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

Como tudo começou?


 Breve Histórico:
❑ Primeiras Aplicações Práticas:
▪ Sistema de Processamento de Dados → Herman Hollerith (1887):

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

Como tudo começou?


 Breve Histórico:
❑ Década de 1930: tentativa de substituir as partes mecânicas por
partes elétricas:
▪ Motivação: máquinas à engrenagens → inviáveis (financeiro);
▪ Solução: avanços na eletrônica (início dos anos 1900):
Ex.: relés mecânicos controlados eletronicamente.
▪ Exemplos de Máquinas Eletrônicas:
o Máquina eletromecânica → Geoge Stibitz (1940);
o Mark I → Howard Aiken (Harvard University e IBM, 1944).
▪ Obsolescência Rápida: outras tecnologias (simultânea):
Ex.: Curto Prazo: válvulas eletrônicas ➔ computadores
totalmente eletrônicos. http://www.chetu.com

lenardo@ufersa.edu.br 46
Evolução dos Computadores

Como tudo começou?


 Breve Histórico:
❑ Década de 1930: tentativa de substituir as partes mecânicas por
partes elétricas:

MARK I → Howard Aiken


lenardo@ufersa.edu.br (Harvard University e IBM, 1944). 47
Evolução dos Computadores

Como tudo começou?


 Breve Histórico:
❑ Segunda Guerra Mundial (1938/1945):
▪ Salto definitivo da Computação;
▪ Problema: decifrar as mensagens alemãs interceptadas p/ inimigos.
▪ Máquinas para codificar mensagens :
o Série Z, tal como Z3: Konrad Zuse (alemão, 1941).
o Enigma (1920s) → sequência de mensagens diferentemente
codificadas  esquema de substituição de letras.
▪ Máquinas para decodificar mensagens alemãs:
o Bombe: Alan Turing e sua equipe (1939-40).
o Heath Robinson: Alan Turing e sua equipe (1940).
o Colossus: sob direção de Tommy Flowers (inglês, 1943). http://www.chetu.com

lenardo@ufersa.edu.br 48
Evolução dos Computadores

Como tudo começou?


 Breve Histórico:
❑ Segunda Guerra Mundial (1938/1945):
▪ Máquinas para codificar mensagens : Enigma (1920s).
▪ Máquinas para decodificar mensagens alemãs: Bombe: Alan Turing
e sua equipe (1939-40).
Máquina Bombe

ENIGMA
http://www.chetu.com

lenardo@ufersa.edu.br 49
Evolução dos Computadores

Como tudo começou?


 Breve Histórico: Alan Turng
❑ Era dos Computadores Modernos:
▪ Máquina de Turing Universal → fundamentou a computação;
▪ Teoria: artigo científico (1936) – “On Computable Numbers, with an
Application on the Entscheidungsproblem” → Problema de Decisão
(David Hilbert, 1900).
▪ Baseia-se:
o Ideias
“Qualquer
sobreprocesso aceito
Algoritmos por
(Alan nós homens como um
Turing);
von Neuman

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

Você também pode gostar