Você está na página 1de 103

Minicurso De Introduo Programao para C& T

1 / 80

Minicurso De Introduo Programao para C& T

Minicurso De Introduo Programao para


C& T
Aguinaldo

Allan

David Erick Kaira


Josecley F. Ges1

Naim

Tlio1

Laboratrio de Modelagem Computacional em Alto Desempenho(LMCad)


Programa de Cincias & Tecnologia (PC&T)
Instituto de Engenharias e Geocincias (IEG)
Universidade Federal do Oeste do Par (UFOPA)

18 de Maio de 2015

2 / 80

Minicurso De Introduo Programao para C& T

Sumrio

Introduo Lgica de Programao

Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados
Operadores

3 / 80

Minicurso De Introduo Programao para C& T

Parte I
Introduo Lgica de
Programao

4 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Introduo Lgica de Programao

O que vamos estudar:


Noes de Lgica;
Sequncia Lgica;
Instrues;
Algoritmos;
Programas;
Exerccios.

5 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Lgica

Definies
Nada mais do que conseguir organizar os pensamentos para
que se consiga chegar a um determinado objetivo.
Sequncia Lgica
So os passos executados at atingir um objetivo ou a soluo
de um problema.

6 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Lgica

Definies
Nada mais do que conseguir organizar os pensamentos para
que se consiga chegar a um determinado objetivo.
Sequncia Lgica
So os passos executados at atingir um objetivo ou a soluo
de um problema.

6 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues
Definies
Instrues: Na linguagem comum, entende-se por instrues "um
conjunto de regras ou normas definidas para a realizao ou emprego de algo".
Em informtica, porm, instruo a informao que indica a um
computador uma ao elementar a executar.
Convm ressaltar que uma ordem isolada no permite realizar o
processo completo, para isso necessrio um conjunto de instrues colocadas em ordem sequencial lgica.
um conjunto de regras ou normas definidas para a realizao
ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

7 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues
Definies
Instrues: Na linguagem comum, entende-se por instrues "um
conjunto de regras ou normas definidas para a realizao ou emprego de algo".
Em informtica, porm, instruo a informao que indica a um
computador uma ao elementar a executar.
Convm ressaltar que uma ordem isolada no permite realizar o
processo completo, para isso necessrio um conjunto de instrues colocadas em ordem sequencial lgica.
um conjunto de regras ou normas definidas para a realizao
ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

7 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues
Definies
Instrues: Na linguagem comum, entende-se por instrues "um
conjunto de regras ou normas definidas para a realizao ou emprego de algo".
Em informtica, porm, instruo a informao que indica a um
computador uma ao elementar a executar.
Convm ressaltar que uma ordem isolada no permite realizar o
processo completo, para isso necessrio um conjunto de instrues colocadas em ordem sequencial lgica.
um conjunto de regras ou normas definidas para a realizao
ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

7 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues
Definies
Instrues: Na linguagem comum, entende-se por instrues "um
conjunto de regras ou normas definidas para a realizao ou emprego de algo".
Em informtica, porm, instruo a informao que indica a um
computador uma ao elementar a executar.
Convm ressaltar que uma ordem isolada no permite realizar o
processo completo, para isso necessrio um conjunto de instrues colocadas em ordem sequencial lgica.
um conjunto de regras ou normas definidas para a realizao
ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

7 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues

Exemplos
Trocar o pneu furado de um carro;
Trocar uma lmpada;
Fazer uma receita de bolo;
Construir uma casa.

8 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues

Exemplos
Trocar o pneu furado de um carro;
Trocar uma lmpada;
Fazer uma receita de bolo;
Construir uma casa.

8 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues

Exemplos
Trocar o pneu furado de um carro;
Trocar uma lmpada;
Fazer uma receita de bolo;
Construir uma casa.

8 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Instrues

Exemplos
Trocar o pneu furado de um carro;
Trocar uma lmpada;
Fazer uma receita de bolo;
Construir uma casa.

8 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Definies
Nada mais do que uma receita que mostra passo a passo as
instrues necessrias para a resoluo de uma tarefa;
Algoritmo no responde "o que fazer"e sim "como fazer";
Vale ressaltar que quando se trata de computadores, no se
existe a palavra "bvio", ento necessrio se informar exatamente as instrues a serem realizadas para que ele entenda o
que fazer.
Algoritmos so conjuntos de passos finitos, que visam realizar
uma tarefa ou a resoluo de um problema.

9 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Definies
Nada mais do que uma receita que mostra passo a passo as
instrues necessrias para a resoluo de uma tarefa;
Algoritmo no responde "o que fazer"e sim "como fazer";
Vale ressaltar que quando se trata de computadores, no se
existe a palavra "bvio", ento necessrio se informar exatamente as instrues a serem realizadas para que ele entenda o
que fazer.
Algoritmos so conjuntos de passos finitos, que visam realizar
uma tarefa ou a resoluo de um problema.

9 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Definies
Nada mais do que uma receita que mostra passo a passo as
instrues necessrias para a resoluo de uma tarefa;
Algoritmo no responde "o que fazer"e sim "como fazer";
Vale ressaltar que quando se trata de computadores, no se
existe a palavra "bvio", ento necessrio se informar exatamente as instrues a serem realizadas para que ele entenda o
que fazer.
Algoritmos so conjuntos de passos finitos, que visam realizar
uma tarefa ou a resoluo de um problema.

9 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Definies
Nada mais do que uma receita que mostra passo a passo as
instrues necessrias para a resoluo de uma tarefa;
Algoritmo no responde "o que fazer"e sim "como fazer";
Vale ressaltar que quando se trata de computadores, no se
existe a palavra "bvio", ento necessrio se informar exatamente as instrues a serem realizadas para que ele entenda o
que fazer.
Algoritmos so conjuntos de passos finitos, que visam realizar
uma tarefa ou a resoluo de um problema.

9 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Exemplo 1: Trocar uma lmpada


1

pegar uma escada;

posicionar a escada embaixo da lmpada;

buscar uma lmpada nova;

subir na escada;

retirar a lmpada velha;

colocar a lmpada nova.

Observao: O algoritmo tem um objetivo bem definido: trocar uma


lmpada. Porm, e se a lmpada no estivesse queimada?

10 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos
Exemplo 2: Trocar uma lmpada
1

pegar uma escada;

posicionar a escada embaixo da lmpada;

buscar uma lmpada nova;

Acionar o interruptor;
Se a lmpada no acender, ento

1
2
3

subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.

Observao: O algoritmo est correto, visto que atinge seu objetivo,


porm, pode ser melhorado, uma vez que buscamos uma escada e
uma lmpada sem saber se sero necessrias.
11 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Exemplo 3: Trocar uma lmpada


1
2

Acionar o interruptor;
Se a lmpada no acender, ento
1
2
3
4
5
6

pegar uma escada;


posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.

Observao: O algoritmo est correto, visto que atinge seu objetivo,


porm, pode ser melhorado, uma vez que buscamos uma escada e
uma lmpada sem saber se sero necessrias.

12 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos
Exemplo 3: Trocar uma lmpada
1
2

acionar o interruptor;
Se a lmpada no acender, ento
1
2
3
4
5
6
7

pegar uma escada;


posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.
Se a lmpada no acender, ento
1
2

retirar a lmpada queimada;


colocar outra lmpada nova;
..
.
At quando ???

13 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos

Exemplo 4: Trocar uma lmpada


1
2

acionar o interruptor;
Se a lmpada no acender, ento
1
2
3
4
5
6
7

pegar uma escada;


posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.
Enquanto a lmpada no acender, ento
1
2

retirar a lmpada queimada;


colocar outra lmpada nova;

14 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos
Exemplo 5: Trocar uma lmpada
1

acionar o interruptor do primeiro soquete;

Se a lmpada no acender, ento


1
2
3
4
5
6
7

pegar uma escada;


posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.
Enquanto a lmpada no acender, ento
1
2

retirar a lmpada queimada;


colocar outra lmpada nova;

acionar o interruptor do segundo soquete;

Se a lmpada no acender, ento


1
2

pegar uma escada;


posicionar a escada embaixo da lmpada;
..

15 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Algoritmos
Exemplo 6: Trocar uma lmpada
1
2

Ir at o interruptor do primeiro soquete.


Enquanto a qtde de soquetes testados for menor ou igual que
dez, faa
1
2

acionar o interruptor do primeiro soquete;


Se a lmpada no acender, ento
1
2
3
4
5
6
7

pegar uma escada;


posicionar a escada embaixo da lmpada;
buscar uma lmpada nova;
subir na escada;
retirar a lmpada velha;
colocar a lmpada nova.
Enquanto a lmpada no acender, ento

ir at o interruptor do prximo soquete;

16 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Programas

Definies
Linguagem de programao a forma com que o programador
consegue interagir com o computador utilizando de uma sintaxe
na qual ele consegue escrever seus algoritmos em um cdigo
fonte, que ser interpretado ou compilado para que o computador
consiga entender.
Exemplos de linguagem de programao: Pascal/Delphi, Visual
Basic, Ruby, PHP, C/C++, C#, Java, python, entre muitas outras.
Programa de computador um conjunto de algoritmos escritos
em alguma linguagem de programao, que so interpretadas
pelo computador.

17 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Programas

Definies
Linguagem de programao a forma com que o programador
consegue interagir com o computador utilizando de uma sintaxe
na qual ele consegue escrever seus algoritmos em um cdigo
fonte, que ser interpretado ou compilado para que o computador
consiga entender.
Exemplos de linguagem de programao: Pascal/Delphi, Visual
Basic, Ruby, PHP, C/C++, C#, Java, python, entre muitas outras.
Programa de computador um conjunto de algoritmos escritos
em alguma linguagem de programao, que so interpretadas
pelo computador.

17 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Programas

Definies
Linguagem de programao a forma com que o programador
consegue interagir com o computador utilizando de uma sintaxe
na qual ele consegue escrever seus algoritmos em um cdigo
fonte, que ser interpretado ou compilado para que o computador
consiga entender.
Exemplos de linguagem de programao: Pascal/Delphi, Visual
Basic, Ruby, PHP, C/C++, C#, Java, python, entre muitas outras.
Programa de computador um conjunto de algoritmos escritos
em alguma linguagem de programao, que so interpretadas
pelo computador.

17 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos

Calcular a mdia entre dois nmeros


1

Obtenho o primeiro nmero e guardo em uma incgnita x;

Obtenho o segundo nmero e guardo em uma incgnita y ;


Obtenho a soma desses dois nmeros e guardo numa incgnita
s (s = x + y );

Obtenho o resultado dividindo a incgnita s por dois


s
(resultado = )
2

18 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos

Calcular a mdia entre dois nmeros


1

Obtenho o primeiro nmero e guardo em uma incgnita x;

Obtenho o segundo nmero e guardo em uma incgnita y ;


Obtenho a soma desses dois nmeros e guardo numa incgnita
s (s = x + y );

Obtenho o resultado dividindo a incgnita s por dois


s
(resultado = )
2

18 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos

Calcular a mdia entre dois nmeros


1

Obtenho o primeiro nmero e guardo em uma incgnita x;

Obtenho o segundo nmero e guardo em uma incgnita y ;


Obtenho a soma desses dois nmeros e guardo numa incgnita
s (s = x + y );

Obtenho o resultado dividindo a incgnita s por dois


s
(resultado = )
2

18 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos

Calcular a mdia entre dois nmeros


1

Obtenho o primeiro nmero e guardo em uma incgnita x;

Obtenho o segundo nmero e guardo em uma incgnita y ;


Obtenho a soma desses dois nmeros e guardo numa incgnita
s (s = x + y );

Obtenho o resultado dividindo a incgnita s por dois


s
(resultado = )
2

18 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos


Torre de Hanoi

Go to my frame

19 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 1 Disco

20 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 1 Disco

1
Mova o disco da torre 1 para a torre 3.

21 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 1 Disco

OK
1

22 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 2 Discos

1
2

23 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 2 Discos

1
Mova o disco da torre 1 para a torre 2.

24 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 2 Discos

Mova o disco da torre 1 para a torre 3.

25 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 2 Discos

1
2
Mova o disco da torre 2 para a torre 3.

26 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 2 Discos

OK
1
2

27 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

1
2
3

28 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

2
3

1
Mova o disco da torre 1 para a torre 3.

29 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

Mova o disco da torre 1 para a torre 2.

30 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

1
2
Mova o disco da torre 3 para a torre 2.

31 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

1
2

Mova o disco da torre 1 para a torre 3.

32 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

Mova o disco da torre 2 para a torre 1.

33 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

2
3

1
Mova o disco da torre 2 para a torre 3.

34 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

1
2
3
Mova o disco da torre 1 para a torre 3.

35 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 3 Discos

OK

1
2
3

36 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2
3
4

37 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

2
3
4

1
Mova o disco da torre 1 para a torre 2.

38 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

3
4

Mova o disco da torre 1 para a torre 3.

39 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

3
4

1
2
Mova o disco da torre 2 para a torre 3.

40 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2

Mova o disco da torre 1 para a torre 2.

41 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
4

Mova o disco da torre 3 para a torre 1.

42 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
4

2
3
Mova o disco da torre 3 para a torre 2.

43 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2
3
Mova o disco da torre 1 para a torre 2.

44 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2
3

Mova o disco da torre 1 para a torre 3.

45 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

2
3

1
4

Mova o disco da torre 2 para a torre 3.

46 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
4

Mova o disco da torre 2 para a torre 1.

47 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2

Mova o disco da torre 3 para a torre 1.

48 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2

3
4
Mova o disco da torre 2 para a torre 3.

49 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

3
4

Mova o disco da torre 1 para a torre 2.

50 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

2
3
4

Mova o disco da torre 1 para a torre 3.

51 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

1
2
3
4
Mova o disco da torre 2 para a torre 3.

52 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Torre de Hanoi 4 Discos

OK

1
2
3
4

53 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Tower of Hanoi 5 Disc

1
2
3
4
5

?
54 / 80

Minicurso De Introduo Programao para C& T


Introduo Lgica de Programao

Conceitos: Exerccios Prticos


Atravessar o Rio

55 / 80

Minicurso De Introduo Programao para C& T

Parte II
Desenvolvendo Algoritmos

56 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Desenvolvendo Algoritmos

Pseudocdigos
Pseudocdigo uma aluso a uma linguagem de programao,
que servem para descrevermos algoritmos em uma linguagem
simples e nativa de fcil entendimento;
Onde qualquer pessoa que ler o cdigo, sem a necessidade do
programador explicar, o entenda;
Pseudocdigos so escritos de forma a serem to ricos em detalhes, que facilmente se conseguir traduzi-los a uma linguagem
de programao;
Durante o curso iremos utilizar uma codificao de
pseudocdigo bastante utilizada que o Portugol.

57 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Desenvolvendo Algoritmos

Pseudocdigos
Pseudocdigo uma aluso a uma linguagem de programao,
que servem para descrevermos algoritmos em uma linguagem
simples e nativa de fcil entendimento;
Onde qualquer pessoa que ler o cdigo, sem a necessidade do
programador explicar, o entenda;
Pseudocdigos so escritos de forma a serem to ricos em detalhes, que facilmente se conseguir traduzi-los a uma linguagem
de programao;
Durante o curso iremos utilizar uma codificao de
pseudocdigo bastante utilizada que o Portugol.

57 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Desenvolvendo Algoritmos

Pseudocdigos
Pseudocdigo uma aluso a uma linguagem de programao,
que servem para descrevermos algoritmos em uma linguagem
simples e nativa de fcil entendimento;
Onde qualquer pessoa que ler o cdigo, sem a necessidade do
programador explicar, o entenda;
Pseudocdigos so escritos de forma a serem to ricos em detalhes, que facilmente se conseguir traduzi-los a uma linguagem
de programao;
Durante o curso iremos utilizar uma codificao de
pseudocdigo bastante utilizada que o Portugol.

57 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Desenvolvendo Algoritmos

Pseudocdigos
Pseudocdigo uma aluso a uma linguagem de programao,
que servem para descrevermos algoritmos em uma linguagem
simples e nativa de fcil entendimento;
Onde qualquer pessoa que ler o cdigo, sem a necessidade do
programador explicar, o entenda;
Pseudocdigos so escritos de forma a serem to ricos em detalhes, que facilmente se conseguir traduzi-los a uma linguagem
de programao;
Durante o curso iremos utilizar uma codificao de
pseudocdigo bastante utilizada que o Portugol.

57 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Regras para a Construo de Algoritmos


Construindo...
Os algoritmos devem se escritos de forma simples e objetiva
seguindo algumas normas:
Apenas um verbo por frase:
Escreva seu peso (Ok);
Escreva o seu peso e sua altura (No OK);

O correto seria quebrar em duas instrues;


Escreva seu peso;
Escreva a sua altura.

Escreva pensando que o leitor uma pessoa que no trabalha


com informtica;
Usar frases curtas;
Ser objetivo;
No usar palavras que possam confundir.
58 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Regras para a Construo de Algoritmos


Fases
Vimos que um algoritmo um conjunto de passos/instrues,
organizados seguindo uma sequncia lgica, que so executados
para se atingir um objetivo.
Os algoritmos so quebrados em trs etapas:
1

Entrada;

Processamento;

Sada/Resultados.
Entrada:
So os dados informados para que sejam processados.

Processamento
So os procedimentos feitos para que se atinja a sada/resultado.

Sada:
So os dados j processados.
59 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Regras para a Construo de Algoritmos


Exemplo: Receita Bolo

Exemplo: Calcule o IMC


Entrada:
Altura e Peso.

Processamento
IMC = peso / (altura * altura)

Sada:
MC
60 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

Regras para a Construo de Algoritmos


Exemplo: Receita Bolo

Exemplo: Calcule o IMC


Entrada:
Altura e Peso.

Processamento
IMC = peso / (altura * altura)

Sada:
MC
60 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Portugol um ambiente de desenvolvimento de algoritmos
que visa o desenvolvimento do raciocnio algortmico atravs de
um ambiente simples e com ferramentas visuais para desenvolvimento e depurao dos algoritmos desenvolvidos;
Neste ambiente privilegiamos o desenvolvimento de algoritmos
ao invs do desenvolvimento de programas;
Utilizamos a linguagem algortmica, uma pseudo-linguagem de
programao que utiliza o portugus como base das suas
instrues;
61 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Portugol um ambiente de desenvolvimento de algoritmos
que visa o desenvolvimento do raciocnio algortmico atravs de
um ambiente simples e com ferramentas visuais para desenvolvimento e depurao dos algoritmos desenvolvidos;
Neste ambiente privilegiamos o desenvolvimento de algoritmos
ao invs do desenvolvimento de programas;
Utilizamos a linguagem algortmica, uma pseudo-linguagem de
programao que utiliza o portugus como base das suas
instrues;
61 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Portugol um ambiente de desenvolvimento de algoritmos
que visa o desenvolvimento do raciocnio algortmico atravs de
um ambiente simples e com ferramentas visuais para desenvolvimento e depurao dos algoritmos desenvolvidos;
Neste ambiente privilegiamos o desenvolvimento de algoritmos
ao invs do desenvolvimento de programas;
Utilizamos a linguagem algortmica, uma pseudo-linguagem de
programao que utiliza o portugus como base das suas
instrues;
61 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Editor de algoritmo tem ferramentas que complementam e corrigem algumas falhas que o aprendiz comete;
O Editor de fluxograma uma abordagem grfica da programao que permite o desenvolvimento de algoritmos de forma visual
e com ferramentas fazem a traduo de e para linguagem algortmica;
Qualquer um dos mdulos permite fazer a execuo do
algoritmo e a depurao dos mesmo.
62 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Editor de algoritmo tem ferramentas que complementam e corrigem algumas falhas que o aprendiz comete;
O Editor de fluxograma uma abordagem grfica da programao que permite o desenvolvimento de algoritmos de forma visual
e com ferramentas fazem a traduo de e para linguagem algortmica;
Qualquer um dos mdulos permite fazer a execuo do
algoritmo e a depurao dos mesmo.
62 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

O que ?
O Editor de algoritmo tem ferramentas que complementam e corrigem algumas falhas que o aprendiz comete;
O Editor de fluxograma uma abordagem grfica da programao que permite o desenvolvimento de algoritmos de forma visual
e com ferramentas fazem a traduo de e para linguagem algortmica;
Qualquer um dos mdulos permite fazer a execuo do
algoritmo e a depurao dos mesmo.
62 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

Requesitos:
Instalar Java JRE (Java Runtime Environment) http://www.java.com/en/download/index.jsp
Pode verificar qual a verso do Java JRE instalada no seu
computador em:
http://www.java.com/en/download/installed.jsp
Pgina de Download e Ajuda
http://www.dei.estt.ipt.pt/portugol/node/32
63 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE

Execuo
Descomprimir o ficheiro portugol23.zip.
Executar o ficheiro run.bat ou clique no arquivo Portugol.jar
Notas:
Plataformas baseadas no unix devem executar a partir do
ficheiro jar ("java -jar Portugol.jar").
No caso do MacOSX, o Java JRE deve ser instalado atravs do
Apple Software Update.

64 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE
Tela inicial do Portugol

65 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE
Tela inicial do Portugol

66 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos

PortugolIDE
Definies
A linguagem algortmica utiliza o portugus para a definio dos
comandos e tem as seguintes caracterstica:
1

A linguagem no sensvel capitulao ( no faz distino


entre letras minsculas e maisculas);

Todos os algoritmos comeam por inicio e terminam com fim;


Sintaxe:
incio
Algoritmo
fim
cada linha contm apenas um comando (o enter funciona como
sinalizador de fim de comando);

O sinal de atribuio a seta ( <- );

A definio de smbolos feita em qualquer local do algoritmo.


67 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

Constantes e Variveis
Para desenvolvermos nossos algoritmos precisaremos muitas vezes
armazenar informaes em alguma estrutura, para que possamos
manipular e tratar essas informaes. Essas estruturas so as
constantes e variveis. Essas estruturas iro precisar ser declaradas
com seu tipo e nome.
Varivel
um espao da memria reservado para guardar alguma
informao. As variveis precisam ser declaradas com seu tipo e
nome. As variveis possuem valores que podem ser alterados no
decorrer do cdigo.
Constante
um espao reservado de memria para guardar informaes. A
constante precisa ser declarada com seu tipo e nome. A constante
possui um valor fixo que no pode ser alterado no decorrer do cdigo.
68 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

Regras para declaraes


Varivel
Seu nome no deve comear com nmero;
variavel real 1ValorInicial -> ERRADO
variavel real valorInicial1 -> CORRETO

No use caracteres especiais, ou acentuao.


variavel real valor inicial -> ERRADO (uso de espao no
permitido)
variavel real valorInicial -> ERRADO (uso de caractere especial )
variavel real valorSada -> ERRADO (uso de acentuao "Sada")
variavel real valor_Inicial -> CORRETO(uso de underline
permitido)
variavel real valorInicial -> CORRETO

No use palavras reservadas pelo programa (Palavras reservadas so nomes utilizadas pelos programas para executar alguma
funo, como por exemplo no Portugol as palavras ler, escrever
, inicio e fim so palavras reservadas)
69 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

Regras para declaraes

Constante
Se aplica as mesmas das variveis com a exceo que so
escritas em caixa alta.
a constante real pi = 3. 14159265 -> ERRADO (Para constantes
devemos utilizar texto em caixa ALTA)
a constante real PI = 3. 14159265 -> CORRETO

70 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

PortugolIDE:Tipos de Dados
Quando formos declarar nossas constantes ou variveis, precisamos
informar alm do nome qual o seu tipo de dado que ele ir guardar.
Esses tipos so os que iro definir o que pode ou no pode ser
armazenado em nossas constantes e variveis.
Vejamos abaixo os tipos que so suportados pelo Portugol:
bsicos
Tipo
Inteiro
Real
Lgico
Carcter
Texto

Descrio

Valores

Valores ordinais definidos com 4


bits
Valores com parte decimal definidos com 64 bits
Valore lgicos - 1 bit
Caracteres da Tabela ASCII

2.147.483.648
2.147.483.647
1.7E 308 1.7E 308

Conjuntos
de
caracteres.
"Sequncias de caracteres"

verdadeiro ou falso
ASCII(0)
ASCII(255)
"entre aspas"

Valor
por
defeito
0
0.0
falso
(espao)
(vazio)

71 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

Regras para declaraes


Variveis: Sintaxe
variavel [tipo] [nome] <- [expresso]
variavel [tipo] [nome] <- [valor] ,[nome] <- [expresso]
[tipo] [nome] <- [expresso]
[tipo] [nome]
Variveis: Exemplos
variavel inteiro idade <- 18
variavel real peso <- 23.14
logico repetente
texto nome <- "Antonio", apelido <- "Sousa"
caracter sexo <- "M"

72 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Constantes, Variveis e Tipos de Dados

PortugolIDE: Tipos de Dados

Constantes: Sintaxe
constante [tipo] [nome] <- [valor]
constante [tipo] [nome] <- [expresso]
constante [tipo] [nome] <- [valor],[nome] <- [expresso]
Constantes: Exemplos
constante inteiro meses <- 12
constante real pi <- 3.141592

73 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Operadores
Os operadores so as formas com que conseguimos modificar e
comparar nossos dados. Existem trs classes de operadores:
Aritmticos;
Relacionais;
Lgicos.
Operadores aritmticos
Operador
+
/
*
%
^

Descrio
Adio
Subtrao
Diviso
Multiplicao
Resto da diviso
Potenciao

Exemplo
x <- 10 + 10
x <- 20 10
x <- 20/2
x <- 10 2
x <- 13%4
x <- 52

Valor
x = 20
x = 10
x = 10
x = 20
x =1
x = 25
74 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Operadores

Operadores Relacionais
Os operadores relacionais so utilizados para obtermos
comparaes entre valores sempre resultando um valor lgico
(verdadeiro ou falso).
Operador Descrio
Exemplo
Valor
=
Igual
x <- 100; x = 200
Falso
=/=
Diferente
x <- 100;x = / = 200 Verdadeiro
>
Maior
x <- 100 ; x > 200
Falso
<
Menor
x <- 100 ; x < 200
Verdadeiro
>=
Maior ou igual
x <- 100; x >= 100
Verdadeiro
<=
Menor ou igual x <- 100; x <= 200
Verdadeiro

75 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Operadores
Operadores Lgicos
Os operadores lgicos so utilizados para combinarmos resultados de expresses
relacionais (Verdadeiro ou falso), essas combinaes resultam em um valor lgico
(Verdadeiro ou falso).
Operador
Descrio
Exemplo
Valor
E
Conjuno verdadeiro E Verda- verdadeiro
deiro
E
Conjuno verdadeiro E falso
Falso
OU
Disjuno
verdadeiro E Verdaverdadeiro
deiro
OU
Disjuno
verdadeiro OU falso
Verdadeiro
E
Conjuno (2 = 2) E (2 = 3) (ver- Falso
dadeiro) E (falso)
OU
Disjuno
(2 = 2) OU (2 = 3) Verdadeiro
(verdadeiro)
OU
(falso)
E
Conjuno ("A"< "B") E (2 > 3) Falso
(verdadeiro) E (falso)
NAO
Negao
NAO verdadeiro
Falso
NAO
Negao
NAO falso
Verdadeiro
76 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Exemplos Prticos
Informe o valor de cada expresso:
inicio
variavel inteiro a <- 20
variavel inteiro b <- 20
// Aritmticos
escrever "A + B = ", a + b, "\n"
escrever "A / B = ", a / b, "\n"
escrever "A % B = ", a % b, "\n"
escrever "A * B = ", a * b, "\n"
escrever "A ^ B = ", a^ b, "\n"
// Relacionais
escrever "A = B ", a = b, "\n"
escrever "A =/= B", a =/= b, "\n"
escrever "A > B ", a > b, "\n"
escrever "A < B ", a < b , "\n"
escrever "A >= B", a >= b, "\n"
escrever "A <= B", a <= b, "\n"
// Lgico
escrever "(A=B)E (A > B)", a = b E a > b, "\n"
escrever "(A=B)OU (A > B)", a = b OU a> b, "\n"
fim
77 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Atividades

Escreva os algoritmos a seguir usando o Portugol


1

Faa um algoritmo que leia as trs notas de um aluno de Mtodos Matemticos I


nota1 + nota2 + nota3
e retorne a sua (mdia aritmtica Media =
);
3

Faa um algoritmo que leia um nmero e retorne o quadrado (x x) e o Cubo


(x x x) deste nmero;

Faa um programa que leia uma temperatura em graus Celsius e calcule o


180 (C + 32)
correspondente em Fahrenheit. Sabendo que: F =
100

Faa um algoritmo que Calcula a rea de um Retngulo (A = b h);

Faa um algoritmo que Armazena dois nmeros em variveis e trocar os valores


das variveis.

78 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Prxima Aula

79 / 80

Minicurso De Introduo Programao para C& T


Desenvolvendo Algoritmos
Operadores

Muito obrigado pela ateno!

80 / 80