1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
1

Решение задач

02.03.2016, 09:45. Показов 5058. Ответов 60
Метки нет (Все метки)

Всем здравствуйте. Буду благодарна за любую помощь. У меня уже психоз скоро начнется. Вообще я учусь по специальности "Финансы и Кредит", но поскольку ВУЗ специфический, надо же было что-то воткнуть. В обще задали контрольную по языку программирования - паскаль. А я в этом ни черта не понимаю. Бились месяц всей семьей над задачами. В приложении контрольная. Преподаватель все завернул и написал рецензию и что все не правильно.

Вот рецензия:
Задание 1
Вы как-то слишком вольно обращаетесь с блоками в блок-схемах. Каждый блок имеет свое назначение. Поэтому необходимо использовать для каждого типа команд соответствующий им блок. Вывод данных – параллелограмм, линейная операция – прямоугольник и т.д. Исправить.
Зачем в условии используется операция Not? Без неё разве нельзя?
Задание 2
Странное какое-то решение. Зачем говорить о массивах, если в программе они не используются? Зато в алгоритме (сужу по программе) много непонятных команд. И совсем не помешает рассказать, откуда они взялись.
Это не блок-схема алгоритма. Алгоритм не может содержать непонятные команды, тупики, неопределенные переходы и т.д.
Разработанный алгоритм необходимо записать на языке программирования три раза, каждый раз используя различные виды циклов. А затем сравнить циклы и ответить на вопрос. Эта часть задания не выполнена.
Задание 3
Задача решена неправильно. Точнее сказать, Вы решаете совсем другую задачу.
Размер файл величина переменная N, поэтому должна задаваться с клавиатуры. Результатом работы программы должны являться два массива B и C.


Помогите, пожалуйста. Разъясните пошагово- что не так. Ну не понимаю я что он пишет. Мне папа помогал решать, но и он уже не понимает, что не так. Очень прошу помогите и так, чтобы человек понял, который с паскалем до этого не имел дело

Всем заранее спасибо.
Вложения
Тип файла: rar Информатика-2.rar (145.5 Кб, 14 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.03.2016, 09:45
Ответы с готовыми решениями:

Решение задач
https://www.cyberforum.ru/attachment.php?attachmentid=5407&d=1245233777...

Решение задач.
1)Ввести число.Определить сумму цифр во второй половине числа.(с использованием while repeat)...

Решение задач.
Народ помогите решить задачки! Завтра экзамен, а без них нет допуска! ХЕЛП ПЛИЗ!

Решение задач.
http://s005.***********/i210/1001/a1/5f1f28bfcbe7.jpg...

60
Hello Kitty
688 / 561 / 401
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
02.03.2016, 09:58 2
выложите код
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 10:03  [ТС] 3
Поясните, пожалуйста? Вы имеете ввиду, что я в программе составляла?

Добавлено через 2 минуты
По первой задаче преподаватель написал, что блок-схема не верная. Все остальное, вроде, верно

Это вторая задача.

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
Program Summa;
uses crt;
var k,n,i,ii,j,_do,_kol,sum : longint;
     text                      : string;
     error                     : integer;
begin
clrscr;
Writeln('Mironova A.C. variant 17 zadanie 2');
Writeln;
write('vvedite tshislo:  n=');
readln(n);
write('vvedite summa:  k=');
readln(k);
if k=0 then begin
write('KOL.n= : 1');
readln;
halt
end;
_do:=9;
_kol:=0;
i:=1;
while i<=(n-1)do
begin
_do:=_do*10+9;
i:=i+1
end;
for i:=1 to _do do
begin
str(i,text);
sum:=0;
for j:=1 to length(text)do
 
begin
val(text[j],ii,error);
sum:=sum+ii
end;
if k=sum then inc(_kol);
end;
 
write('Kolitshestvo.n= : ',_kol);
readln;
end.
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 10:11 4
Александра_85, по 1-й задаче. Элементы блок-схемы - это не всегда квадратики. У вас должна была получиться подобная картинка (рисовал в онлайн редакторе https://www.draw.io/ и сохранил как изображение).
Миниатюры
Решение задач  
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 10:15 5
Это лишь изображение. Внутри ещё нужно было перенести надписи из вашего варианта блок-схемы, но я поленился, а вы всё равно уже разберётесь.
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 10:22  [ТС] 6
Спасибо, но вот что написал преподаватель:
Блок-схемы составлены неверно. Внимательно изучите первую главу учебного пособия. На рисунке 1.1 приведены основные блоки и их назначение. А потом посмотрите на свои блок-схемы и задайте себе вопросы. Например, действительно блок начала алгоритма в первом задании должен выглядеть таким образом? Вы сразу увидете свои ошибки.
Т.е. получается, я просто неправильной формы нарисовала блоки-схемы??? Бред какой-то((( мне кажется, теперь дошло. А саму схему в общем я правильно составила - принцип верный? Геометрически только исправить нужно фигуры блоков-схем?

Добавлено через 4 минуты
Вторую задачу нужно было решить с помощью трех циклов: for, while, repet
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 10:25 7
Да, всё так. На эти изображения существуют ГОСТ, ISO, DIN и прочие стандарты. Сейчас, в связи с усложнением программ переходят на графическое представление UML. Но и блок-схемы не забывают.
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 10:27  [ТС] 8
Павел - это Вам. Спасибооооо с первой задачей понятно. Переделаю)
Миниатюры
Решение задач  
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 10:54  [ТС] 9
А как быть со второй задаче: преподаватель написал, что блок - схема тоже не верна - проверю геометрию блоков и пишет много ложных блоков, а по поводу циклов, что скажете?
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 11:10 10
Преподаватель прав.
Там всего используется 5 элементов (старт, ввод - он же вывод, условие, вычисление, терминатор - он же стоп). Все пути должны привести от старта к стопу. В элементах тоже, простые понятные слова, без всяких "Programma summa", "do = 9, кол-во = 0". Если в блоке вычисления несколько выражений, то они записываются на разных строчках внутри одного блока.
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 11:14  [ТС] 11
Конечно спасибо, но вы написали для меня " темный лес". Можно понятнее. Я просила в первом посте - я паскаль вижу впервые в жизни. Можно мне пояснить так, чтобы я поняла и как это все перенести в программу. Что есть начало и конец - это я поняла и разобралась, как в программе они пишутся. Все, что внутри - помогал отец делать - я пыталась, но у меня склад ума гуманитарный, для меня это все просто буквы и цифры. Понятней пожалуйста. С чего начать и чем закончить и как это пишется в программе - может я пойму
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 11:30 12
А приведите полностью условие задания 2. Его решают по-разному, в зависимости от ограничений на значения n и k.
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 11:31  [ТС] 13
Вот условие задачи:
Найти количество n – значных чисел в десятичной системе счисления, у каждого из которых сумма цифр равна k. При этом в качестве n-значного числа допускаются числа, начинающиеся с одного или нескольких нулей. Например, число 000102 рассматривается как шестизначное, сумма цифр которого равна 3.
Вот пояснение к ней:
Эту задачу необходимо решить три раза с использованием
трех видов цикла: FOR, WHILE и REPEAT.
В выводах обязательно сравнить все три цикла и опреде-
лить, какой именно наилучшим образом подходит для решения
этой задачи и почему.
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 12:04 14
Будет такая или подобная блок-схема. У меня не уместилось вычисление суммы цифр числа, поэтому я просто написал "Sum:=сумма цифр числа A".
Для цикла for это будет
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
program Summa;
 
var
  n, k:  integer;
  A, Amax, temp: longint;
  Count: longint;
  Sum, i: integer;
begin
  readln(n, k);
 
  {решение при помощи цикла for}
  Amax := 1;
  for i := 1 to n do
    Amax := Amax * 10;
  Amax := Amax - 1;
  Count := 0;
  {перебор чисел}
  for A := 0 to Amax do
  begin
    {вычисление суммы цифр текущего числа}
    Temp := A;
    Sum  := 0;
    while Temp <> 0 do
    begin
      Sum  := Sum + (Temp mod 10);
      Temp := Temp div 10;
    end;
    {если число подходит, то увеличиваем счётчик чисел}
    if Sum = k then
      Count := Count + 1;
  end;
  writeln(Count);
end.
Миниатюры
Решение задач  
1
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 12:13  [ТС] 15
Т.е. это так и выводить в программе паскаля?

Добавлено через 6 минут
while - это второй цикл или это все для цикла for?
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 12:16 16
У вас будет единый алгоритм, но различная реализация на Pascal для каждого вида цикла.
Хотя про единый алгоритм - не совсем верно, т.к. for и while с предусловием, а repeat с постусловием.
1
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 12:17  [ТС] 17
Извините, не поняла. Павел, а сейчас вы мне скинули алгоритм сразу на все три цикла или на один?
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 12:19 18
Я подозреваю, что различные циклы должны использоваться применительно к циклу перебора A. А всё остальное - как повезёт.

Добавлено через 32 секунды
Только один - для for.
0
1 / 1 / 0
Регистрация: 02.03.2016
Сообщений: 30
02.03.2016, 12:22  [ТС] 19
А чтобы проверить, мне вводить сначала n = 6, затем enter и k = 3?

Добавлено через 1 минуту
Павел, чтобы я без Вас делала. Мне бы хоть зачет получить, потому как сессия скоро закончится ( я дистанционно учусь), а еще экзамен и там еще хуже((( а всего два часа на решение дается экзамена(

Добавлено через 1 минуту
А как в программе будут отличаться эти три цикла? И еще вопрос: почему, если цикл for, то вы используете слово while - это же цикл?
0
Модератор
Эксперт по электронике
7701 / 3856 / 1493
Регистрация: 01.02.2015
Сообщений: 11,903
Записей в блоге: 2
02.03.2016, 12:23 20
While
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
program Summa;
 
var
  n, k:  integer;
  A, Amax, temp: longint;
  Count: longint;
  Sum, i: integer;
begin
  readln(n, k);
 
  {решение при помощи цикла while}
  Amax := 1;
  for i := 1 to n do
    Amax := Amax * 10;
  Amax := Amax - 1;
  Count := 0;
  {перебор чисел}
  A := 0;
  while (A <= Amax) do
  begin
    {вычисление суммы цифр текущего числа}
    Temp := A;
    Sum  := 0;
    while Temp <> 0 do
    begin
      Sum  := Sum + (Temp mod 10);
      Temp := Temp div 10;
    end;
    {если число подходит, то увеличиваем счётчик чисел}
    if Sum = k then
      Count := Count + 1;
    A := A + 1;
  end;
  writeln(Count);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.03.2016, 12:23

Решение задач
как решить: 1-Напишите программу, которая по введенному числу N (1&lt;N&lt;10) вычислит и напечатает...

Решение задач по Pascal
Привет всем. Никогда не понимал информатику, а сейчас учусь в универе, и у нас тема идёт по...

Решение задач со строками
1.Рассматрива строку как массив символов, выполнить следующее. в тексте длины не более 255...

Пожалуйста! решение задач!
1.Найти все натуральные числа из промежутка от a до b,у которых количество делителей превышает...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.