Buscar

1 CONCEITOS INICIAIS (1)

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
* / 22
ALGORITMOS E PROGRAMAÇÃO
CONCEITOS INICIAIS
PROFESSOR: EDILSON LIMA
UNIDADE
1
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
1 CONCEITOS INICIAIS
1.1 Definição de algoritmos
1.2 Formas de representação
1.3 Tipos de dados, variáveis e constantes
1.4 Instruções primitivas
1.5 Linguagem C
ROTEIRO
PROFESSOR: EDILSON LIMA
0*/60
ROTEIRO
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
0*/60
1 CONCEITOS INICIAIS
 RACIOCÍNIO LÓGICO é um conjunto de estudo que visa a determinar os processos intelectuais que são as condições gerais do conhecimento, mais podemos ser mais técnico e dizer que é sequência coerente, regular e necessária de acontecimentos, de coisas ou fatos, ou um esquema sistemático que define as interações com critérios e princípios formais de raciocínio e pensamento.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
04/60
1 CONCEITOS INICIAIS
enquanto “existe um quadrado livre e não tenha vencido (ou perdido) o jogo” então
 	“espere a jogada do oponente, continue depois”;
 se “existe um quadrado livre” então
 se “o centro está livre” então
 “jogue no centro”;
 senão
 se “o oponente tem dois quadrados quaisquer em linha com o terceiro desocupado” então
 “jogue nesse quadrado desocupado”;
 senão
 se “há algum canto livre” então
 jogue nesse canto;
 fim se;
 fim se;
 fim se;
 fim se;
fim enquanto;
 
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
05/60
1.1 Definição de algoritmos
 Podemos dizer que é uma proposta duvidosa, que pode ter numerosas soluções, ou questão não resolvida e que é objeto de discussão; ou
 É uma questão que foge a uma determinada regra, ou melhor, é o desvio de um percurso, o qual impede de atingir com sucesso um determinado objetivo com eficiência e eficácia;
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
08/60
1.1 Definição de algoritmos
ALGORITMOS
 É um conjunto de instruções ou comandos que, quando executados , levam a um conjunto finito de ações.
 É um conjunto ordenado de instruções que quando seguidas desempenham uma tarefa especifica.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
08/60
1.1 Definição de algoritmos
ALGORITMOS
Programas são formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados.
A formulação de um algoritmo geralmente consiste em um texto contendo comandos (instruções) que devem ser executados numa ordem prescrita.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
09/60
1.1 Definição de algoritmos
A grande dificuldade na concepção e no entendimento de algoritmos é o problema do relacionamento desses aspectos, ou seja: como entender (“visualizar”) as estruturas dinâmicas das possíveis execuções do algoritmo a partir da estrutura estática do texto do algoritmo.
Qual é o padrão de comportamento utilizado para gerar a estrutura abaixo ou qualquer outra com a mesma estrutura?
1, 5, 9, 13, 17, 21, 25?
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
10/60
1.1 Definição de algoritmos
Um algoritmo deve ser determinístico, isto é, dadas as mesmas condições iniciais deve produzir, depois de executado, os mesmos resultados.
Criar um algoritmo para arrumar livros na biblioteca.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
12/60
1.1 Definição de algoritmos
PROGRAMAS E ESTRUTURAS DE DADOS
Uma linguagem de programação é uma técnica de notação para programar, com a intenção de servir de veículo para:
Expressão de raciocínio algoritmo.
Execução automática de um algoritmo por um computador.
BUSCANDO...
Facilitar a escrita dos programas;
Facilitar a leitura (o entendimento) dos programas;
Permitir a verificação a priori dos programas;
Facilitar a manutenção e modificação dos programas.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
07/60
1.1 Definição de algoritmos
Itens importante para uma programação estruturada:
 Escrever as instruções em sequencias ligadas entre si apenas por estruturas sequencias, repetitivas ou de selecionamento;
 Escrever instruções em grupos pequenos e combiná-los;
 Distribuir em módulos o problema entre os trabalhadores sob a supervisão de um gerente de tarefas ou analista do projeto; e 
 Revisar o trabalho executando passo a passo o que a aplicação deve executar.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
14/60
1.1 Definição de algoritmos
Desenvolvimento Top-Down;
Modularização;
Estrutura de Controle (sequência simples, comando condicional, comando repetitivo);
Motivação: Problemas na Produção de Softaware;
Confiabilidade X Complexidade;
Manutenibilidade;
Importância da Documentação;
Fluxo de Controle em Algoritmos.
A seguir um exemplo utilizando sequência, alternativa, indentação e comentários.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
15/60
1.1 Definição de algoritmos
//informe valores para x, y e a
se a > 15 então				//(a > 15)
 x = x*4;
 y = y+3;
senão 
 se a > 10 então			//(10 < a ≤15)
 x = x * 3;
 y = y + 2;
 senão 
 se a > 5 então			//(5 < a ≤10)
 x = x * 2;
 y = y + 1;
 senão 				//(a ≤5)
 x = 0;
 y = 0;
 fim se;
 fim se;
fim se;
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
11/60
1.1 Definição de algoritmos
Observação:
O símbolo de sequenciamento ‘;’ (ponto e vírgula) representa a mais simples das estruturas de (fluxo de) controle. 
O símbolo possui duas funções:
 Separar um comando de outro;
 Indicar a sequência que os comandos devem ser executados, conforme eles sejam escrito.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.2 Formas de representação
Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas.
Dentre as formas de representação de algoritmos mais conhecidas podemos citar:
DESCRIÇÃO NARRATIVA: Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural.
Exemplo:
Cálculo da média de um aluno:
Obter as suas 2 notas de provas
Calcular a média aritmética
Se a média for maior que 7,
o aluno foi aprovado,
senão ele foi reprovado
16/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.2 Formas de representação
FLUXOGRAMA CONVENCIONAL: É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos o que justifica sua popularidade.
Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos precisa que a primeira e, mas no entanto, não se preocupa com detalhes de implementação do programa, como o tipo das variáveis usadas.
Neste tipo de algoritmo são utilizado figuras geométricas para representar operações de saída de dados realizadas em dispositivos distintos. A seguir alguns exemplos:
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.2 Formas de representação
Figura 1: Principais formas geométricas usadas em fluxogramas
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.2 Formas de representação
Figura 2: Principais formas geométricas usadas em fluxogramas
Exemplo de cálculo da média de um aluno sob
a forma de um fluxograma.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
20/60
1.2 Formas de representação
PSEUDOCÓDIGO OU PORTUGUÊS ESTRUTURADO: essa representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis, funções, procedimento, vetores, matrizes e outros e por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Esta representação pode ser facilmente traduzida em uma linguagem de programação.
A forma geral da representação de um algoritmo na forma de pseudocódigo é a seguinte:
Algoritmo <nome_do_algoritmo>
 <declaração_de_variáveis>
 <subalgoritmos>
início
 <corpo do algoritmo>
fim
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
21/60
1.2 Formas de representação
Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo.
<nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais.
<declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e eventualmente, nos subalgoritmos.
<subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos.
Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
22/60
1.2 Formas de representação
Exemplo:
Algoritmo Calculo_Media
var N1, N2, MEDIA: real;
início
 leia N1, N2;
 MEDIA ← (N1 + N2) / 2;
 se MEDIA >= 7 então
 escreva “Aprovado”;
 se não
 escreva “Reprovado”;
 fim se;
fim.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
24/60
Computador nada mais é que uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações, sendo que essas informações classificam-se a grosso modo em dois tipos básicos: DADOS e INSTRUÇÕES.
Tipos de dados
Os dados armazenados ou processados em um computador podem ser classificados de acordo com o tipo de informação neles contida. 
As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. As instruções são específicas para cada modelo de computador, pois são funções do tipo particular de processador utilizado em sua implementação.
Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador.
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
*/60
Variáveis
Uma das características mais poderosas de uma linguagem de programação é a habilidade de manipular variáveis. Uma variável é um nome que se refere a um valor.
Os programadores geralmente escolhem nomes significativos para suas variáveis, pois os nomes documentam para o que a variável é usada.
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Nomenclatura, declaração e inicialização de variáveis
Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes de variáveis. Adotaremos nesta disciplina as seguintes regras:
 um nome de variável deve necessariamente começar com uma letra;
 um nome de variável não deve conter nenhum símbolo especial exceto a sublinha (_).
Todas as variáveis utilizadas em algoritmos devem ser definidas antes de serem utilizadas.
numa mesma linha poderão ser definidas uma ou mais variáveis do mesmo tipo. Para tal, deve-se separar os nomes das mesmas por vírgulas;
 variáveis de tipos diferentes devem ser declaradas em linhas diferentes.
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Nomenclatura, declaração e inicialização de variáveis
Exemplo de definição de variáveis:
var NOME : texto[10];
IDADE : inteiro;
SALARIO : real;
TEM FILHOS : lógico;
Neste exemplo existem erros identifique-os.
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
*/60
Tipos de dados
Os dados são representados pelas informações a serem tratadas (processadas) por um computador. Essas informações estão caracterizadas por três tipos de dados:
Dados numéricos (inteiros e reais);
Dados caracteres ou texto; e 
Dados lógicos.
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
*/60
Dados numéricos (inteiros e reais)
Tipos inteiros
São considerados inteiros aqueles valores numéricos positivos ou negativos. 
Tipos reais
São considerados reais os valores numéricos positivos e negativos sendo números fracionários ou inteiros.
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Dados caracteres ou texto
Tipos caracteres
Caracteres ou sequências de caracteres (strings) são formados por letras,
números e símbolos especiais, representando dados alfanuméricos.
Na linguagem C, por exemplo permite o uso de dados alfanumérico de duas formas:
• um caractere delimitado por apóstrofos: ‘x’
• uma sequência de caracteres delimitadas por aspas: “x”
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Dados lógicos
Tipos lógicos
Os dados do tipo lógico podem assumir somente dois valores: 
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Vantagens de utilização de constante
Constantes se diferem das variáveis pelo fato das variáveis armazenarem valores temporários. Quer dizer, uma variável é capaz de armazenar um único valor num dado instante de tempo, porém este conteúdo pode ser alterado no decorrer da execução do programa. Já uma constante, ao ser declarada sempre armazenará o mesmo valor, não sendo permitido alterar este valor.
As constantes em C pode ser declaradas de qualquer um dos tipos de dados básicos (inteiro, real, caractere e lógico), exemplo: 
RESPOSTA = 2.43;
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Expressões
O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta num valor.
Por exemplo, a fórmula de cálculo da área do triângulo é dada por:
AREA = ((B x H) / 2);
*/60
1.3 Tipos de dados, variáveis e constantes
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Esta fórmula utiliza três variáveis: B e H, que contêm as dimensões do triângulo, e AREA, onde é guardado o valor calculado (resultado da avaliação da expressão). Há, também, uma constante (2) e o operador de multiplicação (x), que aparece duas vezes na expressão.
Uma expressão é uma combinação de variáveis, constantes e operadores, e que, uma vez avaliada, resulta num valor.
Operadores
São elementos funcionais que atuam sobre operandos e produzem um determinado resultado. Por exemplo, a expressão 3 + 2 relaciona dois operandos (os números 3 e 2) por meio do operador (+) que representa a operação de adição.
Podem ser classificados em:
 binários, quando atuam sobre dois operandos. Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão);
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
unários, quando atuam sobre um único operando. Ex.: quando um valor positivo é multiplicado por (-1), cuja função é inverter o valor. 
Outra classificação dos operadores é feita considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operadores dividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipo de expressão onde aparecem os operadores.
Expressões Aritméticas
são aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real. Somente o uso de operadores aritméticos e variáveis numéricas é permitido em expressões deste tipo.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Expressões Aritméticas
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Expressões Lógicas e suas relações de prioridade
Tabela verdade
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Observações
O operador lógico NÃO sempre inverte o valor de seu operando. 
Ex.: NÃO V = F; e 
 NÃO F = V;
Para que a operação lógica OU tenha resultado verdadeiro basta que um de seus operando seja verdadeiro;
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Operadores relacionais
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Indentação
É um termo usado na área de programação para indicar que um código-fonte está organizado, facilitando assim sua leitura e entendimento. São pequenas regras que contribuem para que seu código fique legível.
Instrução Primitiva 
São os comandos básicos que efetuam tarefas essenciais para a operação dos computadores, como entrada e saída de dados (comunicação com o usuário e com os dispositivos periféricos), e movimentação
dos mesmos na memória.
Dispositivo de entrada 
É o meio pelo qual as informações (mais especificamente os dados) são transferidas pelo usuário. Os exemplos mais comuns são: o teclado, o cartão perfurado (já obsoleto), as fitas e os discos magnéticos, entre outros;
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Dispositivo de saída 
É o meio pelo qual as informações (geralmente, os resultados da execução de um programa) são transferidas pelo computador ao usuário ou aos níveis secundários de memória. Exemplos: monitor de vídeo, impressora, fitas e discos magnéticos, entre outros;
Sintaxe 
É a forma como os comandos devem ser escritos, a fim de que possam ser entendidos pelo tradutor de programas. A violação das regras sintáticas é considerada um erro sujeito à pena do não-reconhecimento do comando por parte do tradutor;
Semântica 
É o significado, ou seja, o conjunto de ações que serão exercidas pelo computador durante a execução do referido comando.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Código Fonte
É o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. 
São as linhas de programação que formam um software em sua forma original. Inicialmente, um programador "escreve" o programa em uma certa linguagem no nosso casso linguagem C. Resumindo é uma linguagem que o programador entenda (linguagem humana).
Para converter essa linguagem é uma linguagem que o computador entenda (linguagem de máquina) usamos o compilador que transforma código fonte em linguagem de máquina.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Compilador
A compilação consiste na tradução do texto em código fonte (no nosso caso, a linguagem de programação C) para um código que o computador possa ler (Código executável ou linguagem de máquina), constituição essa que nós normalmente não conhecemos.
Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível(código fonte) para um programa equivalente em código de máquina para um processador. Em geral, um compilador não produz diretamente o código de máquina mas sim um programa em linguagem simbólica (linguagem C) semanticamente equivalente ao programa em linguagem de alto nível. O programa em linguagem simbólica é então traduzido para o programa em linguagem de máquina através do compilador
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Código executável (linguagem de máquina)
Um executável ou arquivo executável, em informática, é um arquivo em que seu conteúdo deve ser interpretado como um programa por um computador. Normalmente, eles possuem a representação binária das instruções de máquina de um processador específico, mas podem conter também uma forma intermediária que podem ser necessários serviços de um interpretador para executar.
Hoje em dia, a distinção entre um programa na sua forma original (em linguagem humana) e em sua forma executável (em linguagem de máquina) está se tornando menos distinta, já que o ato de transformar a forma original no formato máquina (por compilação) ou a interpretação pode ser feito de modo implícito.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Interpretador
Ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.
 O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar.  
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Atribuição de valores e variáveis
atribuição, é a principal maneira de se armazenar uma informação numa variável. Sua sintaxe é:
<nome_de_variável> = <expressão>
*/60
Pseudocódigo
Algoritmo Atribuição
var PRECO_UNIT, PRECO_TOT : real;
 QUANT : inteiro;
inicio
 PRECO_UNIT = 5.0;
 QUANT = 10;
 PRECO_TOT= PRECO_UNIT * QUANT;
fim.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
Leitura (entrada) de dados
Sua sintaxe é:
leia <lista_de_variáveis>
Em algoritmo leia será tratada como uma palavra reservada e não mais poderá ser usada como nome de variável em algoritmos. A lista_de_variáveis é um conjunto de uma ou mais nomes de variáveis, separados por vírgulas.
A semântica da instrução de leitura (ou entrada) de dados é, de certa forma, inversa à da instrução de escrita: os dados são fornecidos ao computador por meio de um dispositivo de entrada e armazenados nas posições de memória das variáveis cujos nomes aparecem na lista_de_variáveis.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
escreva (saída) de dados
meio pelo qual informações são colocadas nos dispositivos de saída, para que o usuário possa visualizá-las.
Há duas sintaxes possíveis para esta instrução:
escreva <variáveis>
ou
escreva < lista de variáveis>
escreva em algoritmo é considerada uma palavra reservada e não mais poderá ser utilizada como nome de variável e sim como um comando de saída de dados.
Uma lista_de_variáveis é um conjunto de nomes de variáveis separados por vírgulas. 
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.4 Instruções primitivas
*/60
Pseudocódigo
Algoritmo Entrada de Dados
var PRECO_UNIT, PRECO_TOT : real;
 QUANT : inteiro;
inicio
 leia(PRECO_UNIT, QUANT);
 PRECO_TOT= PRECO_UNIT * QUANT;
 escreva(PRECO_TOT);
fim.
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO
A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.5 Linguagem C
A linguagem C é uma linguagem simbólica de fácil entendimento, que possui uma sintaxe bastante estruturada e flexível, tornando sua programação bem simplificada.
É case sensitive, isto quer dizer que faz diferenças entre maiúsculas e minúsculas. Exemplo:
Total
TOTAL
tOTAL
Palavras reservadas, não podem ser utilizadas para nomear variáveis ou funções. Exemplos:
break, continue, define, do, for, function, if, return, switch, struct, while.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.5 Linguagem C
Um bloco de comandos é demarcado com os símbolos {e }
Exemplo: 
{
 printf(“teste 1”) ;
 printf(“teste 2”);
}
Entrada e Saída
Printf (escreva)
–Imprime para a saída padrão (normalmente o vídeo)
Scanf (leia)
–Lê da entrada padrão (normalmente o teclado)
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
1.5 Linguagem C
Printf
Sintaxe: printf(“caracteres de controle”, lista de expressões);
–O formato indica como exibir as variáveis
Exemplo:
int numero = 3; 
printf("numero = %i\n", 2*numero); 
Scanf
Sintaxe: scanf("caracteres de controle", lista de variáveis);
Exemplo:
scanf("%d %d", &m, &n) 
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Constantes de Caractere de Barra Invertida
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Comandos de formato da função
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Especificadores de formato da função scanf()
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Exemplo de um programa que calcula um fatorial de um número
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main() {
 int n, fat, i;
 printf("Digite o numero:");
 scanf("%i", &n);
 fat= 1;
 i = 2;
 while(i <= n) {
 fat= fat* i; i = i + 1;
 }
 printf("Fatorial (%i) = %i\n", n, fat);
 system("pause");
 return 0;
}
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Algumas informações
Todo programa em C deve ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves { }. O código que estiver dentro das chaves será executado sequencialmente quando a função for chamada.
Biblioteca padrão de entrada e saída
em C existe um conjunto de funções definidas pelo programador, funções que utilizarão outras funções definidas pelo programador e algumas funções oferecidas pelo sistema (as funções oferecidas pelo sistema são chamadas funções de biblioteca ou funções pré-definidas).
A importação de uma biblioteca é dada pelo comando INCLUDE (incluir) seguido da biblioteca entre os sinais de menor (<) e maior (>).
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Stdio.h
• printf(): imprime na saída padrão (monitor);
• scanf(): lê dados da entrada padrão (teclado);
• fopen(): permite a abertura ou criação de arquivos;
• fclose(): fecha um arquivo aberto com fopen();
• fprintf(): grava informações em arquivo;
• fscanf(): lê informações de arquivo;
• remove(): apaga um arquivo.
Stlib.h
• atoi(): converte uma string para um valor inteiro;
• atof(): converte uma string para um valor real;
• rand(): gera um número ou sequência de forma aleatória;
• malloc(): aloca memória dinamicamente;
• free(): libera a memória alocada por malloc().
*/60
1.5 Linguagem C
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
EDILSON LIMA
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*/ 66
ROTEIRO
PROFESSOR: EDILSON LIMA
Bibliografia
ARAÚJO, Everton C. Algoritmos: fundamento e prática. 2. ed. Florianópolis: VisualBooks, 2005.
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para desenvolvimento de programação de computadores. 17.ed. São Paulo: Érica, 2005.
SALIBA, Walter Luís Caram. Técnicas de programação: uma abordagem estruturada. São Paulo: Pearson Education do Brasil, 1992.
GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e Estrutura de Dados. 28ª Tiragem. Editora LTC São Paulo.
*/60
UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais