Arquivo_1_TP1_2016_rev_1

download Arquivo_1_TP1_2016_rev_1

of 53

Transcript of Arquivo_1_TP1_2016_rev_1

  • 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