Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Иллюстративный материал к лекциям по информатике: Структуры

Содержание

Структуры Пример. Сведения о студентах группы.Иллюстративный материал к лекциям по Информатике Автор Саблина Н.Г. 2011 г.
ИННОВАЦИОННАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА Структуры   Пример. Сведения о студентах группы.Иллюстративный материал к лекциям по СодержаниеАвторТекст программыБлок-схема алгоритма вычисления среднего возрастаТекст программы ввода данныхБлок-схема алгоритма записи данныхМетод решенияПостановка задачи Постановка задачи.	Сохраним в файле следующие сведения о студентах некоторой группы: фамилию, имя, Метод решения.Для организации такого списка студентов создадим тип student, представляющий собой структуру Метод решения. Задача 1Первая программа - диалог ввода исходных данных. Сначала запрашивается Метод решения. Задача 2. (1) Исходные данные для второй задачи вводятся из файла Метод решения. Задача 2. (2) Номер записи k, содержащей сведения о самом Блок-схема алгоритма записи данных  НачалоЗапись в файл сведений о студентахnСколько Текст программы ввода данныхint main() {  struct student{  char famil[20]; Текст программы ввода данных	cout Блок-схема алгоритма вычисления среднего возраста  Началоi=0; ws=0; dl=0Открытие файлаСведения о студентах1 Блок-схема алгоритма вычисления среднего возраста  конец файла?i=i+1считывание personws = ws Текст программы#include #include #include #include int main(){ struct student{		   char famil[20]; Текст программы student person;   FILE *group;   int i,k,ws;	float dl;cout Текст программыwhile (!feof(group)) //	достигнут конец файла{// считывание записи из файла fread(&person,sizeof(person),1,group); if (feof(group)) Текст программыfloat sr=ws/(i);cout
Слайды презентации

Слайд 2 Структуры Пример. Сведения о студентах группы.
Иллюстративный материал к

Структуры  Пример. Сведения о студентах группы.Иллюстративный материал к лекциям по

лекциям по Информатике


Автор Саблина Н.Г. 2011 г.

Слайд 3 Содержание



Автор


Текст программы


Блок-схема алгоритма вычисления среднего возраста


Текст программы ввода

СодержаниеАвторТекст программыБлок-схема алгоритма вычисления среднего возрастаТекст программы ввода данныхБлок-схема алгоритма записи данныхМетод решенияПостановка задачи

данных


Блок-схема алгоритма записи данных


Метод решения


Постановка задачи


Слайд 4 Постановка задачи.
Сохраним в файле следующие сведения о студентах

Постановка задачи.	Сохраним в файле следующие сведения о студентах некоторой группы: фамилию,

некоторой группы: фамилию, имя, возраст, рост. Вычислим средний возраст

студентов группы и определим самого высокого студента.
 
Постановка задачи
Исходными данными для этой программы являются сведения о студентах: фамилия, имя, возраст, рост. Все данные вводятся с клавиатуры.
Выходные данные – файл, содержащий сведения, средний возраст студентов, фамилия, имя, рост самого высокого студента в группе.

Слайд 5 Метод решения.
Для организации такого списка студентов создадим тип

Метод решения.Для организации такого списка студентов создадим тип student, представляющий собой

student, представляющий собой структуру с соответствующими полями:
фамилия,
имя -

строковые поля;
возраст – поле целого положительного типа(см. [1 п. 8.5]),
рост в метрах– действительное число.
Сведения о студентах сохраним в файле group.dat. Тип элементов этого файла – student.
Разделим решение этой задачи на две независимые программы:
ввод данных о студентах и запись этих данных в файл;
вычисление среднего возраста и определение самого высокого студента.



Слайд 6 Метод решения. Задача 1
Первая программа - диалог ввода

Метод решения. Задача 1Первая программа - диалог ввода исходных данных. Сначала

исходных данных.
Сначала запрашивается количество студентов в группе (n).
Затем

в цикле вводятся данные о каждом студенте.
Эти сведения заносятся в поля переменной person типа student.
Для обращения к отдельному полю структуры person используются составные имена, например,
person.famil,
person.rost и т.п.
Полностью сформированная запись об i-м студенте сразу же записывается в файл с помощью одной операции записи.
Использование структурированного типа student делают возможным осуществлять запись в файл всех сведений о студенте за одну операцию записи.


Слайд 7 Метод решения. Задача 2. (1)
 Исходные данные для второй

Метод решения. Задача 2. (1) Исходные данные для второй задачи вводятся из

задачи вводятся из файла group.dat.
Для считывания записей из файла

организован цикл с предусловием (while). Этот цикл выполняется до тех пор, пока не будет достигнут конец файла.
В теле цикла выполняются следующие действия:
считывание данных об очередном студенте в переменную person, вывод на экран сведений о нем,
добавление его возраста к суммарному возрасту группы,
сравнение роста данного студента с ростом других уже просмотренных студентов.

Слайд 8 Метод решения. Задача 2. (2)
Номер записи k,

Метод решения. Задача 2. (2) Номер записи k, содержащей сведения о

содержащей сведения о самом высоком студенте, запоминается. Кроме того,

имеется счетчик студентов i. Считывание записи из файла в переменную person осуществляется за одну операцию чтения (так же как и запись), а при выводе на экран нужно обратиться к каждому полю записи отдельно.
После просмотра всех записей указатель файла переводится на запись с номером k, производится считывание и вывод на экран сведений о самом высоком студенте в группе.


Слайд 9 Блок-схема алгоритма записи данных
Начало
Запись в файл сведений о

Блок-схема алгоритма записи данных НачалоЗапись в файл сведений о студентахnСколько

студентах
n
Сколько человек в группе?
Открытие файла
1
Введите данные о студенте: фамилию,

имя, возраст, рост

i=1,n

person

Запись person

Конец

1


Слайд 10 Текст программы ввода данных
int main()
{
struct

Текст программы ввода данныхint main() { struct student{ char famil[20]; char

student{
char famil[20];
char name[15];
unsigned

int let;
float rost;
};

int i,n;
student person;
FILE *group;
char* file_name="gruppa.dat";
group=fopen(file_name,"w");
cout<<"Сколько человек в групе?";
cin>>n;


Слайд 11 Текст программы ввода данных
cout

Текст программы ввода данных	cout

рост";
 
for(i=1;i>person.rost;
fwrite(&person, sizeof(student),1,group);
}
 
fclose(group);
}


Слайд 12 Блок-схема алгоритма вычисления среднего возраста
Начало
i=0; ws=0; dl=0
Открытие файла
Сведения

Блок-схема алгоритма вычисления среднего возраста Началоi=0; ws=0; dl=0Открытие файлаСведения о студентах1

о студентах
1


Слайд 13 Блок-схема алгоритма вычисления среднего возраста
конец файла?
i=i+1
считывание person
ws =

Блок-схема алгоритма вычисления среднего возраста конец файла?i=i+1считывание personws = ws

ws + person.Let
person.rost >dl
dl = person.rost
k = i

- 1

да

нет

Конец

ws

да

нет

ws = ws/i

Считывание
person

самый высокий
студент - person

Переход к k-й записи в файле

Закрытие файла

person

1


Слайд 14 Текст программы
#include
#include
#include
#include
int main(){
 
struct student{

Текст программы#include #include #include #include int main(){ struct student{		  char famil[20];

char famil[20]; //фамилия
char

name[15]; //имя
unsigned int let; //возраст}
float rost; // {рост}
} ;


Слайд 15 Текст программы
student person;
FILE *group;

Текст программы student person;  FILE *group;  int i,k,ws;	float dl;cout

int i,k,ws;
float dl;
cout

файла для чтения
group=fopen("gruppa.dat","r");
i=0; dl=0; ws=0;

Слайд 16 Текст программы
while (!feof(group)) // достигнут конец файла
{
// считывание записи

Текст программыwhile (!feof(group)) //	достигнут конец файла{// считывание записи из файла fread(&person,sizeof(person),1,group); if

из файла
 fread(&person,sizeof(person),1,group);
if (feof(group)) break;
++i; //счетчик студентов
ws=ws+person.let; //суммарный возраст
if

(person.rost>dl)
{ dl=person.rost;
k=i-1;
} //вывод на экран
cout<<"\n"<cout<<", vozrast- "<cout<<" let, rost- "<}

Слайд 17 Текст программы
float sr=ws/(i);
cout

Текст программыfloat sr=ws/(i);cout

(group,p,0);
fread(&person,sizeof(student),1,group);
cout

рост- "<fclose(group); // {закрытие файла}
getch();
return 0;


  • Имя файла: illyustrativnyy-material-k-lektsiyam-po-informatike-struktury.pptx
  • Количество просмотров: 106
  • Количество скачиваний: 0