Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

Презентація на тему: "1 Приклад: Для кожного з 25 учнів класу відомі прізвище та оцінки (в балах) по п'яти дисциплін. Потрібно обчислити середню оцінку кожного учня." - Транскрипт:

1 + 1 Приклад: Для кожного з 25 учнів класу відомі прізвище та оцінки (в балах) по п'яти дисциплін. Потрібно обчислити середню оцінку кожного учня і вибрати людину, що має максимальний середній бал. В даному випадку: Прізвище - рядок з 15 символів, оцінка - ціле число, середній бал - речовий (дійсне) число. програма

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

2 Комбінований тип даних (записи) Записи - це структурований тип даних, що містить набір об'єктів різних типів Складові запис об'єкти називаються полями. У записі кожне поле має своє власне ім'я. Середній бал Оцінка 5Оценка 4Оценка 3Оценка 2Оценка 1Фамілія Поля Записи

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

3 3 Опис записи Ім'я записи імена об'єктив, що становлять запис і їх типи. Загальний вигляд: Type = Record. ;. ; .... End;

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

4 Type pupil = Record fam: String [15]; b1, b2, b3, b4, b5: 2..5; sb: real End; Для нашої задачі: pupil famb1b2b2b3b3b4b4b5b5 sb ЗАПИС Рядок з 15 символів 2..5 Речовий тип Ім'я записи Поля запису Тип записів

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

5 5 Для зберігати в пам'яті ЕОМ інформацію про всі 25 учнів класу, необхідно визначити масив klass, що представляє масив записів: Примітки: 1.Імена полів, що становлять запис, не повинні повторюватися. 2. Кожна поле запису може мати будь-який тип (крім файлового), зокрема, воно може бути знову записом. Var klass: Array [1..25] Of pupil;

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

6 6 Доступ до полів запису 1-й спосіб: зазначенням імені змінної і імені поля. Наприклад, klass [2] .fam, klass [3] .sb, klass [1] .b4. Тому введення прізвищ і оцінок учнів, тобто елементів масиву klass можна задати так: For i: = 1 to 25 do Begin Readln (klass [i] .fam); Readln (klass [i] .b1); Readln (klass [i] .b2); Readln (klass [i] .b3); Readln (klass [i] .b4); Readln (klass [i] .b5); End;

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

7 7 Доступ до полів запису 2-й спосіб: використанням оператора приєднання, який дозволяє здійснити доступ до полів запису таким чином, як якщо б вони були простими змінними. Його загальний вигляд: Всередині оператора до компонентів запису можна звертатися за допомогою імені відповідного поля: For i: = 1 to 25 do With klass [i] do Begin Readln (fam); Readln (b1, b2, b3, b4, b5); End; With Do

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

8 8 program zapici; const n = 10; m = 6; type pupel = record fam: string [15]; b: array [1..m] of 2..5; sb: real end; var klass: array [1..n] of pupel; i, j: integer; sbmax: real; Програма: Завдання

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

9 9 Begin for i: = 1 to n do with klass [i] do begin writeln (Введіть прізвище і, m, оцінок '); readln (fam); for j: = 1 to m do readln (b [j]); end;

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

= Sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18, Оцінки': 18, ' "title =" 10 for i: = 1 to n do with klass [i] do begin sb: = 0; for j: = 1 to m do sb: = sb + b [j] / m; end; sbmax: = 0; for i: = 1 to n do if klass [i] .sb> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18 , Оцінки ': 18,' "class =" link_thumb "H> 10 10 for i: = 1 to n do with klass [i] do begin sb: = 0; for j: = 1 to m do sb: = sb + b [j] / m; end; sbmax: = 0; for i: = 1 to n do if klass [i] .sb> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18, Оцінки ': 18,' Ср.балл ': 15); writeln; for i: = 1 to n do if klass [i] .sb = sbmax then with klass [i] do begin write (fam: 20,' - ') ; for j: = 1 to m do write (b [j]: 3); writeln ( '-', sb: 6: 3) end; readln; end. = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18, Оцінки': 18, ' "> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище': 18, Оцінки ': 18,' Ср.балл ': 15); writeln ; for i: = 1 to n do if klass [i] .sb = sbmax then with klass [i] do begin write (fam: 20, '-'); for j: = 1 to m do write (b [j ]: 3); writeln ( ' - ', sb: 6: 3) end; readln; end. "> = Sbmax then sbmax: = klass [i] .sb; writeln (Прізвище': 18, Оцінки ': 18,'" title = "10 for i : = 1 to n do with klass [i] do begin sb: = 0; for j: = 1 to m do sb: = sb + b [j] / m; end; sbmax: = 0; for i: = 1 to n do if klass [i] .sb> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18, Оцінки': 18, ' "> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище': 18, Оцінки ': 18,'" title = "10 for i: = 1 to n do with klass [i] do begin sb: = 0; for j: = 1 to m do sb: = sb + b [j] / m; end; sbmax: = 0; for i: = 1 to n do if klass [i] .sb> = sbmax then sbmax: = klass [i] .sb; writeln (Прізвище ': 18, Оцінки': 18, ' ">

11 11 Завдання: 1.Дані про учнів вводити з файлу. 2.Вивесті на екран інформацію про учня «Прізвище». 3.Вивесті на екран прізвища учнів, що мають оцінки 5 по першим двох дисциплін. 4.Распечатать прізвища учнів з максимальним середнім балом. 5.Рассортіровать учнів по спадаючій середнього бала.

Презентація на тему 1 приклад для кожного з 25 учнів класу відомі прізвище та оцінки (в балах

12 12 Приклад. Визначити дату завтрашнього дня. Нехай дата вводиться наступним чином: Type year =; month = 1..12; day = 1..31; data = Record y: year; m: month; d: day; end; Var dat, next: data; Перше число - це день, друге - місяць, третє - рік.

13 13 Function Leap (yy: year): boolean; Begin Leap: = (yy mod 4 = 0) And (yy mod); End; Function Dmonth (mm: month; yy: year): day; Begin Case mm of 1,3,5,7,8,10,12: dmonth: = 31; 4,6,9,11: dmonth: = 30; 2: if Leap (yy) Then Dmonth: = 29 Else Dmonth: = 28; End;

15 15 Begin Writeln (Введіть сьогоднішнє число, місяць, рік); Readln (dat.d, dat.m, dat.y); Tomorrow (dat, next); Writeln (Завтра буде); Writeln (next.d. Next.m. next.y); Readln; End.

16 16 Завдання: Ввести дату (дд мм рррр). Знайти: 1. Дату попереднього дня; 2. Дату, яка настане через m днів; 3. Дату, яка була за m днів до сьогоднішнього дня; 4. Кількість діб, що пройшли від дати t1 до t2; 5. День тижня, який випав на дату t1, якщо відомо, що в перший день нашої ери був понеділок.