SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Lógica de Programação 
Unimep/Pronatec 
2° Semestre/2014 
AULA 03 
- Prof. André Bertoletti -
Agenda de hoje 
•Recordar é viver 
•Revezamento em duplas (exercícios) 
•Fase 4: usando uma linguagem de programação
Fases da construção Passo-a-passo rumo a um bom software
Fase 1 
Dividir o problema em pedaços menores e entender melhor os passos necessários 
Fase 2 
Escrever os passos necessários numa sequencia lógica, e usando uma linguagem simples 
(português) 
Fase 3 
Reescrever o algoritmo usando uma linguagem mais 
técnica 
Fase 4 
Reescrever o algoritmo usando alguma linguagem de programação
Fase 3 
Reescrever o algoritmo usando uma linguagem mais técnica
Variáveis Guardar agora para usar depois
Variável, um espaço reservado na memória 
Valor
“Cada um no seu quadrado” 
“abacaxi” 
“faca” 
35 
“João”
Regras para criar e usar variáveis 
1.Toda variável DEVE ter um tipo definido em sua declaração 
2.Toda variável precisa ser declarada, antes de ser usada 
3.Seu nome DEVE começar necessariamente com letras (A a Z) 
4.Seu nome NÃO pode conter espaço em branco ou caracteres especiais
1. Inicio 
2. Inteiro PrimeiroNumero 
3. Inteiro SegundoNumero 
4. Inteiro Resultado 
5. Ler(PrimeiroNumero) 
6. Ler(SegundoNumero) 
7. Resultado  PrimeroNumero + 
SegundoNumero 
8. Escrever(Resultado) 
9. Fim 
Fase 3 (final)
Fase 3 (final) 
Declaração das 
Variáveis que serão utilizadas pelo algoritmo 
Entrada 
Processamento 
Saída 
1. Inicio 
2. Inteiro PrimeiroNumero 
3. Inteiro SegundoNumero 
4. Inteiro Resultado 
5. Ler(PrimeiroNumero) 
6. Ler(SegundoNumero) 
7. Resultado  PrimeroNumero + 
SegundoNumero 
8. Escrever(Resultado) 
9. Fim
Vamos treinar um pouco?!
Exercícios da aula passada Revezaremos a resolução em duplas de programadores (piloto e copiloto)
Exercício 1 (aula anterior) 
•Escrever um algoritmo que leia um número e exiba este mesmo número multiplicado por 2
1.inicio 
2.inteiro numero 
3.inteiro resultado 
4.ler(numero) 
5.resultado<-numero*2 
6.escrever (resultado) 
7.fim 
Exercício 1 (resolução)
Exercício 2 (aula anterior) 
•Escrever um algoritmo que leia três números e exiba o resultado da soma dos dois primeiros, multiplicado pelo terceiro número.
1.inicio 
2.inteiro n1 
3.inteiro n2 
4.inteiro n3 
5.inteiro resultado 
6.ler(n1) 
7.ler(n2) 
8.ler(n3) 
9.resultado<-(n1+n2)*n3 
10.escrever(resultado) 
11.fim 
Exercício 2 (resolução)
Exercício 3 (aula anterior) 
•Escrever um algoritmo que leia o nome e o ano de nascimento do aluno e exiba a sua idade.
1.inicio 
2.texto NomeDoAluno 
3.inteiro AnoDeNascimento 
4.ler(NomeDoAluno) 
5.ler(AnoDeNascimento) 
6.AnoDeNascimento<-2014-AnoDeNascimento 
7.escrever(AnoDeNascimento) 
8.fim 
Exercício 3 (resolução)
Exercício 4 (aula anterior) 
•Escrever um algoritmo que leia um número e exiba o triplo do mesmo.
1.inicio 
2.inteiro n1 
3.inteiro resultado 
4.ler(n1) 
5.resultado<-n1*3 
6.escrever(resultado) 
7.fim 
Exercício 4 (resolução)
Exercício 5 (aula anterior) 
•Escrever um algoritmo que leia três números e exiba o sucessor do primeiro, o antecessor do segundo e a raiz quadrada do terceiro.
1.inicio 
2.inteiro n1 
3.inteiro n2 
4.inteiro n3 
5.decimal r 
6.ler(n1) 
7.r <- n1+1 
8.escrever (r) 
9.ler(n2) 
10.r <- n2-1 
11.escrever (r) 
12.ler(n3) 
13.r <- raiz(n3) 
14.escrever (r) 
15.fim 
Exercício 5 (resolução)
Exercício 6 (aula anterior) 
•Escrever um algoritmo que leia o nome e o salário do funcionário, calcule e exiba um aumento salarial de 15%.
1.Inicio 
2.Inteiro Num1 
3.Inteiro Num2 
4.Inteiro Num3 
5.Inteiro Num4 
6.Decimal Media 
7.Ler(Num1) 
8.Ler(Num2) 
9.Ler(Num3) 
10.Ler(Num4) 
11.Media <- (Num1 + Num2 + Num3 + Num4) / 4 
12.Escrever(Media) 
13.Fim 
Exercício 6 (resolução)
Exercício 7 (aula anterior) 
•Escrever um algoritmo que leia quatro números e exiba a média dos mesmos. Esta media pode conter casas decimais.
1.Inicio 
2.Texto NomeDoFuncionario 
3.Decimal Salario 
4.Decimal NovoSalario 
5.Ler(NomeDoFuncionario) 
6.Ler(Salario) 
7.NovoSalario <- Salario * 1.15 
8.Escrever(NovoSalario) 
9.Fim 
Exercício 7 (resolução)
Fase 4 Bora transformar nossas ideias em código!
Quais ferramentas vamos usar 
•Usaremos uma linguagem de programação chamada C# (lê-se “Cê sharp”) 
•Poderíamos utilizar qualquer editor de textos para escrever nosso programa, mas pra facilitar nossa vida, usaremos uma IDE (Integrated Development Enviroment) 
•Usaremos uma IDE chamada SharpDevelop 
–http://www.icsharpcode.net/OpenSource/SD/Default.aspx 
–Tutorial de instalação: http://www.youtube.com/watch?v=IzQSRBc-zkc
Sintaxe do C# 
•A linguagem C# é “Case Sensitive”, ou seja, faz diferença entre letra maiúscula e letra minúscula 
–NomeDoAluno ≠ nomedoaluno ≠ NOMEDOALUNO 
•Todas as linhas de comando devem terminar com o caractere ; (ponto e virgula) 
–Console.Write(NomeDoAluno); 
•Usaremos bastante as conversões de tipo de variável, através do comando Convert.To() 
–Convert.ToInt32(ConteudoASerConvertido); 
–Convert.ToDecimal(ConteudoASerConvertido);
Traduzindo nosso algoritmo 
Algoritmo 
C# 
Início 
{ 
Fim 
} 
Texto NomeDoAluno 
string NomeDoAluno; 
Ler(NomeDoAluno) 
NomeDoAluno = Console.ReadLine(); 
Inteiro X 
int X; 
Ler(X) 
X = Convert.ToInt32(Console.ReadLine()); 
Resultado  A + B 
Resultado = A + B; 
Escrever(ResultadoFinal) 
Console.Write(ResultadoFinal)
1. { 
2. int PrimeiroNumero; 
3. int SegundoNumero; 
4. int Resultado; 
5. PrimeiroNumero = Convert.ToInt32(Console.ReadLine()); 
6. SegundoNumero = Convert.ToInt32(Console.ReadLine()); 
7. Resultado = PrimeiroNumero + SegundoNumero; 
8. Console.Write(Resultado); 
9. } 
Fase 4 (C#)
Saída 
1. { 
2. int PrimeiroNumero; 
3. int SegundoNumero; 
4. int Resultado; 
5. PrimeiroNumero = Convert.ToInt32(Console.ReadLine()); 
6. SegundoNumero = Convert.ToInt32(Console.ReadLine()); 
7. Resultado = PrimeiroNumero + SegundoNumero; 
8. Console.Write(Resultado); 
9. } 
Fase 4 (C#) 
indentação 
Declaração das 
Variáveis que serão utilizadas pelo programa 
Processamento 
Entrada
Comparando lado a lado
Iniciando uma nova Solução no SharpDevelop
Informe os dados iniciais para criar o seu programa
Ao final, pressione a tecla F5 para compilar e Executar o programa 
Muita atenção nas letras maiúsculas e minúsculas
Mão no código Antes, vamos preparar o ambiente!
Exercício desta aula 
Transcrever todos os algoritmos escritos na aula anterior para programas em C#, utilizando a IDE SharpDevelop.
Por hoje é só... Agora é hora de estudar!

Contenu connexe

Tendances

Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvRCiro Matheus
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programaçãoAnderson Araújo
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoRobson Ferreira
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoRobson Ferreira
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim12anogolega
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Robson Ferreira
 
Conceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoConceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoJorge Cardoso
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosRegis Magalhães
 

Tendances (20)

Python + algoritmo
Python + algoritmoPython + algoritmo
Python + algoritmo
 
Oficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvROficina de Lógica de Programação - Uso do Scratch e do GvR
Oficina de Lógica de Programação - Uso do Scratch e do GvR
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Aula python
Aula pythonAula python
Aula python
 
02 while
02 while02 while
02 while
 
Dicas para maratonas de programação
Dicas para maratonas de programaçãoDicas para maratonas de programação
Dicas para maratonas de programação
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
Conceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentaçãoConceitos e técnicas de programação apresentação
Conceitos e técnicas de programação apresentação
 
Conceitos e técnicas de programação introdução
Conceitos e técnicas de programação introduçãoConceitos e técnicas de programação introdução
Conceitos e técnicas de programação introdução
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
 
Conceitos Fundamentais de Programacao
Conceitos Fundamentais de ProgramacaoConceitos Fundamentais de Programacao
Conceitos Fundamentais de Programacao
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Algoritmos Aula 11
Algoritmos Aula 11Algoritmos Aula 11
Algoritmos Aula 11
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
TWP38 Revisão Geral 2
TWP38 Revisão Geral 2TWP38 Revisão Geral 2
TWP38 Revisão Geral 2
 

Similaire à Lógica de Programação - Unimep/Pronatec - Aula03

Similaire à Lógica de Programação - Unimep/Pronatec - Aula03 (20)

Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Conceito de funçao e modularizaçao
Conceito de funçao e modularizaçaoConceito de funçao e modularizaçao
Conceito de funçao e modularizaçao
 
Resumo computação I
Resumo computação IResumo computação I
Resumo computação I
 
Conceito de algoritmo
Conceito de algoritmoConceito de algoritmo
Conceito de algoritmo
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.Algoritmo de ordenação heapsort.
Algoritmo de ordenação heapsort.
 
Algoritmo0
Algoritmo0Algoritmo0
Algoritmo0
 
portugol
portugolportugol
portugol
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Algoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - IntroducaoAlgoritmos - Aula 01 B - Introducao
Algoritmos - Aula 01 B - Introducao
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
MD_Fortran.pdf
MD_Fortran.pdfMD_Fortran.pdf
MD_Fortran.pdf
 
Exercicios facebook
Exercicios facebookExercicios facebook
Exercicios facebook
 

Plus de André Phillip Bertoletti

Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorAndré Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3André Phillip Bertoletti
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5André Phillip Bertoletti
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4André Phillip Bertoletti
 

Plus de André Phillip Bertoletti (20)

Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Comunidade Locais de TI
Comunidade Locais de TIComunidade Locais de TI
Comunidade Locais de TI
 
Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
The clean coder
The clean coder The clean coder
The clean coder
 
Teste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedorTeste de software, na visão de um desenvolvedor
Teste de software, na visão de um desenvolvedor
 
Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12Banco de Dados II - Unimep/Pronatec - Aula 12
Banco de Dados II - Unimep/Pronatec - Aula 12
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11
 
Política nas mídias sociais
Política nas mídias sociaisPolítica nas mídias sociais
Política nas mídias sociais
 
Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10Banco de Dados II - Unimep/Pronatec - Aula 10
Banco de Dados II - Unimep/Pronatec - Aula 10
 
Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9Banco de Dados II - Unimep/Pronatec - Aula 9
Banco de Dados II - Unimep/Pronatec - Aula 9
 
Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8Banco de Dados II - Unimep/Pronatec - Aula 8
Banco de Dados II - Unimep/Pronatec - Aula 8
 
Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9Interface Homem-máquina - Unimep/Pronatec - Aula 9
Interface Homem-máquina - Unimep/Pronatec - Aula 9
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7Interface Homem-máquina - Unimep/Pronatec - Aula 7
Interface Homem-máquina - Unimep/Pronatec - Aula 7
 
Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6Interface Homem-máquina - Unimep/Pronatec - Aula 6
Interface Homem-máquina - Unimep/Pronatec - Aula 6
 
Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4Interface Homem-máquina - Unimep/Pronatec - Aula 4
Interface Homem-máquina - Unimep/Pronatec - Aula 4
 
Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3Interface Homem-máquina - Unimep/Pronatec - Aula 3
Interface Homem-máquina - Unimep/Pronatec - Aula 3
 
Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2Interface Homem-máquina - Unimep/Pronatec - Aula 2
Interface Homem-máquina - Unimep/Pronatec - Aula 2
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5
 
Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4Banco de Dados II - Unimep/Pronatec - Aula 4
Banco de Dados II - Unimep/Pronatec - Aula 4
 

Lógica de Programação - Unimep/Pronatec - Aula03

  • 1. Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 03 - Prof. André Bertoletti -
  • 2. Agenda de hoje •Recordar é viver •Revezamento em duplas (exercícios) •Fase 4: usando uma linguagem de programação
  • 3. Fases da construção Passo-a-passo rumo a um bom software
  • 4. Fase 1 Dividir o problema em pedaços menores e entender melhor os passos necessários Fase 2 Escrever os passos necessários numa sequencia lógica, e usando uma linguagem simples (português) Fase 3 Reescrever o algoritmo usando uma linguagem mais técnica Fase 4 Reescrever o algoritmo usando alguma linguagem de programação
  • 5. Fase 3 Reescrever o algoritmo usando uma linguagem mais técnica
  • 6.
  • 7. Variáveis Guardar agora para usar depois
  • 8. Variável, um espaço reservado na memória Valor
  • 9. “Cada um no seu quadrado” “abacaxi” “faca” 35 “João”
  • 10. Regras para criar e usar variáveis 1.Toda variável DEVE ter um tipo definido em sua declaração 2.Toda variável precisa ser declarada, antes de ser usada 3.Seu nome DEVE começar necessariamente com letras (A a Z) 4.Seu nome NÃO pode conter espaço em branco ou caracteres especiais
  • 11. 1. Inicio 2. Inteiro PrimeiroNumero 3. Inteiro SegundoNumero 4. Inteiro Resultado 5. Ler(PrimeiroNumero) 6. Ler(SegundoNumero) 7. Resultado  PrimeroNumero + SegundoNumero 8. Escrever(Resultado) 9. Fim Fase 3 (final)
  • 12. Fase 3 (final) Declaração das Variáveis que serão utilizadas pelo algoritmo Entrada Processamento Saída 1. Inicio 2. Inteiro PrimeiroNumero 3. Inteiro SegundoNumero 4. Inteiro Resultado 5. Ler(PrimeiroNumero) 6. Ler(SegundoNumero) 7. Resultado  PrimeroNumero + SegundoNumero 8. Escrever(Resultado) 9. Fim
  • 13. Vamos treinar um pouco?!
  • 14. Exercícios da aula passada Revezaremos a resolução em duplas de programadores (piloto e copiloto)
  • 15. Exercício 1 (aula anterior) •Escrever um algoritmo que leia um número e exiba este mesmo número multiplicado por 2
  • 16. 1.inicio 2.inteiro numero 3.inteiro resultado 4.ler(numero) 5.resultado<-numero*2 6.escrever (resultado) 7.fim Exercício 1 (resolução)
  • 17. Exercício 2 (aula anterior) •Escrever um algoritmo que leia três números e exiba o resultado da soma dos dois primeiros, multiplicado pelo terceiro número.
  • 18. 1.inicio 2.inteiro n1 3.inteiro n2 4.inteiro n3 5.inteiro resultado 6.ler(n1) 7.ler(n2) 8.ler(n3) 9.resultado<-(n1+n2)*n3 10.escrever(resultado) 11.fim Exercício 2 (resolução)
  • 19. Exercício 3 (aula anterior) •Escrever um algoritmo que leia o nome e o ano de nascimento do aluno e exiba a sua idade.
  • 20. 1.inicio 2.texto NomeDoAluno 3.inteiro AnoDeNascimento 4.ler(NomeDoAluno) 5.ler(AnoDeNascimento) 6.AnoDeNascimento<-2014-AnoDeNascimento 7.escrever(AnoDeNascimento) 8.fim Exercício 3 (resolução)
  • 21. Exercício 4 (aula anterior) •Escrever um algoritmo que leia um número e exiba o triplo do mesmo.
  • 22. 1.inicio 2.inteiro n1 3.inteiro resultado 4.ler(n1) 5.resultado<-n1*3 6.escrever(resultado) 7.fim Exercício 4 (resolução)
  • 23. Exercício 5 (aula anterior) •Escrever um algoritmo que leia três números e exiba o sucessor do primeiro, o antecessor do segundo e a raiz quadrada do terceiro.
  • 24. 1.inicio 2.inteiro n1 3.inteiro n2 4.inteiro n3 5.decimal r 6.ler(n1) 7.r <- n1+1 8.escrever (r) 9.ler(n2) 10.r <- n2-1 11.escrever (r) 12.ler(n3) 13.r <- raiz(n3) 14.escrever (r) 15.fim Exercício 5 (resolução)
  • 25. Exercício 6 (aula anterior) •Escrever um algoritmo que leia o nome e o salário do funcionário, calcule e exiba um aumento salarial de 15%.
  • 26. 1.Inicio 2.Inteiro Num1 3.Inteiro Num2 4.Inteiro Num3 5.Inteiro Num4 6.Decimal Media 7.Ler(Num1) 8.Ler(Num2) 9.Ler(Num3) 10.Ler(Num4) 11.Media <- (Num1 + Num2 + Num3 + Num4) / 4 12.Escrever(Media) 13.Fim Exercício 6 (resolução)
  • 27. Exercício 7 (aula anterior) •Escrever um algoritmo que leia quatro números e exiba a média dos mesmos. Esta media pode conter casas decimais.
  • 28. 1.Inicio 2.Texto NomeDoFuncionario 3.Decimal Salario 4.Decimal NovoSalario 5.Ler(NomeDoFuncionario) 6.Ler(Salario) 7.NovoSalario <- Salario * 1.15 8.Escrever(NovoSalario) 9.Fim Exercício 7 (resolução)
  • 29. Fase 4 Bora transformar nossas ideias em código!
  • 30. Quais ferramentas vamos usar •Usaremos uma linguagem de programação chamada C# (lê-se “Cê sharp”) •Poderíamos utilizar qualquer editor de textos para escrever nosso programa, mas pra facilitar nossa vida, usaremos uma IDE (Integrated Development Enviroment) •Usaremos uma IDE chamada SharpDevelop –http://www.icsharpcode.net/OpenSource/SD/Default.aspx –Tutorial de instalação: http://www.youtube.com/watch?v=IzQSRBc-zkc
  • 31. Sintaxe do C# •A linguagem C# é “Case Sensitive”, ou seja, faz diferença entre letra maiúscula e letra minúscula –NomeDoAluno ≠ nomedoaluno ≠ NOMEDOALUNO •Todas as linhas de comando devem terminar com o caractere ; (ponto e virgula) –Console.Write(NomeDoAluno); •Usaremos bastante as conversões de tipo de variável, através do comando Convert.To() –Convert.ToInt32(ConteudoASerConvertido); –Convert.ToDecimal(ConteudoASerConvertido);
  • 32. Traduzindo nosso algoritmo Algoritmo C# Início { Fim } Texto NomeDoAluno string NomeDoAluno; Ler(NomeDoAluno) NomeDoAluno = Console.ReadLine(); Inteiro X int X; Ler(X) X = Convert.ToInt32(Console.ReadLine()); Resultado  A + B Resultado = A + B; Escrever(ResultadoFinal) Console.Write(ResultadoFinal)
  • 33. 1. { 2. int PrimeiroNumero; 3. int SegundoNumero; 4. int Resultado; 5. PrimeiroNumero = Convert.ToInt32(Console.ReadLine()); 6. SegundoNumero = Convert.ToInt32(Console.ReadLine()); 7. Resultado = PrimeiroNumero + SegundoNumero; 8. Console.Write(Resultado); 9. } Fase 4 (C#)
  • 34. Saída 1. { 2. int PrimeiroNumero; 3. int SegundoNumero; 4. int Resultado; 5. PrimeiroNumero = Convert.ToInt32(Console.ReadLine()); 6. SegundoNumero = Convert.ToInt32(Console.ReadLine()); 7. Resultado = PrimeiroNumero + SegundoNumero; 8. Console.Write(Resultado); 9. } Fase 4 (C#) indentação Declaração das Variáveis que serão utilizadas pelo programa Processamento Entrada
  • 36. Iniciando uma nova Solução no SharpDevelop
  • 37. Informe os dados iniciais para criar o seu programa
  • 38. Ao final, pressione a tecla F5 para compilar e Executar o programa Muita atenção nas letras maiúsculas e minúsculas
  • 39. Mão no código Antes, vamos preparar o ambiente!
  • 40. Exercício desta aula Transcrever todos os algoritmos escritos na aula anterior para programas em C#, utilizando a IDE SharpDevelop.
  • 41. Por hoje é só... Agora é hora de estudar!