Вторник, 07.01.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 1 из 1
  • 1
Модератор форума: Seqular, Pavel  

Строки
baksДата: Среда, 18.01.2012, 23:56 | Сообщение # 1
Новичок
Группа: Пользователи
Сообщений: 5
Репутация: 0
Замечания: 0%
Статус: Offline
Задано числовое значение меньше 10 000 определить сумму цифр в этом числе используя строковые переменные.

Добавлено (18.01.2012, 23:56)
---------------------------------------------
Спасибо за помощь. smile
Сам решил.
Вот код кому интересно:

Code
var
st,st2:string;
x,y,i,sum,a,b:integer;
begin
Write('Введите число: ');readln(st);
sum:=0;st2:=st;
for i:=1 to length(st) do begin
val(st[i],x,y);
if x<>0 then
sum:=sum+x; end;
val(st2,a,b);
if a<=10000 then
Write('Сума цыфр в числе=',sum) else
Write('Числовое значение больше 10 000');
readln end.
 
SeqularДата: Четверг, 19.01.2012, 22:00 | Сообщение # 2
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
baks, Мне кажется, проверку на > 10000 надо делать в начале, и если число больше, то вообще не вычислять сумму (экономия ресурсов).
И вообще можно обойтись двумя переменными x,y вместо x,y,a,b. Ничто же не мешает нам использовать эти же переменные в разных местах программы?


Поддерживаю также проект сообщество молодых сисадминов
 
baksДата: Суббота, 21.01.2012, 03:15 | Сообщение # 3
Новичок
Группа: Пользователи
Сообщений: 5
Репутация: 0
Замечания: 0%
Статус: Offline
Та я просто не врубался как работает функция val
 
SeqularДата: Суббота, 21.01.2012, 10:16 | Сообщение # 4
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
baks, а сейчас врубился? могу объяснить доступным языком

Поддерживаю также проект сообщество молодых сисадминов
 
baksДата: Суббота, 21.01.2012, 18:06 | Сообщение # 5
Новичок
Группа: Пользователи
Сообщений: 5
Репутация: 0
Замечания: 0%
Статус: Offline
Quote (Seqular)
baks, а сейчас врубился? могу объяснить доступным языком

Ну если вам не трудно.
 
SeqularДата: Суббота, 21.01.2012, 18:37 | Сообщение # 6
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
baks, Val преобразует строку в числовое значение
Val(a, b, c);
a: String - строка, которая содержит число. Например '212';
b: - переменная, в которую будет занесено число. Например тип Integer.
c: номер символа, который не удалось преобразовать. Например:

Val('1234',x,c);
в x будет содержаться 1234, в c - 0 (так как преобразуется без проблем).

Val('123tt',x,c);
в c занесётся 4. Потому что 4-ый символ не переводится в число. Если третья переменная = 0, то можем всегда быть уверенными, что число преобразовано правильно.


Поддерживаю также проект сообщество молодых сисадминов
 
baksДата: Суббота, 21.01.2012, 18:55 | Сообщение # 7
Новичок
Группа: Пользователи
Сообщений: 5
Репутация: 0
Замечания: 0%
Статус: Offline
Спасибо! Я думаю тему можно закрывать. smile
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;