0% acharam este documento útil (0 voto)
26 visualizações10 páginas

P1 Lpca

O documento apresenta conceitos fundamentais de programação, incluindo fluxogramas, pseudocódigos e a linguagem C. Ele detalha a estrutura básica de códigos, operadores, tipos de variáveis, estruturas de decisão e laços de repetição. Além disso, aborda a declaração e manipulação de vetores e matrizes em C.

Enviado por

brunovazzf
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
26 visualizações10 páginas

P1 Lpca

O documento apresenta conceitos fundamentais de programação, incluindo fluxogramas, pseudocódigos e a linguagem C. Ele detalha a estrutura básica de códigos, operadores, tipos de variáveis, estruturas de decisão e laços de repetição. Além disso, aborda a declaração e manipulação de vetores e matrizes em C.

Enviado por

brunovazzf
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

P1 LPCA

1.​ Fluxograma
O fluxograma é uma forma padronizada e eficaz para representar os passos
lógicos de um determinado processamento, simbologia gráfica.

Parte Símbolo Dica visual

Início/Fim Oval Começo/fim sempre oval

Leitura Paralelogramo Leia algo

Processamento de dados Retângulo Cálculos

Decisão
Losango Condições (sim/não)
(condicional/laço)

Saída Paralelogramo Mostrar algo

Nos fluxogramas, deve-se também adicionar tipos de variáveis, atribuição de


valores e impressão formatada em tela. Por exemplo:
2.​ Pseudocódigos

Use essa estrutura base em quase qualquer questão

Início
// 0. Determinação de variáveis
int variavel1;
float variavel2;
// 1. Leitura de dados
Leia variavel1, variavel2

// 2. Processamento
resultado <- variavel1 + variavel2

// 3. Decisão (se houver)


Se resultado > 10 então
Escreva "Maior que 10"
Senão
Escreva "Menor ou igual a 10"
FimSe

// 4. Saída
Escreva resultado
Fim
Exemplo de Fluxograma x Pseudocódigo

3.​ Linguagem C
Estrutura básica de um código em C:
#include <stdio.h>
int main() {
// código vai aqui
return 0;
}
Símbolo Nome do operador Significado / Uso Exemplo

Atribui um valor a
= Atribuição x = 5;
uma variável

Igualdade Verifica se dois


== if (x == 5)
(comparação) valores são iguais

Verifica se dois
!= Diferente valores são if (x != 10)
diferentes

Compara se um
< Menor que valor é menor que if (x < 10)
outro

Compara se um
> Maior que valor é maior que if (x > 0)
outro

Compara se é
<= Menor ou igual if (x <= 20)
menor ou igual

Compara se é maior
>= Maior ou igual if (x >= 1)
ou igual

Verdadeiro se as
&& E lógico (AND) duas condições if (x > 0 && x < 10)
forem verdadeiras

Verifica se uma
|| OU lógico (OR) condição ou outra if (x < 0 || x > 100)
forem verdadeiras

Inverte o valor
! NÃO lógico (NOT) lógico (verdadeiro if (!(x == 0))
vira falso, e vice)

+ Soma Adição entre valores resultado = a + b;

Subtração entre
- Subtração resultado = a - b;
valores

Multiplicação entre
* Multiplicação resultado = a * b;
valores

Divisão entre
/ Divisão valores (inteira se resultado = a / b;
forem int)

Módulo (resto da Resto da divisão


% resultado = a % b;
divisão) inteira

++ Incremento Soma 1 à variável x++; ou ++x;

-- Decremento Subtrai 1 da variável x--; ou --x;


Observações importantes:

●​ = é diferente de ==:
○​ = atribui;
○​ == compara.
●​ && e || são operadores lógicos usados dentro de estruturas como if ou while.
●​ % só funciona com números inteiros (int), não com float.
●​ Operadores como x++ ou ++x têm diferenças sutis em contexto de
expressões, mas para uso simples funcionam igual.

​ Tipos de variáveis e suas máscaras para a saída.​


​ Lembrete: printf("Valor de x = %d", x);

Máscara Exemplo de
Tipo em C Descrição Tipo em C
(printf/scanf) uso

int idade;
int Número inteiro %d scanf("%d", int
&idade);

Número float nota;


float decimal %f scanf("%f", float
simples &nota);

double media;
Número
double %lf scanf("%lf", double
decimal duplo
&media);

char letra;
char Um caractere %c scanf(" %c", char
&letra);

char
nome[50];
char[] / string Texto (string) %s char[]
scanf("%s",
nome);

●​ Use espaço antes de %c: scanf(" %c", &letra); ← evita ler o Enter da linha
anterior.
●​ Para printf de float/double com casas decimais: printf("%.2f", valor); → 2
casas.
●​ Para strings, não precisa usar &: scanf("%s", nome); ← correto.
4.​ Operadores e Estruturas de Decisão
​ A estrutura IF e ELSE serve para verificar uma informação e realizar
determinada ação a partir dela.
●​ Sintaxe:
if (condição) {
// comandos se a condição for verdadeira
} else {
// comandos se a condição for falsa
}
●​ Exemplo
int idade = 20;

if (idade >= 18) {


printf("Maior de idade\n");
} else {
printf("Menor de idade\n");
}
A estrutura SWITCH CASE é uma estrutura de seleção usada em C quando
você quer verificar vários valores possíveis de uma mesma variável, de forma mais
organizada do que vários if/else.
●​ Sintaxe
switch (variável) {
case valor1:
// comandos
break;

case valor2:
// comandos
break;

// ...

default:
// comandos se nenhum dos casos anteriores for
verdadeiro
break;
}
-​ A variável usada no switch geralmente é do tipo int ou char.
-​ O comando break impede que os próximos case também sejam executados
(isso se chama "fall-through").
-​ O default funciona como o else: é executado se nenhum caso bater.

5.​ Laços de repetição


a.​ While
Executa uma instrução ou bloco de instruções enquanto uma condição é válida, ou
seja, é verdade.
●​ Pseudocódigo
ENQUANTO(Condição for Verdade)
FAÇA
Processo A.
FIM ENQUANTO
Processo B.
●​ Sintaxe
while (<expressão_condicional>)
<comando>
while (<expressão_condicional>)
{
<comando>;
<comando>;
<comando>;
...
}
●​ Exemplo: Exiba na tela números de 1 a 100
int contador = 1;
while (contador <= 100) {
printf("%d\n", contador);
contador++;
}
b.​ For
Bastante utilizado quando já se conhece a priori a quantidade de vezes que o laço
será executado.
No comando for tanto a inicialização da variável quanto o teste lógico e o
incremento (ou decremento) ficam na mesma linha .
O comando é executado até que a expressão seja falsa.
●​ Sintaxe
for (inicialização; condição; incremento) {
// comandos
}
●​ Exemplo: Exiba na tela números de 1 a 100
for (int i = 0; i < 5; i++) {
printf("Valor de i: %d\n", i);
}
O break é usado dentro de um for (ou while ou switch) para ENCERRAR o laço
imediatamente — mesmo que a condição ainda permita continuar.
●​ Sintaxe
for (int i = 0; i < 10; i++) {
if (i == 5) {
break; // Sai do for
}
printf("%d\n", i);
}
●​ Saída
0
1
2
3
4
●​ Explicação
- O for iria de 0 a 9
- Mas quando i chega em 5, a condição i == 5 é verdadeira
- O break é executado e sai imediatamente do laço
- Nada depois disso dentro do for roda mais

c.​ Do - while
Garante pelo menos uma execução antes de verificar a condição.
●​ Sintaxe
do { <comando>;
<comando>;
<comando>;
<comando>;
...
} while (expressão_condicional);

●​ Exemplo
int i = 0;
do {
printf("Valor de i: %d\n", i);
i++;
} while (i < 5);

6.​ Vetores e Matrizes


-​ Vetor: estrutura que armazena vários valores de um mesmo tipo em linha.
-​ Matriz: estrutura que armazena valores em duas dimensões (linhas e
colunas).
a.​ Vetores
●​ Declaração
int numeros[5]; // vetor com 5 posições (índices de​
​ ​ ​ ​ 0 a 4)
●​ Exemplo: Preencher um vetor e imprimir seus valores
#include <stdio.h>

int main() {
int i;
int notas[3];

// entrada de dados
for (i = 0; i < 3; i++) {
printf("Digite a nota %d: ", i + 1);
scanf("%d", &notas[i]);
}

// saída de dados
for (i = 0; i < 3; i++) {
printf("Nota %d = %d\n", i + 1, notas[i]);
}

return 0;
}

●​ Entrada (scanf)
for (int i = 0; i < tamanho; i++) {
printf("Digite o valor da posição %d: ", i);
scanf("%d", &vetor[i]);
}
●​ Saída (printf)
for (int i = 0; i < tamanho; i++) {
printf("vetor[%d] = %d\n", i, vetor[i]);
}

b.​ Matrizes
●​ Declaração
int matriz[3][2]; // 3 linhas e 2 colunas

●​ Exemplo: Preencher e mostrar uma matriz 3x2


#include <stdio.h>

int main() {
int i, j;
int matriz[3][2];

// entrada de dados
for (i = 0; i < 3; i++) {
​ ​ for (j = 0; j < 2; j++) {
printf("Digite o valor da posição [%d][%d]: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

// saída de dados
printf("\nMatriz:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 2; j++) {
printf("%d\t", matriz[i][j]);
}
printf("\n");
}

return 0;
}

●​ Entrada (scanf)
for (int i = 0; i < linhas; i++) {
for (int j = 0; j < colunas; j++) {
printf("Digite o valor da posição [%d][%d]: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

●​ Saída (printf) \t é para sair em formato tabulado


for (int i = 0; i < linhas; i++) {
for (int j = 0; j < colunas; j++) {
printf("%d\t", matriz[i][j]);
}
printf("\n");
}

●​ Para casos onde você quer definir o número de linhas e de colunas


#include <stdio.h>

int main() {
int linhas, colunas;

printf("Digite o número de linhas: ");


scanf("%d", &linhas);

printf("Digite o número de colunas: ");


scanf("%d", &colunas);

int matriz[linhas][colunas];

// Preenchendo a matriz
for (int i = 0; i < linhas; i++) {
for (int j = 0; j < colunas; j++) {
printf("Digite o valor da posição [%d][%d]: ", i, j);
scanf("%d", &matriz[i][j]);
}
}

// Exibindo a matriz
printf("\nMatriz:\n");
for (int i = 0; i < linhas; i++) {
for (int j = 0; j < colunas; j++) {
printf("%d\t", matriz[i][j]);
}
printf("\n");
}

return 0;
}

Você também pode gostar