М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
polinapoluunaa
polinapoluunaa
17.04.2020 03:22 •  Информатика

Вчем состоит разница при выполнении команды readln (a,b) и read (a,b)

👇
Ответ:
AnDrejk4
AnDrejk4
17.04.2020
Паскаль "не умеет" читать числа напрямую. В случае "текстового ввода" он читает всё вводимое, как последовательность символов, которую затем анализирует и преобразует в соответствии со списком переменных в операторе ввода и их типом.
Завершается текстовый ввод в Паскале всегда нажатием клавиши Enter, посылающей последовательность символов с десятичными кодами 13 и 10 (CR - "возврат каретки" и LF- "перевод строки"), либо считыванием этих кодов из файла.
"Команда" Realln (на самом деле это не команда, а процедура) считывает и удаляет последовательность символов с кодами 13, 10, а Read - оставляет эти коды не считанными. Если после Read будет еще один оператор ввода, читающий СИМВОЛЬНЫЕ данные (string, char), то оставшиеся необработанными после предыдущего Read символы с кодами 13,10 будут восприняты, как вводимые, что неверно.

Как итог: только в случае, когда есть ввод символьных данных и эти данные вводятся не в единственном операторе ввода, перед вводом таких данных нужно указывать Readln. В прочих случаях разницы нет.
4,4(10 оценок)
Открыть все ответы
Ответ:
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016
procedure SUM(x,y,z:array of integer);
begin
  for var i:=0 to z.Length-1 do z[i]:=x[i]+y[i]
end;

procedure ArrPrint(x:array of integer);
// никому она не нужна, на раз попросили...
begin
  x.Println(', ');
end;

procedure ArrInit(var x:array of integer;n,from,&to:integer);
// никому она не нужна, на раз попросили...
begin
  x:=ArrRandom(n,from,&to)
end;

begin
  var a,b,c:array of integer;
  ArrInit(a,15,10,30); ArrPrint(a);
  ArrInit(b,15,25,60); ArrPrint(b);
  SetLength(c,15);
  SUM(a,b,c); ArrPrint(c)
end.

Тестовое решение:
23, 15, 13, 23, 22, 24, 20, 27, 29, 19, 29, 28, 30, 10, 24
48, 32, 31, 59, 36, 34, 47, 28, 42, 30, 40, 58, 25, 30, 33
71, 47, 44, 82, 58, 58, 67, 55, 71, 49, 69, 86, 55, 40, 57
4,4(61 оценок)
Ответ:
Nikita67566
Nikita67566
17.04.2020
#include <iostream>#include <stdlib.h>#include <locale.h>using namespace std;
void main(){ setlocale(0, ""); int a = 100, num, player = 1, correct; while (a > 0) { if (player == 1) { do { cout << "Ваш ход. На столе " << a <<" спичек" << endl; cout << "Сколько спичек вы берете?" << endl; cin >> num; if ((num > 0) && (num <= 10)) { correct = true; } } while (correct != true); } else { if ((a <= 10) && (a > 1)) { num = a - 1; } else if (a == 1) { num = 1; } else { if (num > a) { num = a; } } cout << "Компьютер взял " << num << " спичек" << endl; } a = a - num; if (player == 1) { player = 2; } else { player = 1; } } if (player == 1) { cout << "Вы проиграли" << endl; } else cout << "Вы победили" << endl; system("pause");}
4,6(15 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ