Решение задач в Паскале
|
|
Помогите составить программу решения следующих задач! 1. Дано два числа а и в. Выведите гипотенузу по заданным катетам. 2. Напиши программу, которая считывает целое число ивыводит текст аналогичный примеру. Пробелы, знаки препинания, строчные буквы важны. Пример: ввод вывод 179 The next number for the numder 179 is 180 The previaus number for the numder 179 is 178
3. N школьников делят K яблок поровну, неделящийся остаток остается в корзине. Сколько яблок достанется каждому школьнику? Программа получает на входе числа N и K и должна вывести искомое количество яблок. 4. N школьников делят K яблок поровну, неделящийся остаток остается в корзине. Сколько яблок останется в корзине? 5. Длина Московской кольцевой автомобильной дороги 109 км. Байкер Вася стартует с нулеого илометра МКАДа и едет со скоростью V км в час. На какой отметке он остановится через t часов? програама получает на входе два числа v и t. если v>0, то Вася движется в положительном направлении, если v<0, то в отрицательном. программа должна вывести целое число от 0 до 108 - номер отметки, на которой остановится Вася.
|
|
|
Quote (MVera) 2. Напиши программу, которая считывает целое число ивыводит текст аналогичный примеру. Пробелы, знаки препинания, строчные буквы важны. Пример: ввод вывод 179 The next number for the numder 179 is 180 The previaus number for the numder 179 is 178
Задачка похожая на задачу с контестера. Если так и есть, то слабый контестер выбрал. Завтра будет код ко всем твои задачкам, сейчас спать хочу
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Да я их и не выбирала - просто учусь, а в программировании не в зуб ногой. Буду очень рада если вы мне поможите!!! Там нам еще задач задали, но решила постепенно выкладывать.
|
|
|
Первая: var q,a,b:real; begin read(a,b); q:=sqrt(a*a+b*b); writeln(q:2:2); end.
Вторая: var a:integer; begin read(a); writeln('The next number for the numder ',a,' is ',a+1); write('The previaus number for the numder ',a,' is ',a-1); end.
пусть я не знаток английского, но разве пишется numder, а не number?)
Третья: var n,k:integer; begin read(n,k); writeln(n mod k); end.
Четвёртая: var n,k:integer; begin read(n,k); writeln(n div k); end.
Пятая: var v,t:integer; begin read(v,t); if v>0 then writeln(0+v*t) else writeln(109-v*y); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Люди человеки,помогите пожалуйста с задачкой нуна вот чё Составить прогу используя оператор цикла с предусловием. Вычислить количество отрицательных значений Sin(Fi) на интервале {а.в} с заданным шагом.
|
|
|
Сделала программы к задачам, но при добавлении в контестер начались проблемы. Задача 1 и 2 - пишет неправильный формат вывода. А у 3 и 4 в ответе получается не то что надо. В 3 просят выводить число яблок, которое достанется каждому. Например школьников 4, яблок 12 - должно получиться 3. В 4 задаче при аналогичных числах должно получиться 2 (просят вывести сколько ябок останется в корзине). А все эти задачи в каком паскале набираются? Мне нужно во Фри Паскаль.
|
|
|
Мы когда решали на учебе то в ответах задач получались целые числа, без дробной части после запятой - может поэтому в контестере пишет неправильный формат вывода?! Добавлено (09.02.12, 15:47) --------------------------------------------- А в пятой в предпоследней строке впоследней скобке У - это что?
|
|
|
Ну тогда напиши так: Quote (Berestovskiy) writeln(q:0:0);
то Т ))
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Cпасибо вам большое!! По этому блоку задач через контестер прошло только 2(про ябоки). В первой и второй пишет "Неправильный ответ". А в пятой формула маленько не так, потому что должно получиться число не больше 109. Я ее сама переделала, но тогда в ответе стоят цифры после запятой, а должно быть целое число. Ну, я думаю фиг с ними. Лучше посмотрите вот на эти 5 задач "Условный оператор" 1. Даны два целых числа, каждое число записано в отдельной строке. Выведите наибольшее из данных чисел. (Например, ввод: 1 2. Вывод: 2.) 2. Требуется определить, является ли данный год високосным. (Если его номер кратен 4, но не кратен 100, а также есл он кратен 400 - то год високосный). (Например, Водные данные: 2007. Выходные данные: No. Входные данные: 2000. Выходные данные: Yes.) 3. В условии одной из задач написано: "Если данное четырехзначное число является симметричным, выведите 1, иначе выведите ЛЮБОЕ ДРУГОЕ ЦЕЛОЕ ЧИСЛО". Для проверки задачи используются заранее придуманные примеры и правильные ответы на них. Школьнику кажется, что он решил эту задачу, но тестирующая система почему-то не принимает его решение. Школьник думает что это оттого, что он выводит не то ЛЮБОЕ ЧИСЛО, которое записано в правильных ответах. Напишите программу, которая по ответу, записанному в тестирующей системе и по ответу школьника определяет верно ли школьник решил задачу. Программа получает на вход два числа: ответ, записанный в тестирующей системе и ответ школьника. Программа должна вывести Yes, если школьник дал верный ответ и No в противоположном случае. (Например: Ввод: 11 и -1. Вывод:YES. Ввод: 3 и 1. Вывод: NO). 4. В математике функция sign(х) (знак числа) определена так: sign(х) = 1, если х>0. sign(х) = -1, если х<0. sign(х)= 0, если х=0. Для каждого числа х выведите значение sign(х). (Например, Ввод: 179. Вывод:1.) 5. Даны два целых числа, каждое записано в отдельной строке. Программа должна вывести число 1, если первое число больше второго, число 2, если второе число больше первого, или число 0, если ни равны. (например: Ввод: 1 2. Вывод: 2).
|
|
|
1. var a,b:integer; begin readln(a); read(b); if a>b then writeln(a) else writeln(b); end. 2. var a:integer; begin read(a); if (a mod 4=0)and(a mod 400=0)and(a mod 100<>0) then writeln('Yes')elsewriteln('No); end. 3. После пар приеду - разберусь, не совсем понял условие. Если есть возможность - поясни пожалуйста) 4. var x:integer; begin read(x); if x>0 then writeln('1') else if x<0 then writeln('-1') else writeln('0'); end. 5. var a,b:integer; begin readln(a); read(b); if a>b then writeln('1') else if a<b then writeln('2') else writeln('0'); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
№ 10 | Автор: Berestovskiy |
2012-02-10, 08:56 | Изменено: Berestovskiy - Пт, 2012-02-10, 09:09
|
Репутация: [ + 211 ]
|
|
|
А вот я не смогу пояснить вам, потому что я сама не поняла эту задачу. Написала так, как есть.
|
|
|
Ладно..попробую сделать так как я понял..
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Загрузила на "ОК" первую и четвертую задачи! Во второй - неправильный ответ. Начала проверять и на 2007 и на 2000 годы выводит "No" - может что-то не так? Добавлено (11.02.12, 20:10) --------------------------------------------- Пятая задача тоже прошла!!! Ура! Я так вам благодарна!!!
|
|
|
Почему не так? 2007 не кратен 4-ём и 400, по этому не высокосен. 2000 кратен 4-ём и 400, но в тоже время кратен 100, по этому он тоже не высокосен.. хотя я могу ошибаться..попробуй вот так: Код var a:integer; begin read(a); if (a mod 4=0)and(a mod 100<>0)or(a mod 400=0) then writeln('Yes')else writeln('No'); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
№ 14 | Автор: Berestovskiy |
2012-02-12, 10:36 | Изменено: Berestovskiy - Вс, 2012-02-12, 10:37
|
Репутация: [ + 211 ]
|
|
|
Теперь все получилось! У меня осталось еще 10 задач. Задачи "Оператор цикла for" 1. Выведите (через пробел) все четные числа от а до в. (Например: Входные данные:1 4. Выходные данные: 2 4. Входные данные: 2 6. Выходные данные: 2 4 6.) 2. Вводятся четыре числа: а,в,с,d. Выведите все числа на отрезке от а до в, дающие остаток с при делении на d. (например: Входные данные: 1 4 1 2. Выходные данные: 1 3. Входные данные: 1 5 0 4. Выходные данные: 4.) 3. Выведите все числа на отрезке от а до в, являющеся полными квадратами. (Например: Входные данные: 1 5 Выходные данные: 1 4. Входные данные: 2 9. Выходные данные: 4 9). 4. Выведите все натуральные делители числа х в порядке возрастания (включая 1 и само число). (Например: Входные данные: 6. Выходные данные: 1 2 3 6. Входные данные: 5. Выходные данные: 1 5). 5. Подсчитайте количество натуральных делителей числа х (включая 1 и само число; х<=30000). (Например: Входняе данные: 6. Выходные данные: 4. Входные данные: 5. Выходняе данные:2).
|
|
|
1. var a,b,i:integer; begin read(a,b); for i:=1 to b do if i mod 2=0 then write(i,' '); end. 2. var i,a,b,c,d:integer; begin read(a,b,c,d); for i:=a to b do if i div c=d then write(i,' '); end. 3. var i,a,b:integer; begin read(a,b); for i:=a to b do if i*i<=b then write(i*i,' '); end. 4. var i,a:integer; begin read(a); for i:=1 to a do if a mod i=0 then write(i,' '); end. 5. var i,a,s:integer; begin read(a); s:=0; for i:=1 to a do if a mod i=0 then s:=s+1; writeln(s); end.
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Задачи 1,4,5 загрузила на ОК. А вот со 2 и 3 возникли проблемы. Во второй задаче уже при проверке через Rum пошли проблемы - не такие ответы как в примере. Зашла на сайт и там в разборе задачи написано следующее: Пробегаем циклом от a до b. Пусть счетчиком мы возьмем переменную целого типа i. Когда мы пробегаем цикл мы должны проверять если i дает остаток с при деление на d то мы сразу выводим этот элемент в данном случае i. А в третьей контестер пишет - частичное решение. Вразборе дали следущие поясненя:Пробегаем циклом от a до b. Пусть счетчиком мы возьмем переменную целого типа i. Объявим переменную целого типа j. Каждый раз мы будем в j хранить корень от числа i. Еще мы должны каждый раз проверять если j*j=i то мы выведем число i. Цикл в этом заканчивается только он выполняет 2 действия выше описанного. Если разберетсь - буду рада!
|
|
|
Quote (Berestovskiy) if i div c=d then write(i,' '); Поменяй ц и д местами
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Последний блок задач. Оператор цикла while. 1.Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N. Формат входных данных: Задано единственное число N.Формат выходных данных: Необходимо вывести все точные квадраты натуральных чисел, не превосходящие данного числа N. Например: Ввод: 50. Вывод: 1 4 9 16 25 36 49. 2. Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1. Например: Ввод:15. Вывод: 3. 3. По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания. Операцией возведения в степень пользоваться нельзя! Напрмер: Ввод: 50. Вывод:1 2 4 8 16 32. 4. Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае. Операцией возведения в степень пользоваться нельзя! Например: Ввод: 8. Вывод: YES. Ввод: 3. Вывод: No. 5. По данному натуральному числу N выведите такое наименьшее целое число k, что 2k≥N. Операцией возведения в степень пользоваться нельзя! Например: Ввод: 7. Вывод: 3.
№ 19 | Автор: MVera |
2012-02-17, 06:33 | Изменено: MVera - Пт, 2012-02-17, 13:37
|
Репутация: [ + 0 ]
|
|
№ 19 | Автор: MVera |
2012-02-17, 06:33 | Изменено: MVera - Пт, 2012-02-17, 13:37
|
Репутация: [ + 0 ]
|
|
|
1. Код var i,n:integer; begin read(n); i:=1; while i*i<=n do begin write(i*i,' ');i:=i+1;end; end. 2. Код var i,n,s:integer; begin read(n); for i:=n downto 2 do if n mod i=0 then s:=i; writeln(s); end.
Остальные будут немного позже
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|