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

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

Сторінка 2 з 2«12
Модератор форуму: Ktara, Bandalak, НІКОЛЯ, volevikt 
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Задачі по Pascal (Питання і відповіді)
Задачі по Pascal
skif Дата: Пн, 12.07.2010, 20:24 | Повідомлення № 1
Прописаний назавжди
Повідомлень: 352
Нагороди: 2
Рейтинг: 32
Не знайшов більш відповідної теми, тому вирішив створити нову, якщо вже десь є, прошу вибачення у модераторів
Отже, задача на масиви з посібника Я. Глинського (Turbo Pascal&Delphi 2004 р), не складна, але я щось загруз :(
"Утворити і вивести масив у з елементами у(к), к=1,12. Перший додатний елемент поміняти місцями з максимальним".


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


program Masuvu;
uses crt;
var y,g:array [1..12] of real; max,h:real;
k,n,m:integer;
begin
clrscr;
max:=-1000000;
n:=0;
for k:=1 to 12 do
begin
y[k]:=sin(k*k)*cos(k*k*k)-sin(k)+5.2;
if y[k]>max then
begin
max:=y[k];
m:=k;
end;
if y[k]>0 then
begin
n:=n+1;
g[n]:=y[k];
h:=g[1];
end;
if y[k]=g[1] then
begin
y[k]:=max;
y[m]:=h;
end;
writeln (k,' element ',y[k]:5:2);
end;
if n>0 then writeln ('pershuj dodatnij element',g[1]:5:2)else writeln('nema dodatnih elementiv');
writeln ('maksumalnuj element - ', m,' -',max:5:2);
readln;
end.
end.


Відредаговано: W-w-W - Пт, 08.01.2016, 20:00
Andrey123q Дата: Пн, 09.05.2011, 22:28 | Повідомлення № 16
Досвідчений учасник
Повідомлень: 1236
Нагороди: 3
Рейтинг: 84
1) определяем функцию fx
2) запускаем цикл от 1 до 12 - текущее значение хранится в переменной $_ (можно было бы явно указать после foreach)
3) в цикле заполняем хеш значениями (1=>f(1), 2=>f(2), ...)
4) определяем максимум и 1е положительно число
5) выводим на печать массив
6) если определено положительное значение заносим в хеш для ключей max1, dod1 (из диапазона 1..12) соответствующие значения f(x)
7) выводим на печать

Согласитесь на Perl задачка вышла компактней. Интересный язык.

Відредаговано: Andrey123q - Пн, 09.05.2011, 22:34
Пилипчук_О_П Дата: Вт, 10.05.2011, 00:05 | Повідомлення № 17
Ветеран спілкування
Повідомлень: 3767
Нагороди: 28
Рейтинг: 309
Quote (Bandalak)
Які саме? Ніби все зрозуміло!

Ну-ну! Я в Perl темний, як підвал B) Тобто, знаю, що є така мова і все.
Чим треба зайнятися, щоб довелося її вивчити?

Quote (Andrey123q)
Согласитесь на Perl задачка вышла компактней. Интересный язык.

Дякую за коментар, але... Логіка й так проглядається, якщо вчитатись. В дрібницях непосвяченому (є тільки досвід асемблера 8080, Бейсік, Паскаль, Делфі, С++, С#, трохи Пітон, може щось пропустив :) ) важко орієнтуватись: ($q)=@_; $y=&fx($_); тощо. Я розумію, що ліки від цього - книжку почитати, але спитав про всяк випадок. ;)


Відредаговано: Пилипчук_О_П - Вт, 10.05.2011, 02:27
Andrey123q Дата: Вт, 10.05.2011, 00:39 | Повідомлення № 18
Досвідчений учасник
Повідомлень: 1236
Нагороди: 3
Рейтинг: 84
Quote (Пилипчук_О_П)
Чим треба зайнятися, щоб довелося її вивчити?

Например, скрипты в Unix'ax, web-интерфейсы, например, к базам данных.

Quote (Пилипчук_О_П)
($q)=@_; $y=&fx($_)

sub fx - определяем функцию которой передается список значений.
В Perl как и в других языках используются разименовывающие символы: $ - указывает на переменную, @ - массив, % - хеш, & - функцию и т.д.
При переборе циклов можно явно указывать переменную например: foreach $i (1..12) {"print $i"} а можно и не указывать, тогда используется системная переменная $_ - в скалярном контексте, @_ - списочном. Тогда цикл можно переписать так: foreach (1..12) {print "$_ \n"} или так: print "$_ \n" foreach (1..12)
В определении функции используется одна переменная, т.е. входной массив содержит один элемент - вот мы его и передаем в список из одной переменной. ($q)=@_ можно было бы переписать $q=@_[0] - в первом варианте списочные контексты, во втором скалярные.
В двух предложениях я конечно не объясню основы языка :)


Відредаговано: Andrey123q - Вт, 10.05.2011, 00:44
Bandalak Дата: Вт, 10.05.2011, 12:41 | Повідомлення № 19
Лідер форуму
Повідомлень: 5376
Нагороди: 37
Рейтинг: 247
Quote (Пилипчук_О_П)
Я в Perl темний, як підвал

Я думав, що Ви про Паскаль? ;)
В Перлі я теж темний, як антрацит!
passaj Дата: Ср, 22.02.2012, 02:26 | Повідомлення № 20
Новий користувач
Повідомлень: 1
Нагороди: 0
Рейтинг: 0
Це для уроків, чи просто між собою випендрюєтеся на звання " Я такий розумний - що аж самому страшно!" ?
volevikt Дата: Ср, 22.02.2012, 02:36 | Повідомлення № 21
Перспективна вчителька
Повідомлень: 1776
Нагороди: 24
Рейтинг: 182
Форум дає можливість висловитися всім учасникам. Можливо, в даній гілці трішки відхилилися від теми.
passaj, пропонуйте свої задачі.
Jaxx Дата: Пт, 24.02.2012, 10:26 | Повідомлення № 22
Я тут недавно...
Повідомлень: 47
Нагороди: 0
Рейтинг: 1
Хтось з викладачів, хоча б на гуртках з програмування, звертає увагу учнів на стандарти оформлення коду і правила іменування змінних і функцій?
mul44 Дата: Пт, 24.02.2012, 14:04 | Повідомлення № 23
Наполегливий учасник
Повідомлень: 915
Нагороди: 2
Рейтинг: 43
Звертаю, алк як то кажуть "голий вася на матрасі". Пройшли і забули, як страшний сон.
Jaxx Дата: Пт, 24.02.2012, 14:11 | Повідомлення № 24
Я тут недавно...
Повідомлень: 47
Нагороди: 0
Рейтинг: 1
Quote (mul44)
Звертаю, алк як то кажуть "голий вася на матрасі". Пройшли і забули, як страшний сон.

Ясно, а якщо потім почнуть програмуванням займатися доведеться самостійно доходити перевчатися. Я знаю навіть випадки коли оцінки знижували за довгі назви змінних.
Пилипчук_О_П Дата: Пт, 24.02.2012, 15:43 | Повідомлення № 25
Ветеран спілкування
Повідомлень: 3767
Нагороди: 28
Рейтинг: 309
Щоб зрозуміти важливість оформлення коду, коментування та домовленостей щодо імен змінних, потрібно спробувати розробити порівняно великий проект або попрацювати в команді. Учні ж пишуть невеликі програмки, тому цей "дріб'язок" просто не сприймають.
Форум інформатиків » РОЗДІЛ I: ІНФОРМАТИКА, ПРОБЛЕМИ, ОБГОВОРЕННЯ, ВИРІШЕННЯ » 1.11 Змагання, конкурси, олімпіади » Задачі по Pascal (Питання і відповіді)
Сторінка 2 з 2«12
Пошук:


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