Составление программ, использующие структуры
Работа добавлена: 2016-06-25





Міністерство освіти і науки України

УНІВЕРСИТЕТ МИТНОЇ СПРАВИ ТА ФІНАНСІВ

КАФЕДРА ІНФОРМАЦІЙНИХ СИСТЕМ І ТЕХНОЛОГІЙ

ПРАКТИЧНА РОБОТА №1

з дисципліни «Алгоритмізація та програмування»

Студента __1__ курсу __К15-1__ групи

напряму підготовки__6.050101________

______________________Шкребтан І.О_

(прізвище та ініціали)

Керівник ___________________________

____________________________________

(посада, вчене звання, науковий ступінь, прізвище та ініціали)

Національна шкала ________________

Кількість балів: __________Оцінка:ECTS _____

м. Дніпропетровськ – 2016 рік

Тема: Структуры

Мета:Составление программ, использующие структуры

Теоретичні відомості:

Для конструирования в программе объектов, обладающих разнообразными и, что очень важно, разнотипными свойствами  Си предусматривает использованиеструктур. То есть, с помощьюСтруктур может быть представлен некоторый набор разнотипных и/или однотипных данных, который рассматривается как совершенно новый,пользовательский тип данных.

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

Элементы структуры называютсяполями. Каждому полю должно быть поставлено в соответствиеимя итип. Объявление поля состоит из указания типа и имени переменной:

Для того чтобы связать тип структура с конкретной переменной используется 2 способа.

Первый.

Определение типа переменной структура имеет традиционный  вид:

тип-данных идентификатор переменной;

Практически, следом за правой фигурной скобкой, следует список переменных (так же, как и в случае базисных типов).

Примеры:

struct {  int   year;  char  moth, day; } date1, date2;

Каждая из двух переменных date1, date2 состоит из трех компонентов year, moth, day.

struct { double x,y; } sm[9];

Переменная sm определяется как массив из девяти структур.

struct {

int tab_nom;char fio[30];char data[10];int pol;char adres[40];float summa;} spisok[1000];

Второй  способ основан на использовании тега структуры. Тег структуры определяется следующим образом:

structтег { список описаний; };

где тег является идентификатором.

Т.е. за словомstructможет следовать необязательное имя, которое называетсятэгом,именем типаструктуры  илиярлыком структуры.

Cтруктуры можно инициировать, помещая следом за определением список начальных значений элементов.

Доступ к полям структуры производится по имени поля (а не по индексу, как у массивов), т.е. осуществляется с помощью указания имени структуры и следующего через точку имени выделенного компонента:     имя_структуры.имя_елемента.

Операция выделения элемента. (точка)связывает имя структуры в имя элемента.

На практике структурные переменные обычно появляются в виде массива или списка. Нетрудно видеть, что наши три переменныеa0, a1, a2будет проще использовать, если их объединить в массив, сосотоящий из элементов типаstruct anketa.

Індивідуальне завдання

8.Пол

Составить программу, которая подсчитывает школьников, дошкольников и пенсионеров (старше 60 лет –мужчин, и старше 55 лет -женщин).

Виконання роботи

Код програми:

#include<stdio.h>

#include<math.h>

#include<locale.h>

#include<stdlib.h>

int main ()

{

setlocale(LC_ALL,"");

system ("color F0");

int N, i, x=0,c=0,v=0;

struct anket {

char fio[30];

int voz;

int pol;

};

printf("\nКоличествоанкет: ", N);

scanf("%d", &N);

struct anket ank[N];

printf("\n Если пол мужской, введите в поле <<1>>, если женский, введите в поле <<2>>. ");

for (i=0; i<N; i++) //Ввод сведений о людях

{printf("%d-й человек", i+1);

printf("\nФамилияИ.О.: "); scanf( "%s", &ank[i].fio);

printf("\nВозраст: "); scanf( "%d", &ank[i].voz);

printf("\nПол: "); scanf( "%d", &ank[i].pol);

};

for (i=0; i<N; i++) //Проверка на возраст

{if (ank[i].voz <=6) x++;

if (ank[i].voz <=18 && ank[i].voz >=7) c++;

if (ank[i].pol==1 && ank[i].voz >=60) v++;

if (ank[i].pol==2 && ank[i].voz >=55) v++;

};

printf ("\n Дошкольники: %d ", x);

printf ("\n Школьники: %d ", c);

printf ("\n Пенсионеры: %d ", v);

system ("pause");

};

Контрольные вопросы:

  1. Какой набор данных называют структурой?
  2. Как описываются структуры?
  3. Что называют полями структуры? Какие характеристики им соответствуют?
  4. Каким образом можно определить значения полей структуры?
  5. Как осуществляется доступ к элементам структуры?

Робоче вікно:

Висновок: В ході лабораторної роботи я навчилася писати програми використовуючи структури. Закріпила знання в сфері використання циклів та умов.




Возможно эти работы будут Вам интересны.

1. Составление блок-схем и простых программ

2. Составление программ с использованием условного оператора

3. Химичекий состав и строение структуры хромосомы. Динамика её структуры в клеточном цикле

4. Средства разработки программ. Компилятор, средства разработки и отладки программ

5. Составление бухгалтерской отчетности

6. Обучение игровых программ

7. Составление калькуляции и распределение косвенных расходов

8. Составление букетов и композиций в различной технике

9. Способы конструирования и верификации программ

10. Защита программ с помощью ASProtect