Você está na página 1de 35

Algoritmos e Programao

Conceitos Bsicos de Programao


Tema 1

Prof. Jeanne Dobgenski


Algoritmos

Podem ser definidos, basicamente, como uma


sequncia lgica e finita de passos para se
chegar a um resultado desejado.
Em computao, pode-se dizer que um
procedimento para resolver um problema
usando um nmero finito de instrues e que,
frequentemente, envolve a repetio de uma
ou mais operaes.
Algoritmos

Um problema pode ser resolvido por muitos


algoritmos distintos, mas ser que todas as
solues sero as mesmas ou satisfatrias?
So aceitas como requisitos para um
algoritmo cinco importantes propriedades:
finitude, definio, entrada, sada e eficcia.
Algoritmos: Propriedades

Finitude: um algoritmo deve sempre


terminar aps um nmero finito de etapas.
Definio: cada passo de um algoritmo
deve ser definido com preciso.
Entrada: so os valores informados ao
algoritmo antes que ele inicie.
Algoritmos: Propriedades

Sada: so os valores resultantes das aes


do algoritmo relacionadas com as entradas.
Eficcia: todas as operaes a serem
realizadas no algoritmo devem ser
suficientemente bsicas, podendo, em
princpio, serem feitas com preciso e em
um perodo de tempo finito por uma pessoa
usando papel e lpis.
Algoritmos: Exemplo 1

Algoritmo 1 Calcular Mdia Final


Passo 1 Obter a mdia do 1 bimestre.
Passo 2 Obter a mdia do 2 bimestre.
Passo 3 Obter o peso do 1 bimestre.
Passo 4 Obter o peso do 2 bimestre.
Passo 5 Efetuar o clculo da mdia final
ponderada com os dados obtidos nos Passos 1
a 4.
Passo 6 Apresentar o resultado do clculo
realizado no Passo 5.
Algoritmos: Passos para Construo
1. Compreender o problema.
2. Identificar os dados de entrada.
3. Identificar os dados de sada.
4. Determinar o que preciso para transformar
dados de entrada em dados de sada:
a.Observar regras e limitaes.
b.Identificar todas as aes a serem
realizadas.
c. Eliminar ambiguidades.
5. Construir o algoritmo.
6. Testar o algoritmo.
7. Executar o algoritmo.
Algoritmos: Dados

Dado um elemento identificado em sua forma


bruta que sozinho no conduz a uma
compreenso de um fato ou situao.
No Algoritmo 1, a mdia e o peso so dados
numricos.
Um dado pode ser inteiro, real, caracter.
Em C, um valor inteiro ocupa 2 bytes e um
real ocupa o dobro 4 bytes de espao em
memria.
Algoritmos: Detalhando as Instrues
Para apresentar o Algoritmo 1 de forma mais
prxima a um programa, preciso escrev-lo com
instrues que o computador compreenda.
preciso especificar os clculos matemticos;
definir o tipo de cada um dos dados de entrada e
sada e como eles sero identificados pelo
programa, ou seja, como sero
chamados/localizados.
Algoritmos: Exemplo 2
Algoritmo 2 Programa para Calcular Mdia Final Constante
// Declarao dos dados
valor real M_1B // mdia do 1 bimestre
M_2B // mdia do 2 bimestre
MF // mdia final
valor inteiro P_1B // peso do 1 bimestre
P_2B // peso do 2 bimestre
// Instrues do Programa: Entrada Processamento Sada
M_1B 7.0 // Passo 1 no Algoritmo 1
M_2B 4.0 // Passo 2
P_1B 4 // Passo 3
P_2B 6 // Passo 4
MF ((M_1B * P_1B) + (M_2B * P_2B)) / (P_1B + P_2B) // Passo 5
MF = 5.2 // Passo 6
Conceitos Bsicos de Programao

Continuando
Programao: Definio

Programar consiste na codificao precisa de


um algoritmo usando alguma linguagem de
programao.
Para Ziviani (2002), programar basicamente
estruturar dados e construir algoritmos, sendo
que os programas representam uma classe
especial de algoritmos capazes de serem
seguidos por computadores.
Programao: Linguagem C

Portvel fcil adaptao do software de um


computador para outro.
Estruturada a principal componente
estrutural de C a funo. Os blocos de
cdigo (um grupo de comandos) tambm so
considerados como componentes estruturais
(iniciam com { e finalizam com }).
Programao: Linguagem C

Possibilita criar uma biblioteca de funes


prprias, genricas, que podem ser usadas
em muitos programas diferentes.
Uma biblioteca um arquivo com um
conjunto de funes que o programa pode
usar (funes de E/S) uma biblioteca
padro do C <stdio.h> que possui as
funes de leitura e escrita, por exemplo.
Algoritmos: Exemplo 3
/* Programa 1 Exemplo de composio de um programa
em C. */
#incluso de arquivos

tipo nome_da_funcao(declarao dos parmetros)


{
declarao de variveis;
instruo_2;
instruo_3;
................
instruo_n;
return valor_var_tipo;
}
Exemplo 4: Primeiro Programa em C

/* Programa 2 Primeiro programa


em C.*/
#include <stdio.h>

int main()
{
printf (Ol mundo!);
return 0;
}
Exemplo 5: Escrever uma Sada
Em linguagem algortmica /* Programa 3 Uso do printf. */
Imprimir( Mensagem );
#include <stdio.h>
Uso da funo printf
localizada na biblioteca int main()
<stdio.h>
{
printf(Mensagem);
printf(Primeiro programa\n);
Caracteres Especiais
\n : nova linha printf(Primeiro \nprograma\n);
\t : tabulao printf(Primeiro \programa\\n);
\ : aspas ()
\ : aspas () printf(Primeiro \tprograma\n);
\\ : barra invertida (\) printf(Primeiro \\programa\n);
\? : interrogao (?) }
Exemplo 6: Declarao e Definio de
Variveis
Declarao /* Programa 4 declarao. */
#include <stdio.h>
tipo nome_da_varivel;
int main()
{
Exemplo: int lado1, lado2;
int NumAlunos; int area = 0;
/* Erro comum: */
int lado1 = 0, lado2 = 0;
/* Correto: */
Definio int lado1 = 0;
tipo nome = valor; int lado2 = 0;
/* ou: */
int lado1, lado2;
Exemplo: lado1 = lado2 = 0;
int NumAlunos = 60; }
Exemplo 7: Tipos de Dados
Tipos Bsicos /* Programa 4 Tipos de dados. */

int : inteiro #include <stdio.h>


char : caractere int main()
float : ponto flutuante {
double: ponto flutuante int lado1, lado2;
int area;
Modificadores
float salario = 1000.00;
short : reduzido
double area = 8.15*10E7;
long : estendido
unsigned : sem sinal char cod = S;
}
Conceitos Bsicos de Programao

Agora sua vez


Exerccio 1

Escrever um programa em C que receba


um valor inteiro e dois reais, calculando
uma taxa a ser apresentada para o
usurio.
Exerccio 1: Soluo
Uso da funo printf com /* Programa 5 Sada de dados */
strings de formatao #include <stdio.h>
printf(%Cod, Valor);
int main()
Exemplos {
int quadra = 12;
%d : imprime inteiro
float area, areaMax, inf;
%f : float areaMax = 200.0;
area = 220;
%lf : double printf(Quadra: %d\n, quadra);
%c : caractere printf(rea: %6.2f\n, area);
inf = (area/areaMax - 1)*100;
%s : cadeia de printf(Taxa %4.1f tabelada,inf);
caracteres }
Exerccio 1: Soluo

Uso da funo printf com strings de formatao


printf(%Cod, Valor);

espao a varivel
reservado do tipo float
para o nmero

%6.2f 1 2 3 . 5 6

nmero de
indicao de casas
string de format. decimais
Exerccio 2

Escrever um programa em C que escreva


na tela o valor real 10.000,01.
Exerccio 2: Soluo
Declarao /* Programa 6 declarao e
sada. */
real valor=10000,01;
#include <stdio.h>
int main()
Sada {
float valor= 10000,01;
printf(mensagem);
printf (O valor real definido %8.2f,
valor);
return 0;
}
Exerccio 3

Escrever um programa em C que escreva


na tela o valor real 0,0001.
Exerccio 3: Soluo
Declarao /* Programa 7 declarao e
sada. */
real valor=0,0001;
#include <stdio.h>
int main()
Sada {
float valor= 0,0001;
printf(mensagem);
printf (O valor real definido %6.4f,
valor);
return 0;
}
Conceitos Bsicos de Programao

Finalizando
Algoritmos

definido como uma sequncia lgica e finita


de passos para se chegar a um resultado
desejado.

Um problema pode ser resolvido por muitos


algoritmos distintos, e nem todas as solues
sero as mesmas ou satisfatrias.

Cinco importantes propriedades: finitude,


definio, entrada, sada e eficcia.
Algoritmos: Passos para Construo

1. Compreender o problema.
2. Identificar os dados de entrada.
3. Identificar os dados de sada.
4. Determinar o que preciso para transformar
dados de entrada em dados de sada:
a.Observar regras e limitaes.
b.Identificar todas as aes a serem
realizadas.
c. Eliminar ambiguidades.
5. Construir o algoritmo.
6. Testar o algoritmo.
7. Executar o algoritmo.
Algoritmos: Programa em C

/* Programa 1 Exemplo de composio de um programa


em C. */
#incluso de arquivos

tipo nome_da_funcao(declarao dos parmetros)


{
declarao de variveis;
instruo_2;
instruo_3;
................
instruo_n;
return valor_var_tipo;
}
C: Como Escrever uma Sada
Em linguagem algortmica /* Programa 3 Uso do printf. */
Imprimir( Mensagem );
#include <stdio.h>
Uso da funo printf
localizada na biblioteca int main()
<stdio.h>
{
printf(Mensagem);
printf(Primeiro programa\n);
Caracteres Especiais
\n : nova linha printf(Primeiro \nprograma\n);
\t : tabulao printf(Primeiro \programa\\n);
\ : aspas ()
\ : aspas () printf(Primeiro \tprograma\n);
\\ : barra invertida (\) printf(Primeiro \\programa\n);
\? : interrogao (?) }
C: Declarao e Definio de Variveis
Declarao /* Programa 4 declarao. */
#include <stdio.h>
tipo nome_da_varivel ;
int main()
{
Exemplo: int lado1, lado2;
int NumAlunos; int area = 0;
/* Erro comum: */
int lado1 = 0, lado2 = 0;
/* Correto: */
Definio int lado1 = 0;
tipo nome = valor; int lado2 = 0;
/* ou: */
int lado1, lado2;
Exemplo: lado1 = lado2 = 0;
int NumAlunos = 60; }
C: Como Escrever uma Sada
Uso da funo printf com /* Programa 5 Sada de dados */
strings de formatao #include <stdio.h>
printf(%Cod, Valor);
int main()
Exemplos {
int quadra = 12;
%d : imprime inteiro
float area, areaMax, inf;
%f : float areaMax = 200.0;
area = 220;
%lf : double printf(Quadra: %d\n, quadra);
%c : caractere printf(rea: %6.2f\n, area);
inf = (area/areaMax - 1)*100;
%s : cadeia de printf(Taxa %4.1f tabelada,inf);
caracteres }
Referncias

MIZRAHI, Victorine Viviane. Treinamento em Linguagem C.


1 ed. So Paulo: Pearson, 2007. PLT 192

PIVA JUNIOR, Dilermando; NAKAMITI, Gilberto Shigueo;


ENGELBRECHT, Angela de M.; BIANCHI, Francisco.
Algoritmos e Programao de Computadores. Rio de
Janeiro: Elsevier, 2012. PLT 633

SCHILDT, Herbert. C, completo e total. So Paulo: Makron


Books, 1996.

ZIVIANI, Nivio. Projeto de Algoritmos: com


implementaes em Pascal e C. So Paulo: Pioneira, 2002.