Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2018, 11:29   #1
flame-93
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 13
Восклицание Исправить ошибки

Добрый день. Помогите исправить ошибки в задачах.
Спасибо).

Код:
program exp2;
const m=5; n=3;
type matr = array [ 1..m, 1..n ] of integer ;
var m: matr ; k, i, j : integer ; p: real ; повторно объявленный идентификатор
begin
clrscr ; неизвестный идентификатор
writeln ( ' k=' ) ; readln (k) ;
randomize ;
for i:= 1 to m do begin
for j:= 1 to n do begin
m [ i , j ] := random (101) ;
end ; end ;
for j:= 1 to n do begin
p:= 1;
for i:= 1 to m do begin
p:= p * m [i,j] ;
end ;
p := p ^ ( 1 / m ) ; нельзя делить
if p > k then writeln ( ' j = '; j: 5) ;неверное выражение
end ;
end.
Код:
program exp3;
const m=5; n=3;
type matr = array [1..m,1..n] of integer;
var m: matr; b, i,j, k : integer; повторно объявленный идентификатор
begin
clrscr ;
randomize;
for i:= 1 to m do begin
for j:= 1 to n do begin
m [i,j] := random (101) ;
end ; end ;
k:= n/2 ; попытка присвоить integer тип real
for j:= 1 to k do begin
for i:= 1 to m do begin
b := m [ i, j ] ;
m [ i , j ] := m [ i, n - j + 1 ] ;
m [i, n - j +1 ] := b ;
end ; end ;
for i:= 1 to m do begin
for j:= 1 to n do begin
writeln ('m[i,j]: 5) ; неверное выражение
end ;
writeln ; readln ; end; end .
Код:
program massiv2 ;
type mas=array [1..100] of integer ;
var a:= Max; i, n, min , max, b : integer; недопустимый символ:= (д/б просто : ; неизвесмтное имя типа max)
begin
writeln ('n='); readln (n) ;
for i:=1 to n do
begin
writeln ('a[',i,'=');переменная а не является именем массива
readln (a [i]); end;
max :=a[ 1 ]; min :=a[ 1 ]; переменная а не является именем массива
for i:=1 to n do begin
if a[ i ]> max then max :=a[ i ] ; переменная а не является именем массива
if a[ i ]<min then min :=a[ i ];
end;
b:=max - min ;
writeln (b) ; writeln;
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 30.01.2018 в 11:53.
flame-93 вне форума Ответить с цитированием
Старый 30.01.2018, 11:44   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
повторно объявленный идентификатор
где-то раньше БЫЛА и есть такая переменная.
Цитата:
writeln ( ' j = '; j: 5) ;неверное выражение
end ;
значения параметров перечисляются через ,(запятую)
а вот описания параметров при объявлении процедур(функций) через ;
Цитата:
clrscr ; неизвестный идентификатор
ну нет такой процедуры.
есть если не изменяет память clscr (а луше посмотреть в справке)
Цитата:
p := p ^ ( 1 / m ) ; нельзя делить
ну наверно нельзя использовать дробное(НЕ целое) число для показателя степени.
Цитата:
k:= n/2 ; попытка присвоить integer тип real
ну нельзя же использовать дробное(НЕ целое) число там где ДОЛЖНО быть ЦЕЛОЕ и только.
Цитата:
writeln ('m[i,j]: 5) ; неверное выражение
а кто будет заканчивать строку, Пушкин?
Цитата:
var a:= Max; i, n, min , max, b : integer; недопустимый символ:= (д/б просто : ; неизвесмтное имя типа max)
ну нельзя вычислить переменную пока не начала работать программа.
(вычисления ТОЛЬКО после begin)
P.S. а называть переменные как системные функции себе дороже.
Цитата:
max :=a[ 1 ]; min :=a[ 1 ]; переменная а не является именем массива
посмотри на тип переменной a. там ведь нет слов array of
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 30.01.2018, 11:48   #3
flame-93
Пользователь
 
Регистрация: 24.11.2011
Сообщений: 13
По умолчанию

Мне просто прислали их вот так. А что изменить я не знаю(
flame-93 вне форума Ответить с цитированием
Старый 30.01.2018, 11:54   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от flame-93 Посмотреть сообщение
clrscr ; неизвестный идентификатор
Код:
Uses Crt;

Цитата:
Сообщение от flame-93 Посмотреть сообщение
Мне просто прислали их вот так. А что изменить я не знаю(
Вам evg_m по каждой ошибке подробно написал, что не так/что исправить.
Что-то осталось непонятным?

ну, например, первая же ошибка (повторно объявленный идентификатор):
Цитата:
Сообщение от flame-93 Посмотреть сообщение
program exp2;
const m=5; n=3;
type matr = array [ 1..m, 1..n ] of integer ;
var m: matr ; k, i, j : integer ; p: real ; повторно объявленный идентификатор
нельзя описывать один и тот идентификатор ДВАЖДЫ.
придумывайте для массива другое имя вместо m
или меняйте имя для числовой константы m

и ещё совет.
код обязательно оформляйте с помощью отступов - чтобы было наглядно видно структуру кода.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.01.2018, 12:01   #5
gantzboss
Пользователь
 
Регистрация: 02.11.2017
Сообщений: 31
По умолчанию

Цитата:
Сообщение от flame-93 Посмотреть сообщение
p := p ^ ( 1 / m ) ;
Это "^" ведь спецификатор, что он тут делает? Вы возводите в степень так?

Последний раз редактировалось gantzboss; 30.01.2018 в 12:10.
gantzboss вне форума Ответить с цитированием
Старый 30.01.2018, 12:48   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Мне просто прислали их вот так. А что изменить я не знаю(
спроси того кто прислал.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправить ошибки ччч1 Помощь студентам 1 12.05.2013 21:14
Исправить ошибки Irishka_brand Помощь студентам 0 22.12.2012 20:42
исправить ошибки Seferus Паскаль, Turbo Pascal, PascalABC.NET 3 06.10.2011 17:54
исправить ошибки admiral121 Паскаль, Turbo Pascal, PascalABC.NET 7 13.12.2010 12:25
исправить ошибки lubafffka Общие вопросы C/C++ 2 06.12.2009 01:11