Объем оперативной памяти – 512 К байт



Производительность – 1 млн. операций в секунду

 

Рассмотрим использование в программе вложенных структур:

/* Демонстрация вложенных структур*/

# include < stdio.h >

struct date { int day;

int month;

int year; };

/* Объявление записи типа date*/

struct person { char fam [20];

char im [20];

char ot [20];

struct date f1;};

/* Объявление структуры типа person; одним из элементов записи person является запись f1

типа date */

main ( )

{ struct person ind1;

/* обьявление переменной ind1 типа person */

printf ( “Укажите фамилию, имя, отчество, день, \n месяц”

“ и год рождения гражданина ind1\n”);

scanf (“ % S % S % S %d %d”, &ind1.fam, &ind1.im, &ind1.ot,

& ind1.f1.day, &ind1.f1.month, &ind1.f1.year );

/* Ввод сведений о гражданине ind1 */

printf (“ Фамилия, имя, отчество: % S % S % S \n”, ind1.fam, ind1.im, ind1.ot);

printf (“ Год рождения - % d \n”, ind1.f1.year);

printf (“ Месяц рождения - % d -й \n”, ind1.f1.month);

printf (“ День рождения - % d -й \n”, ind1.f1.day);

/* Вывод сведений о гражданине ind1 */

}

 

Структура типа date ( дата) содержит три элемента: day (день), month (месяц), year (год). Структура типа person (человек) содержит четыре элемента: fam[20] (фамилия), im[20] (имя) , ot[20] (отчество), f1 (дата рождения). Последний из них (f1) – это вложенная запись типа date.

Результаты работы программы:

 

Укажите фамилию, имя, отчество, день, месяц и год рождения гражданина ind1

Алексеев

Сергей

Петрович

3

5

1978

Подчеркнутая информация вводится пользователем.

 

Сведения о гражданине ind1

Фамилия, имя, отчество: Алексеев Сергей Петрович

Год рождения – 1978

Месяц рождения – 5-й

День рождения – 3-й

 

В следующей программе рассмотрим использование структуры в виде элементов массива pibm. Каждый элемент состоит из следующих компонентов: mem (память), sp (объем винчестера), model [20] (модель ПЭВМ):

/* Массивы записей */

#include < stdio.h >

struct computer { int mem, sp;

char model [20];

pibm [10];};

/* объявление записи типа computer;

объявление массива pibm типа computer */

main ( )

{ int i, j, k, priz;

for ( i=0; i<10; i++)

{ printf (“Введите сведения о ПЭВМ %d и признак (0-конец;

\n другая цифра- продолжение)\n”, i);

printf (“ модель ПЭВМ - ”);

scanf (“%S”, &pibm [i].model );

printf ( “объем оперативной памяти -”);

scanf (“%d”, &pibm[i].mem);

printf (“ объем винчестера - ”);

scanf ( “%d , &pibm[i].sp ”);

printf (“признак - ”);

scanf (“ %d ”, &priz );

k=i;

if (!priz) break; }

/* Здесь !priz – операция отрицания priz; break – выход из цикла for, если priz=0 */

for (i=0; i<10, i++); 

{

printf ( “\n О какой ПЭВМ Вы хотите получить сведения?\n (Введите номер от 0 до 9)\n” );

scanf ( “%d ”,&j );

 if (j>k)

{ printf (“Нет сведений об этой ПЭВМ \n”);

continue; }

printf (“ персональная ЭВМ %s\n ”, pibm[j].model);

printf (“объем оперативной памяти - % d Мб \n ”, pibm[j].mem);

printf (“объем винчестера - % d Мб \n ”, pibm[j].sp);

printf (“ признак – “ );

scanf ( “ %d ”, &priz);

if (!priz) break; }

/* Ввод сведений о ПЭВМ и занесение в массив pibm записей типа computer (первый цикл for); вывод на экран сведений о ПЭВМ (второй цикл for) */

}

 

Результаты работы программы:

Введите сведения о ПЭВМ и признак (0-конец; другая цифра – продолжение)   

Модель ПЭВМ – АТ 486 SX

Объем оперативной памяти – 32

Объем винчестера – 4 Гбайта

Признак – 1

Введите сведения о ПЭВМ и признак (0-конец; другая цифра – продолжение)

Модель ПЭВМ – АТ 386 DX

Объем оперативной памяти – 64

Объем винчестера – 14 Гбайт

Признак – 0

О какой ПЭВМ Вы хотите получить сведения? (Введитн номер от 0 до 9)

1

Модель ПЭВМ – АТ 386 DX

Объем оперативной памяти – 16 Мб

Объем винчестера – 2,5 Гбайт

Признак – 0

Задание

Из таблицы взять задание по варианту и написать программу.

Содержание отчета

Отчет должен содержать:

1) задание к работе;

2) программу;

3) результаты расчетов.

 

№ вар.  Задание
1 Опишите запись СТУДЕНТ и поместите в нее следующую информацию: Ф.И.О., оценки (математика, физика, черчение, химия, сопромат). Определите, сколько студентов имеют неудовлетворительную оценку по математике.
2 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов имеют неудовлетворительную оценку хотя бы по одному предмету.
3 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов сдали все экзамены на 5.
4 Воспользовавшись записью СТУДЕНТ из варианта №1, определите средний балл группы по физике.
5 Воспользовавшись записью СТУДЕНТ из варианта №1, определите количество отличных оценок, полученных группой по всем предметам.
6 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов имеют средний балл от 4 до 5.
7 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, какое количество неудовлетворительных оценок получено по всем предметам.
8 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, какой из предметов был сдан группой лучше всего.
9 Воспользовавшись записью СТУДЕНТ из варианта №1, определите, сколько студентов не имеют задолженностей.
10 Опишите запись АНКЕТА и поместите в нее следующую информацию: Ф.И.О.(фамилия, имя, отчество), адрес (улица, номер дома, номер квартиры), пол, возраст. Определите, сколько лиц женского и сколько мужского пола проживают в одном доме.
11 Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц мужского пола в возрасте старше 18 лет и младше 60 проживают на одной улице.
12 Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц женского пола в возрасте старше 30 лет проживают в одном доме.
13 Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько детей до 7 лет проживают на одной улице.
14 Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько лиц мужского пола и женского в возрасте до 50 лет проживают на одной улице.
15 Воспользовавшись записью АНКЕТА из варианта №10, определите, сколько детей от 1 года до 5 проживают в одном доме.
16 Опишите запись ТРАНСПОРТ и поместите в нее следующую информацию: Ф.И.О. (фамилия, имя, отчество пассажира), багаж (количество вещей, вес в кг). Определить число пассажиров, вес багажа которых превышает 30 кг.
17 Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите, имеется ли пассажир, багаж которого состоит из одной вещи весом в 20 кг.
18 Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите средний вес багажа.
19 Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите количество пассажиров, вес багажа которых превосходит средний.
20 Воспользовавшись записью ТРАНСПОРТ из варианта №16, определите количество пассажиров, имеющих более трех вещей.

Литература

 

1. Подбельский В.В. Язык Cu ++: Учебное пособие. - М.: Финансы и статистика,1995, - 560 с.

2. Страуструп Б. Язык программирования Сг ++. - М.: Радио и связь, 1991. - 352 стр.

3. Собоцинский В.В. Практический курс Turbo Cu ++. Основы объктно- ориентированного программирования. - М.: Свет, 1993. - 236 с.

4. Романов В.Ю. Программирование на языке Cu ++. Практический подход. - М.: Компьтер, 1993. - 160 с.

5. Уинер Р. Язык турбо Cu . - М.: Мир, 1991. - 384 с.

6. Юлин В.А., Булатова И.Р. Приглашение к Cu. - Мн.: Высш. Шк., 1990,- 224 с.

7. Котлинская Г.П., Галиновский О.И. Программирование на языке Cu. -Мн.: Высш. Шк., 1991. - 156 с.


Дата добавления: 2019-07-17; просмотров: 158; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!