Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 95, средняя оценка - 4.89
Neetrino
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 11
#1

Псевдокод - C++

13.02.2010, 12:57. Просмотров 12779. Ответов 13
Метки нет (Все метки)

Ребята помогите написать псевдокод к программе !вообще не знаю как его делать и с чем его едят ((((
C++
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include<iostream>
#include<windows.h>
#include<string.h>
using namespace std;
 
 
 
void print_word(char * w){
        int i = 0;
        while (w[i])
                cout << w[i++] << " ";
}
 
int main ()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
 
char slovo[]="принтер";
char slovo2[64];
int count,len,i,j,f,gchars;
char sym,n;
 
len = strlen(slovo);
 
for ( i = 0,slovo2[len] = 0; i < len; i++ )
        slovo2[i] = '*';
 
cout<<"Что наша жизнь - ИГРА..."<<endl;
cout<<"СЛОВО: "; 
print_word(slovo2);
cout<<endl<<endl;
 
cout<<"Уровень сложности игры"<<endl;
cout<<"[1] Сложный (5 попыток)"<<endl;
cout<<"[2] Средний (8 попыток)"<<endl;
cout<<"[3] Легкий (12 попыток)"<<endl;
cout<<"Ваш выбор (1, 2 или 3) ---> ";
cin>>n;
 
switch (n){
        case '1': count = 5; break;
        case '2': count = 8; break;
        case '3': count = 12; break;
        default:
        cout << "Неверный выбор!" <<endl;
        return -1;
}
cout << "В вашем распоряжении " << count << " попыток ( уровень " << n << ")" << endl;
for ( i = 1,gchars = 0; i <= count; i++ ){
        cout << endl<< "попытка #" << i << " символ: ";
        cin >> sym;
        for ( j = 0, f = 0; j < len; j++ )
                if ( slovo[j] == sym ){
                        slovo2[j] = sym;
                        f = 1;
                }
        if (f)  {   
                gchars++;
                cout << "[+]";
        }
        else
                cout << "[-]";
 
        cout << "СЛОВО:"; print_word(slovo2); cout << endl;
 
        if (!strcmp(slovo,slovo2))
                break;
}
 
if ( i > count ){
        cout<< endl<<"Все " << count << "попыток использованы!" << endl;
        cout<< "Введите СЛОВО:";
        cin >> slovo2;
}
 
cout << endl;
 
if ( !strcmp(slovo,slovo2) ){
        cout << "Поздравляем! Вы угадали - это СЛОВО " << slovo << endl;
        cout << "( результат " << i << " попыток - " << len << " букв)" << endl;
}
else {
        cout << "Увы! Вы не угадали - это СЛОВО " << slovo << endl;
        cout << "( результат " << count << " попыток - " << gchars << " букв)" << endl;
}
 
return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2010, 12:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Псевдокод (C++):

Псевдокод - C++
Всем добрый день. Хочу спросить начинающих и уже довольно опытных программистов: используюте ли вы при написании программ псевдокод или...

Псевдокод очереди - C++
В книге &quot;А.В. Ахо, Д.Э.Хопкрофт, Д.Д.Ульман - Структуры данных и алгоритмы&quot;, в теме &quot;Очереди&quot; пытался разобраться с реализацией очереди на...

Объясните псевдокод - C++
Здравствуйте мне нужно обьяснить на пальцах псевдокод (FIFO) очередь, по строчке если можно и чем понятнее :) ENQUEUE (Q, x) 1 Q] :=...

Нужно перевести псевдокод в С++ - C++
Вот собственно и программы

Перевести псевдокод в код - C++
Здравствуйте, может ли кто-то помочь перевести этот псевдокод в код? 1. begin 2. for i := 1 to n do (*поместить i в первый блок*) 3....

Написать псевдокод к программам - C++
Помогите написать псевдокод к программам: 1) Подсчет чисел Фибоначчи рекурсией и циклом: #include &lt;iostream&gt; #include &lt;windows.h&gt; ...

13
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
13.02.2010, 14:03 #2
Псевдоко́д — компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова языков программирования, но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования. Псевдокод широко используется в учебниках и научно-технических публикациях, а также на начальных стадиях разработки компьютерных программ.
зависит от того что от тебя требуется под "переписать на псевдокоде". может тебе надо просто понять логику работы программы и выразить это так сказать своим языком? ну словно ты пытался бы объяснить ее кому то.
1
Neetrino
0 / 0 / 0
Регистрация: 10.02.2010
Сообщений: 11
13.02.2010, 14:08  [ТС] #3
не псевдокод это помоему типо того
"Начало
Объявить массив i
Открыть файл
Считать из файла строку
Добавить строку в массив i
Закрыть файл
Вывести кол-во элементов массива i
Конец"

только я не пойму всю прогу наа так делать и со своей не совсем понимаю как((можете написать плс...А дальше я сам попробюую просто пмне нада к 5и прогам псевдокоды..вот
0
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295
13.02.2010, 14:20 #4
ну на счет всю прогу или не всю - это надо у препода спрашивать. вообще малейшие непонятки - сразу валить вопросами - потом самому мучится меньше. по студенческомы опыту небольшому говорю

для примера.
псевдокод:
C++
1
2
3
4
5
процедура print_word(символный указатель w){
целое i = 0;
пока w[i] истинно (пока i элемент массива w существует)
вывести на экран w[i++](следующий элемент w) вывести  " "(пробел);
}
исходная:
C++
1
2
3
4
5
void print_word(char * w){
int i = 0;
while (w[i])
cout << w[i++] << " ";
}
может я не совсем формальный псевдокод привел но логика понятно. псевдокод тем и хорош что ты сам накладываешь так сказать степень формальности и придумываешь синтаксис
0
borissuworov
Сообщений: n/a
03.04.2013, 12:00 #5
Сам являюсь ламаком четвёртой стадии, хотя однажды допёр просто перевести все команды языка C на русский язык. Удивительно, но получилось добротно.
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 12:12 #6
Цитата Сообщение от Neetrino Посмотреть сообщение
Ребята помогите написать псевдокод к программе !вообще не знаю как его делать и с чем его едят ((((
Псевдокод есть помесь естественного языка, языка программирования и математической нотации, в которой сохранена структура программы на языке программирования и использованы идентичные управляющие конструкции, но операции записаны так, как будет легче понять человеку, возможна прямая замена инструкций комментариями.

Добавлено через 3 минуты
Цитата Сообщение от Акелла Посмотреть сообщение
может я не совсем формальный псевдокод привел но логика понятно.
Псевдокод ни в коем случае и не должен быть полностью формализован, это скорей естественный недоязык программистов только для обсуждения алгоритмов, чем искусственный язык.
0
Kastaneda
Нарушитель
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,314
Записей в блоге: 2
Завершенные тесты: 1
03.04.2013, 12:48 #7
Цитата Сообщение от Neetrino Посмотреть сообщение
C++
1
2
3
4
5
void print_word(char * w){
    int i = 0;
    while (w[i])
        cout << w[i++] << " ";
}
этот кусок будет выглядеть как-то так
Код
i <- 0
until w[i] <> 0
    print w[i]
    i <- i + 1
repeat
остальное по аналогии.

нет единого синтаксиса псевдокода, тот, что у меня в примере, это синтаксис псевдокода из учебной методички.
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 14:30 #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
этот кусок будет выглядеть как-то так
C++
1
2
3
4
5
i <- 0
until w[i] <> 0
* * print w[i]
* * i <- i + 1
repeat
Сойдёт за pseudocode на базе английского, если сдавать преподавателю-англичанину/американцу/австралийцу, или использовать в обсуждении с коллегой аналогичной национальности, а так лучше
Код
присвоить переменной i значение 0
пока (существует w[i])
{
 вывести w[i] и пробел
 увеличить i на 1
}
, кроме того, until - это пока не, а while - просто пока, твой псевдокод соотвествует
C++
1
2
3
4
5
int i = 0;
while (!(w[i]<>0))
{
  cout << w[i++] << " ";
}
.
1
Kastaneda
03.04.2013, 14:41
  #9

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
кроме того, until - это пока не, а while - просто пока, твой псевдокод соотвествует
until - до тех пор, пока ...

Цитата Сообщение от taras atavin Посмотреть сообщение
а так лучше
довольно спорное утверждение.

0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 14:45 #10
Цитата Сообщение от Kastaneda Посмотреть сообщение
until - до тех пор, пока ...
это til, или while, until - пока не, потому и на паскале цикл repeat until работает с обратным условием.
1
Kastaneda
Нарушитель
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,314
Записей в блоге: 2
Завершенные тесты: 1
03.04.2013, 14:53 #11

Не по теме:

Цитата Сообщение от taras atavin Посмотреть сообщение
это til, или while, until - пока не, потому и на паскале цикл repeat until работает с обратным условием
что-то ты меня с толку сбил.
Цитата Сообщение от https://translate.google.ru/?hl=ru&tab=wT#en/ru/until
предлог
до to, before, until, till, prior to, unto
не раньше until, till

союз
до тех пор пока until, so long as, till, as

Цитата Сообщение от taras atavin Посмотреть сообщение
цикл repeat until работает с обратным условием.
хм, кажись я понял почему у меня алгоритмы из методички "неработают" приду домой, поробую реализовать их с этой логикой.



Может кто-то третий свое слово вставит по этому поводу?
0
ya_noob
_
202 / 146 / 9
Регистрация: 08.10.2011
Сообщений: 432
03.04.2013, 14:54 #12
странное явление, тема ожила через 3 года забвения
0
Kastaneda
Нарушитель
Эксперт С++
4676 / 2880 / 234
Регистрация: 12.12.2009
Сообщений: 7,314
Записей в блоге: 2
Завершенные тесты: 1
03.04.2013, 18:50 #13
taras atavin, да, ты был прав по поводу until.

Не по теме:

Я контрольные делаю, в методичке даны описания алгоритмов на псевдокоде. Ну я залез в гугл-транслейт, увидел, что until это "до тех пор пока", и интуитивно предположил, что

Код
repeat 
...
until condition
это тоже самое, что
C++
1
2
3
do {
...
}while (condition);
реализованные по этим псевдокодам алгоритмы у меня не работали, поэтому я их переделывал и думал, что в методичке ошибки
я нуб...



Цитата Сообщение от ya_noob Посмотреть сообщение
странное явление, тема ожила через 3 года забвения
о точно, я и не заметил )
0
taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
03.04.2013, 18:59 #14
Цитата Сообщение от Kastaneda Посмотреть сообщение
repeat
...
until condition
это тоже самое, что
Код C++
1
2
3
do {
...
}while (condition);
нет.
Pascal
1
2
repeat
until (condition)
эквивалентно
C++
1
2
do
while (!(condotion))
: repeat until выполняется, пока условие ложно, do while - пока истинно.
0
03.04.2013, 18:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2013, 18:59
Привет! Вот еще темы с ответами:

Задача о сумме подмножества. Псевдокод в код С++ - C++
Доброго времени суток. Пожалуйста, помогите в решении следующей проблемы: необходимо данный псевдокод перевести в исполняемый код С++ (см....

Алгоритм (псевдокод) одномерного динамического массива - C++
Суть проблемы такова: Задан массив – А(10). Получить из него массив В, состоящий из элементов массива А, которые меньше 0. Массивы...

Написать псевдокод алгоритма решения задачи: - C++
Определить в какой четверти или на осях находится точка(x,y)

Что лучше использовать: псевдокод или блок-схемы? - C++
Я вроде в какой то книжке читал, что лучше использовать псевдокод. Так ли это?


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

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

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