PROGRAMAÇÃO DE
COMPUTADORES I
CONTATO
E-mail:
nataliacarvalhoreis@gmail.com
Site:
AVALIAÇÃO
Provas – 30 pontos cada
11 de Outubro
07 de Dezembro
Trabalhos Práticos
2 trabalhos de 20 pontos cada
OBJETIVOS DA DISCIPLINA
Conhecer
técnicas
para
elaboração
de
algoritmos;
Conhecer comandos para a implementação de
algoritmos na linguagem C/C++;
Apresentar soluções de problemas em algoritmos
e em programas escritos em C/C++.
LIVRO TEXTO
Fundamentos
da
Programação
de
Computadores
Ana Fernandes Gomes e Edilene Aparecida
Editora Pearson
CONCEITOS BÁSICOS
O homem vem sempre buscando criar máquinas que
o auxiliem em seus trabalhos, diminuindo esforços e
economizando tempo:
Eletrodomésticos; Veículos;
CONCEITOS BÁSICOS
O computador pode ser considerado “burro”, pois não
é dotado de:
Iniciativa;
Independência.; Criatividade; Inteligência; e
CONCEITOS BÁSICOS
Todo computador tem a finalidade de receber,
manipular e armazenar dados e só consegue fazer
isso por meio de programas.
Sua finalidade principal é então realizar a tarefa de
processamento de dados:
Informações
iniciais
Operações
sobre as
informações
Resposta
Dispositivo de
entrada
Memória
(CPU)
Dispositivo de
saída
CONCEITOS BÁSICOS
O computador é então dividido em duas partes que
trabalham juntas:
Hardware; e Software.
Para desenvolver um software deve-se escrever um
programa ou vários programas interligados.
Programas devem ser escritos usando uma linguagem
que tanto o computador quanto o desenvolvedor do
software entendam, a linguagem de programação.
CONCEITOS BÁSICOS
Etapas para o desenvolvimento de um programa:
Análise – estuda-se o problema para definir os dados de
entrada, o processamento e os dados de saída;
Algoritmo – utiliza-se ferramentas do tipo descrição
narrativa, fluxograma ou português estruturado para descrever o problema com suas soluções;
Codificação – momento onde o algoritmo é transformado
CONCEITOS BÁSICOS
Podemos então definir um programa como:
“A codificação de um algoritmo em uma determinada
CONCEITO DE ALGORITMO
Alguns conceitos de algoritmo:
“É uma seqüência de passos que visa atingir um objetivo
bem definido.” (FORBELLONE, 1999)
É a descrição de uma seqüência de passos que deve ser
seguida para a realização de uma tarefa.” (ASCENCIO, 1999)
“É uma seqüência finita de instruções ou operações cuja
execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância.” (SALVETTI, 1999)
CONCEITO DE ALGORITMO
Podemos notar que executamos no dia-a-dia vários
algoritmos.
Algoritmo 1 – Somar três números
Passo 1 – Receber os três números Passo 2 – Somar os três números Passo 3 – Mostrar o resultado obtido
CONCEITO DE ALGORITMO
Algoritmo 2 – Fazer um sanduíchePasso 1 – Pegar o pão
Passo 2 – Cortar o pão ao meio Passo 3 – Pegar a maionese
Passo 4 – Passar a maionese no pão
Passo 5 – Pegar e cortar o alface e o tomate Passo 6 – Colocar o alface e o tomate no pão Passo 7 – Pegar o hambúrguer
Passo 8 – Fritar o hambúrguer
CONCEITO DE ALGORITMO
Algoritmo 3 – Trocar uma lâmpadaPasso 1 – Pegar uma lâmpada nova Passo 2 – Pegar uma escada
Passo 3 – Posicionar a escada embaixo da lâmpada queimada
Passo 4 – Subir na escada com a lâmpada nova na mão Passo 5 – Retirar a lâmpada queimada
Passo 6 – Colocar a lâmpada nova Passo 7 – Descer da escada
Passo 8 – Testar o interruptor Passo 9 – Guardar a escada
CONCEITO DE ALGORITMO
Algoritmo 4 – Ir para a escolaPasso 1 – Acordar cedo Passo 2 – Ir ao banheiro
Passo 3 – Abrir o armário para escolher uma roupa
Passo 4 – Se o tempo estiver quente, pegar uma camiseta e calça jeans; caso contrário, pegar um agasalho e calça jeans.
Passo 5 – Vestir a roupa escolhida Passo 6 – Tomar café
Passo 7 – Pegar uma condução Passo 8 – Descer próximo a escola
CONCEITO DE ALGORITMO
Algoritmo 5 – Sacar dinheiro no banco 24 horas
Passo 1 – Ir até um banco 24 horas Passo 2 – Colocar o cartão
Passo 3 – Digitar a senha
Passo 4 – Solicitar a quantia desejada
Passo 5 – Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar mensagem de impossibilidade de saque
Passo 6 – Retirar o cartão
CONCEITO DE ALGORITMO
Muitas vezes um problema pode ser resolvido de
maneiras diferentes, porém, gerando a mesma
resposta.
Por esse motivo, algoritmos diferentes podem resolver
MÉTODO PARA CONSTRUÇÃO DE
ALGORITMOS
a) Ler atentamente o enunciado, destacando os pontos mais
importantes;
b) Definir os dados de entrada, ou seja, quais dados serão
fornecidos;
c) Definir o processamento, ou seja, quais cálculos serão
efetuados e quais as restrições para esses cálculos. O processamento é responsável pela transformação dos dados de entrada em dados de saída;
d) Definir quais dados serão gerados depois do processamento; e) Construir o algoritmo utilizando um dos tipos que serão
descritos posteriormente;
TIPOS DE ALGORITMOS
Os três tipos mais utilizados de algoritmos são:
Descrição narrativa; Fluxograma;
TIPOS DE ALGORITMOS
Descrição narrativa
Consiste em escrever, utilizando uma linguagem natural, os
passos a serem seguidos para a resolução do problema.
Vantagem: não é necessário aprender nenhum conceito
novo, pois uma língua natural, neste ponto, já é bem conhecida.
Desvantagem: a língua natural abre espaço para várias
interpretações, o que posteriormente dificultará a transição desse algoritmo para programa.
TIPOS DE ALGORITMOS
Fluxograma
Consiste em escrever, utilizando símbolos gráficos
predefinidos, os passos a serem seguidos para a resolução do problema.
Vantagem: o entendimento de elementos gráficos é mais
fácil que o entendimento de textos.
Desvantagem: é necessário aprender a simbologia dos
fluxogramas e, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando sua transcrição para um programa.
TIPOS DE ALGORITMOS
Conjunto de símbolos utilizados no fluxograma:
Indica o início e o fim do algoritmo
Indica o sentido do fluxo de dados. Serve
exclusivamente para conectar os símbolos
ou blocos existentes.
Indica cálculos e atribuições de valores
Representa a entrada de dados
Representa a saída de dados
Indica que deve ser tomada uma decisão,
indicando a possibilidade de desvios.
TIPOS DE ALGORITMOS
Pseudocódigo ou portugol
Consiste em escrever, por meio de regras predefinidas, os
passos a serem seguidos para a resolução do problema.
Vantagem: a passagem do algoritmo para qualquer
linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem de programação que será usada.
Desvantagem: é necessário aprender as regras do
EXEMPLOS DE ALGORITMOS
Faça um algoritmo para mostrar o resultado da
multiplicação de dois números.
Algoritmo em descrição narrativa:
Passo 1 – Receber os dois números que serão multiplicados Passo 2 – multiplicar os números
EXEMPLOS DE ALGORITMOS
Algoritmo em fluxogramaInício
N1, N2
M = N1 * N2
EXEMPLOS DE ALGORITMOS
Algoritmo em pseudocódigoALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA “Digite dois números.” LEIA N1, N2
M N1 * N2
ESCREVA “Multiplicação = “, M FIM_ALGORITMO
EXEMPLOS DE ALGORITMOS
Faça um algoritmo para mostrar o resultado da divisão
de dois números.
Algoritmo em Descrição narrativa
Passo 1 – Receber os dois números que serão divididos
Passo 2 – Se o segundo número for igual a zero, não poderá haver divisão, pois não existe divisão por zero; caso contrário, dividir os números
EXEMPLOS DE ALGORITMOS
Algoritmo em FluxogramaInício
N1, N2
N2 =
0
D = N1/N2
M
Fim
Impossível
dividir
NÃO
SIM
EXEMPLOS DE ALGORITMOS
Algoritmo em PseudocódigoALGORITMO
DECLARE N1, N2, D NUMÉRICO
ESCREVA “Digite dois números” LEIA N1, N2
SE N2 = 0 ENTÃO
ESCREVA “Impossível dividir” SENÃO INÍCIO D N1/N2 ESCREVA “Divisão = “, D FIM FIM_ALGORITMO
PARA A PRÓXIMA AULA
1.
Demonstre como seria o algoritmo em descrição
narrativa, fluxograma e pseudocódigo para cada um
dos problemas abaixo:
a) Faça um algoritmo para calcular a média aritmética entre
duas notas de uma aluno e para mostrar a situação desse aluno, que pode ser aprovado ou reprovado.
b) Faça um algoritmo para calcular o novo salário de um
funcionário. Sabe-se que os funcionários que possuem salário atual até R$500,00 terão aumento de 20%, os demais terão aumento de 10%.