• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Студентам. Помощь в программировании

  • Автор темы Автор темы Matrix
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
Взять любой учебник по Паскалю и посмотреть, как работать с записями. Тем более, что в первой задаче запись практически описана.

Всё!с этими разобрался!большое спасибо
 
Помогите с написанием программ на паскале

1.type name=(mary, jane, kim, bob, jan,pit,tom,sara,bill,pol);
data=record
male: boolean; {пол:true-муж, false-жен}
height:140..200; {рост}
cost:word; {зарплата}
end;
group = array[name] of data;
Опишите функцию Higher(G), определяющую имя самого высокого мужчины из группы G.

Вот мои наброски:
function higher(const g: group): name;
var
i: name;
begin
higher:=Low(higher);
while not g[higher].male do
higher:=name(Ord(higher)+1);
for i:=higher to High(i) do
if g.male and (g.height>g[higher].height) then
higher:=i
end;

procedure Fill(var g: group);
var
i: name;
begin
Randomize;
for I:=Low(i) to High(i) do
with g do
begin
male:=Random<=0.5;
height:=Random(200-140+1)+140
end
end;

var
g: group;
begin
Fill(g);
WriteLn(Ord(higher(g)));
ReadLn
end.

2.Напишите функцию countEq(f), которая находит кол-во строк в файле, состоящих из одинаковых литер.
 
Плиз ребята помогите не могу найти ошибку в проге написал все раюотает показываю препаду её не устраивает говорит написано не правельно
вот условие задачи
Дано натуральное число n, Вычислить
1/sin(1)+1/sin(1)+sin(2)+...+1/sin(1)+...+sin(n)
вот сама программа
#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{clrscr();
int n,i;
float s=0;
printf ("Vvedite n=");
scanf ("%d",&n);
for (i=0;i<n;i++)
s+=1/(sin(i)+sin(i+1));
printf ("Pri n=%d, znchenie uravneniya= %.2f",n,s);
getch ();
return 0;
}
она рабочая но училка говорит что написана(вычислена) она не правильно, помогите мне разобраться что тут не так .
Пы.Сы это задача из Абрамова номер 77(г)
мой майл chaoscool@mail.ru
 
Последнее редактирование:
всем здрасте, задали индивидуалку не могу сделать(( настроения совсем неть а сдавать надо в понедельник если кто нить решит буду благодарен.
Задание1: Задан текст. Определить первое слово, начинающееся с заданного символа.
Задание2:Создать двоичный файл и записать в него n целых чисел. Массив создать из исходного файла. Внести в него числа, расположенные в файле между минимальным и максимальным элементами.(Во всех заданиях составить две программы. Первая должна сформировать двоичный файл. Вторая - считать данные из этого файла, выполнить соответствующие вычисления и записать их результаты в текстовый файл.)
Задачи делаются на си.
 
Плиззз... Напишите прожки на Паскале

Ссылка удалена
 
Вот эти
 

Вложения

  • Программ.webp
    Программ.webp
    63.5 KB · Просмотры: 171
Напишите их в нормальном ввиде, по картинке ничего не разобрать.
 
Напишите их в нормальном ввиде, по картинке ничего не разобрать.

Разобрать-то можно, беда в другом - я лично ничего в этих множествах (SET) не тяну. Так что может быть Вы? А с картинкой - посмотрите так:
beeb35d59ba0t.webp
 
Вот задача 5
uses crt;
var kg,ks,i,n:byte;
text:string;
sl:set of char;
gl:set of char;
begin
clrscr;
sl:=['q','w','r','t','y','p','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m'] ;
gl:=['e','u','i','o','a'];
writeln('ВВЕДИТЕ ИСХОДНЫЙ ТЕКСТ ');read(text);
n:=length(text);
for i:=1 to n do begin
if text in sl then ks:=ks+1;
if text in gl then kg:=kg+1;
end;
writeln('в тексте ',kg,' гласных');
writeln('в тексте ',ks,' согласных');
if kg>ks then write('больше гласных')
else write ('больше согласных');
end.

Объясните условие задачи 6. Что нужно напечатать?
 
Там же варианты есть: a) b) c)
 
Понятно, что есть варианты, их Совсем нереально разобрать!
 
если нужно на паскале, то сейчас сделаю, НО!
Что значит Напечатать первые вхождения букв в текст, сохраняя их исходный взаимный порядок?
как я понял, надо просто вывести буквы, имеющиеся в строке хотя бы один раз. хотя это есть третье задание. Ну хоть сделаю что понял :)
 
Последнее редактирование:
Вот решение задачи:

uses crt;
var s,s2:string; {исходная строка,строка повторяющихся символов}
sym1:set of char; {множество символов, встретившихся первый раз}
n:byte; {длина строки}
i:integer; {переменная, управляющая циклом}
begin
clrscr;
{ввод}
writeln ('Введи строку с точкой в конце: ');
readln (s);
n:=length(s);
if s[n]<>'.' then begin {проверка наличия точки в конце строки}
s:=s + '.';
n:=n+1;
end;
{Обработка, фрагмент вывода}
writeln ('Символы, встречающиеся в строке хотя бы один раз: ');
for i:=1 to n do begin
if (s in sym1)=false then begin
sym1:=sym1+[s];
write (s, ' ');
end
else
s2:=s2+s+' ';
end;
{Вывод}
writeln;
writeln ('Символы, встречающиеся в строке более одного раза: ');
writeln (s2);
readkey;
end.
 
Вот решение задачи №6 под буквой б.

uses crt;
var k,il,i,n:byte;
text:string;
simv:set of char;

begin
clrscr;
simv:=['q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l','z','x','c','v','b','n','m'] ;

writeln('Введите текст ');read(text);
n:=length(text);
for i:=1 to n do begin
if text in simv then
for il:=i+1 to n do
if text[il]=text then writeln(text[il],'этот символ встречается в тескте 2 или более раз');
end;
end.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху