INF 01040 Introdução à Programação Aula 1 – Introdução, noções básicas e algoritmos Introdução Software/Programa Básico Aplicativo Linguagem de Programação C Java Python Ruby Introdução à Programação (INF 01040) 2 Introdução Linguagem Natural Linguagem de Programação Compilador Linguagem de Máquina Introdução à Programação (INF 01040) 3 Introdução ● Paradigma: Procedural ou Imperativo – – ● ● Solução implementada através de ações, executadas sequencialmente Conceitos: variáveis, atribuição, sequenciação Baseada nos princípios da Programação Estruturada Linguagem de programação que usaremos: C Introdução à Programação (INF 01040) 4 Solução de Problemas 1. Ler atentamente o enunciado, visando a sua compreensão da forma mais completa possível Problema Análise 2. Analisar detalhadamente: a) que resultados devem ser obtidos; Programa b) que dados são fornecidos; Algoritmo c) que procedimentos devem ser realizados para a solução do problema. 3. Construir o algoritmo 4. Simular a sua execução ("teste de mesa") Parte Teórica 5. Traduzir o algoritmo em um programa C Parte Prática 6. Compilar, executar e testar exaustivamente o programa, modificando até que os resultados obtidos estejam de acordo com o previsto Introdução à Programação (INF 01040) 5 Algoritmos Definição Um algoritmo é um conjunto finito e lógico de etapas que estabelecemos para a solução de um determinado problema ● ● Qual o algoritmo que seguimos quando resolvemos uma equação de 2º grau? Qual o algoritmo que se deve seguir para trocar a roda de um carro, quando fura o pneu? Introdução à Programação (INF 01040) 6 Algoritmos ● Propriedades: – – possui um estado inicial; contém uma sequência lógica e finita de ações (comandos), claras e precisas, com fluxo de execução baseado em: ● ● ● – – – – sequência; seleção condicional (seleção de ações); iteração (repetição de ações); Programação Estruturada possui dados de entrada; produz dados de saída corretos; possui estado final previsível; deve ser eficaz. Introdução à Programação (INF 01040) 7 Algoritmos Não Numéricos Trocar o pneu furado de um carro Numéricos Encontrar raízes de uma equação Introdução à Programação (INF 01040) 8 Exemplo de Algoritmo não Numérico ● Trocar o pneu furado de um carro – Levantar o carro com o macaco – Retirar os parafusos – Retirar a roda – Colocar o estepe – Colocar os parafusos – Abaixar o carro e retirar o macaco Introdução à Programação (INF 01040) 9 Fluxograma ● – Um método simples de retratar os passos de um procedimento numa sequência logicamente ordenada Levantar o carro com o macaco Retirar os parafusos Retirar a roda Colocar o estepe Colocar os parafusos Abaixar o carro e retirar o macaco Trocar o pneu furado de um carro Diagrama de Blocos, Diagrama de Fluxo ou Fluxograma INÍCIO FIM Introdução à Programação (INF 01040) 10 Fluxograma INÍCIO ● Estepe Furado? Não Levantar o carro com o macaco Sim Retirar os parafusos Ligar para um borracheiro Retirar a roda Colocar o estepe Colocar os parafusos Abaixar o carro e retirar o macaco Trocar o pneu furado de um carro E se houver necessidade de tomada de decisão? FIM Introdução à Programação (INF 01040) 11 Fluxograma Fluxo, indica o sentido do fluxo de operações Terminal, indica início, fim ou ponto de parada de um programa Entrada/Saída, indica uma operação que utiliza uma unidade de entrada ou saída Processamento, indica uma instrução ou grupo de instruções que realizam uma função de processamento Decisão, indica a possibilidade de desvio para um ponto do programa, conforme condições estabelecidas Conector, indica conexão entre 2 pontos do programa que estejam na mesma página Conector, entre 2 pontos em páginas diferentes Introdução à Programação (INF 01040) 12 Exemplo de Algoritmo Numérico ● Seja a equação de 2º grau: ● As soluções são: ● Sendo: Introdução à Programação (INF 01040) 13 Exemplo de Algoritmo Numérico INÍCIO Lê a, b, c 2 D=b −4∗a∗c Caso CasoDDseja sejaigual igualaa zero, zero,ele elecalcula calcula x1, x1,depois depoiscalcula calcula x2 x2eeimprime imprimeduas duas raízes raízesiguais iguais D >= 0? Não Imprime “Raízes imaginárias” Sim x1= −b+ √ D 2∗a −b−√ D x2= 2∗a Imprime x1, x2 FIM Introdução à Programação (INF 01040) Falta Faltaalguma algumacondição condição para paraooalgoritmo algoritmoser ser completo? completo? Você Vocêconsegue consegue escrever escreveroofluxograma fluxograma completo? completo? 14