![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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022050219/5f65172c71c07424233ff858/html5/thumbnails/26.jpg)
Exercícios
26