Engenharia da Computação
Técnicas de Programação 1 – TP1 Prof. MSc. Fabio H. Pimentel
Introdução
1
Engenharia da Computação
INTRODUÇÃO Computador É uma máquina eletrônica que realiza tarefas baseada em um software software.. Software É um conjunto de instruções de trabalho sequenciais apropriados a um computador.
2
Engenharia da Computação
INTRODUÇÃO Computador É uma máquina eletrônica que realiza tarefas baseada em um software software.. Software É um conjunto de instruções de trabalho sequenciais apropriados a um computador.
2
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 um computador .
3
Engenharia da Computação
INTRODUÇÃO Programa de Computador Todo software software é é desenvolvido para que o computador realize realize tarefas específicas.. específicas
4
Engenharia da Computação
INTRODUÇÃO Programa de Computador Para realizar tarefas específicas, um software software reúne reúne uma sequencia de instruções de instruções de trabalho próprias próprias a a essa finalidade.
5
Engenharia da Computação
INTRODUÇÃO Programa de Computador A esse conjunto de instruções de trabalho especializado a algum objetivo dá-se o nome de programa.
6
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
7
Engenharia da Computação
INTRODUÇÃO Linguagem de Programação As instruções de trabalho de um programa precisam ser escritas de uma forma apropriada para que o computador entenda.
8
Engenharia da Computação
INTRODUÇÃO Linguagem de Programação Essa forma adequada de escrita é ditada por linguagens de programação.
9
Engenharia da Computação
INTRODUÇÃO Linguagem de Programação Ao longo dos anos de existência do computador, diversas linguagens de programação foram criadas. Exemplos: Assembly
C
Pascal
Basic
C++
C#
Java
SQL
Visual C
Visual Basic
HTML
PHP
10
Engenharia da Computação
INTRODUÇÃO Programador É o profissional especializado em escrever programas de computador.
11
Engenharia da Computação
INTRODUÇÃO Programador O programador é conhecedor de linguagens de programação e utiliza esse conhecimento para escrever programas.
12
Engenharia da Computação
INTRODUÇÃO Programador Para escrever programas, além de conhecer a linguagem de programação, o programador precisa saber elaborar soluções a problemas específicos.
13
Engenharia da Computação
INTRODUÇÃO Programador As soluções precisam ser organizadas de forma a se transformarem em um programa.
14
Engenharia da Computação
INTRODUÇÃO Programador E para isso, o programador precisa utilizar Lógica e Raciocínio Lógico.
15
Engenharia da Computação
INTRODUÇÃO Lógica É a ciência que estuda as leis e critérios de validade que regem o pensamento e a 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.
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 e a 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.
17
Engenharia da Computação
INTRODUÇÃO Raciocínio Lógico É a sequência coerente, regular e necessária de acontecimentos, de coisas ou fatos.
18
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ípios formais de pensamento.
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ípios formais de pensamento.
20
Engenharia da Computação
INTRODUÇÃO Lógica e Raciocínio Lógico são fatores a serem considerados pelos programadores pois seu dia-a-dia é solucionar problemas e atingir objetivos com 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 de computadores foram desenvolvidas diversas técnicas que, reunidas e aplicadas, recebem o nome de Programação Estruturada.
21
Engenharia da Computação
INTRODUÇÃO Lógica e o Raciocínio Lógico são fatores a serem considerados pelos programadores pois seu dia-a-dia é solucionar problemas e atingir objetivos com 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 de computadores foram desenvolvidas diversas técnicas que, reunidas e aplicadas, recebem o nome de Programação Estruturada.
22
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
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
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
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
26
Engenharia da Computação
INTRODUÇÃO Programação Estruturada Passos Fundamentais - Escrever as instruções em sequências ligadas entre si apenas por estruturas
sequenciais, repetitivas ou de selecionamento - Escrever instruções em grupos pequenos e combiná-las - Distribuir módulos do programa entre os diferentes programadores que
trabalharã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)
27
Engenharia da Computação
INTRODUÇÃO Programação Estruturada Passos Fundamentais - Escrever as instruções em sequências ligadas entre si apenas por estruturas
sequenciais, repetitivas ou de selecionamento - Escrever instruções em grupos pequenos e combiná-las - Distribuir módulos do programa entre os diferentes programadores que
trabalharã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)
28
Engenharia da Computação
INTRODUÇÃO Programação Estruturada Passos Fundamentais - Escrever as instruções em sequências ligadas entre si apenas por estruturas
sequenciais, repetitivas ou de selecionamento - Escrever instruções em grupos pequenos e combiná-las - Distribuir módulos do programa entre os diferentes programadores que
trabalharã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)
29
Engenharia da Computação
INTRODUÇÃO Programação Estruturada Passos Fundamentais - Escrever as instruções em sequências ligadas entre si apenas por estruturas
sequenciais, repetitivas ou de selecionamento - Escrever instruções em grupos pequenos e combiná-las - Distribuir módulos do programa entre os diferentes programadores que
trabalharã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)
30
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
31
Engenharia da Computação
INTRODUÇÃO Algoritmo - É um processo de resolução de um problema com generalidade e sem
restriçõ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, elevando ao quadrado o valor do raio e multiplicando por PI; 4. Apresentar o valor da área. 32
Engenharia da Computação
INTRODUÇÃO Algoritmo - É um processo de resolução de um problema com generalidade e sem
restriçõ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, elevando ao quadrado o valor do raio e multiplicando por PI; 4. Apresentar o valor da área. 33
Engenharia da Computação
INTRODUÇÃO Fluxograma - É uma ferramenta usada para representar um algoritmo em um fluxo de
atividades. - Usa desenhos geométricos como símbolos para entrada, processamento e
saída de dados. - Amplamente utilizada por profissionais de Análise de Sistemas.
34
Engenharia da Computação
INTRODUÇÃO Diagrama em Blocos - Ferramenta que aprimorou o fluxograma. Usada para descrever o método e a
sequê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.
35
Engenharia da Computação
INTRODUÇÃO
Início
Diagrama em Blocos raio
Exemplo: diagrama em blocos do cálculo da área do círculo área
3,1416 x raio ↑ 2
área
Fim
36
Engenharia da Computação
INTRODUÇÃO Diagrama de Chapin - Ferramenta que substitui o diagrama em blocos tradicional por um diagrama
de quadros que permite apresentar uma visão hierárquica e estruturada da lógica do programa.
37
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_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreve A
fim 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_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreve A
fim 39
Engenharia da Computação
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.
40
Engenharia da Computação
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.
41
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 42
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 43
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 44
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 45
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 46
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 47
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 48
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 49
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// 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;
fim
} 50
Engenharia da Computação
INTRODUÇÃO PORTUGOL
LINGUAGEM C // programa AREA_CIRCULO
programa AREA_CIRCULO var A: real R: real inicio leia R A 3,1416 * R ↑ 2 escreva A
// inclusão de bibliotecas #include #include
#include // declaração de variáveis float A,R;
int main( ) { printf(“Digite o raio do circulo:”); scanf(“%f”,&R);
fim
A = M_PI*pow(R,2); printf(“Area: %f”,A); system(“PAUSE”); return 0; }
51
Engenharia da Computação
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 valores numéricos, faça a operação de soma entre os dois valores e apresente o resultado 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?
52