Você está na página 1de 50

ALGORITMOS E

PROGRAMAÇÃO
ALGORITMOS DE PROGRAMAÇÃO
LINGUAGENS DE PROGRAMAÇÃO

Um programa sequencial é um conjunto de rotinas programáveis


executadas em sequência, ou seja, uma após a outra.

As linguagens, que não a linguagem de máquina, devem ser traduzidas para a linguagem de máquina.
Programas tradutores: convertem o código escrito em uma linguagem de programação para o
correspondente código de máquina.
A linguagem de Programação mais populares são: Java, C, C++, Python, C#, Java Script, PHP,
MatLab, Perl, Ruby, entre outras.
LINGUAGENS DE PROGRAMAÇÃO MAIS UTILIZADAS

TIOBE Index for May 2023


https://www.tiobe.com/tiobe-index/
ALGORITMO

» Um algoritmo é uma sequência de instruções que


utilizamos para solucionar um ou vários problemas,
ou até mesmo realizar tarefas do dia a dia.
» Um algoritmo não é necessariamente um programa
computacional, pode ser passos que iremos tomar
para realizar determinada tarefa.
» O algoritmo deve sempre chegar ao resultado final
esperado, caso não chegue, o mesmo não pode ser
considerado finalizado.
CONSTRUÇÃO DE UM ALGORITMO

» A construção de um algoritmo é importante, devido à necessidade de


especificar, de forma clara e precisa, o raciocínio lógico empregado para uma
sequência de ações, desde um estado inicial até um estado final previsível e bem
definido, em que o resultado esperado é alcançado (FORBELLONE;
EBERSPÄCHER, 2005).
CONSTRUÇÃO DE UM ALGORITMO

Segundo Souza et al. (2011), as regras utilizadas por algoritmos, no que tange à sintaxe,
estabelecem os tipos de comandos que podem ser utilizados e as suas expressões
adotadas. Essas expressões realizam algum tipo de operação com os dados e podem ser
classificadas em três tipos:
• estruturas sequenciais – a execução das instruções são diretas e imperativas, não
havendo condições ou desvios em seu caminho.
• estruturas de decisão – a execução da sequência de instruções depende de condições
atribuídas a decisões ao longo do caminho.
• estruturas de repetição – a execução das instruções se repete enquanto não for
atingida uma condição.
CONSTRUÇÃO DE UM ALGORITMO - EXEMPLOS
ALGORITMO

EXEMPLO

 Possuí um estado inicial


 Possuí sequência lógica  Trocar Lâmpada
 Contém ações claras e precisas
 Possui dados de entrada
 Produz dados de entrada  Preparar café
 Produz estado final previsível
 Deve ser eficaz
 Fazer bolo
TIPOS DE ALGORITMOS

Os algoritmos devem apresentar uma


sequência lógica que permita três
elementos: entrada de dados,
processamento de dados e saída de dados.
FLUXOGRAMA

O fluxograma, ou diagrama de
blocos, é uma forma padronizada de
representar algoritmos com o uso de
símbolos gráficos
(FLUXOGRAMAS..., on-line).
Vejamos um exemplo:
FLUXOGRAMA

 Representado por formas, tornam o entendimento de determinado algoritmo mais


simples.
EXEMPLOS DE ALGORITMOS DO DIA-A-DIA REPRESENTADO POR FLUXOGRAMA:

Preparar café
Trocar
lâmpada
PSEUDOCÓDIGO

» Diferente do fluxograma, o pseudocódigo, também


conhecido como portugol ou português estruturado,
utiliza PDL - Program Design Language
(Linguagem de Projeto de Programação).

» O Portugol é uma representação que se assemelha


bastante com a linguagem C, porém é escrito em
português. A ideia é facilitar a construção e a leitura
dos algoritmos usando uma linguagem mais fácil aos
alunos.
PSEUDOCÓDIGO (EXEMPLOS E FERRAMENTAS)

Para tornar a tarefa de escrever pseudocódigos mais prático existe a possibilidade de utilizar alguns
softwares ou serviços online.
» https://portugol-webstudio.cubos.io/ide
» https://sourceforge.net/projects/visualg30/files/latest/download
ATIVIDADE 1

Os algoritmos são utilizados para apresentar a lógica de programação de forma sequencial e


ordenada, por meio de comandos que realizam operações sobre dados (SOUZA et al., 2011). A
respeito das estruturas utilizadas por algoritmos, assinale a alternativa que representa a estrutura
baseada em condição que define uma decisão sobre o caminho a ser seguido na sequência.

SOUZA, M. A. F. et al. Algoritmos e Lógica de Programação. São Paulo: Cengage Learning, 2011.

a) Sequência.
b) Decisão.
c) Repetição.
d) Salto incondicional.
e) Encadeamento.
ATIVIDADE 2

Analise o algoritmo a seguir:


se (a > 5) a) Escrever “negativo” e apagar a luz.
então
a. escreva “positivo”; b) Escrever “positivo” e apagar a luz.
b. apaga a luz;
senão c) Escrever “negativo” e manter a luz acesa.
a. escreva “negativo”
b. mantenha a luz acesa d) Escrever “positivo” e manter a luz acesa.
fimse.
Agora, assinale a alternativa que indique e) Escrever “positivo” e, depois, “negativo”.
quais ações serão executadas no caso de a
variável a ser igual a 4.
Linguagem C
Linguagem C

A linguagem de programação C foi criada em 1972 por Dennis Ritchie, na Bell Labs. Ela é
uma linguagem de programação de propósito geral, bastante utilizada na programação de
sistemas operacionais, drivers, compiladores e outros sistemas de baixo nível. A linguagem C
é conhecida por sua eficiência e baixo nível de abstração.
Características da linguagem C:
• Linguagem de programação de baixo nível
• Linguagem de programação estruturada
• Portabilidade
• Linguagem de programação de sistema
AMBIENTES DE DESENVOLVIMENTO COM LINGUAGEM C

Se você escolher usar o editor de texto, é preciso instalar também o


compilador C.

Se você escolher usar uma IDE, deve configurá-la para a linguagem C,


no caso das IDEs que possuem uma vasta gama de possibilidade de
linguagens de programação.

 https://sourceforge.net/projects/orwelldevcpp/
 https://www.onlinegdb.com/online_java_compiler
 https://www.w3schools.com/cpp/default.asp
PROGRAMA EM C (Algumas orientações)

 Um programa em C é composto por um conjunto de Funções.


 A função pela qual o programa começa a ser executado chama-se main.
 Podem ter qualquer nome, desde que sejam iniciadas com letra ou sublinhado.
 Após cada comando em C deve-se colocar um ; (ponto-e-vírgula)
 Não podem ter nome iguais aos de funções definidas pelo programador, nem palavras
reservadas da linguagem, tão pouco nomes utilizados nas bibliotecas do C.
 O C é Case Sensitive, ou seja, int numero é deferente de int Numero.
 Pode ter nomes de até 32 caracteres.
LINGUAGEM C

Estrutura básica de um programa


em C:

Exemplo “Olá
Mundo”
EXEMPLOS EM LINGUAGEM C

Hello World em C:
» Esse é um exemplo bem simples de um programa em C
que imprime a mensagem "Hello World!" na tela.
» O código começa com a inclusão da biblioteca stdio.h, que
contém funções para entrada e saída de dados. Em seguida,
temos a definição da função principal do programa, que é a
função main.
» Dentro da função main, temos a função printf que imprime
a mensagem na tela.
» Por fim, a função retorna 0 para indicar que o programa foi
executado com sucesso.
EXEMPLOS EM LINGUAGEM C

Soma de dois números em C: » Esse é um exemplo de um programa em C que realiza a


soma de dois números digitados pelo usuário.
» O código começa da mesma forma que o exemplo
anterior, com a inclusão da biblioteca stdio.h e a
definição da função main.
» Dentro da função main, temos a declaração de três
variáveis: num1, num2 e soma.
» A primeira linha da função printf pede para o usuário
digitar dois números, e a segunda linha usa a função
scanf para ler os dois números digitados pelo usuário e
armazená-los nas variáveis num1 e num2.
» Em seguida, o programa realiza a soma dos dois
números e armazena o resultado na variável soma. Por
fim, a função printf imprime o resultado na tela e a
função retorna 0 para indicar que o programa foi
executado com sucesso.
EXEMPLOS EM LINGUAGEM C

Esse é um exemplo de um programa em C que calcula o


fatorial de um número digitado pelo usuário.
Cálculo do fatorial em C:
O código começa da mesma forma que os exemplos anteriores,
com a inclusão da biblioteca stdio.h e a definição da função
main. Dentro da função main, temos a declaração de três
variáveis: num, i e fatorial.
A primeira linha da função printf pede para o usuário digitar
um número, e a segunda linha usa a função scanf para ler o
número digitado pelo usuário e armazená-lo na variável num.
Em seguida, o programa usa um loop for para calcular o
fatorial do número digitado.
O loop começa em 1 e vai até o número digitado,
multiplicando cada número pelo resultado parcial do fatorial.
Por fim, a função printf imprime o resultado na tela e a função
retorna 0 para indicar que o programa foi executado com
sucesso.
BIBLIOTECAS

#INCLUDE <stdio.h>
Possui definições de subrotinas relativas às operações de entrada/saída, como
leitura de dados digitados no teclado e exibição de informações na tela do programa
de computador.

#INCLUDE <string.h>
Função de manipulação de string

#INCLUDE <math.h>
É um arquivo cabeçalho que fornece protótipos para funções, macros e definição de
tipos da biblioteca padrão da linguagem de programação C para funções
matemáticas básicas.
VARIÁVEIS E TIPOS DE DADOS

Variável é um espaço de memória que o programa reserva para armazenar dados.


Toda variável deve possuir um tipo e um identificador (nome).
Sintaxe de declaração em C
<tipo_da_variável> <nome_da_variável>;

Sintaxe de atribuição em C
<nome_da_variável> = <valor> ou <operação>;
VARIÁVEIS E TIPOS DE DADOS

A linguagem de programação C possui vários tipos de dados para representar informações e variáveis para armazenar valores.
OPERADORES RELACIONAIS

Os operadores relacionais são aqueles que comparam dois valores (valores, variáveis, constantes ou chamadas de
funções) e/ou expressões e verificam quem é o maior ou menor e/ou se há igualdade entre eles. Os resultados
dessa comparação é sempre um valor lógico (booleano) verdadeiro ou falso.

Exemplo:
Operador Representação Notação C
algorítmica
Maior que > >
Maior ou >= >=
igual
Menor que < <
Menor ou <= <=
igual
Igual a = ==
Diferente de <> !=
OPERADORES LÓGICOS

Operadores lógicos são utilizados para concatenar ou associar expressões que estabelecem um relação de
comparação entre valores. O resultado dessas expressões é sempre um valor lógico, verdadeiro ou falso, uma vez
que operam sobre valores booleanos.
Exemplo:
Operador Representação Notação C
algorítmica
E .e. &&
OU .ou. ||
NÃO .não. !
Operador Representação algorítmica
E (&&) A expressão resultante só é verdadeira se
ambas expressões também forem
verdadeiras
OU (||) A expressão só será verdadeira se alguma
das expressões unidas por esse operador
também for verdadeira.
NÃO .não. (!) Inverte o valor lógico da expressão.
EXPRESSÕES ARITMÉTICAS

5 % 3  2
Exemplo:
COMANDOS DE ENTRADA E SAÍDA

Para escrever o valor de uma variável deve-se especificar onde o valor da


variável deve ser impresso.
Isso é realizado através da especificação do código de formato e definição de
qual variável imprimir.
Isso é realizado dando-se mais um argumento à função printf().

Exemplo:
COMANDOS DE ENTRADA E SAÍDA

\n quebra de linha (Pula para a próxima linha)

\r retrocede o cursor para o início da linha

\t insere uma tabulação no texto

\b retrocede o cursor uma posição

\“ imprime a aspas

\\ imprime uma barra invertida

\O nulo

\a sinal sonoro
COMANDOS DE ENTRADA E SAÍDA

Comandos de saída:
%i inteiros com sinais (base decimal)
%c character simples
%d inteiros com sinais (decimal)
%Id inteiro
%If double
%f ponto flutuante
%s cadeia de caracteres (string)
%u inteiros sem sinal
%x imprime um número na base hexadecimal. As letras serão minúsculas.
%X imprime um número na base hexadecimal. As letras serão maiúsculas.
%p Apresenta endereço de memória.
COMANDOS DE ENTRADA E SAÍDA
COMANDOS DE ENTRADA E SAÍDA

Permitem que o programa interaja com o usuário solicitando e mostrando dados na tela.
Comandos para entrada:
scanf() entrada formatada
gets() leitura string
getch() lê caractere e não aguarda o <enter>
getchar() Lê caractere e aguarda o <enter>

Comandos para saída:


printf() saída formatada
putchar() imprime caractere
puts() imprime string
COMANDOS DE ENTRADA E SAÍDA

entrada formatada leitura string lê caractere e não aguarda o <enter>


COMANDOS DE ENTRADA E SAÍDA

imprime string imprime caractere

saída formatada
COMANDOS CONDICIONAIS ESTRUTURA IF
O comando if não necessita de uma
expressão lógica no lugar do teste. Em C,
qualquer expressão que resultar ZERO será
considerada como FALSA e qualquer outro
valor é considerado VERDADEIRO.
Em C também temos o comando if – else if
– else que é frequentemente utilizado para
executar múltiplas comparações sucessiva.

Função SCANF
É possível ler mais de um valor e
armazenar em mais de uma variável
com apenas uma linha de comando
Exemplo de ELSE

O comando else é complementar ao if. Executa comandos caso a expressão lógica de if


for falsa.
Exemplo:
Exemplo de ELSE IF

O comando “else if” permite ao programador separar vários blocos de comandos e condicionar a execução
desses blocos.
Exemplo:
COMMANDO SWITCH CASE

É uma instrução que possibilita a seleção de


várias opções que dependam do resultado de
uma condição ou entrada pelo usuário.
É uma maneira de reduzir a complexidade de
vários if ...else encadeados. Ou seja, pode
substituir uma sequencia de condicionais if
encadeados.
O conteúdo de uma variável é comparado com
um valor constante, e caso a comparação seja
verdadeira, um determinado comando é
executado.
ESTRUTURA DE REPETIÇÃO

Em programação, muitas vezes é preciso repetir um trecho de código para


conseguir resolver um determinado problema ou realizar uma determinada tarefa.
As estruturas de repetição são, juntamente com a estrutura sequencial e as estruturas
condicionais, esses elementos são fundamentais em algoritmos e programação.
São três tipos principais de laços que permitem que um programador consiga
resolver centenas e centenas de problemas de maneira efetiva:
Laços do-while
Laço while
Laço for
ESTRUTURA DE REPETIÇÃO WHILE

while <condição> <comando>;


A estrutura de repetição while em C é utilizada para executar um bloco de código repetidamente enquanto uma determinada
condição for verdadeira. É uma das três estruturas de repetição disponíveis em C, juntamente com o for e o do-while.

int contador = 1; // inicializa a variável contador com o valor 1

while (contador <= 10) { // enquanto o contador for menor ou igual a 10


printf("%d ", contador); // exibe o valor atual do contador
contador++; // incrementa o valor do contador em 1
}

printf("\nFim do programa"); // exibe uma mensagem indicando o fim do programa


ESTRUTURA DE REPETIÇÃO do-while

O do-while é uma estrutura de repetição onde o teste condicional é feito no


fim, ou seja, o bloco de operações será executado pelo menos uma vez,
independentemente do valor lógico do teste condicional.
Comando do-while é utilizado para repetir um conjunto de comandos zero ou
mais vezes.
Comando do-while é utilizado sempre que o bloco de comandos deve ser
executado ao menos uma vez.
Sintaxe do-while:

Sempre
termina com
ponto e
vírgula
ESTRUTURA DE REPETIÇÃO do-while

Exemplo:

int contador = 1; // inicializa a variável contador com o valor 1

do {
printf("%d ", contador); // exibe o valor atual do contador
contador++; // incrementa o valor do contador em 1
} while (contador <= 10); // enquanto o contador for menor ou igual a 10

printf("\nFim do programa"); // exibe uma mensagem indicando o fim do programa


ESTRUTURA DE REPETIÇÃO for

Exemplo de código com estrutura de repetição for: O comando for possibilita que um comando
ou bloco de comandos seja repetido um
número específico de vezes.
Essa estrutura equivale ao seguinte código
com o while loop:

- O for é delimitado por um conjunto de chaves, assim como o while.


- O loop fica executando enquanto o teste condicional for verdadeiro,
ou seja, ao chegar na última linha, o fluxo de execução volta para o
teste e verifica se ele é verdadeiro ou falso.
COMANDO BREAK

O comando break é utilizado em C para interromper a execução de um laço


for, while ou do-while antes que a condição de saída seja alcançada.

for (int i = 1; i <= 10; i++) {


if (i == 5) {
printf("Interrompendo o loop...\n");
break; // interrompe o loop quando i = 5
}
printf("%d ", i); // exibe o valor atual de i
}

printf("\nFim do programa"); // exibe uma mensagem indicando o fim do programa


“A questão não é saber os
códigos ou linhas de comando, é
saber o que fazer com eles.

Sérgio Arena

Você também pode gostar