рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Процедура Val

Процедура Val - раздел Программирование, О.Ф. Власенко, И.В. Беляева СИМВОЛЫ И СТРОКИ В ЯЗЫКЕ TURBO PASCAL   Procedure Val(S; Var V; Var Code: Integer); Преобраз...

 

Procedure Val(S; var V; var Code: Integer);

Преобразовывает символьное представление числа S в целое или вещественное число V. Code – код ошибки, возникающей при переводе строки в число. Если все хорошо, то Code=0.

 

Пример использования:

“Безопасный” ввод данных.

При вводе информации с клавиатуры или из файла при помощи процедур read/readln возможно возникновение ошибки времени выполнения программы (runtime error) в результате которой выполнение программы прерывается. Ошибка возникает в том случае, когда обнаруживается несоответствие между типом переменной, указанной в read/readln, и той строкой, которую этот read/readln получил для обработки.

Например, если x – переменная целого типа, в программе она читается таким образом: read(x), а пользователь вводит строку “два”, то программа завершит свою работу, выведя сообщение “Invalid numeric format” - “неподходящий формат числа”.

Это происходит потому, что контроль ошибок выполняет сам Turbo Pascal. В простых задачах это удобно, но в более или менее серьезных задачах такое решение недопустимо. В реальных задачах все ошибки пользователя должны обрабатываться самой программой. Средства, обеспечивающие контроль правильности ввода, называются “защитой от дурака”. Существует несколько способов реализации этой защиты. Один из них состоит в следующем: весь ввод пользователя ВСЕГДА читается в виде строк (или кодов отдельных клавиш). Затем введенные строки анализируются. Если введена правильная строка, то программа идет дальше, если нет, то выдается сообщение об ошибке, и данные требуют ввести повторно.

 

{Процедура "безопасного" ввода целого числа X

Msg - выводимая строка-подсказка

[ minVal .. maxVal ] - допустимый интервал значения X }

procedure ReadInt(msg: string; var x: integer;

minVal, maxVal: integer);

var

s: string; {Вводимая строка}

errCode: integer; {Код ошибки}

isError: boolean; {Флаг ошибки}

begin

repeat

write(msg); {Вывод приглашения}

readln(s); {Чтение строки, ВВЕДЕННОЙ ПОЛЬЗОВАТЕЛЕМ}

val(s,x,errCode); {Попытка получить целое число из строки}

 

{Ошибка есть, если код ошибки не 0, или если код ошибки 0,

но введенное число лежит вне допустимого интервала}

isError := (ErrCode<>0) or

(ErrCode=0) and ( (x<=minVal) or (x>=maxVal) );

{Если есть ошибка, то вывести сообщение об ошибке}

if isError then writeln('Error! Please repeat input!');

until not isError; {Если нет ошибки, то выходим из цикла,

а если ошибка есть, то снова вводим число}

end;

 

 

{Функция перевода целого числа X в строку

возвращается строка}

function IntToStr(x: integer): string;

var

s: string;

begin

Str(x, s);

IntToStr := s;

end;

 

{Демонстрация “безопасного” ввода

на примере ввода одномерного массива}

var

a: array[1..10] of integer; {Массив}

n: integer; {Количество элементов в массиве}

i: integer; {Счетчик}

begin

{Безопасный ввод N}

ReadInt('Введите n=', n, 1, 10);

{Безопасный ввод элементов массива}

for i:=1 to n do

ReadInt('Введите a[' + IntToStr(i) + ']=',a[i],10,99);

 

{Вывод элементов для контроля}

for i:=1 to n do

write(a[i],' ');

writeln;

end.

 

 

– Конец работы –

Эта тема принадлежит разделу:

О.Ф. Власенко, И.В. Беляева СИМВОЛЫ И СТРОКИ В ЯЗЫКЕ TURBO PASCAL

Министерство образования Российской Федерации... Ульяновский государственный технический университет...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Процедура Val

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

СИМВОЛЫ И СТРОКИ В ЯЗЫКЕ TURBO PASCAL
  Методические указания к выполнению лабораторных работ по программированию для студентов направлений 5528 “Информатика и вычислительная техника”, 5205 “Лингвистика” и специальности 2

Власенко О.Ф., Беляева И.В.
В58 Символы и строки в языке Turbo Pascal: Методические указания к лабораторным работам. – Ульяновск: УлГТУ, 2002.- 44 с.   В методических указаниях рассмотрено использование

Символьный тип char
  Во всех современных языках программирования имеется стандартный (встроенный) символьный тип. В языке Паскаль он называется CHAR. Переменные и константы этого типа хранят символы. Си

Функция Ord
  Function Ord(C: char): LongInt; Преобразует значение C в его порядковый номер (Order - порядок). Пример: C := '!'; {C хранит символ ‘Восклицательный знак’

Функция UpCase
  function UpCase(Ch: Char): Char; Преобразует символ Ch в большие буквы. Действует только на латинские буквы. Пример: C:=UpCase(‘r’); {c=’R’} C:=U

Процедура Inc
  Procedure Inc(Ch: Char [; N: LongInt] ); Увеличивает значение символа Ch на N. Используется в двух формах: 1. Усеченная форма – параметр N отсутствует. В этом случ

Процедура Dec
  Procedure Dec(Ch: Char [; N: LongInt] ); Работает аналогично Inc, только в сторону уменьшения - уменьшает значение символа Ch на N. Используется в двух формах: 1.

Встроенный тип STRING
  Для хранения текста в оперативной памяти в языках программирования, как правило, используются специализированные типы данных. В Turbo Pascal 7.0 такими типами данных являются

Правила сравнения двух строк
  При сравнении двух строк (назовем их A и B) последовательно сравниваются соответствующие символы двух строк – первый с первым (A[1] с B[1]), второй со вторым (A[2] с B[2]) и так дал

Стандартные процедуры и функции для работы со строками string
  В Turbo Pascal определены 4 процедуры и 4 функции для работы со строками string.   Процедуры: Delete – удаление подстроки из строки. Insert

Процедура Delete
  Procedure Delete(var S: string; Index, Count: Integer); Удаляет из строки S подстроку, задаваемую параметрами Index и Count. Index – номер первого удаляемого симво

Процедура Str
  Procedure Str(X[:Width[:Decimal]]; var S: string); Преобразовывает число X в последовательность символов (строку) S в соответствии с заданными значениями форматирования Wid

Функция Concat
  function Concat(s1 [, s2,..., sn]: String): String; Склеивает строки s1, s2 ... sn в одну и возвращает ее.   Пример: S1 := ’Иван’;

Множества
  Термин “множество” в Turbo Pascal используется аналогично его математическому пониманию. Множества в Turbo Pascal могут включать элементы только порядковых типов. При этом элементы

СИМВОЛЫ И СТРОКИ В ЯЗЫКЕ TURBO PASCAL
  методические указания к выполнению лабораторных работ по программированию для студентов направлений 5528 “Информатика и вычислительная техника”, 5205 “Лингвистика” и специальности 2

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги