43395

Разработка информационно-поискового справочника «Шеф-повар»

Курсовая

Информатика, кибернетика и программирование

В реальных задачах информация, которую требуется обрабатывать, может иметь достаточно сложную структуру. Для ее адекватного представления используются типы данных, построенные на основе базовых типов данных, массивов и указателей. Языки высокого уровня позволяют программисту определять свои типы данных и правила работы с ними, т.е. типы, определяемые пользователем. В языке Си к ним относятся структуры, объединения и перечисления. Рассмотрим их более подробно.

Русский

2013-11-04

1.14 MB

17 чел.

Р Е Ф Е Р А Т

 

 

Курсовая работа : 31 с., 20 рис., 5 источников, 3 прил.

 

ПРОГРАММИРОВАНИЕ, С++ Builder 6.0, БАЗА ДАННЫХ, ФАЙЛ, СТРУКТУРА,  МАССИВ

 

Объектом и предметом исследования является среда программирования С++ Builder 6.0. 

Цель работы -  разработка информационно-поискового справочника «Шеф-повар».

При выполнении работы использованы методы работы со структурами и массивами. 

В  процессе  работы  проведены  следующие  исследования  и разработки  использование средств среды программирования С++ Builder 6.0 для обработки массивов структур и массивов.

Областью возможного практического применения является:                                                                                 применение справочника для систематизации и хранения информации из определенной предметной области, облегчения доступа к данным, поиска и предоставления необходимых сведений.


Содержание

[1]
Содержание

[2]
Введение

[3]
Обзор литературы

[3.1] Структуры

[3.2] Декларация структурного типа данных

[3.3] Создание структурных переменных

[3.4] Обращение к полям структур

[3.5] Массивы структур

[3.6] Размещение структурных переменных в памяти

[4]
Описание программы

[5]
Описание применения программы.

[6]
Тестирование программы

[7]
Заключение

[8]
Список литературы

[9]
Приложение 1. Блок-схема программы

[10]
Приложение 2. Листинг программы

[11]
Приложение 3. Результаты выполнения программы


Введение

Данная работа посвящена разработке программы «Шеф повар», позволяющей вводить, выводить и обрабатывать информацию о продуктах, рецептах и заказах.

Программа выполнена на языке С в среде программирования Borland C++ Builder 6 в виде консольного приложения.

Программа может работать на любых x86-совместимых ЭВМ. Для работы с программой необходимо наличие клавиатуры.

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

Данный программный продукт может быть использован как средство для удобного ввода и просмотра информации о работе ресторана.


Обзор литературы

В реальных задачах информация, которую требуется обрабатывать, может иметь достаточно сложную структуру. Для ее адекватного представления используются типы данных, построенные на основе базовых типов данных, массивов и указателей. Языки высокого уровня позволяют программисту определять свои типы данных и правила работы с ними, т.е. типы, определяемые пользователем. В языке Си к ним относятся структуры, объединения и перечисления. Рассмотрим их более подробно.  

Структуры

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

Термин «структура» в языке Си соответствует двум разным по смыслу понятиям:

– структура – это обозначение участка оперативной памяти, где располагаются конкретные значения данных; в дальнейшем – это структурная переменная, поля которой располагаются в смежных областях ОП;

– структура – это правила формирования структурной переменной, которыми руководствуется компилятор при выделении ей места в ОП и организации доступа к ее полям.

Определение объектов типа структуры производится за два шага:

– декларация структурного типа данных, не приводящая к выделению участка памяти;

– определение структурных переменных объявленного структурного типа с выделением для них памяти.

Декларация структурного типа данных

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

struct  ID структурного типа {

описание полей

};

Атрибут «ID структурного типа» является необязательным и может отсутствовать. Описание полей производится обычным способом: указываются типы переменных и их идентификаторы.

Пример определения структурного типа 

Необходимо создать шаблон, описывающий информацию о студенте: номер группы, Ф.И.О. и средний балл. Один из возможных вариантов:

struct Stud_type  {

char Number[10];       

char Fio[40];      

double S_b;       

};

Поля одного типа при описании можно объединять в одну группу:

struct Stud_type  {

char Number[10], Fio[40];      

double S_b;       

};

Размещение данного объекта типа Stud_type в ОП схематически будет выглядеть следующим образом:

Number

Fio

S_b

10 байт

40 байт

8 байт

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

Примеры групповых операций:

– захват и освобождение памяти для объекта;

– запись и чтение данных, хранящихся на внешних носителях как физические и/или логические записи с известной структурой (при работе с файлами).

Так как одним из параметров групповой обработки структурных объектов является размер, не рекомендуется декларировать поле структуры указателем на объект переменной размерности, т.к. в данном случае многие операции со структурными данными будут некорректны, например,

struct Stud_type  {

char *Number, *fio;      

double S_b;       

};

В данном случае, вводя строки Number и fio различной длины, размеры объектов будут также различны.

Создание структурных переменных

Как уже отмечалось, само описание структуры не приводит к выделению под нее места в ОП. Для работы со структурами необходимо создать нужное количество переменных приведенного структурного типа, сделать это можно двумя способами.

Способ 1. В любом месте программы для декларации структурных переменных, массивов, функций и т.д. используется объявленный в шаблоне структурный тип, например:

struct Stud_type  student;       – структурная переменная;

Stud_type  Stud[100];   – массив структур

Stud_type  *p_stud;     – указатель на структуру

Stud_type*  Fun(Stud_type);    – прототип функции с параметром структурного типа, возвращающей указатель на объект структурного типа.

Способ 2. В шаблоне структуры между закрывающейся фигурной скобкой и символом «;» указывают через запятые идентификаторы структурных данных.

Для нашего примера можно записать:

struct Stud_type  {

char Number[10], Fio[40];      

double S_b;       

} student, Stud[100], *p_stud;

Если дальше в программе не понадобится вводить новые данные объявленного структурного типа, идентификатор Stud_type можно не указывать.

При декларации структурных переменных возможна их одновременная инициализация, например:

struct Stud_type  {

char Number[10], Fio[40];      

double S_b;       

} student = {"123456", "Иванов И.И.", 6.53 };

или:

Stud_Type  stud1 = {"123456", "Иванов И.И." };

Если список инициализаций будет короче, то оставшиеся поля структурной переменной заполняются нулями.

Обращение к полям структур 

Обращение к полям структур производится путем создания составных имен, которые образуются двумя способами:

1) при помощи операции принадлежности (.) общий вид которой

ID_структуры . ID_поля

или

     (*указатель_структуры) . ID_поля

2) при помощи операции косвенной адресации (–>) в виде

указатель_структуры –> ID_поля

или

      (&ID_структуры) –> ID_поля

Если в программе созданы объекты объявленного ранее шаблона:

  Stud_Type  s1, *s2;

то к полям объекта s1 можно обратиться следующим образом:

s1. Number,   s1. Fio,   s1. S_b;

или     

(&s1) –> Number,  (&s1) –> Fio,  (&s1) –> S_b;

а к полям объекта, адрес которого s2:

s2 –> Number,   s2 –> Fio,   s2 –> S_b;

или   

(*s2) . Number,   (*s2) . Fio,   (*s2) . S_b;

Массивы структур

Структурный тип «struct ID_структуры», как правило, используют для декларации массивов, элементами которых являются структурные переменные. Это позволяет создавать программы, оперирующие с простейшими базами данных.

Например, массив структур, объявленного ранее типа:

struct Person spisok[100];  

причем ключевое слово struct можно не писать. Декларацию массива можно выполнить и в описании шаблона следующим образом:

struct Рerson {

       char fio[40];

       int day, month, year;

     }  spisok[100];

В данном случае обращение к полю, например, day элемента массива с индексом i может быть выполнено одним из следующих способов:

spisok[i].day=22;  *(spisok+i).day=22; (spisok+i)–>day=22;

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

struct Spisok {

      char Fio[20];

      double S_Bal;

};

//  Описание прототипов функций пользователя

void Out(int, Spisok);

void In(int, Spisok *);

void main(void)  

{

Spisok Stud[50], *sved;

. . .

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

Vvod(i, &Stud[i]);

puts("\n Spisok Students");

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

Out(i+1, Stud[i]);

. . .

}

// Функция вывода на экран данных одного элемента структуры

void Out(int nom, Spisok dan)   {

printf("\n %3d – %20s  %4.2lf ",nom, dan.Fio, dan.S_Bal);   

}

// Функция ввода данных одного элемента структуры

void In (int nom, Spisok *sved)  {       

printf("\n Введите сведения %d : ", nom+1);

 fflush(stdin);

puts("\n ФИО      – ");      

gets(sved–>Fio);

puts("\n Средний балл   – ");      

scanf(“%lf”, &sved–>S_Bal);

}

Размещение структурных переменных в памяти

При анализе размеров структурных переменных иногда число байт, выделенных компилятором под структурную переменную, оказывается больше, чем сумма байт ее полей. Это связано с тем, что компилятор выделяет участок ОП для структурных переменных с учетом выравнивания границ, добавляя между полями пустые байты по следующим правилам:

– структурные переменные, являющиеся элементами массива, начинаются на границе слова, т.е. с четного адреса;

– любое поле структурной переменной начинается на границе слова, т.е. с четного адреса и имеет четное смещение по отношению к началу переменной;

– при необходимости в конец переменной добавляется пустой байт, чтобы общее число байт было четное.


Описание программы

 

 Можно выделить следующие процедуры будущей программы:

  •  добавление данных о продуктах;
  •  добавление данных о рецептах;
  •  просмотр всех рецептов;
  •  формирование заказа;
  •  привоз продуктов;

Рисунок 1. Схема взаимодействия функциональных частей

После запуска программы первым запускается главное меню, которое является основной подпрограммой и служит средством вызова других подпрограмм: добавления записей, просмотра БД, удаления записей, выхода из программы.


Главное меню будет содержать следующие пункты:

  •  добавление данных о продуктах;
  •  добавление данных о рецептах;
  •  просмотр всех рецептов;
  •  формирование заказа;
  •  привоз продуктов;
  •  выход.

Описание разработанных функций

Название

Назначение

AddProd

добавление данных о продуктах

AddRec

добавление данных о рецептах

PrintRec

просмотр всех рецептов

Menu

формирование заказа

EditProd

привоз продуктов


Описание применения программы.

Разработанная программа «Шеф-повар»   позволяет организовать:

  •  Формировать базу рецептур блюд: раскладка, рецепт приготовления;
  •  Формировать базу продуктов на складе: наименование, цена, количество;
  •  Формирование меню;
  •  Проверку достаточности товаров;
  •  Корректировку запасов.


Тестирование программы

Общий вид программы приведён на рисунке 1:

Рисунок 1 – Главное меню программы

1. Добавить продукт. Предоставляется возможность добавить в базу данных информацию о продукте, как показано на рис.2:

Рисунок 2 – Добавление продукта

2. Добавить рецепта. Предоставляется возможность добавить в базу данных информацию о новом блюде, при этом имеется возможность выбора любого продукта в рецепт из имеющихся на складе, как показано на
рис. 3.

Рисунок 3 – Добавление рецепта


4. Просмотр рецептов
. Список рецептов выводится на экран:

Рисунок 4 – Просмотр рецептов

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

Рисунок 5 – Формирование заказа

При отсутствии необходимого количества ингредиентов на складе выводится соответствующее сообщение:

Рисунок 6 – Попытка формирования заказа

6. Привоз продуктов. Выводится список имеющихся продуктов на складе и предоставляется возможность изменить количество любого из продуктов (рис. 7).

 

Рисунок 8 – Привоз продуктов


Заключение

Разработана программа на языке программирования C для реализации поставленной в курсовом проекте. Разработаны алгоритмы подпрограмм, проверена работоспособность программы в целом. Как показало тестирование, программа работает корректно, поэтому поставленную задачу можно считать выполненной.


Список литературы

  1.  Шилдт, Герберт. С++ Базовый курс, 3-е издание. : Пер. с англ. – Алексей Жданов: СПб.: БХВ-Петербург, 2002. – 683 с. : ил.
  2.  Б. Страуструп. Язык программирования С++, 3-е изд пер. с англ. - М.: "Бином", СПб.: "Невский диалект", 1999. - 991 с., ил.
  3.  Т.А. Павловская. С/C++. Программирование на языке высокого уровня. – СПб.: Питер,2007. – 461 с.: ил.
  4.  Красиков И.В., Красикова И.Е. C++. Просто как дважды два - 2 изд. – ЭКСМО,  2007. -  336 с.: ил.
  5.  Т.А. Павловская, Ю.А. Щупак. С/C++. Структурное программирование: Практикум. – СПб.: Питер, 2007. – 239 с.: ил.


Приложение 1. Блок-схема программы

Рисунок 1 – Основное меню программы

Рисунок 2 – Добавление продукта

Рисунок 3 – Добавление рецепта

Рисунок 4 – Просмотр рецептов

Рисунок 5 – Формирование меню


Приложение 2. Листинг программы

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

typedef struct TProd   //структура продуктов

{

  char naim[20];

  int cena;

  double kol;

} Prod;

typedef struct TRec   //структура рецептов

{

  char nazv[20];

  int prods;

  int prod[100];

  double kol[100];

  char rec[100];

  int cena;

} Rec;

Prod prod[100];      //массив продуктов

int nprod=0;        //число продуктов

Rec rec[100];    //массив рецептов

int nrec=0;       //число рецептов

void AddProd()

{

 printf("Naimenovanie: "); scanf("%s",prod[nprod].naim);

 printf("Cena: ");scanf("%d",&prod[nprod].cena);

 printf("Koli4estvo: ");scanf("%lf",&prod[nprod].kol);

 nprod++;

 printf("Produkt dobavlen\n");getch();

}

void AddRec()

{

 int i, c;

 double kol;

 printf("Nazvanie bluda: "); scanf("%s",rec[nrec].nazv);

 rec[nrec].prods=0;

 rec[nrec].cena=0;

 printf("Spisok ingridientov:\n");

 printf("%3s%20s%15s%10s\n","N","Naimenovanie","Na sklade","Cena");

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

    printf("%3d%20s%15.1lf%10d\n",i+1,prod[i].naim,prod[i].kol,prod[i].cena);

 while (1)

 {

   printf("Vibirite produkt (0-vihod): ");

   scanf("%d",&c);

   if ((c<1) || (c>nprod))

      break;

   else

   {

      c--;

      rec[nrec].prod[rec[nrec].prods]=c;

      printf("Trebuemoe koli4estvo: ");

      scanf("%lf",&rec[nrec].kol[rec[nrec].prods]);

      rec[nrec].cena+=rec[nrec].kol[rec[nrec].prods]*prod[c].cena;

      rec[nrec].prods++;

      printf("Produkt dobavlen v recept\n");

   }

 }

 printf("Recept prigonovlenija: ");

 fflush(stdin);

 gets(rec[nrec].rec);

 nrec++;

}

void PrintRec()

{

 int i,j;

 printf("Spisok receptov:\n");

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

 {

   printf("\n%d. %s\n",i+1,rec[i].nazv);

   printf("Sostav:\n");

   for (j=0; j<rec[i].prods; j++)

     printf("%s, %.1lf\n",prod[rec[i].prod[j]].naim,rec[i].kol[j]);

   printf("Recept prigonovlenija: %s\n",rec[i].rec);

 }

 getch();

}

void Menu()

{

 int i,j,c,kol;

 printf("Spisok blud:\n");

 printf("%3s%20s%15s\n","N","Nazvanie","Stoimost`");

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

   printf("%3d%20s%15.1d\n",i+1,rec[i].nazv,rec[i].cena);

 printf("Vibirite bludo: ");

 scanf("%d",&c);

 if ((c<1) || (c>nrec)) return;

 c--;

 printf("Koli4estvo blud: ");

 scanf("%d",&kol);

 for (j=0; j<rec[c].prods; j++)

   if (kol*rec[c].kol[j] > prod[rec[c].prod[j]].kol)

   {

     printf("Ne hvataet ingridientov na sklade\n");

     getch();

     return;

   }

 for (j=0; j<rec[c].prods; j++)

    prod[rec[c].prod[j]].kol-=kol*rec[c].kol[j];

 printf("Zakaz stoimost`ju %d prinjat.",kol*rec[c].cena);

 getch();

}

void EditProd()

{

 int i, c;

 printf("Spisok ingridientov:\n");

 printf("%3s%20s%15s%10s\n","N","Naimenovanie","Na sklade","Cena");

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

    printf("%3d%20s%15.1lf%10d\n",i+1,prod[i].naim,prod[i].kol,prod[i].cena);

 printf("Vibirite produkt: ");

 scanf("%d",&c);

 if ((c<1) || (c>nprod)) return;

 c--;

 printf("Vvedite novoje koli4estvo: ");

 scanf("%lf",&prod[c].kol);

 printf("Koli4estvo izmeneno\n");

 getch();

}

void main ()

{int j;

while (1)

{

 system("cls");

 printf("%20s%s"," ","1.Dobavit` product\n");

 printf("%20s%s"," ","2.Dobavit` recept\n");

 printf("%20s%s"," ","3.Prosmotr receptov\n");

 printf("%20s%s"," ","4.Sformirovat` zakaz\n");

 printf("%20s%s"," ","5.Privoz produktov\n");

 printf("%20s%s"," ","0.Vihod\n");

 printf("Vash vibor: ") ;scanf("%d",&j);

 switch(j)

  {

   case 1:AddProd();break;

   case 2:AddRec();break;

   case 3:PrintRec();break;

   case 4:Menu();break;

   case 5:EditProd();break;

   case 0:printf("Rabota zavershena\n");getch ();return;

   default :printf("Neverniy vibor\n povtorite\n");getch();

  }

}

}


Приложение 3. Результаты выполнения программы

Рисунок 1 – Главное меню программы

Рисунок 2 – Добавление продукта

Рисунок 3 – Добавление рецепта

Рисунок 4 – Просмотр рецептов

Рисунок 5 – Формирование заказа

Рисунок 6 – Попытка формирования заказа

Рисунок 8 – Привоз продуктов


 

А также другие работы, которые могут Вас заинтересовать

41432. МЕТАЛИ ПОБІЧНИХ ПІДГРУП. ХРОМ, МАРГАНЕЦЬ. ЇХ ВЛАСТИВОСТІ ТА ЗАСТОСУВАННЯ 1.01 MB
  B тaбл. 1 пoдaнo дeякi влcтивocтi eлeмeнтiв пiдгpyпи Xpoмy. У pядy Cr Mo W збiльшyютьcя пoтeнцiли йoнiзцiї; Mo i W внcлiдoк лнтнoїднoгo cтиcнeння мють близькi тoмнi т йoннi pдiycи тoмy Moлiбдeн i Boльфpм з влcтивocтями бiльшe пoдiбнi oдин дo oднoгo нiж дo Xpoмy.15 Mкcимльн кoвлeнтнicть Xpoмy т йoгo нлoгiв дopiвнює 9 пpи цьoмy для їxнix тoмiв нйxpктepнiшi d2spз i d3s sp3гiбpидизoвнi cтни щo вiдпoвiдють кoopдинцiйним чиcлм 6 i 4. Cтiйкими cтyпeнями oкиcнeння для Xpoмy є 3 i 6 для Moлiбдeнy i Boльфpмy здeбiльшoгo ...
41433. МЕТАЛИ ПОБІЧНИХ ПІДГРУП. ЗАЛІЗО. ВЛАСТИВОСТІ ТА ЗАСТОСУВАННЯ 865.5 KB
  Meтли poдини Фepyмy злiзo кoбльт нiкeль дocить ктивнi н вiдмiнy вiд iншиx мeтлiв VIII гpyпи томy їx видiляють в oкpeмy poдинy фepoїди мeтли двox iншиx тpiд пoдiбнi мiж coбoю i дo плтини тoмy їx oб'єднyють y poдинy плтинoвиx мeтлiв плтинoїди. Biдмiннicть y xiмiчнiй ктивнocтi eлeмeнтiв poдин Фepyмy i плтинoвиx мeтлiв пoзнчилcь ткoж н їxнiй гeoxiмiчнiй xpктepиcтицi. B тoй чc як мeтли poдини Фepyмy пepeбyвють лишe y зв'язнoмy cтнi плтинoвi тpпляютьcя як в oдниx i тиx cмиx pyдx тк i в cмopoднoмy cтнi. Дeякi влcтивocтi eлeмeнтiв poдини...
41434. ЛУЖНО-ЗЕМЕЛЬНІ МЕТАЛИ 499 KB
  Bci eлeмeнти гoлoвнoї пiдгpyпи ІІ гpyпи кpiм Бepилiю мють яcкpвo виявлeнi мeтлiчнi влcтивocтi. Ocкiльки зpяд ядp тoмiв циx eлeмeнтiв н oдиницю бiльший нiж y лyжниx мeтлiв тиx cмиx пepioдiв зoвнiшнi eлeктpoни cильнiшe пpитягyютьcя дo ядp щo зyмoвлює бiльшi знчeння eнepгiй йoнiзцiї томiв i мeншy xiмiчнy ктивнicть Бepилiю т йoгo нлoгiв пopiвнянo з лyжними мeтлми. Mкcимльн вoн в глoгeнiдx бepилiю якi з cвoїми влcтивocтями є пpoмiжними мiж cпoлyкми мeтлiв i нeмeтлiв. Дeякi влcтивocтi eлeмeнтiв т пpocтиx peчoвин гoлoвнoї пiдгpyпи ІІ гpyпи Hзв...
41435. ЛУЖHI METAЛИ 285 KB
  3гльн xpктepиcтик лужниx мeтлiв. Дoбувння влcтивocтi і зcтocувння лужниx мeтлiв.Гiдpoкcиди лужниx мeтлiв.Coлi лужниx мeтлiв.
41436. EЛEMEHTИ ГOЛOBHOЇ ПIДГPУПИ Vlll ГPУПИ (IHEPTHI ГAЗИ) 325 KB
  Toмy Kr Xe i Rn yтвopюють cпoлyки в якиx виявляють cтyпeнi oкиcнeння: 2 XeF2 4 XeF4 6 XeО3 XeF6 XeOF4 B3XeO6 8 N4XeO66H2O i пoвoдять ceбe як нeмeтли. Teмпepтyp плвлeння XeF2 cтнoвить 140C. Пiд чc нгpiвння кceнoнy з фтopoм з тмocфepнoгo тиcкy yтвopюєтьcя здeбiлыuoгo XeF4 тeмпepтyp плвлeння 135 C в pзi ндлишкy фтоpy i з тиcкy 6 MП XeF6 тeмпepтyp плвлeння 49 C. Bci фтopиди кceнoнy eнepгiйнo гiдpoлiзyють y вoдi пpoцec cyпpoвoджyютьcя диcпpoпopцioнyвнням: Гiдpoлiз XeF4 y киcлoмy cepeдoвищi вiдбyвєтьcя з cxeмoю в...
41437. Apceн, cтибiй, бicмут. Дoбувaння і влacтивocтi apceну, cтибiю, бicмуту 608 KB
  Hайбiльшe знчeння як cиpoвин для дoбyвння pceнy мє FesS pceнoпipит. Дo 800C мoлeкyли pceнy щo пepeбyвють y гзoпoдiбнoмy cтнi з cклдoм вiдпoвiдють фopмyлi s4 з вищoї тeмпepтypи s2. Meтлiчнi мoдифiкцiї пpocтиx peчoвин pceнy cтибiю i бicмyтy мють шpyвтy бyдoвy кpиcтлiв. Kpиcтлiчнi фтки pceнy нближютьcя дo мoлeкyляpниx бicмyтy дo мeтлiчниx.
41438. СУЧАСНІ УЯВЛЕННЯ ПРО БУДОВУ АТОМА 1.93 MB
  Ocкiльки атoм yцiлoмy eлeктpoнeйтpльний тo cyмpний зpяд eлeктpoнiв пoвинeн дopiвнювти зpядy ядp. У 107гo eлeмeнт з пoзитивним зpядoм ядp щo дopiвнює 107 y пoлi ядp oбepтютьcя 107 eлeктpoнiв. Tк нпpиклд для тoм xлopy н чcткy eлeктpoнiв пpипдe 1 183717 = 0009 близькo 003 мcи тoм xлopy. Mcoю eлeктpoнiв пopiвнянo з мcoю ядp мoжн пpктичнo знexтyвти.
41439. ПЕРІОДИЧНИЙ ЗАКОН І ПЕРІОДИЧНА СИСТЕМА ЕЛЕМЕНТІВ МЕНДЕЛЄЄВА 153.5 KB
  Характеристика властивостей елементів по періодичній системі. В середині минулого століття хімікам було відомо близько 60 елементів. Проте вся багатогранність хімічних перетворень елементів не може бути зведена до двох типів ознак металічності і неметалічності.
41440. ЗНАЧЕННЯ ПЕРІОДИЧНОГО ЗАКОНУ ТА ПЕРІОДИЧНОЇ СИСТЕМИ 45 KB
  Пepioдичний зкoн i пepioдичн cиcтeм eлeмeнтiв Д. Iз зpocтнням пpoтoнниx чиceл бo тoмниx мc eлeмeнтiв вiдбyвютьcя якicнi змiни пepexiд вiд oднoгo eлeмeнт дo iншoгo. Tк збiльшeння пpoтoннoгo чиcл н oдиницю в pзi пepexoдy вiд Гiдpoгeнy дo Гeлiю зyмoвлює pзючy вiдмiннicть циx двox eлeмeнтiв з xiмiчними влcтивocтями. Пepioдичний зкoн i пepioдичн cиcтeм eлeмeнтiв яcкpвo iлюcтpyють ткoж iнший зкoн дiлeктики зкoн єднocтi i бopoтьби пpoтилeжнocтeй.