Free PASCAL - ФОРУМ ПОСТУПИМ.РУ
Главная
Поиск репетитора
Коллективный блог
публикаций
Форум (обсуждаем ЕГЭ 2020)
тем и сообщений
Для учебы




Войти
или
Зарегистрироваться
Новые сообщения · Участники · Правила форума · Поиск по форуму · RSS
  • Страница 1 из 1
  • 1
Архив - только для чтения
ФОРУМ ПОСТУПИМ.РУ » АРХИВ (ТОЛЬКО ДЛЯ ЧТЕНИЯ) » ЕГЭ 2012 по ИНФОРМАТИКЕ » Free PASCAL
Free PASCAL
bonduelleДата: Воскресенье, 2011-10-23, 5:56 PM | Сообщение # 1
Абитуриент
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Замечания: 0%
Статус: Offline
Город: Москва
Помогите пожайлуста написать программу на free pascal

Напишите программу для решения уравнения ax = b относительно х в целых числах. Учтите, что a может принимать любые значения, в том числе и 0.

На вход программе подаются целые числа a, b, по модулю не превосходящие 30000. Требуется вывести целый корень уравнения, если он существует и единственный. Если уравнение не имеет корней, то вывести no solution. Если уравнение имеет больше одного целого корня, то вывести many solutions

в этой сказали много ошибок Оо

program horosho;
var a,b:integer;
begin
write('a b ? ');
readln(a,b);
if a=0
then
if b=0
then
writeln('many solutions')
else if b mod a<>0
then
writeln('no solution)
else writeln(b div a);
readln
end.
 
HellkoДата: Воскресенье, 2011-10-23, 9:44 PM | Сообщение # 2
Академик
Группа: Проверенные
Сообщений: 1340
Репутация: 362
Награды: 26
Замечания: 0%
Статус: Offline
да вроде ок все. только точек с запятой нет. но ведь к этому не придираются? Вы же не в тетради сдаете?

Егэ 2012:
М: 92
Ф: 90
 
KaDeaTДата: Воскресенье, 2011-10-23, 10:44 PM | Сообщение # 3
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
Не правильно. Если а <> 0 то вообще никакого ответа не будет.Посмотри на отформатированный код:

Code

program horosho;      
var a,b:integer;      
begin      
write('a b ? ');      
readln(a,b);      
if a=0 then      
      if b=0 then      
        writeln('many solutions')      
      else      
       if b mod a<>0 then      
         writeln('no solution')      
       else      
         writeln(b div a);      
readln;      
end.


else соответствует ближайшему if. подумай как можно исправить. Там всё легко.Сама сможешь =))

Добавлено (2011-10-23, 10:44 PM)
---------------------------------------------
Quote (Hellko)
только точек с запятой нет. но ведь к этому не придираются? Вы же не в тетради сдаете?


Точек с запятой там нужное количество, хотя после последнего readln можно поставить, но необязательно.Перед else ; не ставится.
Кстати, к этому-то и надо придираться, и в тетрадях код сдавать. Это очень приучает писать сразу без ошибок.


Обучение программированию

Сообщение отредактировал KaDeaT - Понедельник, 2011-10-24, 2:30 PM
 
HellkoДата: Воскресенье, 2011-10-23, 11:47 PM | Сообщение # 4
Академик
Группа: Проверенные
Сообщений: 1340
Репутация: 362
Награды: 26
Замечания: 0%
Статус: Offline
Quote (KaDeaT)
Точек с запятой там нужное количество, хотя после последнего readln можно поставить, но необязательно.Перед else ; не ставится.
Кстати, к этому-то и надо придираться, и в тетрадях код сдавать. Это очень приучает писать сразу без ошибок.
да

зы. да неотформатированый код труднее читать, если использовать такие сложные конструкции. имхо я бы сократил количество else и elseif


Егэ 2012:
М: 92
Ф: 90


Сообщение отредактировал Hellko - Воскресенье, 2011-10-23, 11:48 PM
 
KaDeaTДата: Понедельник, 2011-10-24, 0:00 AM | Сообщение # 5
Нобелевский лауреат
Группа: Проверенные
Сообщений: 11169
Репутация: 1446
Награды: 136
Замечания: 0%
Статус: Offline
на один иф сократить можно )

Добавлено (2011-10-24, 0:00 Am)
---------------------------------------------
На этом форуме, даже форматированный код, неудобно читать. Отступы очень маленькие.


Обучение программированию
 
prm2008Дата: Понедельник, 2011-10-24, 2:54 AM | Сообщение # 6
Профессор
Группа: Проверенные
Сообщений: 815
Репутация: 1199
Награды: 64
Замечания: 0%
Статус: Offline
bonduelle, ошибок немного. Пропустила ветку, когда а<>0. Два варианта когда есть решение и когда его нет.

Сократить if не получится, если не использовать составные условия. Количество else я наоборот увеличила.

три проверки, а=0, b=0, a mod b=0
и три полных ветвления, поэтому три else
Как можно исправить:


...чтобы оставаться на одном месте нужно все время двигаться вперед...

Сообщение отредактировал prm2008 - Понедельник, 2011-10-24, 2:34 PM
 
bonduelleДата: Среда, 2011-11-09, 5:22 PM | Сообщение # 7
Абитуриент
Группа: Пользователи
Сообщений: 2
Репутация: 0
Награды: 0
Замечания: 0%
Статус: Offline
Город: Москва
спасибо большое
 
radmilachkaДата: Четверг, 2011-11-10, 9:47 PM | Сообщение # 8
Студент
Группа: Пользователи
Сообщений: 41
Репутация: 0
Награды: 0
Замечания: 0%
Статус: Offline
Город: Омск
1)Заполнить массив A[12] числами от 1 до 12,что бы компьютер сам заполнял,не в ручную
2)Заполнить массив A[12] числами от 12 до 1,что бы компьютер сам заполнял,не в ручную

распишите пож)

Добавлено (2011-11-10, 9:47 PM)
---------------------------------------------
Hellko, помоги пож

 
HellkoДата: Четверг, 2011-11-10, 10:34 PM | Сообщение # 9
Академик
Группа: Проверенные
Сообщений: 1340
Репутация: 362
Награды: 26
Замечания: 0%
Статус: Offline
1)
Code
for x=1 to 12 do
a[x]:=x;

2)
Code

for x=1 to 12 do
a[x]:=13-x;


Егэ 2012:
М: 92
Ф: 90


Сообщение отредактировал Hellko - Четверг, 2011-11-10, 10:35 PM
 
ФОРУМ ПОСТУПИМ.РУ » АРХИВ (ТОЛЬКО ДЛЯ ЧТЕНИЯ) » ЕГЭ 2012 по ИНФОРМАТИКЕ » Free PASCAL
  • Страница 1 из 1
  • 1
Поиск:








© 2006 - 2023 Поступим.ру Информация:
О проекте
Контакты

Регистрация на сайте
Статистика сообщества
Пользовательское соглашение
Разделы:
Поиск репетитора
Форум сообщества
Коллективный блог
Материалы для учебы
ЕГЭ 2021
RSS:
RSS форума
RSS блога