Escolar Documentos
Profissional Documentos
Cultura Documentos
Rodrigo M. Bacurau
Roteiro
Apresentação da disciplina
Introdução
Problema
Solução
Algoritmo
2
Apresentação
Professor
Email: rodrigo.bacurau@univasf.edu.br
Site: www.univasf.edu.br/~rodrigo.bacurau
3
Ementa
Conceito de algoritmo.
Lógica de programação e programação
estruturada.
Linguagem de definição de algoritmos.
Estrutura de um algoritmo.
Constantes, identificadores e variáveis.
Declaração de variáveis.
Operações Básicas.
Comandos de Entrada e Saída.
Estruturas de Controle de Fluxo.
Conceito e classificação de Linguagens de
Programação. 4
Ementa
Introdução à uma Linguagem de Programação
de alto nível estruturada (Linguagem C).
Ambiente de programação.
Componentes da Linguagem C:
estrutura de um programa;
Identificadores;
palavras reservadas;
Variáveis;
Constantes;
Declaração de variáveis;
Operações básicas;
Comandos de entrada e saída;
Estruturas de controle de fluxo;
Estruturas de dados homogêneas;
Modularização. 5
Objetivos
6
Objetivos
Desenvolver o raciocínio lógico e abstrato do aluno;
Familiarizar o aluno com o modelo sequencial de
computação;
Apresentar técnicas e linguagens para representação e
construção de algoritmos simples;
Apresentar conceitos básicos de linguagens de
programação;
Capacitar o aluno no uso da linguagem C (exceto
ponteiros e arquivos);
Treinar o aluno no processo básico de desenvolvimento
de software (concepção, edição, execução e teste de
programas de computador).
7
Metodologia e Ferramentas
A disciplina será trabalhada com aulas
expositivo-dialogadas, onde serão
fornecidos os componentes teóricos e será
feita a prática de exercícios.
8
Avaliação
A avaliação se dará por meio de 3 provas escritas
individuais.
Se 4,0 <= média < 7,0 e freqüência > 75% -> Final.
O aluno submetido a prova final (PF) será
considerado aprovado se obtiver nota final >=
5,0.
Nota final = (Média + PF)/2
9
Avaliação
Prováveis datas das avaliações
1ª Avaliação (teórica) : 23/01/2012
2ª Avaliação (prática) : 28/01/2012
3ª Avaliação (trabalho) : 06/02/2012
Avaliação Final (prática) : 06/02/2012
Avaliação Substitutiva : 03/02/2012
10
Bibliografia Básica
ASCENCIO, Ana Fernanda Gomes; CAMPOS,
Edilene Aparecida Veneruchi de. Fundamentos da
Programação de Computadores. 2ª edição. Editora
Pearson Prentice Hall, 2003.
12
Introdução
O computador (hardware) isoladamente
não tem utilidade nenhuma.
13
Introdução
Mas o que é realmente um programa
de computador.
14
Introdução
O objetivo desta disciplina é prover a
base teórica para que os alunos
possam desenvolver programas de
computadores.
15
Problema
O que é um
Problema?
16
Problema
De acordo com o dicionário Michaelis
um problema é:
1. Questão levantada para inquirição,
consideração, discussão, decisão ou solução;
2. Tema cuja solução ou decisão requer
considerável meditação ou habilidade;
3. Toda questão em que se procura calcular uma
ou várias quantidades desconhecidas,
denominadas incógnitas, ligadas mediante
relações a outras conhecidas e
chamadas dados.
17
Problema
Exemplo de problemas cotidianos:
Chegar ao local de trabalho;
Fazer um bolo;
Trocar a resistência de um chuveiro.
18
Solução
Solução do Problema: “Trocar a
resistência de um chuveiro”:
Adquirir uma resistência nova;
Localizar o chuveiro a ser manipulado;
Abrir o chuveiro;
Retirar a resistência defeituosa;
Colocar a resistência nova;
Fechar o chuveiro;
Descartar a resistência defeituosa.
Uso da Lógica.
19
Solução
Passos para resolver um problema
computacional:
1. Definir o problema;
2. Fazer suposições e interpretações com o
objetivo de encontrar uma forma de resolver
o problema;
3. Criar um algoritmo para representar a solução
imaginada;
4. Verificar se a solução está correta.
20
Algoritmo
Definições:
21
Características dos
Algoritmos
Finitude:Um algoritmo deve sempre terminar após um número
finito de passos.
Definição:Cada passo de um algoritmo deve ser precisamente
definido. As ações devem ser definidas rigorosamente e sem
ambiguidades.
Entradas:Um algoritmo deve ter zero ou mais entradas, isto é
quantidades que são lhe são fornecidas antes do algoritmo
iniciar.
Saídas:Um algoritmo deve ter uma ou mais saídas, isto é
quantidades que tem uma relação específica com as entradas.
Efetividade:Um algoritmo deve ser efetivo. Isto significa que
todas as operações devem ser suficientemente básicas de modo
que possam ser em princípio executadas com precisão em um
tempo finito por um humano usando papel e lápis.
22
Algoritmos
Exemplos:
Manual de instruções;
Uma receita de bolo;
O cálculo da conta de água.
A fórmula para o cálculo da média
aritmética.
23
Algoritmos
Como regra geral um algoritmo parte de uma
situação inicial e diz o que deve ser feito para
se chegar a uma situação desejada.
Instruções
24
Algoritmo
Exemplo:
25
Algoritmo
Exercício:
26
Algoritmo
Exercício:
27
Algoritmo
Exercício:
28
Conceitos básicos de Algoritmos
Antes de nos aprofundarmos nos métodos
de representação de algoritmos, devemos
ter de forma clara a compreensão de
alguns conceitos como:
Constante;
Variável;
Identificador;
Palavra-reservada;
Entrada;
Saída.
29
Conceitos básicos de Algoritmos
Para uma melhor compreensão dos
conceitos citados, analisaremos o
problema de preparar um bolo.
30
Conceitos básicos de Algoritmos
Ingredientes:
250 g de margarina;
4 gemas;
250g de açúcar;
250g de farinha de trigo;
3 colheres de sopa de raspas de limão;
4 claras em neve;
1 colher de chá de fermento em pó.
1 lata de cobertura para bolo
Modo de Preparo:
Pré-aquecer o forno em temperatura média (180 ºC).
Na tigela da batedeira, colocar a margarina, as gemas e o açúcar. Bater
até obter um creme bem liso e levemente esbranquiçado. Tirar da
batedeira e acrescentar, aos poucos, a farinha de trigo e as raspas de
limão. Acrescentar as claras em neve e mexer delicadamente. Por último
juntar o fermento e mexer.
Numa forma redonda untada com margarina e polvilhada com farinha de
trigo, colocar a massa e levar para assar por aproximadamente 50
minutos.
Por fim retirar o bolo do forno, esperar esfriar, desenformá-lo em um
prato e colocar a cobertura sobre sua superficie.
31
Conceitos básicos de Algoritmos
Ao analisarmos o procedimento de preparo
percebemos que são necessários três
recipientes: uma tigela da batedeira, uma
forma e um prato.
Podemos visualizar os recipientes como
variáveis, pois estes são regiões do espaço
onde pode-se armazenar inúmeras
substâncias.
32
Conceitos básicos de Algoritmos
Os ingredientes constituem as entradas
para o processo e o bolo a saída.
33
Conceitos básicos de Algoritmos
Percebemos também que são executadas algumas
operações: colocar, bater, tirar, aquecer, esperar...
Os nomes dos recipientes e os verbos
correspondentes às ações podem ser visualizados
como identificadores, uma vez que estes
especificam o que será manipulado ou como será
manipulado. Uma observação a ser feita é o fato de
não podermos nomear um recipiente com um verbo
correspondente a uma ação utilizada no processo,
logo os verbos podem ser considerados como
palavras-reservadas.
34
Conceitos básicos de Algoritmos
A partir deste exemplo pudemos compreender
o significado dos principais conceitos de
programação.
35
Constante
Constante: São Valores fixos, tais como números.
Estes valores não podem ser alterados pelas
instruções do algoritmo, ou seja, é um espaço de
memória cujo valor não deve ser alterado
durante a execução de um algoritmo.
Exemplos:
inteiro (10, -23768)
real (-2.34, 0.149)
caractere (“a”, “professor”)
36
Variável e Identificadores
Variável: é um espaço de memória que recebeu um nome
(identificador) e armazena um valor que pode ser modificado
durante a execução do algoritmo.
Identificadores: são os nomes utilizados para referenciar
variáveis, funções ou vários outros objetos definidos pelo
construtor do algoritmo.
Regras para a construção de identificadores:
○ podem conter letras, dígitos e sublinhado(_);
○ não podem começar com dígito;
○ não podem ser iguais a uma palavra-reservada e nem
iguais a um nome de uma função declarada pelo
construtor do algoritmo ou disponibilizada pelo
método utilizado para construção de algoritmos.
37
Palavras Reservadas
Palavras-reservadas (palavras-chave) :
38
Tipos de dados
Tipos Primitivos:
40
Referências
MEDINA, M.; FERTIG, C. Algoritmo e Programação:
Teoria e Pratica. 2ª ed. Novatec, 2006
41
OBRIGADO!
42