Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de...

51
Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Introdução a lógica e a Linguagem de Programação 1 Linguagem de Programação Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de Jesus

Transcript of Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de...

Page 1: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Faculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoFaculdade de Engenharia da ComputaçãoDisciplina: Lógica de Programação

Introdução a lógica e a Linguagem de Programação

1

Linguagem de Programação

Site : http://www1.univap.br/~wagner/ec.htmlProf. Responsáveis

Wagner Santos C. de Jesus

Page 2: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Conceito de Lógica de ProgramaçãoProgramação

Page 3: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Conceito de Lógica

São as premissas básicas de escritas deinstruções para se executar instruções decomputador.

A lógica tem dois significados principais: discute oA lógica tem dois significados principais: discute ouso de raciocínio em alguma atividade e é oestudo normativo, filosófico do raciocínio

Page 4: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Lógica define um Processo

Conceito de Processos

Processo: É uma conexão em série deatividades com objetivo de atingir resultados.atividades com objetivo de atingir resultados.

Page 5: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Conceito de Algoritmo Algoritmo

Page 6: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Algoritmo

Vem a ser uma seqüência finitade instruções bem definidas e não ambíguas,cada uma das quais devendo ser executadasmecânica ou eletronicamente em ummecânica ou eletronicamente em umintervalo de tempo finito e com umaquantidade de esforço finita.

Page 7: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Simbologia de representação de Lógica representação de Lógica

de Programação

Page 8: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Diagrama de Blocos

Page 9: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Problema exemplo-1

Em uma balançaprecisa ser realizada apesagem de seis bolinhas,iguais em tamanho e emiguais em tamanho e emcor apenas uma dasbolinhas e mais leve;Como você faria paradescobrir a bolinha maisleve pesando apenas duasvezes.

Page 10: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Conceito de Linguagem de Programação (LP)Programação (LP)

Page 11: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Mecanismos de Hardware

Page 12: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Lógica e Abstração

A lógica de programação vemda abstração de umdeterminado processo dodeterminado processo domundo real.

Page 13: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Abstração e Lógica

Page 14: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Função de uma LP

Algoritmo

AplicativoLinguagem de Programação

Mundo Externo

Sistema Operacional

AplicativoProgramação

Processador

Page 15: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Definição de Linguagem de ProgramaçãoProgramação

Page 16: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Definição

Uma linguagem de programação é um métodopadronizado para comunicar instruções paraum computador. É um conjunto de regrassintáticas e semânticas usadas para definirum programa de computador. Permite que umum programa de computador. Permite que umprogramador especifique precisamente sobrequais dados um computador vai atuar, comoestes dados serão armazenados ou transmitidos equais ações devem ser tomadas sob váriascircunstâncias.

Page 17: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Característica principais de uma LP

– Sintaxe

– Semântica– Semântica

– Pragmática

Page 18: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Características de uma LP

=

Sintaxe

program simplesvar x : integer := 3Begin

x := x + 5end.

?Semântica

Pragmática

end.

Formato da Escrita

Significado

Raciocínio Lógico

Page 19: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Mercado das Linguagens de Programação

•Cientifico

•Comercial

Page 20: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Processamento de Dados

Comercial :

E SE SP

Page 21: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Processamento de Dados

Científica :

SE P SE P

Page 22: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Problema exemplo-2

RioRio

Page 23: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Motivação para uso de uma Linguagem de ProgramaçãoLinguagem de Programação

Page 24: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Porque usar uma LP

Uma das principais metas das linguagensde programação é que programadorestenham uma maior produtividade, permitindoexpressar suas intenções mais facilmente doexpressar suas intenções mais facilmente doque quando comparado com a linguagem queum computador entende nativamente (códigode máquina).

Page 25: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Mapeamento Hexadecimal

Page 26: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Classificação das LP

Baixo Nível

Médio Nível

Linguagem Assembler

Linguagem C++, Pascal e Java

26

Alto Nível VB, C#, PHP

Linguagens de Script ActionScript,

JavaScript

Page 27: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Objetivo prático

Linguagens de programação sãoferramentas importantes paraque programadores e engenheiros desoftware possam escrever programas maissoftware possam escrever programas maisorganizados e com maior rapidez.

Page 28: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Evolução das Linguagens de Programação

(1946-1954)

Primeira geração

(1955-1964)

Segunda geração

(1964-1977)

Terceira geração

(1977-1991)

Quarta geração

(1991- ....)

Quinta geração

Primeira geração - linguagem de máquina

Segunda geração - linguagens de montagem (assembly).

Terceira geração - Linguagens procedurais.

Quarta geração - Linguagens aplicativas

Quinta geração - Linguagens voltadas a Inteligência artificial como as linguagens

lógicas (Prolog) e as linguagens funcionais (Lisp).

Page 29: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Classificação da LP

• Genéricas • Específicas• Específicas

Page 30: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Genérica

Possibilitam o desenvolvimento para qualquer tipo de aplicação. (Cientifica e ou Comercial).

Exemplo (Java, C++, C# e Basic)Exemplo (Java, C++, C# e Basic)

Page 31: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Específica

Possibilitam o desenvolvimento para qualquer um tipo de aplicação.

Exemplo (Php, ActionScript, CSS e HTML)Exemplo (Php, ActionScript, CSS e HTML)

Page 32: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

LP – Compiladas ou Interpretadasou Interpretadas

Page 33: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Compilador

Programa

Arquivo - Máquina

Compilador

Page 34: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Interpretador

Programa

Execução Programa

Interpretador

Page 35: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Problema exemplo-3

Um fazendeiro deixoucomo herança um terrenopara seus quatro filhos,terreno no qual possui oformato ao lado; Suaformato ao lado; Suatarefa será dividir esseterreno em quatro partesiguais.

Page 36: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Origem de Algumas

LinguagensLinguagens

Page 37: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Criador da LP (Pascal)

Criada Tendo emmente encorajar ouso de códigoestruturado.

Niklaus Wirth 1970 (Suiço)

estruturado.

Page 38: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo Programa Pascal program Soma_Pares;

uses crt;

var superior, soma, num: integer;

begin

soma:=0;

write ('Entre com o limite superior');

readln (superior);readln (superior);

num:=2;

repeat

soma:=soma+num;

num:=num+2;

until (num > superior);

writeln('A soma dos números pares de 2 até ', superior,' é ', soma);

readln;

end.

Page 39: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Os criadores da linguagem C

Linguagem criada paradesenvolvimento dokernell do sistemaoperacional Unix

Ken Thompson e Dennis Ritchie (da esquerda pra direita)

Page 40: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Programa Cmain(){

int superior, soma, num, i;

soma = 0;

printf("Entre com limite Superior:");

scanf("%d",&superior);

num = 2;

do {

soma += num;soma += num;

num += 2;

} while(num <= superior);

printf("Soma dos numeros pares de 2 ate %d = %d \n",superior,soma);

printf("------------- Fim ------------");

int d;

scanf("%s",&d);

}

Page 41: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

A Linguagem Java

• Desenvolvida nadécada de 90 por umaequipe deprogramadoreschefiada por Jameschefiada por James

Gosling, na empresaSun Microsystems.

Programador Canadense

Foto 2005

Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling.

Page 42: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Programa Javaimport java.util.Scanner;

public class Somapar {

public static void main(String args[]){

int superior, soma, num, i;

soma = 0;

Scanner entrada = new Scanner(System.in);

System.out.println("Entre com limite Superior:");

superior = entrada.nextInt();superior = entrada.nextInt();

num = 2;

do {

soma += num;

num += 2;

} while(num <= superior);

System.out.printf("Soma dos numeros pares de 2 ate %d = %d \n",superior,soma);

}

}

Page 43: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

(Hardware/Software) Linguagem Residente

Conceito:

Linguagens residentes são ferramentas gravadas emmáquinas em equipamentos e programas decomputador para que se desenvolva programascomputador para que se desenvolva programasespecíficos para softwares ou hardwares.

Page 44: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Linguagens Residentes

Blender3D (Python)

AutoCAD

(AutoLisp/VBA)

Page 45: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Programação para MicrocontroladorMicrocontrolador

Page 46: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Microcontrolador

#include <8051.h>void main(void) {while(true) {if(P1_0 == 1){{

P2_0 = ~P2_0;}

}}

Page 47: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo de Linguagem para Desenvolvimento de JogosDesenvolvimento de Jogos

Page 48: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Exemplo ActionScript

onClipEvent (enterFrame) {if(Key.isDown (Key.RIGHT )){

_root["Atirador"]._x+=10}

if(Key.isDown (Key.LEFT )){ _root["Atirador"]._x-=10

}}

if(Key.isDown (Key.SPACE)) { _root["Tiro"]._x = _root["Atirador"]._x _root["Tiro"]._y = _root["Atirador"]._y

_root["Tiro"]._visible = true;_root.pontos = 140;//_root.controle_tiro = 1;

}}

Page 49: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Linguagens API (Interface de Aplicação de Programas)Aplicação de Programas)

Page 50: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Conceito de API

São ferramentas compostas porbibliotecas ou pacotes que podem seracoplados com recursos para estender acapacidade de uma linguagens.capacidade de uma linguagens.

Exemplo:

• Swing (Java)

• OpenGL (C++)

• Google Cloud Vision

Page 51: Disciplina: Lógica de ProgramaçãoConceito de Lógica São as premissas básicas de escritas de instruções para se executar instruções de computador. A lógica tem dois significados

Linguagem para Computação Gráfica

class Cone {

public static void main(String[] args) {

Navegation.NavegationInfo("Cone");

Materialpr material = new Materialpr();material.setdiffuseColor("0 1 0");BaseCirclepr basecircle = new BaseCirclepr();

basecircle.setheight("2");basecircle.setbottomRadius("1");basecircle.setside("TRUE");basecircle.setbottom("TRUE");

Conepr cone = new Conepr (material,basecircle,"Cone");

Viewpr.display("Cone");

}}