Buscar

Aula_02_Revisao_Vetores_Matrizes_Ponteiro_funcao_e_Struct

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CCT0083 - Algoritmo Avançado
Aula 02 - Revisão Vetores-Matrizes-Ponteiro
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Algoritmo Avançado
Algoritmo Avançado
Aula 02 - Revisão Vetores-Matrizes-Ponteiro
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Objetivo 
- Relembrar sobre a Sintaxe da Linguagem C/C++;
- Desenvolver em Laboratório de Informática virtual - VDI, algoritmos relacionado 
ao tema Vetores, Matrizes, Ponteiros, Registros (Struct) e Funções.
Algoritmo Avançado
VETORES
2 10 21 3 4 5 22 22 7 4
StringsDeclaração de Vetores
StringsAcessando um Vetores
2 10 21 3 4 5 22 22 7 4
Nota: A linguagem C não faz a checagem dos elemento, ou seja, o 
programador é que deve verificar se os elementos são repetidos. 
StringsExemplo de Vetores
StringsVetores de String
Strings
Pode-se declarar String em vetores facilmente.
frase[ ] = “HILSON”;
frase[8] = “HILSON C”
Vetores de String
Exemplos -String
int main () {
int count;
char expressao [6] = { ‘H', ‘I', 'L', ‘S', 'O', 'N' }; 
for (count = 0 ; count < 6; count++) {
printf("%c ", expressao[count]);
}
getch();
return 0;
}
Exemplos -Valor
Exemplos -Valor
Matrizes
Matrizes
Recursos da Matrizes
Os principais recursos que a Matrizes utiliza é a estrutura de
repetição FOR. Pois essa estrutura permite a leitura das
colunas e linhas de maneira mais prática.
Exemplo:
for (i=0; i<3; i++) {
for (j=0; j<3; j++) 
scanf("%d", &matriz[i][j]);
} 
for (i=0; i<3; i++){
for (j=0; j<3; j++) 
printf("%4d|", matriz[i][j]); 
printf("\n");
}
Estrutura de 
repetição para 
lê as 
informações.
Estrutura de 
repetição para 
imprimir as 
informações.
#include<stdio.h>
#include <stdlib.h> 
int main( ) { 
int i, j; int matriz[3][3];
printf("\n Informe os valores da matriz :");
printf("\n");
for (i=0; i<3; i++){ 
for (j=0; j<3; j++) 
scanf("%d", &matriz[i][j]); 
}
for (i=0; i<3; i++){
for (j=0; j<3; j++) 
printf("%4d|", matriz[i][j]); 
printf("\n");
}
system("pause"); 
} 
Exemplo Matriz Dimensão Fixa
Laço para leitura dos valores
Laço para impressão dos valores
Matrizes : identificação dos 
elementos
int matriz [3][3] = { 1, 0, 0, 
0, 1, 0, 
0, 0, 1 }; a31, a32, a33 };
{ a11, a12, a13, 
a21, a22, a23, 
#define DIML 3 
#define DIMC 3 
#include<stdio.h> 
int main( ) { 
int i, j; int matriz[DIML][DIMC]; 
printf("Informe os valores da matriz 3x3\n");
for (i=0; i<DIML; i++){ 
for (j=0; j<DIMC; j++) 
scanf("%d", &matriz[i][j]);
} 
for (i=0; i<DIML; i++) {
for (j=0; j<DIMC; j++) 
printf("%4d", matriz[i][j]); 
printf("\n");
}
} 
Exemplo Matriz informando Dimensão
Um exemplo que mostra 
um programa que lê uma 
matriz de três linhas e 
três colunas e imprime os 
valores.
Exemplo Matriz
Um exemplo de algoritmo 
que soma duas matrizes.
Implementação de arquivos em C 
Introdução
A Manipulação/implementação de arquivos em linguagem de
programação nos permite uma visão de armazenamento da informação
dentro de uma estrutura considerada permanente, prática que era
utilizada com o objetivo de substituir o modelo de banco de dados
convencional.
Mas que acabou ficando em desuso por conta do surgimento dos
SGDBs, alguns gratuitos e o com bastante recursos.
Introdução
As operações básicas para Manipular arquivos são:
• Criar o arquivo
• Abrir o arquivo
• Lê, alterar, armazenar ou remover conteúdo
• Remover um arquivo
• Fechar o arquivo
Funções utilizadas para manipular arquivos
As funções mais usadas estão armazenadas na biblioteca stdio.h
• fopen() - Abre um arquivo 
• fputc() - Escreve um caracter em um arquivo 
• fprintf() - Escreve caracteres num arquivo
• fgetc() - Lê um caracter de um arquivo 
• fputs() – escreve uma string em um arquivo
• fgets() – lê uma linha de um arquivo
• rewind() - Posiciona o arquivo no início 
• feof() - Retorna verdadeiro se chegou ao fim do arquivo
• fclose() – fecha
Parâmetros para manipulação de arquivos
Os modos de usar mais comuns são:
• a - abre um arquivo para inserção. Se o arquivo não
existir, o sistema operacional tentará criá-lo.
• r - abre um arquivo existente para leitura.
• w - abre um arquivo para escrita. Se o arquivo não
existir, o sistema operacional tentará criá-lo.
23
Prof. M.Sc-Hilson Silva – Computação II
Os modos de usar mais comuns são:
• r+ - abre um arquivo existente para leitura e
gravação.
• w+ - abre um arquivo para leitura e escrita. Se o
arquivo não existir, o sistema operacional tentará
criá-lo. Se o arquivo existir, todo o seu conteúdo
será substituído pelo novo conteúdo.
• a+ - abre um arquivo para inserção e leitura. Se o
arquivo não existir, o sistema operacional tentará
criá-lo.
Parâmetros para manipulação de arquivos
Exemplo Criando Arquivo a+ 
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *arquivo; //vai ser associada ao arquivo
arquivo = fopen("C://sistemas//aula.txt",“a+"); 
if(arquivo==0)
printf("Erro na criação do arquivo\n");
else
printf("Arquivo criado com sucesso\n"); 
fclose(arquivo); //fecha arquivo
}
Exemplo (Criando Arquivo w+)
#include<stdio.h>
#include<stdlib.h>
int main(){
FILE *arqtxt; //vai ser associada ao arquivo
arqtxt = fopen("c://sistemas//hilson.txt",“w+"); 
if(arqtxt==0)
printf("Erro na leitura do arquivo\n");
else
printf("Arquivo criado com sucesso\n"); 
fclose(arqtxt); //fecha arquivo
system("pause");
}
Exemplo (Gravando em Arquivo com a função fprintf)
#include <stdlib.h>
#include <stdio.h>
int main(){
FILE *arq;
char caminho[80], nome[80];
printf("Informe o nome e o caminho do arquivo Ex. 
C://Sistemas//Aula2205.txt\n");
scanf("%s",&caminho);
arq = fopen(caminho ,"w+");
if(arq==0)
printf("Erro na leitura do arquivo\n");
else
printf("Arquivo criado com sucesso\n"); 
printf(“Grave seu nome\n");
scanf("%s",&nome);
fprintf(arq,"Nome :%s\n",nome);
fclose(arq); //fecha arquivo
system("pause");
}
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Bibliografia básica
Ascencio, Ana Fernanda Gomes; Araújo, Graziela Santos de. Estruturas de Dados.
Algoritmos, Análise da Complexidade e Implementações em Java e C/C++ [BV:PE].
1. ed. São Paulo: Pearson, 2013.
Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf
Drozdek, Adam. Estrutura de dados e algoritmos em C++ [BV:MB].. 4. ed. São
Paulo,: Cengage Learning,, 2016..
Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0.
00:0.00
Manzano, Jose´ Augusto N. G. Algoritmos - Lógica para Desenvolvimento de
Programação de Computadores [BV:MB].. 28. ed. -. Sa~o Paulo: E´rica,, 2016..
Disponível em: 
https://integrada.minhabiblioteca.com.br/#/books/9788536518657/cfi/0!/4/4@0.
00:0.00
Algoritmo Avançado
Introdução à Programação
AULA 01: Introdução à Lógica de Programação
Bibliografia complementar
Projeto e Otimização em D
ANDRADE, Mairum Ceoldo. Algoritmos [BV:RE]. 1. ed. Rio de Janeiro: SESES, 2014. Disponível em:
http://repositorio.savaestacio.com.br/site/index.html#/objeto/detalhes/377757CE-7C5A-
438D-A742-482DDDC54D12
Ascencio, Ana Fernanda Gomes. Estrutura de Dados: Algoritmos, Análise da
complexidade e implementações em Java e C/C++[BV:PE]. 1ª ed. São Paulo: Pearson
Pentice Hall, 2010. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/1995/pdf
Damas, Luís. Linguagem C / Luís Damas ; tradução João Araújo Ribeiro, Orlando
Bernardo Filho.[BV:MB]. 10.ed. - [Reimpr.].. Rio de Janeiro: LTC,, 2016. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788521632474/cfi/6/2!/4/2/2@0:0
Drozdek, Adam. Estrutura de dados e algoritmos em C++ / Adam Drozdek ;
tradução: Roberto Enrique Romero Torrejon; revisão técnica: Flávio Soares
Corrêa da Silva. [BV:MB]. 4a ed. São Paulo,: Cengage Learning., 2016. Disponível em:
https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4@0.00:0.00
MELO,Ana. Silva,Flavio. Princípios de linguagem de programação[BV:PE]. 1ª
Edição.Rio de Janeiro: Blucher, 2019.
Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/172605/pdf
Algoritmo Avançado

Outros materiais