Buscar

Métodos Computacionais - Unidade II

Prévia do material em texto

Métodos Computacionais
DATA 21/01/2023
Métodos Computacionais 
S e g u n d a U n id a d e
P r o f e s s o r A d i ls o n d a S i lv a
Cronograma
Nossas aulas 
e nossas 
atividades
Cronograma
Aulas Dia Horas
Web 1 21/01/2023 14:30
Web extra 23/01/2023 19:00
Web 2 26/01/2023 19:00
Web Extra 31/01/2023 17:30
Web 3 02/02/2023 17:30
Web 4 07/02/2023 19:00
Web Extra 11/02/2023 10:00
DATA 21/01/2023
Objetivos
• Conhecer como surgiu e compreender 
o motivo do sucesso como linguagem 
de programação da linguagem C;
• Aprender conhecimentos básicos sobre 
a linguagem C;
• Conhecer as diferentes estruturas e ser 
capaz de escolher a mais adequada 
para cada problema;
• Estudar as funções em C aprendendo 
como declarar e usar uma função;
• Ser capaz de criar programas básicos 
em C que sejam úteis para resolver 
problemas aplicados à engenharia.
DATA 23/01/2023
Conceitos Básicos da 
Linguagem C
• A Linguagem C foi inventada e foi 
implementada no inicio dos anos 70 por 
Dennis Ritchie em um DEC PDP-11, 
usando o Sistema Operacional UNIX.
• A linguagem C é o resultado do 
processo de desenvolvimento iniciado 
com outra linguagem, chamada BCPL, 
desenvolvida por Martin Richards. Esta 
linguagem influenciou a linguagem 
inventada por Ken Thompson, chamada 
linguagem B.
DATA 23/01/2023
Conceitos Básicos da 
Linguagem C
• Sendo assim a linguagem C é a 
evolução da linguagem B.
• A linguagem C se tornou uma das 
linguagens de programação mais 
utilizada, por ser flexível e ainda 
poderosa, sendo que ela é a 
responsável pela criação de alguns 
software famosos e a base de outros 
como jogos.
DATA 23/01/2023
Conceitos Básicos da 
Linguagem C
• A linguagem C encontra seus limites 
quando o tamanho de um projeto 
ultrapassa certo ponto de 25.000 a 
100.00 linhas de código. Para a solução 
desse problema em 1980 um estudioso 
chamado Bjarne Stroustrup
acrescentando varias intenções na 
linguagem C deu origem à nova 
linguagem que se chamava inicialmente 
“C com classes”, e por volta dos anos 
1983 o nome foi mudado para 
linguagem C++.
DATA 23/01/2023
Conceitos Básicos da 
Linguagem C
• Mais a evolução do C++ não parou com 
o Bjarne Stroustrup, muitas foram as 
implementações, até tornarem a 
linguagem C++ uma linguagem que 
suporta Programação Orientada a 
Objetos. As inspirações relacionadas 
acima deve através de outra linguagem 
de programação chamada Simula67.
• Atualmente a linguagem C / C++ é 
utilizada nas faculdades de Sistema de 
Informação e Ciência da Programação 
em aulas de Lógica de Programação e 
Estrutura de dados.
DATA 23/01/2023
IDE para Linguagem C++
• Utilizaremos a linguagem C++ para criar os 
programas;
• Download do DEV C++
• https://sourceforge.net/projects/orwelld
evcpp/files/latest/download
• Learn C++ Programing
• Móvel C [C/C++ Compiler]
• https://www.onlinegdb.com/online_c_com
piler
DATA 23/01/2023
https://sourceforge.net/projects/orwelldevcpp/files/latest/download
Linguagens C++
•Linguagem de Médio Nível
•Simples e amigável
•Excelente portabilidade
•Sintaxe Fácil
•Uso de funções e procedimentos
DATA 23/01/2022
Estrutura da linguagem C++
DATA 23/01/2022
Tipos de dados da 
Linguagens C++
Na linguagem de programação C, os 
dados podem assumir cinco tipos básicos:
char, int ,float, double e void
DATA 23/01/2022
Tipos de Dados na linguagem C
DATA 23/01/2022
BITS INTERVALO
INÍCIO FIM
Char 8 -128 127
unsigned char 8 0 255
signed char 8 -128 127
int 16 -32768 32767
unsigned int 16 0 65535
signed int 16 -32768 32767
short int 16 -32768 32767
unsigned short int 16 0 65535
signed short int 16 -32768 32767
Tipos de Dados na linguagem C
DATA 23/01/2022
BITS INTERVALO
INÍCIO FIM
long int 32 -2147463648 2147463647
unsigned long int 32 0 4294967295
signed long int 32 -2147463648 2147463647
float 32 -3.4E-38 3.4E+38
double 64 1.7E-308 1.7E+308
long double 80 -3.4E-4932 3.4E+4932
Operadores na 
Linguagem C
• Aritméticos
• Relacionais
• Lógicos
DATA 23/01/2022
Operadores Aritméticos
DATA 23/01/2022
Adição + int a = 2 + 2; // a = 4
Subtração - int b = 5 -2; // b = 3
Multiplicação * int c = 2 * 5; // c = 10
Divisão / int d = 6 / 3; // d = 2
Resto % int e = 5 % 2; // e = 1
Operadores Relacionais
DATA 23/01/2022
Operadores Descrição Exemplo
> Maior que Int a = 3, b = 2; (a > b) true (b > a) false
< Menor que Int a = 3, b = 2; (a < b) false (b < a) true
>= Maior ou igual Int a = 3, b = 2, c = 2; (a >= b) true (a >= c) true
<= Menor ou igual Int a = 3, b = 2, c = 2; (a <= b) false (a <= c) true
== Igualdade Int a = 3, b = 2, c = 2; (a == b) false (a == c) true
!= Diferença Int a = 3, b = 2, c = 2; (a != b) true (a != c) false
Operadores Lógicos
DATA 23/01/2022
Operadores Descrição Exemplo
&& E( and)
Int a = 3, b = 2, c = 2;
(a == b) && (b == c) // false
|| Ou (or)
Int a = 3, b = 2, c = 2;
(a == b) ||(b == c) // true
! Negação (not)
bool a = true, b = false;
!a // false !b // true
Declarando 
Variáveis
• Evite começar com letra maiúscula e 
nunca use um numero para começar 
uma variável.
• Não utilize caracteres especiais, como : 
, “ , (, ).
• Você não pode usar palavras 
reservadas como variável.
• Não coloque sinais de pontuação na 
sua variável.
DATA 23/01/2022
Criando variáveis
#include <stdio.h>
int main( void)
{
double primeiranota, segundanota, media;
primeiranota=0;
segundanota=0;
media=0;
return 0;
}
DATA 23/01/2022
Entrada e Saída de 
Dados
#include <stdio.h>
int main( void)
{
int idade;
int anoAtual;
int anoNascimento;
printf("Digite sua idade: ");
scanf("%id",&idade);
printf("Digite o ano atual: ");
scanf("%id",&anoAtual);
anoNascimento=anoAtual-idade;
printf("Oi, você nasceu em %d\n",
anoNascimento);
return 0;
}
DATA 23/01/2022
Estrutura básica de 
um programa em C
DATA 23/01/2022
/* programa que calcula o perímetro e a área de uma circunferência de raio */
#include <stdio.h> /* Inclui diretivas de entradas-saída*/
#include <math.h> /* inclui diretivas das funções matemáticas*/
int main( void)
{ int R;
float Perm, Area, PI;
PI = 3.14159;
printf("Entre com o valor do raio:");
scanf("%d", &R);
Perm = 2 * PI * R;
Area = PI * pow(R,2); 
printf("O perímetro da circunferência de raio %d é %.2f \n",R ,Perm);
printf("e a área e %.2f",Area);
return 0; 
}
Inclusão de biblioteca
Inclusão de variáveis
Impressão de mensagem
Digitação de variável
Entrada e Saída 
de Dados
DATA 23/01/2022
Formatação
DATA 23/01/2022
Sequencias de escape
DATA 23/01/2022
Exemplo de programa
DATA 23/01/2022
#include <stdio.h>
int main ( void)
{
int a;
printf ("Digite um numero: ");
scanf ("%d", &a);
printf ("\nO numero digitado foi %d\n", a);
return (0);
}
Saída de dados
Entrada de dados
Exemplo de programa
DATA 23/01/2022
/*programa exemplo do uso da função printf Imprime com 6 casas dec.*/
#include<stdio.h>
int main( void)
{ int N=2;
char Letra ='a';
float X = 2.5f;
double Z=3.5 e-10;
printf("O primeiro valor impresso é uma constante decimal %d",15);
printf("O valor da primeira variável declarada e inicializada é %d",N);
printf("O valor da segunda variável declarada e inicializada é %c",Letra);
printf("O valor da primeira variável de ponto flutuante (prec. Simples) é %f",X);
printf("O valor da segunda variável de ponto flutuante (prec. Dupla) é %f",Z);
printf("O valor da segunda variável de ponto flutuante (prec. Dupla) é %.11f",Z);
printf("O valor da expressão que soma 4 ao valor de N é %d", N+4);
printf("As variáveis utilizadas (declaradas e inicializadas) foram N=%d, \Letra=%c, X=%f, Z=%.11f", N,Letra,X,Z);
return 0;
}
Exemplo de programa
DATA 23/01/2022
#include <stdio.h> /* inclui definições básicas p/ I/O */
#define CONST_EX 50 /* nomeação da constante 50 */
int main( void )
{
int vi; /* declaração das variáveis */
char vc;
float vx;
double vy;
vi = CONST_EX; /* atribuição de valores */
vc = 'm';
vx = -10.3f;
vy = 0.023;
printf("Exemplo de constante CONST_EX = %d \n",CONST_EX);
printf("Exemplo de variável int vi = %i\n", vi);
printf("Exemplo de variável char vc = %c \n", vc);
printf("Exemplo de variável float vx = %f \n", vx);
printf("Exemplo de variável double vy = %f \n", vy); /* ou %lf */
vi = 10;
printf("variável int (decimal) vi = %d \n",vi);
rintf("variável int (hexadecimal) vi = %x \n",vi);
printf("variável int (octal) vi = %o \n",vi);
}
Exemplo de programa –
Printf com inteiros
DATA 23/01/2022
#include <stdio.h>
main(void)
{
int vari = 2;
float varx = 2.4f;
printf("Exemplos : vari = %d, varx = %f \n", vari,varx);
printf("A porcentagem da população é %d %% \n",85);
}
• saída do programa
Exemplos : 
vari = 2, 
varx = 2.4
A porcentagem da população é 85 %
Exemplo de programa – Printf com 
Ponto Flutuante
DATA 23/01/2022
#include <stdio.h>
int main( void)
{
printf(“%4.2f\n”,3456.783f);
printf(“%3.2f\n”,3456.783f);
printf(“%3.1f\n”,3456.783f);
printf(“%10.3f\n”,3456.783f);
}
• saída do programa
3456 .78
3456 .78
3456 .8
3456 .783
Estrutura de Decisão
Estruturas de Decisão em C
DATA 23/01/2022
A linguagem C, tanto quanto qualquer outra linguagem, possui 
estrutura de decisão.
Podem ser do tipo:
• if 
• if–else
• if–elseif-else
• Vamos ver um exemplo da última, que é a mais comum.
Estrutura de Decisão if
– elseif - else
DATA 23/01/2022
Estrutura de Decisão if – elseif - else
DATA 23/01/2022
int result = 0; 
if (result == 0)
printf(“O valor da variável é zero."); 
else if( result == 1)
printf(" O valor da variável é um.");
e assim por diante, criando uma estrutura de seleção(decisão)
encadeada.
Exemplo de IF
DATA 23/01/2022
#include<conio.h>
#include<stdio.h>
int main(void)
{
int n1, n2, media=0;
printf("Digite a Nota 1: ");
scanf("%d", &n1);
printf("Digite a Nota 2: ");
scanf("%d", &n2);
media = (n1 + n2)/2;
if (media >= 7) {
printf("Aluno Aprovado");
}
else {
printf("Aluno Reprovado");
}
getch();
return(0);
}
As chaves não são obrigatórios quando 
apresentam apenas um comando
Exemplo de IF – else - if
DATA 23/01/2022
#include<conio.h>
#include<stdio.h>
int main(void)
{
int n1, n2, media=0;
printf("Digite a Nota 1: ");
scanf("%d", &n1);
printf("Digite a Nota 2: ");
scanf("%d", &n2);
media = (n1 + n2)/2;
if (media >= 7){
printf("Aluno Aprovado");
}
else if (media < 4) { 
printf("Aluno Reprovado"); }
else { 
printf("Na Final"); }
getch();
return(0);
}
Exemplo de IF – else - if
DATA 23/01/2022
#include<conio.h>
#include<stdio.h>
int main(void)
{
int n1, n2, media=0;
printf("Digite a Nota 1: ");
scanf("%d", &n1);
printf("Digite a Nota 2: ");
scanf("%d", &n2);
media = (n1 + n2)/2;
if (media >= 7){
printf("Aluno Aprovado");
}
else if (media < 4) { 
printf("Aluno Reprovado"); }
else { 
printf("Na Final"); }
getch();
return(0);
}
Exemplo de Switch
DATA 23/01/2022
•SWITCH é uma declaração de múltipla escolha, diferente do if que caso 
tenha uma lista de escolha a ser montada não fica elegante e 
dependendo a extensão do programa fica difícil a manutenção.
Switch (variável)
{
Case constante1:
Comandos;
Break;
Case constante2:
Comandos;
Break;
Case constante3:
Comandos;
Break;
default
comandos;
}
DATA 23/01/2022
#include <iostream>
using namespace std;
int main(void)
{
char grade;
cout << "Digite a sua grade (A to F): ";
cin >> grade;
switch (grade) {
case 'A':
cout << "Sua idade está entre 90 - 100"<< endl;
break; 
case 'B':
cout << "Sua idade está entre 80 - 89"<< endl;
break;
case 'C':
cout << "Sua idade está entre 70 - 79"<< endl;
break;
case 'D':
cout << "Sua idade está entre 60 - 69"<< endl;
break;
default: 
cout << "Sua idade é menor que 60" << endl; }
return 0; }
O objeto cout representa o stream de saída no 
C++. Este stream é uma espécie de sequencia 
(fluxo) de dados a serem impressos na tela.
Para realizar a impressão, usa-se o "operador 
de inserção" que "insere" dados dentro 
do stream.
O objeto cin representa o stream de entrada no 
C++. Ele realiza a leitura de um sequencia de 
dados, sem espaços e sem tabulações, vindas 
do teclado.
Para coletar estes dados armazenados, usa-se o 
"operador de extração" que "extrai" 
dados do stream.
DATA 23/01/2022
#include<conio.h>
#include<stdio.h>
int main() {
int opcao, valor;
printf("Converter: \n");
printf("1: Decimal para Hexadecimal.\n");
printf("2: Hexadecimal para Decimal.\n");
printf("\nInforme sua Opcao.\n");
scanf("%d", &opcao);
switch(opcao) {
case 1:
printf("\nInforme o valor em decimal: ");
scanf("%d", &valor);
printf("%d em hexadecimal e: %x", valor, valor);
break;
case 2:
printf("\nInforme o valor em hexadecimal: ");
scanf("%x", &valor);
printf("%x em decimal e: %d", valor, valor);
break;
default:
printf("\nOpcoes invalidas. tente outra vez."); } 
getch();
}
Exemplo de Switch
Estrutura de Repetição
DATA 23/01/2022
Estrutura de Repetição
DATA 23/01/2022
Estrutura de Repetição
DATA 23/01/2022
Estrutura de Repetição FOR
Laço FOR
Laço utilizado geralmente quando existe um termino definido, 
sempre vai tem um fim definido para esse laço implementado 
no inicio.
Sintaxe
For (variável de inicialização; condição; incremento)
Variável de inicialização: comando de atribuição que inicia 
uma variável que faz o controle do laço.
Condição: expressão usada que determinará o final do laço.
Incremento: define a variável de controle e muda a cada 
passada no laço.
DATA 23/01/2022
Estrutura de Repetição FOR
DATA 23/01/2022
Estrutura de Repetição FOR
/*programa que imprime o quadrado e o cubo de
conjunto de 100 valores inteiros */
#include<math.h>
#include<stdio.h>
Int main ( void) {
int C, I;
for (C=1;C<=100;C=C+1) { /*aqui NÃO tem ponto-e-vírgula */
printf(“Entre com um valor inteiro: “);
scanf(“%d”,&I);
printf(“%d | %f | %f \n”, I, pow(I,2), pow(I,3) );
}
}
DATA 23/01/2022
Estrutura de Repetição FOR
#include<conio.h>
#include<stdio.h>
int main()
{
int i;
for (i=0; i<10; i++)
{
printf("%d\n",i);
}
getch();
}
getch() espera que o usuário 
digite uma tecla e retorna este 
caractere. Você pode estar 
estranhando o fato 
de getch() retornar um inteiro, 
mas não há problema pois este 
inteiro é tal que quando 
igualado a um char a conversão 
é feita corretamente. A 
função getche() funciona 
exatamente como getch(). A 
diferença é que getche() gera 
um "echo" na tela antes de 
retornar a tecla.
DATA 23/01/2022
Estrutura de Repetição FOR
#include<conio.h>
#include<stdio.h>
int main( void)
{
int i,a,soma;
soma=0;
for (i=0; i<5; i++)
{
printf("Digite um numero:");
scanf("%d",&a);
soma=soma+a;
}
printf("\n A soma é: %d",soma);
getch();
}
Se a tecla pressionada for um 
caractere especial estas 
funções retornam zero. Neste 
caso você deve usar as funções 
novamente para pegar o código 
da tecla estendida pressionada.
DATA 23/01/2022
Estrutura de Repetição FOR
#include<conio.h>
#include<stdio.h>
int main( void)
{
int i;
float a,soma,media;
soma=0;
for (i=0; i<5; i++)
{
printf("Digite a altura da pessoa: %d\n",i+1);
scanf("%f",&a);
soma=soma+a;
}
printf("\n A soma é: %.2f",soma/5);
getch();
}
DATA 23/01/2022
Estrutura de repetição While
DATA 23/01/2022
Estrutura de repetição While
#include<conio.h>
#include<stdio.h> 
int main() {
int continua, contador;continua = 's';
contador = 0;
while (continua == 's') // enquanto for igual a 's'
{ // comandos a serem repetidos
printf("Repentindo....\n");
contador = contador + 1;
printf("Tecle 's' se deseja continuar\n");
continua = getch();
}
if (contador == 0)
printf("O bloco NAO foi repetido.");
else printf("O bloco foi repetido %d vezes", contador);
}
DATA 23/01/2022
Estrutura de repetição While
#include<conio.h>
#include<stdio.h>
int main()
{
int i=0;
do
{
i++;
printf("%d\n", i);
} while(i <= 10);
getch();
}
O getch() como também o 
getche() retorna a tecla 
digitada, muito usado em 
menus com 
switch.(Diferença entre os 
dois é que o getch() não 
mostra a tecla que digitou 
na tela, já o getche() 
mostra na tela qual foi a 
tecla digitada)
DATA 23/01/2022
Estrutura de repetição While
#include <stdio.h> main(){
char produto[21];
int i , qtdmaisde50, qtdmenosde50 ; float preco;
qtdmaisde50 = 0;
qtdmenosde50 = 0;
for (int i =1; i <= 5; i++){
printf(" Informe um nome do produto e a seguir tecle ENTER\n"); 
scanf ( "%21[^\n]", produto);
printf(" Agora informe o preco do produto a seguir tecle ENTER\n"); 
scanf ( "%f", &preco);
if (preco > 50) {
qtdmaisde50 = qtdmaisde50 + 1;} 
else {
qtdmenosde50 = qtdmenosde50 +1; } getchar();
}
printf(" a quantidade de produtos que custam mais de 50 reais : %d\n", qtdmaisde50); 
printf(" a quantidade de produtos que custam menos de 50 reais : %d\n", qtdmenosde50);
}
Sub Rotina
DATA 23/01/2022
Funções e procedimentos
Procedimento: é um conjunto de instruções 
que desviam o fluxo de sequência de um 
programa, podendo ou não receber 
parâmetros, porém, não retorna nenhum 
valor.
Função: é um conjunto de instruções que 
desviam o fluxo de execução de um programa, 
podendo ou não receber parâmetros, porém, 
deve, obrigatoriamente, retornar um valor.
DATA 23/01/2022
Funções e procedimentos
DATA 23/01/2022
Chamada de 
Função e de 
procedimento
Próximos Passos
• Programas em C++
Adilson da Silva
Obrigado
adilson.silva@sereducacional.com
	Número do slide 1
	Número do slide 2
	Número do slide 3
	Número do slide 4
	Número do slide 5
	Número do slide 6
	Número do slide 7
	Número do slide 8
	Número do slide 9
	Número do slide 10
	Número do slide 11
	Número do slide 12
	Número do slide 13
	Número do slide 14
	Número do slide 15
	Número do slide 16
	Número do slide 17
	Número do slide 18
	Número do slide 19
	Número do slide 20
	Número do slide 21
	Número do slide 22
	Número do slide 23
	Número do slide 24
	Número do slide 25
	Número do slide 26
	Número do slide 27
	Número do slide 28
	Número do slide 29
	Número do slide 30
	Número do slide 31
	Número do slide 32
	Número do slide 33
	Número do slide 34
	Número do slide 35
	Número do slide 36
	Número do slide 37
	Número do slide 38
	Número do slide 39
	Número do slide 40
	Número do slide 41
	Número do slide 42
	Número do slide 43
	Número do slide 44
	Número do slide 45
	Número do slide 46
	Número do slide 47
	Número do slide 48
	Número do slide 49
	Número do slide 50
	Número do slide 51
	Número do slide 52
	Número do slide 53
	Número do slide 54
	Número do slide 55
	Número do slide 56
	Número do slide 57
	Número do slide 58
	Número do slide 59
	Número do slide 60

Continue navegando