03 Estrutura Sequencial
03 Estrutura Sequencial
03 Estrutura Sequencial
Conteúdo
• Expressões aritméticas
• Variáveis e tipos básicos de C#
• Três operações básicas de programação
• Entrada de dados
• Processamento de dados
• Saída de dados
• Funções matemáticas em C#
• Nesta seção do curso:
• Explicações teórico-práticas
• Excelente para aprendizado e revisão
• PRÁTICA!
• Exercícios resolvidos
• Debug (execução passo a passo)
• URI Online Judge
• Exercícios resolvidos
• Exercícios propostos
Expressões aritméticas
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Expressões aritméticas
4+5 resultado 9
Operadores aritméticos
Operador Significado
+ adição
C, C++, - subtração
Java, C# * multiplicação
/ divisão
% resto da divisão ("mod")
1º lugar: * / %
Precedência: 2º lugar: + -
Exemplos de expressões aritméticas
2*6/3 Resultado = 4
3+2*4 Resultado = 11
(3 + 2) * 4 Resultado = 20
60 / (3 + 2) * 4 Resultado = 48
60 / ((3 + 2) * 4) Resultado = 3
19 % 5 Resultado = 4
Pois:
14 3 19 5
2 4 4 3
Variáveis e tipos básicos em C#
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Visão geral
• Um programa de computador em execução lida com dados
• Em VARIÁVEIS!
Variáveis
Definição informal:
Em programação, uma variável é uma porção de memória (RAM) utilizada para armazenar
dados durante a execução dos programas.
Memória RAM:
(8 Giga Bytes)
Desenho 3 5000.0
esquemático:
x salario
"Maria"
nome
Declaração de variáveis
Sintaxe:
Memória RAM
<tipo> <nome> = <valor inicial>;
(opcional)
25 1.68 F
Exemplos:
int idade = 25; idade altura sexo
double altura = 1.68;
char sexo = 'F';
2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 28 = 256 possibilidades
Tipos básicos em C#
Nomes de variáveis
• Não pode começar com dígito: use uma letra ou _
• Não pode ter espaço em branco
• Não usar acentos ou til
• Sugestão: use o padrão "camel case"
Errado: Correto:
/educandoweb
/educandoweb
Usuário Programa
(dentro de variáveis)
Também chamada de
LEITURA:
O processamento de
dados se dá por um
comando chamado
ATRIBUIÇÃO
media = (x + y) / 2.0;
Programa Usuário
Também chamada de
ESCRITA:
• VAMOS VER A SEGUIR COMO FAZER NA PRÁTICA CADA UMA DESSAS TRÊS
OPERAÇÕES
/educandoweb
/educandoweb
Saída de dados em C#
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Um programa de computador é capaz de realizar
essencialmente três operações:
Programa Usuário
Também chamada de
ESCRITA:
Console.Write("Bom dia!");
Console.WriteLine("Bom dia!");
Console.WriteLine(x);
Console.WriteLine(x.ToString("F2"));
Console.WriteLine(x.ToString("F4"));
Console.WriteLine(x.ToString("F2", CultureInfo.InvariantCulture));
using System.Globalization;
Para concatenar vários elementos em um mesmo
comando de escrita
Regra geral:
using System;
using System.Globalization;
namespace Curso {
class Program {
static void Main(string[] args) {
double x = 10.35784;
int y = 32;
string z = "Maria";
char w = 'F';
Console.Write("Olá mundo!");
Console.WriteLine("Bom dia!");
Console.WriteLine("Até mais!");
Console.WriteLine();
Console.WriteLine(x);
Console.WriteLine(x.ToString("F2"));
Console.WriteLine(x.ToString("F4"));
Console.WriteLine(x.ToString("F2", CultureInfo.InvariantCulture));
Console.WriteLine();
Console.WriteLine("RESULTADO = " + x);
Console.WriteLine("O valor do troco é " + x + " reais");
Console.WriteLine("O valor do troco é " + x.ToString("F2") + " reais");
Console.WriteLine();
Console.WriteLine("A paciente " + z + " tem " + y + " anos e seu sexo é: " + w);
Console.ReadLine();
}
}
}
Saída de dados em C#
• Console.Write
• Console.WriteLine
• x.ToString("F2")
• CultureInfo.InvariantCulture
• Como concatenar vários elementos em um mesmo write
• Exemplo completo
/educandoweb
/educandoweb
Sintaxe: REGRA:
1) A expressão é calculada
<variável> = <expressão>;
2) O resultado da expressão é
armazenado na variável
Lê-se “recebe”
Exemplo 1
int x, y;
x = 5;
y = 2 * x;
Console.WriteLine(x);
Console.WriteLine(y);
Exemplo 2
int x;
double y;
x = 5;
y = 2 * x;
Console.WriteLine(x);
Console.WriteLine(y);
b=6
Exemplo 3
h=5
b = 6.0; (𝑏 + 𝐵)
𝑎𝑟𝑒𝑎 = ×ℎ
B = 8.0; 2
h = 5.0;
No exemplo:
area = (b + B) / 2.0 * h; (6 + 8)
𝑎𝑟𝑒𝑎 = ×5
2
Console.WriteLine(area); 14
= × 5 = 7 × 5 = 35
2
double b, B, h, area; Boa prática:
a = 5;
b = 2;
resultado = a / b;
Console.WriteLine(resultado);
Casting
É a conversão explícita de um tipo para outro.
a = 5;
b = 2;
resultado = a / b;
Console.WriteLine(resultado);
Exemplo 4
int a, b;
double resultado;
a = 5;
b = 2;
resultado = (double) a / b;
Console.WriteLine (resultado);
Exemplo 5
double a;
int b;
a = 5.0;
b = a;
Console.WriteLine(b);
/educandoweb
/educandoweb
Entrada de dados em C# - Parte 1
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Comando
Console.ReadLine();
Split Console:
batata tomate abacaxi
string s = Console.ReadLine();
0 "batata"
1 "tomate"
2 "abacaxi"
"batata tomate abacaxi" vet
s
Demo
Checklist 35
F
4.32
Maria F 23 1.68
• Ler um número inteiro
Demo
int n1 = int.Parse(Console.ReadLine());
char ch = char.Parse(Console.ReadLine());
double n2 = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
Console.WriteLine("Você digitou:");
Console.WriteLine(n1);
Console.WriteLine(ch);
Console.WriteLine(n2.ToString("F2", CultureInfo.InvariantCulture));
Console.WriteLine(nome);
Console.WriteLine(sexo);
Console.WriteLine(idade);
Console.WriteLine(altura.ToString("F2", CultureInfo.InvariantCulture));
Exercício de fixação
Fazer um programa para executar a seguinte interação com o SAÍDA ESPERADA (NÚMEROS
usuário, lendo os valores destacados em vermelho, e depois
mostrar os dados na tela: REAIS COM DUAS CASAS
DECIMAIS):
Entre com seu nome completo:
Alex Green Alex Green
Quantos quartos tem na sua casa? 3
3 500.50
Entre com o preço de um produto: Green
500.50 21
Entre seu último nome, idade e altura (mesma linha): 1.73
Green 21 1.73
using System;
using System.Globalization;
namespace Course {
class Program {
static void Main(string[] args) {
Console.WriteLine(fullName);
Console.WriteLine(bedrooms);
Console.WriteLine(price.ToString("F2", CultureInfo.InvariantCulture));
Console.WriteLine(lastName);
Console.WriteLine(age);
Console.WriteLine(height.ToString("F2", CultureInfo.InvariantCulture));
}
}
}
Funções matemáticas
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Exemplo Significado
A = Math.Sqrt(x); Variável A recebe a raiz quadrada de x
A = Math.Pow(x, y); Variável A recebe o resultado de x elevado a y
A = Math.Abs(x); Variável A recebe o valor absoluto de x
using System;
using System.Globalization;
namespace curso {
class Program {
static void Main(string[] args) {
double x = 3.0;
double y = 4.0;
double z = -5.0;
double A, B, C;
A = Math.Sqrt(x);
B = Math.Sqrt(y);
C = Math.Sqrt(25.0);
Console.WriteLine("Raiz quadrada de " + x + " = " + A);
Console.WriteLine("Raiz quadrada de " + y + " = " + B);
Console.WriteLine("Raiz quadrada de 25 = " + C);
A = Math.Pow(x, y);
B = Math.Pow(x, 2.0);
C = Math.Pow(5.0, 2.0);
Console.WriteLine(x + " elevado a " + y + " = " + A);
Console.WriteLine(x + " elevado ao quadrado = " + B);
Console.WriteLine("5 elevado ao quadrado = " + C);
A = Math.Abs(y);
B = Math.Abs(z);
Console.WriteLine("Valor absoluto de " + y + " = " + A);
Console.WriteLine("Valor absoluto de " + z + " = " + B);
Console.ReadLine();
}
}
}
/educandoweb
/educandoweb
Exemplo:
Entrada: Saída:
10.0 AREA = 300.00
30.0 PRECO = 60000.00
200.00
using System;
using System.Globalization;
namespace curso {
class Program {
static void Main(string[] args) {
Console.ReadLine();
}
}
}
/educandoweb
/educandoweb
Nosso primeiro exercício no URI
Online Judge
http://educandoweb.com.br
Prof. Dr. Nelio Alves
using System;
namespace Curso {
class Program {
static void Main(string[] args) {
int A, B, X;
A = int.Parse(Console.ReadLine());
B = int.Parse(Console.ReadLine());
X = A + B;
• Soluções:
https://github.com/acenelio/curso-logica-de-programacao-csharp
Exercício resolvido 02
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Fazer um programa para ler as medidas da base e altura de um retângulo. Em
seguida, mostrar o valor da área, perímetro e diagonal deste retângulo, com quatro
casas decimais, conforme exemplo.
Exemplo:
Entrada: Saída:
5.0 AREA = 20.0000
4.0 PERIMETRO = 18.0000
DIAGONAL = 6.4031
4.0
using System;
using System.Globalization;
namespace Curso {
class Program {
static void Main(string[] args) {
b = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
a = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
area = b * a;
perimetro = 2 * (b + a);
diagonal = Math.Sqrt(Math.Pow(b, 2.0) + Math.Pow(a, 2.0));
Console.ReadLine();
}
}
}
Exercício resolvido 03
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Fazer um programa para ler o nome (apenas uma palavra) e idade de duas pessoas.
Ao final mostrar uma mensagem com os nomes e a idade média entre essas pessoas,
com uma casa decimal, conforme exemplo.
Exemplo:
Entrada: Saída:
Maria 19 A idade média de Maria e Joaquim é de 19.5 anos
Joaquim 20
Exercício resolvido: estrutura sequencial
• Aplicamos:
• String
• Casting
using System;
using System.Globalization;
namespace Curso {
class Program {
static void Main(string[] args) {
Console.WriteLine("A idade média de " + nome1 + " e " + nome2 + " é de "
+ media.ToString("F1", CultureInfo.InvariantCulture) + " anos");
Console.ReadLine();
}
}
}
Exercícios propostos - PARTE 2
http://educandoweb.com.br
Prof. Dr. Nelio Alves
• Exercícios resolvidos:
• Resolvidos 02 e 03
• Soluções:
https://github.com/acenelio/curso-logica-de-programacao-csharp
Exercício resolvido 04 - URI 1019
http://educandoweb.com.br
Prof. Dr. Nelio Alves
ANÁLISE:
1 minuto = 60 segundos
38 x 3600 = 136800
SOBRA: 3353
3353 / 60 = 55,8833...
55 x 60 = 3300
SOBRA: 53
Exercício resolvido: estrutura sequencial
• URI 1019
• Aplicamos:
• Operador % ("mod")
using System;
namespace Curso {
class Program {
static void Main(string[] args) {
N = int.Parse(Console.ReadLine());
horas = N / 3600;
resto = N % 3600;
Console.ReadLine();
}
}
}
Exercícios propostos - PARTE 3
http://educandoweb.com.br
Prof. Dr. Nelio Alves
• Exercício resolvido:
• URI 1019
• Soluções:
https://github.com/acenelio/curso-logica-de-programacao-csharp