arquivo_1_tp1_2016_rev_1
TRANSCRIPT
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
1/53
1
Engenharia da Computação
Técnicas de Programação 1 – TP1
Prof. MSc. Fabio H. Pimentel
Introdução
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
2/53
2
Engenharia da Computação
INTRODUÇÃO
Computador
É uma máquina eletrônica que realiza tarefas baseada em um software.
Software
É um conjunto de instruções de trabalho sequenciais apropriados a umcomputador.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
3/53
3
Engenharia da Computação
INTRODUÇÃO
Computador
É uma máquina eletrônica que realiza tarefas baseada em um software.
Software
É todo conjunto de instruções de trabalho sequenciais apropriados a umcomputador .
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
4/53
4
Engenharia da Computação
INTRODUÇÃO
Programa de Computador
Todo software é desenvolvido para que o computador realize tarefasespecíficas.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
5/53
5
Engenharia da Computação
INTRODUÇÃO
Programa de Computador
Para realizar tarefas específicas, um software reúne uma sequencia deinstruções de trabalho próprias a essa finalidade.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
6/53
6
Engenharia da Computação
INTRODUÇÃO
Programa de Computador
A esse conjunto de instruções de trabalho especializado a algum objetivo dá-seo nome de programa.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
7/53
7
Engenharia da Computação
INTRODUÇÃO
Programa de Computador
Exemplos:
Windows: programa sistema operacional
Word: programa editor de texto AutoCAD: programa para design de produtos
Super Mário World: programa de jogo Google Chrome: programa de acesso a páginas web
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
8/53
8
Engenharia da Computação
INTRODUÇÃO
Linguagem de Programação
As instruções de trabalho de um programa precisam ser escritas de uma formaapropriada para que o computador entenda.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
9/53
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
10/53
10
Engenharia da Computação
INTRODUÇÃO
Linguagem de Programação
Ao longo dos anos de existência do computador, diversas linguagens deprogramação foram criadas.
Exemplos:
Assembly C Pascal Basic
C++ C# Java SQL
Visual C Visual Basic HTML PHP
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
11/53
11
Engenharia da Computação
INTRODUÇÃO
Programador
É o profissional especializado em escrever programas de computador.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
12/53
12
Engenharia da Computação
INTRODUÇÃO
Programador
O programador é conhecedor de linguagens de programação e utiliza esseconhecimento para escrever programas.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
13/53
13
Engenharia da Computação
INTRODUÇÃO
Programador
Para escrever programas, além de conhecer a linguagem de programação, oprogramador precisa saber elaborar soluções a problemas específicos.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
14/53
14
Engenharia da Computação
INTRODUÇÃO
Programador
As soluções precisam ser organizadas de forma a se transformarem em umprograma.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
15/53
15
Engenharia da Computação
INTRODUÇÃO
Programador
E para isso, o programador precisa utilizar Lógica e Raciocínio Lógico.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
16/53
16
Engenharia da Computação
INTRODUÇÃO
Lógica
É a ciência que estuda as leis e critérios de validade que regem o pensamento ea demonstração, ou seja, é a ciência dos princípios formais do raciocínio.
Para usar a lógica é preciso ter domínio sobre o pensamento e saber pensar, ou
seja, possuir a Arte de Pensar.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
17/53
17
Engenharia da Computação
INTRODUÇÃO
Lógica
É a ciência que estuda as leis e critérios de validade que regem o pensamento ea demonstração, ou seja, é a ciência dos princípios formais do raciocínio.
Para usar a lógica é preciso ter domínio sobre o pensamento e saber pensar, ou
seja, possuir a Arte de Pensar.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
18/53
18
Engenharia da Computação
INTRODUÇÃO
Raciocínio Lógico
É a sequência coerente, regular e necessária de acontecimentos, de coisas oufatos.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
19/53
19
Engenharia da Computação
INTRODUÇÃO
Você sabe usar o raciocínio lógico?
Depende de inúmeros fatores: calma, conhecimento, vivência, versatilidade,experiência, criatividade, ponderação, responsabilidade, etc.
Para os programadores: Raciocínio Lógico é um esquema sistemático que
define as interações de sinais no computador com o critério e princípiosformais de pensamento.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
20/53
20
Engenharia da Computação
INTRODUÇÃO
Você sabe usar o raciocínio lógico?
Depende de inúmeros fatores: calma, conhecimento, vivência, versatilidade,experiência, criatividade, ponderação, responsabilidade, etc.
Para os programadores: Raciocínio Lógico é um esquema sistemático que
define as interações de sinais no computador com o critério e princípiosformais de pensamento.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
21/53
21
Engenharia da Computação
INTRODUÇÃO
Lógica e Raciocínio Lógico são fatores a serem considerados pelosprogramadores pois seu dia-a-dia é solucionar problemas e atingir objetivoscom eficiência e eficácia, utilizando a programação.
Para facilitar a aplicação da Lógica e do Raciocínio Lógico em programação decomputadores foram desenvolvidas diversas técnicas que, reunidas e
aplicadas, recebem o nome de Programação Estruturada.
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
22/53
22
Engenharia da Computação
INTRODUÇÃO
Lógica e o Raciocínio Lógico são fatores a serem considerados pelosprogramadores pois seu dia-a-dia é solucionar problemas e atingir objetivoscom eficiência e eficácia, utilizando a programação.
Para facilitar a aplicação da Lógica e do Raciocínio Lógico em programação decomputadores foram desenvolvidas diversas técnicas que, reunidas e
aplicadas, recebem o nome de Programação Estruturada.
E h i d C t ã
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
23/53
23
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Objetivos
- Agilizar a codificação da escrita da programação
- Facilitar a depuração da leitura da mesma- Permitir a verificação de possíveis falhas apresentadas pelos programas
- Facilitar as alterações e atualizações dos programas
E h i d C t ã
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
24/53
24
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Objetivos
- Agilizar a codificação da escrita da programação
- Facilitar a depuração da leitura da mesma- Permitir a verificação de possíveis falhas apresentadas pelos programas
- Facilitar as alterações e atualizações dos programas
E h i d C t ã
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
25/53
25
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Objetivos
- Agilizar a codificação da escrita da programação
- Facilitar a depuração da leitura da mesma- Permitir a verificação de possíveis falhas apresentadas pelos programas
- Facilitar as alterações e atualizações dos programas
E h i d C t ã
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
26/53
26
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Objetivos
- Agilizar a codificação da escrita da programação
- Facilitar a depuração da leitura da mesma- Permitir a verificação de possíveis falhas apresentadas pelos programas
- Facilitar as alterações e atualizações dos programas
Engenharia da Comp tação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
27/53
27
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Passos Fundamentais
- Escrever as instruções em sequências ligadas entre si apenas por estruturassequenciais, repetitivas ou de selecionamento
- Escrever instruções em grupos pequenos e combiná-las
- Distribuir módulos do programa entre os diferentes programadores quetrabalharão sob a supervisão de um supervisor
- Revisar o trabalho executado em reuniões regulares com os programadores(sempre de um mesmo nível)
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
28/53
28
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Passos Fundamentais
- Escrever as instruções em sequências ligadas entre si apenas por estruturassequenciais, repetitivas ou de selecionamento
- Escrever instruções em grupos pequenos e combiná-las
- Distribuir módulos do programa entre os diferentes programadores quetrabalharão sob a supervisão de um supervisor
- Revisar o trabalho executado em reuniões regulares com os programadores(sempre de um mesmo nível)
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
29/53
29
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Passos Fundamentais
- Escrever as instruções em sequências ligadas entre si apenas por estruturassequenciais, repetitivas ou de selecionamento
- Escrever instruções em grupos pequenos e combiná-las
- Distribuir módulos do programa entre os diferentes programadores quetrabalharão sob a supervisão de um supervisor
- Revisar o trabalho executado em reuniões regulares com os programadores(sempre de um mesmo nível)
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
30/53
30
Engenharia da Computação
INTRODUÇÃO
Programação Estruturada
Passos Fundamentais
- Escrever as instruções em sequências ligadas entre si apenas por estruturassequenciais, repetitivas ou de selecionamento
- Escrever instruções em grupos pequenos e combiná-las
- Distribuir módulos do programa entre os diferentes programadores quetrabalharão sob a supervisão de um supervisor
- Revisar o trabalho executado em reuniões regulares com os programadores(sempre de um mesmo nível)
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
31/53
31
Engenharia da Computação
INTRODUÇÃO
Técnicas para Programação
- Algoritmo
- Fluxograma / Diagrama em Bloco / Diagrama de Chapin
- Pseudocódigo (Português Estruturado)- Programação em Linguagem Formal
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
32/53
32
Engenharia da Computação
INTRODUÇÃO
Algoritmo
- É um processo de resolução de um problema com generalidade e semrestrições.
- São passos para obter um resultado ou solucionar um problema.
Exemplo: algoritmo para calcular a área de um círculo
1. Ler um valor para o raio;
2. Estabelecer que PI vale 3,1416;
3. Efetuar o cálculo da área, elevandoao quadrado o valor do raio e multiplicandopor PI;
4. Apresentar o valor da área.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
33/53
33
Engenharia da Computação
INTRODUÇÃO
Algoritmo
- É um processo de resolução de um problema com generalidade e semrestrições.
- São passos para obter um resultado ou solucionar um problema.
Exemplo: algoritmo para calcular a área de um círculo
1. Ler um valor para o raio;
2. Estabelecer que PI vale 3,1416;
3. Efetuar o cálculo da área, elevandoao quadrado o valor do raio e multiplicandopor PI;
4. Apresentar o valor da área.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
34/53
34
Engenharia da Computação
INTRODUÇÃO
Fluxograma
- É uma ferramenta usada para representar um algoritmo em um fluxo deatividades.
- Usa desenhos geométricos como símbolos para entrada, processamento esaída de dados.
- Amplamente utilizada por profissionais de Análise de Sistemas.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
35/53
35
Engenharia da Computação
INTRODUÇÃO
Diagrama em Blocos
- Ferramenta que aprimorou o fluxograma. Usada para descrever o método e asequência de aplicação de um algoritmo na programação de um computador.
- Pode ser desenvolvido em qualquer nível de detalhe que seja necessário.
- Amplamente utilizada por profissionais de Programação.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
36/53
36
Engenharia da Computação
INTRODUÇÃO
Diagrama em Blocos
Exemplo: diagrama emblocos do cálculo da área docírculo
Início
raio
área 3,1416 x raio ↑ 2
área
Fim
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
37/53
37
Engenharia da Computação
INTRODUÇÃO
Diagrama de Chapin
- Ferramenta que substitui o diagrama em blocos tradicional por um diagramade quadros que permite apresentar uma visão hierárquica e estruturada dalógica do programa.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
38/53
38
Engenharia da Computação
INTRODUÇÃO
Pseudo Linguagem ou Pseudo Código – Português Estruturado
- É uma referência genérica para uma linguagem de programação formal,desenvolvida à partir do diagrama em blocos.
Exemplo: portugol para o cálculo da área do círculo
programa AREA_CIRCULOvar
A: realR: real
inicio
leia R A 3,1416 * R ↑ 2 escreve A
fim
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
39/53
39
Engenharia da Computação
INTRODUÇÃO
Pseudo Linguagem ou Pseudo Código – Português Estruturado
- É uma referência genérica para uma linguagem de programação formal,desenvolvida à partir do diagrama em blocos.
Exemplo: portugol para o cálculo da área do círculo
programa AREA_CIRCULOvar
A: realR: real
inicio
leia R A 3,1416 * R ↑ 2 escreve A
fim
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
40/53
40
g p ç
INTRODUÇÃO
Linguagem C
Criada em 1972 por Dennis M. Ritchie e Ken Thompson
Laboratórios Bell
A linguagem C foi planejada para elaboração de programas
Estruturados e Modulares
Exemplo: linguagem C para calcular a área de um círculo.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
41/53
41
g p ç
INTRODUÇÃO
Linguagem C
Criada em 1972 por Dennis M. Ritchie e Ken Thompson
Laboratório Bell
A linguagem C foi planejada para elaboração de programas
Estruturados e Modulares
Exemplo: linguagem C para calcular a área de um círculo.
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
42/53
42
g p ç
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO
// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
43/53
43
g p ç
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO
// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
44/53
44
g p ç
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO
// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
45/53
45
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO
// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
46/53
46
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO
// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
47/53
47
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicio
leia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
48/53
48
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicioleia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
49/53
49
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicioleia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
50/53
50
INTRODUÇÃOPORTUGOL LINGUAGEM C
programa AREA_CIRCULOvar
A: real
R: realinicioleia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO// inclusão de bibliotecas
#include
#include
// declaração de variáveis
float A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R);
A = 3.1416*R*R;printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
51/53
51
programa AREA_CIRCULOvar
A: real
R: realinicioleia R A 3,1416 * R ↑ 2
escreva Afim
// programa AREA_CIRCULO// inclusão de bibliotecas
#include
#include
#include
// declaração de variáveisfloat A,R;
int main( ){
printf(“Digite o raio do circulo:”);
scanf(“%f”,&R); A = M_PI*pow(R,2);printf(“Area: %f”,A);
system(“PAUSE”);
return 0;
}
INTRODUÇÃOPORTUGOL LINGUAGEM C
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
52/53
52
INTRODUÇÃO
Exercícios: elaborar o algoritmo, o diagrama em blocos, o portugol e a
linguagem C.
1. Deverá ser criado um programa que efetue a leitura de dois valoresnuméricos, faça a operação de soma entre os dois valores e apresente oresultado obtido.
2. João foi à feira com R$ 20,00 e comprou uma dúzia de laranjas por R$ 5,00.Com quanto João voltou para casa?
Engenharia da Computação
-
8/18/2019 Arquivo_1_TP1_2016_rev_1
53/53
53
Fim