Субота, 28.12.2024, 11.28.20

Форум

Головна | RSS
[ Нові повідомлення · Участники · Правила форуму · Пошук · RSS ]
Модератор форуму: berezdiv, lordi, Натусік, Котик  
Розв'язування задач з програмування
SirogkaДата: Субота, 08.12.2012, 21.24.31 | Повідомлення # 61
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Валік, які тебе команди цікавлять, я деякі відправив листом на e-mail.
До речі, Валік, Ярослав вже тебе обігнав набагато!!!


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.

Повідомлення відредагував Sirogka - Субота, 08.12.2012, 21.25.47
 
lordi123Дата: Субота, 08.12.2012, 22.41.21 | Повідомлення # 62
Обозний
Група: Друзі
Повідомлень: 22
Статус: Оффлайн
2435. Том Сойер
Там через цикл робить чи можна обійтися?

Це добре чим погано)


Повідомлення відредагував lordi123 - Субота, 08.12.2012, 22.51.27
 
freddiemercuryДата: Неділя, 27.10.2013, 09.15.27 | Повідомлення # 63
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Сергій Олександрович, ви дивились на мої розвязки? Там все нормально?
 
SirogkaДата: Четвер, 31.10.2013, 01.54.46 | Повідомлення # 64
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Ярослав, рекомендую такі посилання (щодо задач на рядки і не тільки):

http://pascal.proweb.kz/index.php

http://the-programmer.ru/load/zadachi_pascal/stroki/46-1-2

http://distance.edu.vn.ua/metodic/pascal/1.htm

http://mojainformatika.ru/paskal....-2.html


Спробуй розібратися із 3, а потім берися до 2 задачі. Подивися уважно на використання функції, що означає кінець текстового файлу (eof). Зверни увагу, що у кожній задачі не сказано, скільки символів містить послідовність (окрім 3).


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
freddiemercuryДата: Четвер, 14.11.2013, 20.54.36 | Повідомлення # 65
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Сергій Олександрович, як в другій задачі замінити першу групу одиничних бітів на нульові?

Додано (14.11.2013, 20.54.36)
---------------------------------------------
Сергій Олександрович, перша задача (з 7-го туру ) виходить, але тільки якщо вводити масив в стопчик, а як ввести його так, як показано в прикладі і щоб при цьому програма працювала?

 
SirogkaДата: П'ятниця, 13.12.2013, 20.00.36 | Повідомлення # 66
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Ярослав, в деяких областях олімпіада з інформатики вже пройшла. Пропоную потягатися із задачею з ІІ туру однієї із областей:
Завдання 1. Номер дня. Дано три числа a, b, c, які позначають число, місяць і рік. Знайти номер  n цього дня від початку року.
Вхідні дані:     у єдиному рядку вхідного файлу day.in  записані три числа a, b, c.                        
Вихідні дані:    у вихідний файл day.out  вивести номер n.
Приклад. 
Вхідний файл  day.in         5  1   2010
Вихідний файл  day.out     5


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.

Повідомлення відредагував Sirogka - П'ятниця, 13.12.2013, 20.04.24
 
freddiemercuryДата: П'ятниця, 13.12.2013, 20.10.48 | Повідомлення # 67
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Умова зрозуміла, заре попробую розв'язати.
 Ще таке питання, високосний рік теж враховивати?
 
SirogkaДата: П'ятниця, 13.12.2013, 20.19.42 | Повідомлення # 68
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Обов'язково.

Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
freddiemercuryДата: П'ятниця, 13.12.2013, 20.56.13 | Повідомлення # 69
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Я розв'язав:

var a,b,c,n:integer; f1,f2:text;
begin
assign(f1,'day.in');
reset(f1);
readln(f1,a,b,c);

assign(f2,'day.out');
rewrite(f2);
n:=28;
if c mod 4=0 then n:=29;
case b of
1:write(f2,a);
2:write(f2,a+n);
3:write(f2,a+n+31);
4:write(f2,a+n+31+30);
5:write(f2,a+n+31+30+31);
6:write(f2,a+n+31+30+31+31);
7:write(f2,a+n+31+30+31+31+30);
8:write(f2,a+n+31+30+31+31+30+31);
9:write(f2,a+n+31+30+31+31+30+31+31);
10:write(f2,a+n+31+30+31+31+30+31+31+30);
11:write(f2,a+n+31+30+31+31+30+31+31+30+31);
12:write(f2,a+n+31+30+31+31+30+31+31+30+31+30);
end;
close(f2);
close(f1);

end.
 
SirogkaДата: П'ятниця, 13.12.2013, 21.15.13 | Повідомлення # 70
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Поки я розберуся з першою задачею, мені здається можна було розв'язати простіше, ти розв'язуй другу. Задачі такого типу частенько є на олімпіаді:
Задача 2. Математика у шостому класі
У шостому класі
школярі вивчають знаходження найбільшого спільного дільника (НСД) і найменшого
спільного кратного (НСК). НСД двох цілих додатних чисел a і b— це найбільше ціле додатне число, на яке і ab діляться без остачі. НСК двох цілихдодатних чисел a і b — це найменше ціле додатне число, якеділиться і на a, і на b без остачі.
Напишіть
програму, яка буде знаходити НСД і НСК пари чисел.
Формат вхіднихданих:єдинийрядок стандартного вхідного потоку містить 2 цілих додатних числа, кожне з яких
не перевищує 109.
Формат вихіднихданих:стандартний вихідний потік має містити двацілих числа – НСД та НСК.
Приклад вхідних та вихідних даних:
Вхідні дані         Вихідні дані
5 7                        1 35
50 70                    10 350
50 50                    50 50

Додано (13.12.2013, 21.15.13)
---------------------------------------------
Ярослав. ти молодець, твій розв'язок першої задачі проходить всі тести, але можна було розв'язати простіше. Ось мій варіант (без файлів):
var     a, b, c, k, i : integer;
         begin
            read (a, b, c);
            k := 0;
            for 
i := 1  to  b-1  do
               case  i  of
                  2:  if c mod 4 = 0  then
                           k := k + 29   else   
k := k + 28;
                  4, 6, 9, 11:  k := k + 30;
                 else  k := k + 31;
               end;
             k := k + a;
            writeln (k);
        end.

Спробуй мене зрозуміти.


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.

Повідомлення відредагував Sirogka - П'ятниця, 13.12.2013, 21.04.32
 
freddiemercuryДата: П'ятниця, 13.12.2013, 21.46.19 | Повідомлення # 71
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Я зрозумів, але щось ніяк не розбирусь з другою задачею. Там потрібно використовувати Mod і Div?
 
SirogkaДата: П'ятниця, 13.12.2013, 21.53.31 | Повідомлення # 72
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
Ярослав, знайди у підручникуалгоритм Евкліда для обчислення НСД (ст.92). А НСК обчислюється на стор. 97

Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
freddiemercuryДата: П'ятниця, 13.12.2013, 22.19.05 | Повідомлення # 73
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
var a,b,r,x:integer; d:real;
begin
read(a,b);
x:=a*b;

r:=a mod b;
while r<>0 do
begin
a:=b;
b:=r;
r:=a mod b;
end;

d:=x/b;
write(b,' ',d:0:0);
end.

Ну якось так.
 
SirogkaДата: П'ятниця, 13.12.2013, 22.50.19 | Повідомлення # 74
Суддя
Група: Друзі
Повідомлень: 135
Статус: Оффлайн
ОК, Ярослав.
Повторюємо рядки.
Задача 3.
Даноалгебраїчний вирах з дужками, записаний одним рядком. Вірно чи не вірно в ньому
розставлено дужки?
 Технічні умови: Програма читає  з клавіатури рядокз виразом (не довший за 255 символів) ..  Програма виводить на екранвідповідь в вигляді текстового рядка. Якщо дужки розставлено вірно - друкує
слово True,якщо не вірно - Fаlse
Приклад:
Введення:
(a+b)
Виведення:
True


Что у трезвого на уме, то у учителя информатики – на языке Паскаль.
 
freddiemercuryДата: Субота, 14.12.2013, 16.10.43 | Повідомлення # 75
Суддя
Група: Друзі
Повідомлень: 34
Статус: Оффлайн
Сергій Олександрович, я тут подумав, той роз*язок, що я робив у школі не зовсім вірний.  Якщо ввести наприклад  )a+b( то програма виведе True, а має бути Fаlse.

Повідомлення відредагував freddiemercury - Субота, 14.12.2013, 16.10.57
 
Пошук:

Статистика
Custom Search
Copyright by Birchen Miracle project © 2006-2015