Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/12: Рейтинг темы: голосов - 12, средняя оценка - 4.50
kementari

Лабораторные (частично готовые)

28.11.2008, 09:43. Показов 2269. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пожалуйста, помогите с решением задач (проблемы стандартные - Паскаль почти не знаю, лабораторные надо сдать, придирчивый лаборант, которому всё объяснить надо). Код желательно как можно более простой для понимания (пусть в ущерб производительности, количеству строк и прочим полезным вещам). Заранее спасибо!

Лабораторная № 3.

1. Для заданного целого n вычислить сумму
1(в первой степени)+2(в квадрате)+3(в кубе)+… n(в энной степени)
Определить при каком n произойдет переполнение для типов Integer, LongInt.
(вот, кое-какая программа составлена, но как определять переполнение?)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uses crt;
var n, y, i, s, m : longint;
begin
 writeln ('vvedite n');
 readln(n);
 s:=s;
 for i:=1 to n do
  begin
   y:=1;
   for m:=1 to i do
    y:=y*i;
    s:=s+y;
  end;
 writeln('otvet - ', s);
 readkey;
end.
4. В выражении
(((((1 ? 2) ? 3) ? 4) ? 5) ? 6)
заменить “?” одним из арифметическим действий (деление целочисленное), таким образом, чтобы результат равнялся 35.

6. В заданном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное теми же цифрами.
(То есть, насколько до меня дошло, надо, чтобы в новом числе сначала шла самая маленькая цифра, не равная нулю, потом все нули, если они есть, потом цифры по возрастанию, например:
735209 -> 203579
8001234 -> 1002348
43763 -> 33467 и так далее. Очевидно, надо разбивать число на цифры. И, мне кажется, использовать строки. Или массивы)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2008, 09:43
Ответы с готовыми решениями:

Готовые задания на Pascal
Выкладываю готовые задачи на Pascal. Может кому-то понадобятся. 1. Вычисление функции U=f(x,y,z)...

Как использовать в программе готовые процедуры
как написать прогу которая работает с этими готовыми процедурами, так сказать задействует их unit...

Выкладываем сюда свои готовые программы!
Выкладывайте сюда свои .exe или .pas файлы)

3
 Аватар для Викдон
67 / 67 / 24
Регистрация: 21.11.2008
Сообщений: 226
28.11.2008, 15:34
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
Const n=6;  {n=максимальное колличество цифр в числе}
      Cifra=['0'..'9'];
var chislo:array [1..n] of char;
    minChislo: array[1..n] of char;
    i,j,flag,k,m:integer;
    min,bufer:char;
begin
m:=0;
flag:=0;
writeln('Введите число: ');
 for i:= 1 to n do
   begin
    read(chislo[i]);
    if not (chislo[i] in Cifra) and (chislo[i]<>#10) and (chislo[i]<>#13) then
     begin
      readln;
      write('Ошибка');
      readln;
      halt;
     end;
 
    if (chislo[i]<>#10) and (chislo[i]<>#13) then
    inc(m);
   end;
 
 
{============================================================================}
for i:=1 to m-1 do    {Упорядочиваем цифры по возрастанию}
 for j:=i+1 to m do
    if chislo[i]>chislo[j] then
     begin
      bufer:=chislo[i];
      chislo[i]:=chislo[j];
      chislo[j]:=bufer;
     end;
 
{============================================================================}
for i:=1 to m do         {подсчет нулей}
  if chislo[i]='0' then
   inc(flag)
  else if  chislo[i]<>'0' then      {следущее число за нулями}
   begin
    min:=chislo[i];
    break;
   end;
{============================================================================}
 
j:=0;
for i:=flag+1 to m do
 if chislo[i]=min then
  begin
   inc(j);
   minChislo[j]:=chislo[i];
  end
 else if chislo[i]<>min then
  begin
    for k:=1 to flag do
     begin
      inc(j);
      minChislo[j]:=chislo[k];
     end;
   for k:=i to m do
    begin
     inc(j);
     minChislo[j]:=chislo[k];
    end;
 break;
 end;
{============================================================================}
readln;
write('Результат:');
for i:=1 to m do
 write(minChislo[i]);
 
readln;
end.
1
 Аватар для pascal65536
11 / 11 / 3
Регистрация: 26.09.2008
Сообщений: 77
28.11.2008, 20:52
4. В выражении
(((((1 ? 2) ? 3) ? 4) ? 5) ? 6)
заменить “?” одним из арифметическим действий (деление целочисленное), таким образом, чтобы результат равнялся 35.
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
Var a,b,c,d,e : Integer;
    r : Integer;
 
Function op(op1, op2, znak : Integer):Integer;
Var Result : Integer;
Begin
     Case znak Of
          1 : Result := op1 + op2;
          2 : Result := op1 - op2;
          3 : Result := op1 * op2;
          4 : Result := round(op1 / op2);
     End;
     op := Result;
End;
 
Function zn(znak : Integer):Char;
Var Result : Char;
Begin
     Case znak Of
          1 : Result := '+';
          2 : Result := '-';
          3 : Result := '*';
          4 : Result := '/';
     End;
     zn := Result;
End;
 
 
Begin
     For a := 1 To 4 Do
         For b := 1 To 4 Do
             For c := 1 To 4 Do
                 For d := 1 To 4 Do
                     For e := 1 To 4 Do
                     Begin
                         r := op(op(op(op(op(1,2,a),3,b),4,c),5,d),6,e);
                         If r=35 Then
                            WriteLn ('(((((1',zn(a),'2)',zn(b),'3)',zn(c),'4)',zn(d),'5)',zn(e),'6)=',r);
                     End;
 
End.
Взял тут:
http://pascal.hop.ru/
1
kementari
29.11.2008, 13:33
Спасибо большое!
В первой задаче добавила пару строчек в код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses crt;
var n, y, i, s, m : longint;
begin
clrscr;
 writeln ('Введите число n');
 readln(n);
 s:=s;
 for i:=1 to n do
  begin
   y:=1;
   for m:=1 to i do
    y:=y*i;
    s:=s+y;
  end;
 if s>32767 then
  Writeln('упс... произошло переполнение типа integer, а число n было вот такое - ', n);
 
 writeln('Ответ: ', s);
 readkey;
 {переполнение: integer n=6, longint n=11}
end.
И тупо методом проб и ошибок определила, что переполнение интеджер происходит при n=6, а longint при n=11 (при 11 прога начинает выдавать отрицательные числа). Конечно, по-хорошему надо было какую-то подпрограмму составить, чтобы она сама это вычисляла... Но, надеюсь, пронесёт
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2008, 13:33
Помогаю со студенческими работами здесь

Две готовые программы по нахождению факториала объединить в одну подпрограмму
есть две готовые программы по нахождению факториала, их нужно объединить в подпрограмму. var ...

Вставить готовые решения задач в приложение TurboVision
Вставить в это меню program TFirst; uses App, Objects, Menus, Drivers, Views; ...

Склеить 2 програмки в 1,все програмки есть готовые
Нужно вставить две программки(готовые) в 1 рамку(как менюшку) программы вот: 1: program mask;...

Сортировка частично упорядоченного множества
собсвенно нужна сортировка, которая упорядочивает массив, но операция '&gt;' определена не для любой...

Частично рекурсивные функции
program h; uses crt; var f:Ошибка1 n:integer; Ошибка2 factorial(n:integer):longint; begin...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru