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