REFPIN.RU e-mael для контактов: refpin.ru@mail.ru |
Міністерство освіти і науки України
УНІВЕРСИТЕТ МИТНОЇ СПРАВИ ТА ФІНАНСІВ
КАФЕДРА ІНФОРМАЦІЙНИХ СИСТЕМ І ТЕХНОЛОГІЙ
ПРАКТИЧНА РОБОТА №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. Составление бухгалтерской отчетности
7. Составление калькуляции и распределение косвенных расходов
8. Составление букетов и композиций в различной технике