Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10

Программисты на Pascal, разберитесь, в чём дело?

25.11.2009, 23:30. Показов 1583. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Program sxc;
uses
crt;
CONST
   fin_name='...';
TYPE
   ivector=array[1..16] of real;
   jvector=array[1..17] of real;
   newvector=array[1..18] of real;
VAR
   fin:Text;{ishodniy fail}
   a:real;
   j,i,k,nmin:integer;{indeksnie peremennie}
   N:integer;
   ivec:ivector;
   jvec:jvector;
   newvec:newvector;{noviy massiv, vkluchaucshiy elementi IVEC i JVEC}
   min:integer;   
   chet : integer;{chetnie elementi }
   nechet : integer;
   sum:real;{summa absolutnih znacheniy poslednih N elementov novogo massiva}
BEGIN
assign(fin, fin_name);
{$I-}
reset(fin);
{$I+}
writeln('read from file');
if ioresult<>0   then
   begin
      writeln('File', fin_name, 'not founded');
      exit;{vihod iz programmi}
   End;
read(fin,N);
writeln('N=',N:4);
for i:=1 to 16 do
begin
   read(fin,ivec[i]);
   writeln('Ivec[',i:2, ']=', ivec[i]:5:2);
end;
for i:=1 to 17 do
begin
   read(fin,jvec[i]);
   writeln('Jvec[',i:2, ']=', jvec[i]:5:2);
end;
j:=1;
chet := 1;
nechet := 9;
for i:=1 to 17 do
begin
   a:=i mod 2;
   if a=0   
      then  
         begin
         newvec[chet]:=ivec[i];
         chet := chet + 1;
     end
      else 
         begin
            newvec[nechet]:=jvec[i];
            nechet := nechet + 1;
     end;
end;
    {summirovanie znacheniy poslednih N elmentov}
k:=17-N;
Sum:= 0;
for j:=17 downto k+1 do
sum:=abs(sum+newvec[j]);    
writeln('sum=', sum:5:2);{vivod summi}
    {nahozhdenie naimen'shego polozhitel'nogo elementa}
while newvec[j]>0 or j=18 do 
   begin
      j:=j+1;
   end;{konec while}
if j=18 
         then
            {viviod novogo vectora i znacheniya summi}
            exit{vihod iz programmi}
         else
            bein
               min:=newvec[j];
           nmin:=j;
               for j:=1 to 17 do
                  begin
                     if newvec[j]>0   then
                        begin
               min:=nvec[j];
               nmin:=j;
            end;
          end
               writeln('newvec[',j:2, ']=', newvec[j]:5:2);{viviod novogo vectora}
           writeln('sum=', sum:5:2);{vivod summi}
close(fin);
readln;
END.{Programm}
Исходник, откуда считывать N, ivec и jvec:
3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Сколько парюсь над программой этой..., весь мозг уже вынес! Если есть немного свободного времени, помогите мне пожалуйста!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.11.2009, 23:30
Ответы с готовыми решениями:

5 короткий сигналов биос, может ли дело быть в чем то другом чем в процессоре?
Комп врубается однако он никак не реагирует на мышь и клавиатуру, даже заходит во вход в Windows, но я не могу войти так как мышь и...

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET и не понял, в...

Программисты изучил Pascal а дальше
Я по образованию переводчик, последний курс заканчиваю. пол года назад заинтересовался программированием, приятель программист, писал...

16
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
25.11.2009, 23:49
а что не так?, нужно писать условие задания, возможно оно делается намного проще... А разберитесь не пойми в чем это не серьезно...
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
26.11.2009, 00:41  [ТС]
тебя понял

Добавлено через 17 минут
а условие следущее:
<Файл исходных данных содержит значения величины N, элементов массива IVEC[1],..IVEC[16] и элементов массива JVEC[1],..JVEC[17].
Написать, отладить и протестировать паскаль-программу, выполяняющую:
1.Чтение данных из файла;
2.Формирование нового массива NEWVEC, ВКЛЮЧАЮЩЕГО последовательно все элементы с четными номерами из массива IVEC и все элементы с нечетными номерами из массива JVEC;
3.Суммирование абсолютных значений последних N элементов сформированного массива;
4.Печать сформированного массива и значения суммы;
5.Определение положения в сформированном массиве наименьшего положительного элемента, печать номера и значения этого эемента.>

Добавлено через 27 минут
помогите же! Мне уже скоро сдавать моё творение, если можно так выразиться, а оно не представляет законченой, рабочей программы
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
26.11.2009, 00:43
Цитата Сообщение от а что не так? Посмотреть сообщение
элементов массива IVEC[1],..IVEC[16] и элементов массива JVEC[1],..JVEC[17]
т.е. здесь строго в одной 16 в другом 17, других данных не бывает?
Цитата Сообщение от а что не так? Посмотреть сообщение
последних N
а если N больше массива, тогда что?

Добавлено через 1 минуту
а что не так?, не надо разводить панику, Вам никто не виноват что Вы "очухались" в "последние" дни...
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
26.11.2009, 00:50  [ТС]
да, всё строго.
а насчёт суммы... Да, нехорошо получится, если больше.. Учту, спасибо. Но я полагаю не только в этом загвоздка
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
26.11.2009, 00:57
а что не так?, я еще не смотрел текст Вашей программы я просто прокомментировал условие... а то что в Вашем решении сейчас посмотрим...
1
Тимуровец
 Аватар для Страдалецъ
445 / 285 / 50
Регистрация: 10.09.2009
Сообщений: 963
26.11.2009, 01:03
У меня сразу вызывают недоумение 3 момента:
1. fin:Text;
2. ivector=array[1..16] of real
3. read(fin,ivec[i])
Хранить в текстовом файле числовые значения можно, но они должны быть в текстовом представлении, а у вас что? Считываете вы как Real, какой длины это число - фиг его знает. Ну ладно бы одна строчка одно число, так ведь нет - читаете вы не по строкам.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
26.11.2009, 01:08
а что не так?, просмотрел сейчас ваш код это просто одна сплошная ОШИБКА.
Во-первых некоторые переменные даже не объявлены...
Во-вторых несоответствие begin end
В-третьих непонятно зачем массивы типа real когда числа целые
В-четвертых неправильное считывание чисел
В пятых неверное значение константы file_name, да и сама она лишняя в программе
вообщем ошибок очень много...
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
26.11.2009, 01:10  [ТС]
мдамс
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
26.11.2009, 01:10
к тому же не очень понимаю для чего Вы здесь решили объявить свои типы массивов... непонятно зачем... обычно это используют когда массив будет исполбзоваться как параметр функции/процедуры... здесь у Вас нет ни того ни другого...
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
26.11.2009, 01:20  [ТС]
озадачили..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.11.2009, 11:42
а что не так?, Я немного не понял в каком порядке записываются элементы в новый массив,
1.Сначала все на четных места из первого, потом все на нечетных местах из второго, или
2. Первый элемент из второго, первый элемент из первого, второй, второй и т.д.

Добавлено через 25 минут
Исходный файл.
Code
1
2
3
3
1.2 -2.1 3.1 4.3 5 6 7 8 9 10 11 12 13 -14.23 15 -16.12 
10.3 12.5 13.6 4.25 5.6 6 7 8.5 9 10.2 -11.3 12.3 13 14 -15.25 16.0 -17.56
Программа.
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
70
71
72
73
74
75
76
77
78
79
80
Program sxc;
uses crt;
CONST fin_name='file1.txt';
TYPE vector=array[1..17] of real;
VAR
   fin:Text;{ishodniy fail}
   j,i,k,imin:integer;{indeksnie peremennie}
   N:integer;
   ivec,jvec, newvec:vector;
   sum,min:real;{summa i min.zn.}
BEGIN
clrscr;
assign(fin, fin_name);
{$I-}
reset(fin);
{$I+}
writeln('read from file');
if ioresult<>0   then
   begin
      writeln('File', fin_name, 'not founded');
      exit;{vihod iz programmi}
   End;
read(fin,N);
writeln('N=',N);
writeln('Ivec:');
for i:=1 to 16 do
 begin
   read(fin,ivec[i]);
   write(ivec[i]:6:2);
 end;
writeln;
writeln;
writeln('Jvec:');
for i:=1 to 17 do
 begin
   read(fin,jvec[i]);
   write(jvec[i]:6:2);
 end;
writeln;
writeln;
close(fin);
for i:=1 to 17 do
 begin
  if i mod 2=1 then newvec[i]:=jvec[i];
  if i mod 2=0 then newvec[i]:=ivec[i];
 end;
{summirovanie znacheniy poslednih N elmentov}
if n>=17 then k:=1
else if n=0 then sum:=0
else
 begin
  k:=17-N+1;
  Sum:= 0;
  for j:=k to 17 do
  sum:=sum+abs(newvec[j]);
 end;
{viviod novogo vectora i znacheniya summi}
writeln('Newvec:');
for i:=1 to 17 do
write(newvec[i]:6:2);
writeln;
writeln('sum=', sum:0:2);{vivod summi}
{nahozhdenie naimen'shego polozhitel'nogo elementa}
for i:=1 to 17 do
if newvec[i]>0 then
 begin
  min:=newvec[i];
  imin:=i;
  break;
 end;
for i:=1 to 17 do
if (newvec[i]>0)and(newvec[i]<min) then
 begin
  min:=newvec[i];
  imin:=i;
 end;
{vivod nomera i znachenia min elm}
write('Min. el=',min:0:2,'  index=',imin);
readln
END.{Programm}
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
27.11.2009, 00:00  [ТС]
Необходимо составить массив из четных эл-тов и.век и нечетных эл-ов ж.век. И всё последовательно, т.е первая часть из выше указанных эл-ов и.век., вторая же из в.указ. эл-ов и.век. А вариант из ваших- 2-й.. Мы с товарищем так решили, что будет проще, используя одно условие, создать весь массив сразу целиком, а не разбивать его создание на две части..
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2009, 07:07
а что не так?, Вы очень туманно выражаетесь. Задача примитив, а Вы раздули из нее какую-то проблему. Просто напишите, что было в исходном файле и что должно получиться, при чем не как вы с товарищем думаете, а как нужно.
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
27.11.2009, 13:02  [ТС]
Понятней, чем в задании со станицы 1, не объяснить
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
27.11.2009, 13:46
Ну тогда по аналогии и сами напишете. Просто сначало от 1 до 8 заполняете массив четными из первого, потом от 9 до 17 нечетными из второго, это еще проще.
1
 Аватар для а что не так?
0 / 0 / 0
Регистрация: 25.11.2009
Сообщений: 10
28.11.2009, 01:11  [ТС]
всё, вроде наш гибрид пашет) Спасибо большое за оказанную помошь и потраченное время)

Добавлено через 1 час 17 минут
Завтра сдамся... и тему можно считать закрытой)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.11.2009, 01:11
Помогаю со студенческими работами здесь

В чем дело?
Что такое, почему не создается прога?

в чем дело?
может кто объяснит в чем дело? просто заметил одну особенность, если temp &lt;=8 символам (не считая нулевого в конце), то t выводит с двумя...

Ну в чем дело то?
Если в тексте есть слово &quot;код&quot;, то надо вывести слово &quot;ок&quot; if (Memo1-&gt;SelText(&quot;код&quot;)!=0) ShowMessage(&quot;ок&quot;); Так нет: ...

В чём же дело ?
#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; main () { FILE * fo; fo = fopen(&quot;test.txt&quot;,&quot;wt&quot;); int...

В чём дело?
Здравствуйте, помогите пожалуйста разобратся в чем причина...у меня форум существует уже 3 месяца и до сих пор он никак не проиндексируется...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru