Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel...

26
Introdução à Programação Introdução à Programação (Conceitos Iniciais) (Conceitos Iniciais) Prof. Dr. Joel da Silva Prof. Dr. Joel da Silva [email protected] www.joeldasilva.com.br Universidade Federal de Santa Maria Universidade Federal de Santa Maria Departamento de Tecnologia da Informação Departamento de Tecnologia da Informação

Transcript of Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel...

Page 1: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Introdução à ProgramaçãoIntrodução à Programação(Conceitos Iniciais)(Conceitos Iniciais)

Prof. Dr. Joel da SilvaProf. Dr. Joel da [email protected]

www.joeldasilva.com.br

Universidade Federal de Santa MariaUniversidade Federal de Santa MariaDepartamento de Tecnologia da InformaçãoDepartamento de Tecnologia da Informação

Page 2: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Sobre a Disciplina

Site: www.joeldasilva.com.br/docencia.php Carga Horária: 45 horas (15 Encontros) Horário: Segundas-Feiras: 08:30 Laboratório 04

2

Page 3: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Material Biblográfico

3

Page 4: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Material Biblográfico

4

Page 5: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Material Biblográfico

5

Page 6: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Agenda

Lógica de Programação; Algoritmo; Linguagem de Programação; Programa de Computador; Variáveis; Tipos de Variáveis / Tipos de Dados; Expressões; Funções; Atribuição; Comandos de Entrada e Saída; Exercícios;(Capítulos 1 e 2 do Livro “Introdução à Programação – 500 Algoritmos Resolvidos)

6

Page 7: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Lógica de Programação

“… técnica de encadear pensamentos para atingir determinado objetivo…”

7

Page 8: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Algoritmo

Sequência limitada de passos, obedecendo uma ordem lógica com o objetivo de solucionar um problema;

Etapas:

8

Entrada Processamento Saída

Dados básicos para que o Algoritmo possa

ser executado

Avalia as expressões, aplica as fórmulas necessárias, utiliza

estruturas de controle, etc

Envia os resultados ou parte deles para um dispositivo de saída

Page 9: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Algoritmo

Sequência limitada de passos, obedecendo uma ordem lógica com o objetivo de solucionar um problema;

9

Algoritmo de acordo com o interpretador UAL

prog imc real altura, peso, imc; imprima("PROGRAMA PARA CÁLCULO DO IMC"); imprima("\nDigite a Altura: "); leia altura; imprima("\nDigite o Peso: "); leia peso; imc = peso/(altura*altura); imprima("\nO índice de Massa Corporal é: ",imc);fimprog

Algoritmo para calcular o IMC

1 . medir a altura da pessoa2 . medir o peso da pessoa3 . IMC = peso / (altura*altura)

Problema:

Como calcular o índice de massa corporal IMC de uma pessoa ?

Page 10: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Algoritmo

Sequência limitada de passos, obedecendo uma ordem lógica com o objetivo de solucionar um problema;

10

Page 11: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Linguagem de Programação

Uma linguagem de programação é um método padronizado para comunicar instruções para um computador.

É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.

Permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.

Linguagens de programação podem ser usadas para

expressar algoritmos com precisão.

(Fonte: https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o )

11

Page 12: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Linguagem de Programação

História das Linguagens de Programação– https://www.levenez.com/lang/

Linha do Tempo 1– http://archive.oreilly.com/pub/a/oreilly//news/languagepost

er_0504.html

Linha do Tempo 2– https://en.wikipedia.org/wiki/Timeline_of_programming_la

nguages

12

Page 13: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Linguagem de Programação Ranking das Linguagens em 2017

– https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages

– https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017

TIOBE Index

– https://www.tiobe.com/tiobe-index/ Linguagens mais populares em 2018

– https://stackify.com/popular-programming-languages-2018/ PopularitY of Programming Language Index

– http://pypl.github.io/PYPL.html

• Redmonk Ranking

https://redmonk.com/sogrady/2018/03/07/language-rankings-1-18/

13

Page 14: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Programa de Computador

Pode ser definido como um algoritmo escrito de acordo com a sintaxe de uma determinada linguagem de programação;

14

Algoritmo de acordo com o interpretador UALprog imc real altura, peso, imc; imprima("PROGRAMA PARA CÁLCULO DO IMC"); imprima("\nDigite a Altura: "); leia altura; imprima("\nDigite o Peso: "); leia peso; imc = peso/(altura*altura); imprima("\nO índice de Massa Corporal é:",imc);fimprog

Algoritmo para calcular o IMC

1 . medir a altura da pessoa2 . medir o peso da pessoa3 . IMC = peso / (altura*altura)

Implementação na Linguagem C

Problema:

Como calcular o índice de massa corporal IMC de uma pessoa ?

Page 15: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Programa de Computador

Estrutura Básica de um Programa;

15

prog imc real altura, peso, imc; imprima("PROGRAMA PARA CÁLCULO DO IMC"); imprima("\nDigite a Altura: "); leia altura; imprima("\nDigite o Peso: "); leia peso; imc = peso/(altura*altura); imprima("\nO índice de Massa Corporal é: ",imc);fimprog

Indicador de Início

Declaração de variáveis

Comando de Saída

Comando de entrada

Processamento de expressões

Indicador de Fim

Page 16: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Variáveis

16

Page 17: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Tipos de Variáveis / Tipos de Dados

inteiro: consiste dos números inteiros e das operações de adição, subtração, multiplicação, divisão inteira e resto;– Exemplos: 10, 20, 15, 1500

real: consiste dos números reais e das operações de adição, subtração, multiplicação, divisão;– Exemplos: 1.2, 1.0, 25.50

caractere: consiste de um único símbolo ou de uma concatenação de símbolos do alfabeto ;– Exemplos: “a”, “UFSM”, “UFSM 2018”, “Introdução à

Programação”, “ ” lógico: inclui apenas os valores lógicos falso e verdadeiro e

as operações de negação, conjunção e disjunção ;

17

Page 18: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Expressões

Aritméticas: são aquelas onde o resultado da avaliação será um número inteiro ou real:

– Exemplo: 10+10/(1+9)-1 Relacional: comparação entre valores do mesmo tipo:

– Exemplo: 10>9 Lógica ou Booleana: conjunção (e), disjunção (ou) e negação (não)

– Exemplo: 10>9

18

Page 19: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Expressões

Lógica ou Booleana: conjunção (e), disjunção (ou) e negação (não)

– Exemplo de conjunção (e - &&):

19

Page 20: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Expressões

Lógica ou Booleana: conjunção (e), disjunção (ou) e negação (não)

– Exemplo de disjunção (ou - ||):

20

Page 21: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Expressões

Lógica ou Booleana: conjunção (e), disjunção (ou) e negação (não)

– Exemplo de negação (não - !):

21

Page 22: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Funções

22

As linguagens de programação disponibilizam diversas funções, pré-definidas, e na maioria das linguagens o programador pode criar novas funções, de acordo com a necessidade.

É muito imporante ler a documentação oficial da linguagem de programação que está sendo utilizada, para verificar quais funções estão implementadas. Alguns tipos de funções são:

Numéricas: são aquelas onde o resultado da avaliação será do tipo número inteiro ou real:

- Exemplos: sen(x), cos(x), sqrt(s) Funções de Conversão de tipos: recebem um valor de um determinado tipo de dados

e retonam outro

– Exemplo: Converter um real para inteiro, ou um caracter para inteiro Caracter: realizam operações sobre um dado do tipo caracter;

– Exemplo: verificar quantos caracteres existem em uma palavra;

Obs.: Normalmente são disponibilizadas diversas funções para cada um dos tipos de dados;

Page 23: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Atribuição

23

Exemplo na Linguagem C

Page 24: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Comandos de Saída

24

Exemplo na Linguagem C

Page 25: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Comandos de Entrada

25

Exemplo na Linguagem C

Page 26: Introdução à Programação · Introdução à Programação (Conceitos Iniciais) Prof. Dr. Joel da Silva joel.silva@ufsm.br  Universidade Federal de Santa Maria

Exercícios

26