Baixe o app para aproveitar ainda mais
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
Compartilhar