Você está na página 1de 21

Algoritmos e Lógicas de

Programação
Prof. Camilo de Lelis
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas
Programação procedural

 sinônimo de Programação
imperativa (Paradigma de
programação que especifica os
passos que um programa deve
seguir para alcançar um estado
desejado), mas pode se referir a
um paradigma de programação
baseado no conceito de
chamadas a procedimento (en:
procedure call).
DEFINIÇÕES DE ALGORITMO

1. "O conceito central da programação e da Ciência da Computação é o


conceito de algoritmos, isto é, programar é basicamente construir
algoritmos”.
2. É a descrição, de forma lógica, dos passos a serem executados no
cumprimento de determinada tarefa.
3. "O algoritmo pode ser usado como uma ferramenta genérica para
representar a solução de tarefas independente do desejo de automatizá-las,
mas em geral está associado ao processamento eletrônico de dados, onde
representa o rascunho para programas (Software)."
4. "Serve como modelo para programas, pois sua linguagem é intermediária à
linguagem humana e às linguagens de programação, sendo então, uma
boa ferramenta na validação da lógica de tarefas a serem automatizadas."
DEFINIÇÕES DE ALGORITMO

5. "Um algoritmo é uma receita para um processo computacional e consiste de


uma série de operações primitivas, interconectadas devidamente, sobre um
conjunto de objetos. Os objetos manipulados por essas receitas são as
variáveis."
6. O algoritmo pode ter vários níveis de abstrações de acordo com a
necessidade de representar ou encapsular detalhes inerentes às linguagens
de programação. Ex: Certamente um algoritmo feito com o objetivo de servir
como modelo para uma linguagem de III geração é diferente daquele para
uma linguagem de IV geração. Mas isso não impede que a ferramenta em si
possa ser usada em ambos o caso.
7. Como qualquer modelo, um algoritmo é uma abstração da realidade. A
abstração é o processo de identificar as propriedades relevantes do
fenômeno que esta sendo modelado. Usando o modelo abstrato, podemos
nos centrar unicamente nas propriedades relevantes para nós, dependendo
da finalidade da abstração, e ignorar as irrelevantes.
8. É a forma pela qual descrevemos soluções de problemas do nosso
mundo, afim de, serem implementadas utilizando os recursos do mundo
computacional. Como este possuí severas limitações em relação ao
nosso mundo, exige que, sejam impostas algumas regras básicas na
forma de solucionar os problemas, para que, possamos utilizar os recursos
de hardware e software disponíveis. Pois, os algoritmos, apesar de
servirem para representar a solução de qualquer problema, no caso do
Processamento de Dados, eles devem seguir as regras básicas de
programação para que sejam compatíveis com as linguagens de
programação.
LINGUAGEM DE DESCRIÇÃO DE
ALGORITMO (LDA)
 Para escrevermos algoritmos é preciso uma linguagem clara e que não
deixe margem a ambiguidades, para isto, devemos definir uma sintaxe e
uma semântica, de forma a permitir uma única interpretação das
instruções num algoritmo.
Estrutura de um Algoritmo Estrutura de um Programa em C
//O comando programa é obrigatório //inclusão de bibliotecas
programa
{
//Inclusões de bibliotecas
// - Quando houver a necessidade de utilizar Int main()
// uma ou mais bibliotecas, as inclusões {
// devem aparecer antes de qualquer declaraç
/*
ão
* Dentro do programa é permitido declara
/* r
* Dentro do programa é permitido declarar * variáveis globais, constantes globais e
* variáveis globais, constantes globais e
* funções em qualquer ordem.
* funções em qualquer ordem.
*/ */

//Declarações de funções somente


//são permitidas dentro do programa.
}
funcao inicio()
{
/*
* Declarações de variáveis locais,
* constantes locais, estruturas de
* controle e expressões.
*/
Identificadores

 Representam os nomes escolhidos para rotular as variáveis, procedimentos


e funções, normalmente, obedecem as seguintes regras:
1. O primeiro caractere deve ser uma letra
2. Os nomes devem ser formados por caracteres pertencentes ao seguinte
conjunto: {a,b,c,..z,A,B,C,...Z,0,1,2,...,9,_}
3. Os nomes escolhidos devem explicitar seu conteúdo.
Tipos de dados

 INTEIRO: qualquer número inteiro, negativo, nulo ou positivo.


 REAL: qualquer número real, negativo, nulo ou positivo.
 CARACTER: qualquer conjunto de caracteres alfanuméricos.
 LÓGICO: tipo especial de variável que armazena apenas os valores V e F,
onde V representa VERDADE e F FALSO.
 CADEIA: é uma sequência ordenada de caracteres (símbolos) escolhidos
a partir de um conjunto pré-determinado.
 VAZIO: é usado para o resultado de uma função que retorna
normalmente, mas não fornece um valor de resultado ao seu chamado.
Declaração de variáveis

 Para que os programas manipulem valores, estes devem ser armazenados em variáveis e
para isso, devemos declará-las de acordo com a sintaxe:

PSEUDOCÓDIGO CÓDIGO NA LINGUAGEM C

 caracter nome_variavel • char nome_variável


 inteiro variavel_inicializada = 42 • int variavel_inicializada = 42
 real nome_variavel2
• float nome_variavel2
• bool nome_variavel3 //Não existe no padrão
 logico nome_variavel3 ANSI
// ou para declarar varias variáveis de u • // ou para declarar varias variáveis de um me
m mesmo tipo: smo tipo:
 cadeia var1,var2,var3,var4 • String - char variável_inicializada[TAM]
Operações Básicas:

 Na solução da grande maioria dos problemas é necessário que as


variáveis tenham seus valores consultados ou alterados e, para isto,
devemos definir um conjunto de OPERADORES, sendo eles:
 OPERADOR DE ATRIBUIÇÃO
 OPERADORES ARITMÉTICOS
 OPERADORES RELACIONAIS
 OPERADORES LÓGICOS
OPERADOR DE ATRIBUIÇÃO:

 pseudocódigo  Linguagem C

 NOMEVARIÁVEL = Valor ou  NOMEVARIÁVEL = Valor ou


Expressão Atribuída. Expressão Atribuída.
OPERADORES ARITMÉTICOS:

 Escritas linearmente
 Utiliza notação matemática

 Exemplo de uso
 variavel = 6
 variavel = variavel2
 variavel = 6 + 4 / variavel2
Existem alguns operandos no Portugol e na
linguagem C, que podem ser utilizados para
atribuição de valores. São eles:
OPERADORES RELACIONAIS:

 São utilizados para relacionar variáveis ou expressões, resultando num valor lógico
(Verdadeiro ou Falso), sendo eles:

Operação Símbolo
Maior >
Menor <
Maior ou igual >=
Menor ou igual <=
Igual ==
Diferente !=
A tabela a seguir apresenta a estrutura
de algumas dessas operações.
Operação Resultado
3>4 Falso
7 != 7 Falso
9 == 10 - 1 Verdadeiro
33 <= 100 Verdadeiro
6 >= 5 + 1 Verdadeiro
5 + 4 <= 11 - 2 Verdadeiro
OPERADORES LÓGICOS:

Operad Ação
or
&& operação AND E - e lógico ou
conjunção
|| operação OR Ou - ou lógico ou
disjunção.
! operador de Não - negação.
negação NOT
(operador unário)
Tabelas Verdades dos Operadores
E - && Lógicos: OU - ||

VLA VLB VLA E VLB VLA VLB VLA OU VLB


V V V V V V
V F F V F V
F V F F V V
F F F F F F

NÃO - !
A NÃO A

V F

F V
Prioridades:
Comando de Entrada de Dados

scanf(“%tipo”,&nomevari
Leia (variável_1) avel)
inteiro x int x
cadeia y char y
real z
float z

//chamando o comando leia


//chamando o comando scanf()
leia(x)
scanf(“%d”,&x)

//No final as variáveis irão possuir o valor di scanf(“%c”,&y)


gitado pelo usuário. scanf(“%f”,&z)
leia(y,z)
Comando de Saída de Dados
Escreva (expressão_1, expressão_2,...). Printf(“ “);
programa

{
Int main() {
funcao inicio() {

inteiro variavel=5 Int variável = 5;


escreva ("Escreva um texto aqui.\n") //escreve no console um texto qualquer printf ("Escreva um texto aqui.\n");
escreva (variavel, "\n") //escreve no console o valor da variável "variavel"

escreva (variavel+variavel, "\n") //escreve no console o resultado da operação

//escreve no console o texto digitado, e o valor contido na variável

escreva ("O valor da variável é: ", variavel)

escreva ("Texto com\n", "quebra-


linha") //escreve no console o texto com quebra de linha

escreva ("Texto com\t tabulação") //escreve no console o texto com espaço de t


abulação

} }