Нд, 22.10.2017, 05:33
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Особисті повідомлення
Видавництво ’’Аспект’’ Видавництво

Сторінка 1 з 11
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.6 Методика викладання інформатики згідно програми » Розв’язування задач з теми "Табличні величини" (Тільки конкретика)
Розв’язування задач з теми "Табличні величини"
Ковальчук_Олександр Дата: Нд, 29.11.2009, 22:22 | Повідомлення № 1
Ветеран спілкування
Повідомлень: 3620
Нагороди: 17
Рейтинг: 192
В даній темі пропоную розв’язувати задачі з розділу "Табличні величини".
Будемо писати цікаві умови задач і хто знає, пише розв’язок.
Обов’язкове правило теми: розв’язок повинен містити текст програми на мові програмування Паскаль або іншій. Допускаються коментарі щодо розв’язку, блок-схеми, НАМ. Важливо писати програми максимум оптимально. Не можна публікувати умови наступної задачі до тих пір, поки не буде розв’язана задана автором повідомлення задача.
Прохання виконувати дане правило, інакше це прирівнюватиметься до порушень правил форуму.
Не скупіться ділитись досвідом, роблячи тим самим внесок в розвиток форуму!

Шановні форумчани! Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятися без попередження!!!

Ковальчук_Олександр Дата: Нд, 29.11.2009, 22:24 | Повідомлення № 2
Ветеран спілкування
Повідомлень: 3620
Нагороди: 17
Рейтинг: 192
Задача 1.
Знайти найбільший та найменший елементи таблиці А(1..3,1..5) і поміняти їх місцями. Надрукувати отриману таблицю.

Задача 2.
В одновимірному масиві довільних чисел А(1..10) знайти найбільший елемент з відємних.

Хто готовий написати текст програми з коментарями, без сарказму і приниження учасників?

volodschool2 Дата: Нд, 29.11.2009, 23:43 | Повідомлення № 3
Досвідчений учасник
Повідомлень: 1361
Нагороди: 12
Рейтинг: 267
Quote (Ковальчук_Олександр)
Знайти найбільший та найменший елементи таблиці А(1..3,1..5) і поміняти їх місцями. Надрукувати отриману таблицю.

Program zadacha1;
uses CRT;
var A:array [1..3,1..5] of integer;
min,max,min_i,min_j,max_i,max_j,i,j,r:integer;
begin
clrscr;randomize;
for i:=1 to 3 do {Заповнюємо таблицю випадковими числами, вводити вручну - ліньки}
for j:=1 to 5 do
A[i,j]:=random(50);
for i:=1 to 3 do
begin
for j:=1 to 5 do write(a[i,j]:2,'|'); {Друкуємо таблицю до того як...}
writeln;
end;
Writeln('---------------------------------');
min:=a[1,1];max:=a[1,1]; {Припускаємо, що мінімальний та максимальний елементи знаходяться в першій клітинці}
for i:=1 to 3 do
for j:=1 to 5 do
begin
if max<a[i,j] then begin max:=a[i,j];max_i:=i;max_j:=j end; {визначаємо індекси максимального елемента таблиці}
if min>a[i,j] then begin min:=a[i,j];min_i:=i;min_j:=j end; {визначаємо індекси мінімального елемента таблиці}
end;
writeln('min=',min,' max=',max); {Мінімальний та максимальний елементи таблиці}
Writeln('---------------------------------');
R:=a[min_i,min_j]; {Обмін, можна було скористатись процедурою swap(), але вона не працює в PascalABC }
a[min_i,min_j]:=a[max_i,max_j];
a[max_i,max_j]:=R;
for i:=1 to 3 do {Друкуємо таблицю після того як...}
begin
for j:=1 to 5 do write(a[i,j]:2,'|');
writeln;
end;
end.

Quote (Ковальчук_Олександр)
В одновимірному масиві довільних чисел А(1..10) знайти найбільший елемент з відємних.

Program zadacha2;
uses CRT;
var A:array [1..10] of real;
max:real;
i,j:integer;
begin
clrscr;randomize;
for i:=1 to 10 do A[i]:=random*(random(50)-25); {Заповнюємо таблицю випадковими числами, вводити вручну - ліньки}
for i:=1 to 10 do write(a[i]:1:3,'|');writeln; {Друкуємо таблицю}
i:=1;
while (a[i]>=0)and(i<>10) do inc(i); {Шукаємо перший від''ємний елемент}
if a[i]<0 {Якщо знайдено від''ємний елемент, шукаємо максимальний}
then
begin
max:=a[i];
for j:=i to 10 do if (a[j]<0)and (max<A[j]) then max:=a[j];
Writeln('max=',max:1:3)
end
else write('Таблиця не містить від''ємних елементів');
end.


Відредаговано: volodschool2 - Пн, 30.11.2009, 00:33
vitali4 Дата: Вт, 08.12.2009, 19:56 | Повідомлення № 4
Часто заходить...
Повідомлень: 77
Нагороди: 0
Рейтинг: 5
Розв*зок volodschool2, сподобався.
Дозволю собі "поумнічать", якщо панство не проти.
zadacha2
До умови задачі я б добавив ще й пошук номеру шуканого елементу. Не розумію чому, але учні чомусь іноді плутають поняття значення елементу і номер елементу.

1) В var додаємо одну змінну n:byte;
2) Останній цикл
For j:=1 to 10 do if (a[j]<0)and(max<A[j]) then begin max:=a[j]; n:=j;Writeln('max=',max,' index=',n);end;

Nevirkovets Дата: Ср, 09.12.2009, 09:32 | Повідомлення № 5
Написав MifTests
Повідомлень: 266
Нагороди: 0
Рейтинг: 12
Quote (volodschool2)
Program zadacha1;
uses CRT;
var A:array [1..3,1..5] of integer;

Трішечки неправильно!!!!
Quote (volodschool2)
min:=a[1,1];max:=a[1,1]; {Припускаємо, що мінімальний та максимальний елементи знаходяться в першій клітинці}

Ви припускаєте .... а не дай БОГ воно так і є .... де фіксація номера а[1,1]? тобто max_i:=1;max_j:=1 і min_i:=1;min_j:=1 якщо наприклад перший елемент буде мінімальним, то по Вашій програмі результат буде неправильним.... Якщо не доступно пояснив то можу ще раз розказати ...
volodschool2 Дата: Ср, 09.12.2009, 22:38 | Повідомлення № 6
Досвідчений учасник
Повідомлень: 1361
Нагороди: 12
Рейтинг: 267
Quote (Nevirkovets)
де фіксація номера а[1,1]? тобто max_i:=1;max_j:=1 і min_i:=1;min_j:=1

Згоден! Це звичайна неуважність. А Вам ВЕЛИКИЙ ПЛЮС за уважне читання програми. Ось так дійсно буде правильно:
min:=a[1,1];max:=a[1,1];min_i:=1;min_j:=1;max_i:=1;max_j:=1; {Припускаємо, що мінімальний та максимальний елементи знаходяться в першій клітинці}


Відредаговано: volodschool2 - Ср, 09.12.2009, 22:40
Форум інформатиків » РОЗДІЛ ІІІ: МЕТОДИКА, ЗАСОБИ ВИКЛАДАННЯ ІНФОРМАТИКИ » 3.6 Методика викладання інформатики згідно програми » Розв’язування задач з теми "Табличні величини" (Тільки конкретика)
Сторінка 1 з 11
Пошук:


© Форум інформатиків України, 2007-2017.