Linguagens de Programação Introdução Existem várias linguagens de programação, cada uma com suas próprias características, vantagens e desvantagens. Não existe a melhor linguagem de programação, mas sim linguagens mais apropriadas para realizar tarefas específicas. Existem linguagens de programação próprias para Internet, para criação de jogos, para formatação de textos, aplicações comerciais,etc. 2 Tipos de Linguagens Linguagens de Baixo Nível – Linguagens próximas da linguagem de máquina. A comunicação está mais próxima do hardware. Exemplo: Assembly. Linguagens Não-Estruturadas – Não possuem programa organizado em módulos. Exemplos: Cobol e Basic. Linguagens Funcionais – São linguagens que utilizam programação funcional, isto é, avaliam expressões e retornam um valor. Exemplos: Prolog, Lisp e Scheme. 3 Tipos de Linguagens Linguagens Estruturadas – Linguagens organizadas em módulos ou procedimentos. Exemplos: C, Pascal, Fortran e Ada. var x : real; begin x := 1; while (x <100) do begin x=x + 1; writeln(x, ' '); end; end. Linguagens de Programação Visual – São linguagens mais próprias para projetos de interface gráfica. Exemplos : Visual Basic, Delphi. 4 Tipos de Linguagens Linguagens de Script - São as linguagens baseadas em instruções simples. Uma característica decisiva dessas linguagens é o fato de elas serem interpretadas, isto é, à partir do programa fonte não é gerado um programa executável. Exemplos: ASP, PHP, Javascript, Actionscript, VBScript, Phyton, Lingo, etc. Phyton: x=1. while (x <100): print x x=x+1 5 Conceitos Importantes • Compilador: É o Programa que traduz um programa inteiro de uma linguagem de programação de alto nível (exemplo: Pascal) para a Linguagem de Máquina. • Interpretador: É uma programa que traduz uma instrução de um programa para a linguagem de máquina e, em seguida, a executa.Se um programa tiver várias instruções elas são traduzidas e executadas uma de cada vez. • Programa Fonte: É o programa escrito em uma linguagem de programação. É o programa que vai ser compilado para gerar um programa objeto. 6 Conceitos Importantes • Programa Objeto: É o programa originado depois de o programa fonte ser compilado, isto é, o programa escrito em linguagem de máquina. • Linkador: É o programa que liga os módulos (blocos) de um programa objeto gerando um programa executável. • Programa Executável: É o programa em linguagem de máquina pronto para ser executado. 7 Problemas & Algoritmos Para resolver um problema através do computador é necessário encontrar uma maneira de descrevê-lo de forma clara e precisa. É também preciso encontrarmos uma sequência de passos que conduzam à sua resolução. Esta sequência de passos é conhecida por algoritmo. 8 Desenho de algoritmos/programas Considera-se que um algoritmo é o passo-a-passo de uma metodologia que conduz à resolução de um problema ou à execução de uma tarefa. A programação consiste na codificação precisa desse algoritmo, segundo uma linguagem de programação específica. Existem três fases distintas na elaboração de programas: • a análise do problema (especificação do problema, análise de requisitos, pressupostos, etc.) • a concepção do algoritmo. • a tradução desse algoritmo na linguagem de programação. PROBLEMA ALGORITMO PROGRAMA 9 Características fundamentais de um algoritmo Um algoritmo deve ter 5 características fundamentais: • Finitude: um algoritmo deve sempre terminar após um número finito de passos. • Definição: cada passo de um algoritmo deve ser precisamente definido. As ações devem ser definidas rigorosamente e sem ambiguidades. • Entradas: um algoritmo deve ter zero ou mais entradas, isto é quantidades que lhe são fornecidas antes do algoritmo iniciar. • Saídas: um algoritmo deve ter uma ou mais saídas, isto é quantidades que tem uma relação específica com as entradas. • Eficiência: um algoritmo deve ser eficiente. Isto significa que todas as operações devem ser básicas de modo que possam ser executadas com precisão em um tempo finito por um ser humano usando papel e lápis. NOTA: Pode haver mais do que um algoritmo para resolver um problema. Por exemplo, para ir de casa até o trabalho, posso escolher diversos meios de transportes em função do preço, conforto, rapidez, etc. 10 Representações de algoritmos Linguagem Natural Os algoritmos são expressos diretamente em linguagem natural. Fluxograma (ou Diagrama de Fluxo) Esta é uma representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema. Pseudo-linguagem (linguagem estruturada) Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos. Não existe consenso entre os especialistas sobre qual é a melhor maneira de representar um algoritmo. Atualmente a maneira mais comum de representar algoritmos é através de uma pseudo-linguagem ou pseudo-código. Esta forma de representação tem a vantagem que o algoritmo seja escrito de uma forma que está próxima de uma linguagem de programação de computadores. 11 Passos na construção de algoritmos Compreender o problema Identificar os dados de entrada Identificar os dados de saída Determinar o que é preciso para transformar dados de entrada em dados de saída. - Construir o algoritmo - Testar o algoritmo - Executar o algoritmo 12 Fluxogramas & programação visual • Representação gráfica de um algoritmo. • Programação visual: é a utilização de diagramas na programação. • Descrevem o fluxo do algoritmo através de um conjunto de figuras geométricas padronizadas ligadas por setas de fluxo. Início e fim do fluxograma tomada de decisão Entrada e saída de dados outras ações/ instruções Conector na mesma página inicialização teste e atualização Conector para outra página 13 Exemplo de código natural: cálculo do zero da equação a x+b=0 1. Início de programa 2. Ler a, b 3. Se a é diferente de 0 então calcula o valor de x (ax+b=0) imprimir valor de x senão imprimir “Não há zero” 4. Fim de programa 14 Fluxograma: cálculo do zero da equação a x+b=0 15 Controlador Lógico Programável O Controlador Lógico Programável, ou CLP, pode ser definido como um dispositivo que recebe e executa a linguagem de programação. São usados para controlar processos de produção, para controlar a temperatura, pressão, mistura, concentração, e assim por diante. São usados também para controlar a posição e a velocidade em muitos tipos de processos de produção. Por exemplo, podem controlar sistemas automatizados complexos de armazenamento e de fornecimento assim como equipamentos tais como robôs e máquinasferramenta. 16 Controlador Lógico Programável A programação do CLP é feita por meio de uma Ferramenta de Programação que pode ser um Programador Manual (Terminal de Programação), ou um PC com Software de Programação específico (ambiente DOS ou Windows). Terminal de programação manual Terminal de programação 17 Exemplo de execução Vídeo. 18 Grupo Christian Eduardo Moreira de Souza 997637-0 Flávio Bispo Andrade 338977-4 Erich William Vela Gonçalves 998629-4 Darlon Oliveira Cunha 346550-0 19