Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 3

Что неправильно в коде программы паскаль? , просит точку с запятой перед else в операторе if

09.03.2014, 10:45. Показов 3576. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
program z8;
var
s:string;
k,p,i,d:byte;
begin
writeln('vvedite chifri razdelaya tochkami, na konce *');
readln(s);
k:=0;
while s<>'*' do
      begin
      p:=pos('.',s);
      k:=k+1;
      if k=3 then p:=length(s);
      d:=p;
      for i:=1 to p do
          if (s[1]='0') and (d-1>0) then
             begin
             Delete(S,1,1);
             d:=d-1;
             end;
      if ((d-1)>3) and ((d-1)<=0) then
         begin
         writeln('NO');
         exit;
         end else
         if (d-1)=3 then
            begin
         
            case s[1] of
                 '1','2': If S[1]='2' then
                             begin
                          for i:=2 to 3 do
                             case s[i] of
                                  '0'..'5':
                             else
                                 begin
                                 writeln('NO');
                                 exit;
                                 end; end else
                          for i:=2 to 3 do
                              case s[i] of
                                   '0'..'9':
                              else
                                  begin
                                  writeln('NO');
                                  exit;
                                  end;
                 else begin
                      writeln('NO');
                      exit;
                      end;
            end else
            for i:=1 to (d-1) do
                case s[i] of
                     '0'..'9':
                else
                    begin
                    writeln('NO');
                    exit;
                    end;
         Delete(s,1,d);
         end;
         Writeln('YES');
         end.
А вот Само задание: Для того чтобы выходить в Интернет, каждому компьютеру присваивается так называемый IP-адрес. Он состоит из четырех целых чисел в диапазоне от 0 до 255, разделенных точками. Примеры пра-вильных IP-адресов:

127.0.0.0

192.168.0.01

255.00.255.255

На вход программе подаѐтся последовательность символов, за ко-торой следует признак конца ввода - звѐздочка. Вывести слово YES, если введѐнная последовательность является правильным IP-адресом (без учѐта звѐздочки) , и NO – иначе.
Миниатюры
Что неправильно в коде программы паскаль? , просит точку с запятой перед else в операторе if   Что неправильно в коде программы паскаль? , просит точку с запятой перед else в операторе if  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.03.2014, 10:45
Ответы с готовыми решениями:

Программа противоречит сама себе. Сначала просит поставить точку с запятой, потом просит ее же убрать
var input, output:text; k,s:string; c,q,i,x:integer; n:char; begin assign(input,'input1.txt'); reset(input); assign...

Дан текст.Все что перед запятой вывести,запятую удалить и поставить точку.
Дан текст.Все что перед запятой вывести,запятую удалить и поставить точку.Помогите!

Требует точку с запятой перед +=
Зачем? Почему??? #include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;rus&quot;); ...

5
44 / 44 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 10:48
вы используете else после else, тем более два раза пишете end
1
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 3
09.03.2014, 12:18  [ТС]
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
program z8;
var
s:string;
k,p,i,d,z:byte;
begin
writeln('vvedite chifri razdelaya tochkami, na konce *');
readln(s);
k:=0;
z:=0;
while s<>'*' do
      begin
      p:=pos('.',s);
      if (k<3) and (p=0) then
         begin
         writeln('NO');
         exit;
         end;
      if k=3 then p:=length(s);
      k:=k+1;
      d:=p;
      for i:=1 to p do
          if (s[1]='0') and (d-1>0) then
             begin
             Delete(s,1,1);
             d:=d-1;
             z:=z+1;
             writeln(d);
             end;
      if ((d-1)>3) and ((d-1)<=0)then
         begin
         writeln('NO');
         exit;
         end
         else
         if (d-1)=3 then
            begin
            if (s[1]<>'1') and (s[1]<>'2') then
              begin
              writeln('NO');
              exit;
              end
              else
                  If S[1]='2' then
                     begin
                     for i:=2 to 3 do
                         If (s[i]<>'0') and (s[i]<>'1') and (s[i]<>'2') and (s[i]<>'3') and (s[i]<>'4') and (s[i]<>'5')then
                            begin
                            writeln('NO');
                            exit;
                            end;
                     end else
                     for i:=2 to 3 do
                         If (s[i]<>'0') and (s[i]<>'1') and (s[i]<>'2') and (s[i]<>'3') and (s[i]<>'4') and (s[i]<>'5') and (s[i]<>'6') and (s[i]<>'7') and (s[i]<>'8') and (s[i]<>'9') then
                            begin
                            writeln('NO');
                            exit;
                            end;
                            end else
                            for i:=1 to (d-1) do
                                If (s[i]<>'0') and (s[i]<>'1') and (s[i]<>'2') and (s[i]<>'3') and (s[i]<>'4') and (s[i]<>'5') and (s[i]<>'6') and (s[i]<>'7') and (s[i]<>'8') and (s[i]<>'9') then
                                   begin
                                   writeln('NO');
                                   exit;
                                   end;
      if p=(length(s)+z) then Delete(s,1,d-1) else Delete(s,1,d);
      z:=0;
      end;
Writeln('YES');
end.
Написал Все через Иф долго, долго компилировал. Все отлично работает)
0
44 / 44 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 12:20
И что вы хотите, что бы я сказал по вашему коду? ни вопроса, ни утверждения
1
0 / 0 / 0
Регистрация: 09.03.2014
Сообщений: 3
09.03.2014, 12:54  [ТС]
Worf, Спасибо не стал разбираться в тех ошибках,написал заново через Иф.(в той программе столько ошибок было )) ужас)

Добавлено через 31 минуту
Worf, Извините ,а вы не подскажите на сколько программа написанная через иф менее рациональна(эффективна) (не знаю как правильно сказать),чем программа которая могла быть написана через кайз?
0
44 / 44 / 8
Регистрация: 06.02.2014
Сообщений: 233
09.03.2014, 12:57
Я Паскаль не оч. помню уже, так что что такое ИФ и кайз, не знаю, если поподробнее скажете,может, и соображу)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.03.2014, 12:57
Помогаю со студенческими работами здесь

Необходимо для ОДНОЙ программы изменить десятичный разделитель с запятой на точку
Необходимо для одной программы изменить десятичный разделитель с запятой на точку не трогая настройки всей системы. Как это сделать? Т.е....

Нужно что бы компилятор не ругался на точку с запятой если ее не будет
Доброго времени суток, мои новые друзья. Хочу у вас способ, или получить какую то книжку или статью, о том как переделать компилятор на...

классы, что пишется перед точкой с запятой?
class example { ... }//перед точкой с запятой иногда что-то пишут, какие-то переменные, что они значат? ...;

В введенной строке заменить каждую запятую и точку на точку с запятой
В введенной строке заменить каждую запятую и точку на точку с запятой и вывести полученную строку.

Что неправильно в коде?
Ребят, подскажите что неправильно в коде? dcl package SQLStmt stmtLimit (‘select b.iD, b.aInc, b.KolIzhd, b.aExpBank, b.aExpAnk,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru